音频讯号处理,又称音讯处理,音乐讯号处理等,可以用来调整音乐讯号的震幅、频率、波形等资讯。
利用一些简单的加减乘除,升降频,及窗函数(window function),就可以做出各式的声音讯号,创造属于自己的电子音乐。
简介音频讯号处理,又称音讯处理,音乐讯号处理等,可以用来调整音乐讯号的震幅、频率、波形等资讯。
利用一些简单的加减乘除,升降频,及窗函数(window function),就可以做出各式的声音讯号,创造属于自己的电子音乐。
甚至透过一些讯号处理的技巧,可以从声音讯号取得背后所代表的频率高低,做更进一步的分析与应用。1
音讯的来源当物体产生震动时,就会产生声音,举例来说:当用力挥动手掌时,就会产生声音,以及蚊子翅膀快速震动时,所发出的扰人声音。
但是,在上述例子中,所听到的声音是来自于空气震动,而不是因为手掌摆动,
原因是人耳可以听到的声音频率介于20Hz到20000Hz之间,所以我们可以听到空气振动产生的声音,却听不到手掌摆动产生的声音,因为摆动的频率不够快。1
音讯的资讯声音讯号是一种力学波,因此在传播过程中是一种类比连续的讯号,然而由于人耳是天然的傅立叶转换器,因此音讯经过人耳后会变成数字信号。在这些讯号中,有三个特征是处理时经常考虑的部分,可以参考下图:
音量:从讯号来看,音量代表的是讯号的震幅,讯号振幅越大,所发出的音量也越大。
音频:讯号的频率,就是所谓的音频,也就是声音震动的频率。其代表的是音调的高低,频率越高,音调就越高。除此之外,乐器所产生的声音讯号,并非是单一频率的讯号,而是有基频和泛音(倍频)的存在。
音色:每一个人或乐器所发出的音色都不一样,从讯号上来看,音色就是讯号的波形,因此只要利用波形分析,就可以判断出声音的来源,从下图可以看到小提琴跟钢琴的音色差异非常大。1
音讯的档案音讯的档案储存可以分成压缩和无压缩两种,常见的无压缩档案格式为*.wav,而压缩档案格式为*.mp3,关于这一部分的详细资料可以参照音讯档案格式。声音档的存取时,主要有三个需要考虑因素:
取样频率:在讯号处理中,取样频率所代表的是声音的品质,取样的频率越高,数字信号的波形越接近类比讯号的波形,因此声音的品质也越好。而在做取样时,必须遵守奈奎斯特频率,简单来说,频率在取样时至少要大于原讯号频率的2倍,才可以得到有意义的讯号,也能还原成原本的讯号。
声音分辨率:存取讯号资料点所用的位元数,即代表其分辨率。所使用的位元数越大,每个资料点的数值就越精确,声音的分辨率也越好。比较16bit与8bit两种存取位元,16bit可以存取到较精确的数值,但是也会花比较大的硬件储存空间。
声道:声道就是声音的来源数,常听到的单声道及双声道,代表的是声音是否有立体感。利用两个喇叭,拨放单声道的声音,左右两个喇叭发出的声音完全相同,因此会感觉声音是来自两个喇叭中间,但若是双声道声音,左右两个喇叭发出的声音会有一定差异,因此会觉得声音听起来有立体感。
举例来说,借由MATLAB输入指令audioinfo(音讯档案名称),可以得到音讯档案的相关资讯如下图:
因为档案格式是*.wav,所以是无压缩(uncompressed)。
声道(NumChannels): 1
取样频率(SampleRate): 44100Hz
声音分辨率(BitsPerSample): 161
MATLAB声音信号处理指令[y, fs] = audioread(档名):y是声音讯号的向量,fs是取样频率。
audioinfo(档名):回传各种声音档案的相关资讯,像是取样频率、通道数量、声音分辨率...等。
sound(y, fs):以fs的频率播放声音讯号y。
wavwrite(y, fs, filename):将y讯号,以取样速率fs,写到filename.wav之中。
Y = fft(y):将时间轴上的讯号y,转换为频率轴上的讯号Y。1
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学