1

我正在尝试通过使用正弦函数创建示例数据并使用 SDL 播放来生成各种频率的音调。我在用

buffer[sample] = 32767 * sinf( 2 * PI * sample * sound_frequency / 44100)

以 44100 的采样率生成频率声音的样本 - sound_frequency。并获得 44100 个样本,即。1 秒的样本声音并尝试使用 SDL 播放。当我尝试为 2000Hz 的 sound_frequency 生成样本时,这听起来不错。但是,当尝试为 sound_frequency 60000Hz 生成样本时,它听起来也不错。但我预计我应该只发出 20-20000Hz 的声音?你能帮忙找出问题吗?

4

1 回答 1

5

您不能表示高于采样率的频率。即使频率接近采样率,您的声音也会失真。正在发生。

于 2011-09-11T08:01:25.210 回答