51DIY音乐频谱显示

发布者:JoyfulJourney最新更新时间:2019-01-26 来源: eefocus关键字:DIY音  乐频谱显示 手机看文章 扫描二维码
随时随地手机看文章

以前,每当看到家里的音箱功放上的几排小灯,随着播放的音乐如波浪般跳跃,或者在电脑上打开千千静听这个音乐播放软件时,看到那动感的频谱跟随音乐节奏优美的舞动着时,不禁思绪万千,要是自己某天能亲手用普通的单片机 DIY 这么一个东东,那将是多么有成就感的事情,至少对我们电子爱好者来说,这是许多人曾经梦想过的。伴随音箱里传来的美妙音乐,原本只能“听”的音乐,现在却还能“看”,给人带来视觉上的炫酷享受。


本文将带领你动手探究其中的奥秘,让我们给音乐赋予一个完美的视听极限。


一、理论篇

(一)理论基础概述

1)什么是频谱?什么是频谱显示?


说到“频谱”这个词,它好像是一种很神秘的东西,究竟什么是“频谱”?这便要从波形本身的来源说起。我们知道,一切声音都是由振动产生的。声音之所以千变万化各不相同,是因为它们的振动各不相同。看看琵琶,吉他或者其他的弦类乐器,可以发现它的每一根琴弦的直径都是不一样的。琴弦越细,音调也就越高。反之则越低。显然粗的弦就不如细的弦振动得快或者说是振动的频率高。产生音调高低的不同,就是由于振动的频率不同。很显然频率越高,音高也就越高。


频率的单位是赫兹(简写为 Hz),赫兹 (1857-1894),是德国物理学家,他发现了电磁波,为了纪念他,人们用它的名字来做为频率的单位。所谓的一赫兹,就是一秒钟振动一次。那么 440Hz 呢,当然就是每秒振动 440 次,这个声音就是音乐中的标准 A 音,是乐器定音的标准。而钢琴中央 C 的频率则是 261.63Hz。


我们人的耳朵能够听到的频率范围,是 20Hz 到 20000Hz。低于这个频率范围的声音叫次声波,而高于这个频率范围的声音叫做超声波。所以我们能听到的音乐的频率,即都在人耳可听到的这个范围之内,约从 20Hz 到 20KHz。


比如,下面的表格中是我们常见的一些人声的基频范围

• 男低音 80-320Hz

• 男中音 96-387Hz

• 男高音 122-488Hz

• 女低音 145-580Hz

• 女高音 259-1034Hz


根据傅立叶分析,任何声音可以分解为数个甚至无限个正弦波,而它们往往又包含有无数多的谐波分量。而它们又往往是时刻在变化着。所以一个声音的构成其实是很复杂的。将声音的频率分量绘制成曲线,就形成了频谱。


对频谱进行分析的仪器就是频谱分析仪,早期频谱仪都是模拟分析的。频谱仪的原理就是将声音以信号通过一系列不同中心频率的模拟带通滤波器。每个带通滤波器相当于一个共振电路,其特性由中心频率(步进的)、频带宽度及响应时间表示。在声音信号通过滤波器后,经过平方检波器,并进行平均之后,在每个频率上测定所传输的功率,从而得到信号的频谱。然而,传统的频谱仪受到滤波器性能的制约,因为模拟电路本身的特性所局限,滤波器的带宽和响应时间成反比,也就是说模拟滤波器的频率分辨力与时间分解能力之间存在矛盾。因为频谱仪所测量的往往都是非稳态声,一般来说,都是使用若干个滤波器来覆盖整个频率范围,并将信号同时并联地输入到这些滤波器上去。或者使用中心频率能够从低到高连续变化的滤波器。


随着科学技术的不断进步,现在我们所使用的基本不再是那些笨重而不准确的模拟仪器的频谱仪,取而代之的是基于处理器的软件分析法。它分析的数据来源其实是经过了 ADC(模数转换器件)转换后得出的数字信号,所以频谱仪软件所测量的信号准确度,很大程度取决于数模转换电路的性能。比起模拟滤波器,数字滤波器应该要更加迅速和精确。


2) 什么是均衡器和音乐频谱显示?在我们欣赏音乐的过程中有什么样的作用?


对于录音棚等专业级别的音乐制作来说,通常都需要对录制的音频信号进行频谱分析来辅助音频的加工制作。当然对于我们普通的爱好者来说,不需要那么精确的频谱分析,我们更多的是用来略显音乐节奏,美化环境,增添气氛。于是,大多数的音乐播放软件(如图一),手机,mp3,高档的音箱设备等,都有了音乐频谱显示。


在这里插入图片描述

