我想在MATLAB中使用sound()函数播放一个小的.wav文件。我已经搞砸了一下,我发现改变播放声音的采样率也改变了音调。
现在,我对音频处理的把握,虽然可能很脆弱,但却告诉我,改变声波的采样率不应该改变声波的音高。但话说回来,在这种情况下,我正在播放声音,而不是录制声音。所以我想知道我看到的音高变化是由于回放采样率和录音采样率之间的差异造成的。
是这种情况,还是我完全误解了sound()函数的工作原理?
感谢。
-Sean
答案 0 :(得分:2)
如果您考虑以48kHz采样率播放1kHz正弦波,那么每毫秒有一个正弦周期或48个样本。现在,如果你将采样率加倍到96kHz,相同的48个样本将在一半的时间内播放(0.5ms),而扬声器发出的音调将是频率的两倍(2kHz)。