我很难理解钢琴音符FFT
的输出(A1, f=55 Hz
)。
我期待得到一个强大的"频率为55 Hz
,但我得到了一个强大的" 220 Hz
的频率,对应于A3
,两个八度音阶。
这是我使用的代码:
[audio,fs] = audioread('a1.wav');
audio = audio(:,1)./max(audio(:,1));
dt = 1/fs;
t = linspace(0, length(audio)/fs, length(audio));
T = max(t);
fftAudio = fftshift(fft(audio));
mfft = abs(fftAudio);
pfft = angle(fftAudio)*(180/pi);
f = linspace(-fs/2,fs/2,length(fftAudio));
%%
figure,plot(f,mfft,'m.-'),grid on
xlim([0 fs/2])
要么我做错了某事MATLAB"忽略"低频率。 还有FFT:
这是放大FFT:
有谁知道为什么会这样? 谢谢。
答案 0 :(得分:0)
你刚刚发现一些钢琴会产生一组强烈的谐波泛音,偶尔会出现弱基频谱(可能由琴弦直径和刚度,音板共振能量交换或麦克风响应和放置引起的效果)。
关于乐器物理学和人类听觉的心理声学的一些阅读可能有所帮助。