图一 千千静听播放音乐时的频谱显示


当高级组合音响在工作时,你可以看到其中有一个部件上有一排一、二十个高高低低的推式调纽按频率高低自左而右排列,显示一种频率分布图;或者是还有一、二十个高高低低的光柱在不断地上下跳,时而中间起一个高峰,时而并排突起两、三个高峰,而且与音乐的高低和强度同步,高音越是强,高峰就偏右边;低音越强,高峰就偏左边,这就是均衡器及其联结的频谱显示。有时,也用一排色彩不同的条纹来显示,条纹的色彩亮度随声音的强弱而同步地改变。


我们知道,实际上每一种音乐声,包括哪怕是一个人的独唱,一件乐器的独奏,都包括了一系列从低到高不同频率的声波,更不要说是乐队演奏了。如果声音中低频成分多,听起来就较厚实;如果是高音成分多,听起来就比较明亮。有的人喜欢听低音成分多些,有些人喜欢听高音成分多些,各不相同。因此,以前的收录机上就有一个调节高低音的旋钮。把旋钮指向高音部位,高音就比较强;把旋钮指向低音部位,低音就比较强,这就是一个简单的均衡器。


好的声音效果,其各段频率成分应该有一定的比例,录音的时候,录音师操作调音台就可以使各段频率的成分得到调整。由于各种乐器的基频高低是不同的,所以,也可以使各种乐器之间的声音比例得到调整,常见的是把频率由低至高分成 5 段或 7 段、10 段或 15 段,有经验的录音师或音乐家能听出哪里(哪个频率段)“空”了,即这个频段弱。哪里“鼓了个包”,即这个频段过强。通过均衡器可以把这些予以弥补。又因为每个人对音乐中频率分布的欣赏标准是不同的,因此,各位录音师掌握的尺度也不同,显示出各自的风格。


录音师也可以在录音时做些“手脚”,例如,有的录音机低音部分不太好,于是在录音时就把低音部分加强,这样,在这台录音机上播放时,低音就得到了补尝,因此,你播放购买收录机随机奉送的“试机带”时,听起来常常总是非常动人的,但在播放正常的磁带时,往往就不行了。所以在正式试验整机和评比设备、磁带、唱片时,是不准用均衡器而且要用标准试机带的。由于每个人的欣赏和爱好的不同,有人喜欢低音“浓”些,有人则崇尚自然,也有人有时要强调某种乐器。因此在高级的放音设备上也有均衡器,可以根据每人不同的爱好去随心所欲地调整频率响应。同时,这也可以弥补录音带质量上的某些缺陷,例如,除了频响不平衡外,可以抑制某个频段上突出的噪声等。


3) 制作音乐频谱显示需要用到什么基础知识


首先,我们采用是基于微处理器的软件分析法,微处理器是本制作的核心部分,因此,选择一个合适的性能与配置的微处理器是关键,我选择增强型的 8051 单片机便能够满足本次制作的要求。软件上的分析法核心是快速傅立叶算法,简称 FFT。


4) 什么是 FFT?


FFT(Fast Fourier Transform)即离散傅立叶变换的快速算法。在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征。尽管传统的 DFT 算法能够获取信号频域特征,但是算法计算量大,耗时长,且要求相当大的内存,不利于计算机实时对信号进行处理,限制了DFT 的应用。直到 Cooley& Tukey 在1965 年提出的快速离散傅立叶计算方法被发现,快速傅立叶变换算法才在实际的工程中得到广泛应用。需要强调的是,FFT 并不是一种新的频域特征获取方式,而是 DFT 的一种快速实现算法,可用来将一个信号从时域变换到频域。多数的复杂信号在进行频域变换之后,变换的目的实际上是从频域里来看同一个信号,从而容易分析出其信号的特性。这也是很多信号分析采用 FFT 变换的一个重要原因。另外,

FFT 能将一个信号的频谱提取出来,这在频谱分析方面也是经常使用的。


5) 如何使用 FFT?


首先,我们用 ADC 去采样一个模拟信号之后,使之变为数字信号。根据采样定理,因音频信号的最高频率约为 20Khz,若 adc 的采样频率设置为 40Khz,既有采样频率大于信号频率的两倍,就能基本满足要求。其次,将采样得到的数字信号,送入 FFT 进行变换处理。通常,若我们取 N 个采样点,经过 FFT 运算之后,就可以得到 N 个点的 FFT 结果。但通常为了方便进行 FFT 运算,通常 N 取 2 的整数次

