首页 文章

如何检查/更改声卡的采样率?

提问于
浏览
1

我正在玩XAudio2将PCM格式波发送到我的声卡,我遇到了一个让我想到这个问题的问题 . 我使用MATLAB以440 Hz的频率创建了一个带有MATLAB的.csv文件,起初我以1 KHz(1秒)对其进行了采样 .

然后,我的C程序将加载该文件并将缓冲区发送到声卡 . 问题是输出失真(剪裁),听起来根本不像正弦波 . 然后我想,也许声卡不喜欢1 kHz的采样率,所以我加倍了,突然一切都很好 .

有没有办法确认这确实是问题?

1 回答

  • 3

    1kHz采样率的奈奎斯特频率仅为500Hz . 听起来很糟糕,我并不感到惊讶 . 假设您的采样率为1kHz,并且您播放了500Hz的声音 . 你的输出是方波 . - - - 之间没有任何东西,因为你没有足够的样本 . 当您接近奈奎斯特频率时,复制该波的能力下降 . 它可以在如此低的频率下听到 .

    在任何情况下,都不太可能让声卡以如此低的采样率运行 . 软件驱动程序更有可能为您重新采样,谁知道什么样的工件被抛出 .

    尝试做一些更合理的事情,比如至少11.025Hz . 这是44.1kHz(“CD”采样率)除以4,许多声卡直接支持 . 几乎所有卡都应该做到22.05kHz .

相关问题