基本且简单的问题: wavrecord命令所记录到的数组就真的是空气的振动幅度吗?
我原本用下面的思路来做简单的音频分析:1。用 y=wavrecord(t*Fs,Fs) 获取声音信号。
2。用 x=fft(y)获取声音的频谱。
或者翻过来,
1.用y=sin(2*pi*f) 产生某个单音信号.
2.用wavplay(y,Fs)来发出声音,我聆听这个声音.
但我想确认, 用wavrecord,waveplay 所处理的波形文件,真的记录的就是空气振动幅度对时间的变化吗?对这样的数列作fft分析不会引入多余的其他频谱分量吗?
具体来说,照我的理解,声音的本质是空气中的振动。比如A调的音叉,其摆动位移随时间的变化就刚好是440Hz的正弦波,标准的单音信号。当这样的声音由波形文件记录下来后,(记为y向量),y的每一个数值,都正比于当初音叉的位移吗?如果不幸,y的各值, (排除系统硬件的因素),并不正比于音叉的摆幅,而是经历某种非线性变换,那么事后分析出的频谱肯定就不是真实的音频频谱了.
波形文件和真实声音的对应关系是线性的吗? 先说明LZ这问题, 有点专业了, 或许可以"声学分析"问问! 以下仅说说个人所了解的! 不对的请包含!
记录的就是空气振动幅度对时间的变化吗?
声音应该是空气振动造成压力扰动, 记录的是压力扰动幅值对时间的变化!
作fft分析不会引入多余的其他频谱分量吗?
若是单音(pure tone)就不会!
y的每一个数值,都正比于当初音叉的位移吗?
应该是(若sensor够近的话!)
波形文件和真实声音的对应关系是线性的吗?
应该是
页:
[1]