方。设 Fs 为 ADC 的采样频率,N 为傅立叶变换的点数.则有最小分辨频率 f=Fs/N,因此频谱显示的最低频率就是 f Hz,以后每向右移一个点,频率值将增加 f Hz. 由于 FFT 结果的对称性,通常只使用前 N/2 个采样点的结果。


简而言之,使用 A/D 转换器对输入的音频信号进行采样以后,经过 FFT 变换,然后取某些频率项的幅值,量化显示,驱动 LED 点阵,点亮相应的 LED 灯。


关于采样点数的选择,要根据自己选择单片机的实际资源情况。比如STC12A32S2 单片机,只有 1280B RAM,我们取 64 点的 FFT 就可以满足要求,还达到更好的视觉效果,更高的刷新频率,以及为以后软件扩展留下余地。


(二)电路原理图

几个电路设计亮点

双音频插孔设计,不影响正常的音频输出,省去了音频分线器;


去掉音频输入处理的电平移动电路,简化电路,并加入软自动增益控制,实现自动根据音乐的声音大小调节显示幅度;


采用食人鱼 LED 来显示,不仅特别的亮,而且比用普通的草帽状 LED 效果更美,耐电流也更大,还省去了部分限流电阻,食人鱼 LED 有四个引脚,便于手工焊接,大量减少跳线


在这里插入图片描述

图二 MCU 部分的原理图


在这里插入图片描述


图三 点阵驱动电路图


(三)编程思路

在主函数中,单片机通过 AD 对音频数据采样,然后存放到数据缓存区进行预处理,完成 AD 滤波处理,自动增益控制信息扫描以及其他信息处理。接着,将缓存区数据送入 快速傅立叶变换(FFT)处理子函数进行运算。处理完后,从缓存区取出运算结果,根据得到幅值计算出点阵的显示数据,并存储到显示缓存区。


在中断函数中,根据显示缓冲区的内容对点阵显示屏进行实时刷新点亮。


(四) 程序流程图

在这里插入图片描述

在这里插入图片描述


关键字:DIY音  乐频谱显示 引用地址:51DIY音乐频谱显示

上一篇:51单片机-存储
下一篇:51单片机使用定时器中断模拟PWM控制端口电压

推荐阅读最新更新时间:2024-03-16 16:23

基于A3992和C8051F300的两相步进电机驱动系统
  1 引言   步进电机定位准确且与数字电路接口连接方便.无需反馈就能实现准确的角位移,在数控机床等许多领域中均得到了广泛应用。但是,传统的步进电机定位系统是由控制器件产生脉冲,然后加在环形分配器和功率驱动部分,最后连接至电机的控制方式,其软硬件的实现都较为复杂,成本偏高,难以满足现代工业发展所需的精度和集成度等要求。采用美国Allegro公司推出的一款易操作,内置功率驱动的A3992型两相步进电机微步距驱动器,以C805117300单片机为控制核心设计了一个驱动控制电路。该驱动控制电路能简单方便实现电机的微步距控制,不仅解决了步进电机步距角大的问题。提高了步进电机的分辨率,减弱或消除了步进电机的低频振动.也改善了电机的其
[单片机]
基于A3992和C80<font color='red'>51</font>F300的两相步进电机驱动系统
基于PC104与C8051F120的水下机器人环境监测系统设计方案
为了实现对水下机器人周围环境的监测,提出了一种基于PC104与C8051F120的水下机器人环境监测系统设计方案,并完成系统的软硬件设计。该系统的硬件部分主要是采集下潜深度传感器、姿态传感器、温湿度传感器的数据,软件部分采用用Visual C++6.0设计了监控界面。该系统能够实时显示视频和各传感器数据。实际测试表明,该系统具有稳定性高、准确性高的特点,达到了设计要求。 水下机器人具有重大需求和巨大的市场价值,如:用于泵站流道和叶轮叶片、坝体、桥墩、排沙口、拦污栅、病险水库等的水下检查和评估。用于市政饮用水系统中水管、水库检查;用于城市排污/排涝管道、下水道检查;用于科学研究、教学目的的水环境、水下生物的观测、研究和教学;用于
[单片机]
基于PC104与C80<font color='red'>51</font>F120的水下机器人环境监测系统设计方案
采用AT89C2051的数字可调稳压电源单片机源程序
ORG 0000H ;定位 LJMP MAIN ;跳转到MAIN主程序 ; ORG 0003H ;定位 LJMP IT_0 ;转入INT0的中断服务程序 ; ORG 000BH ;定位 LJMP IT_1 ;转入INT0的中断服务程序 ; ORG 0100H ;定位 MAIN: MOV R6,#32H ;将50送R6 ANL P3,#4FH ;将P3.4、P3.5、P3.7置为0,使输出电压为0.0V MOV P1,#0FFH ;将0FFH送P1 SETB P3.0 ;将P3.0置1 CLR P3.1 ;将P3.1置0 MOV R2,#0CH ;将0CH送R2 LCALL DELAY ;调用DELAY延时子程序 SETB P3.1
[单片机]
基于51单片机的PID水温控制系统
一.硬件方案 本设计主要以51单片机系统进行温度采集与控制;温度信号由数字温度传感器DS18B20采集,主控器主动获取传感器温度值,通过PID算法,与设置温度进行计算,输出继电器的控制状态,并在LCD显示屏进行显示。 主要由51单片机+最小系统+LCD1602液晶显示模块+DS18B20温度传感器+继电器电路+蜂鸣器模块+LED指示灯模块+按键模块;如图: 二.设计功能 (1)采用PID控制算法,对水温进行实时控制; (2)设定容器内水的温度在:水温–90°;自动平衡,容器内水温误差0.5°; (3)PID算法容器内水温上升或下降10°时间不超过10min; (4)设有三个按键,1为复位按键,2为目标水温的加,3为目标水温
[单片机]
基于<font color='red'>51</font>单片机的PID水温控制系统
瀚川智能2021年归母净利同比增长51%
【文/石头】近日,瀚川智能发布业绩快报,2021年1-12月,公司实现营业收入7.58亿元,同比增长25.69%;归母净利润6666.31万元,同比增长51%。 图/瀚川智能2021年业绩快报 瀚川智能表示,2021年营业利润、利润总额、归母净利润分别同比增长37.71%、45.14%和51%,主要系公司在营业收入增长的同时, 持续加大新产品研发投入和新业务的市场开拓,不断优化内部运营管理,提高运营效率,同时对外股权投资确认公允价值变动收益增加,实现利润的增长。 作为首批科创板上市的企业,瀚川智能从非标业务起家,是集自动化设备和工业软件一体化的智能制造整体解决方案提供商,主要从事汽车电子、新能源电池、工业零组件、工业互联
[机器人]
瀚川智能2021年归母净利同比增长<font color='red'>51</font>%
51手记之标准51(四)
51手记之标准51---串行口 1.串行通信基本方式:异步通信和同步通信 1).异步通信方式 以 字符 为单位进行传送 用一帧表示一个字符,一个字符包括4个部分 起始位 1位 有效 数据位 5--8位 奇偶校验位 1位 停止位 1位、1位半、2位 1 有效 在异步通信时,通信双方必须事先约定 ①字符格式。 双方要事先约定数据位的位数、奇偶校验形式及起始位和停止位的位数; 例如:用ASCⅡ码通信,有效数据为7位,加一个奇偶校验位、一个起始位和一个停止位共10位。当然停止位也可以大于1位。 ②波特率(Baud rate)。波特率就是传送速率,即每秒传
[单片机]
<font color='red'>51</font>手记之标准<font color='red'>51</font>(四)
FSKModemMSM7512B在电力线通信中的应用
    摘要: 介绍一种由OKI公司推出的FSK调制解调芯片MSM7512B。它可用于内置式Modem、数据传输系统,家庭安防系统等场合。本文着重介绍其功能特点、工作原理及其在电力线通信中的应用,并给出点对点通信的C51程序。     关键词: 移频键按(FSK) 调制/解调 电力线 C51编程 一、芯片特点及引脚说明 1.特点 MSM7512B是OKI公司推出的1200bps半双工FSK Modem芯片,采用16脚双立直插塑封或24脚扁平封装,具有如下特点: *单电源(3~5V)供电,提供掉电工作方式; *低功耗CMOS电路(工作模式功耗典型值为25mW,掉电模式功耗低达0.1mW
[工业控制]
51单片机定时器中断_51单片机中断系统_51单片机扩展中断的四种方法
  中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应的情况发生时会使单片机去处理中断程序(中断函数)。   此篇主要整理定时器中断笔记。采用定时器中断会涉及中断寄存器,定时器/计数器相关寄存器(TCON,TMOD),中断函数等知识点。   其中,中断寄存器,定时器/计数器相关寄存器本身或者相关位用来做初始化,中断函数的内容主要是体现发生中断后所需要的操作(在中断函数内写代码)。   1.中断允许寄存器IE      图1.中断寄存器IE   中断寄存器用来设定各个中断源的打开和关闭,IE在特殊功能寄存器中,字节地址为A8H,位地址(由低位到高位)分别是A8H~AFH
[单片机]
<font color='red'>51</font>单片机定时器中断_<font color='red'>51</font>单片机中断系统_<font color='red'>51</font>单片机扩展中断的四种方法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved