在iOS上渲染非常高频率的声音

时间:2011-04-13 16:26:04

标签: iphone core-audio audiounit aliasing

我正在尝试使用AudioUnit为iPhone项目渲染一系列高频声音(大约8-20KHz),但12KHz以上的所有内容都会严重失真和/或完全错误的音调。我已经将波形渲染成图像,并意识到,因为iPhone的硬件采样率是4400Hz,所以应该归咎于混叠(我的22KHz正弦波更像是100Hz的正弦波)。

这有什么解决方案吗?我在商店看到了许多“狗哨”应用程序,但我猜他们不太可能“为了实物”。更改AudioStreamBasicDescription的采样率似乎并没有那么大的帮助,但也许我做错了。

1 个答案:

答案 0 :(得分:2)

你不能真正做到以44.1K样本/秒呈现22KHz正弦波,并且你不能将最大采样率提高到这个以上,我相信。您可能能够使用48KHz,我依稀记得是支持率。

另一方面,你绝对可以以44.1ks / s的速度进行22.05 KHz的方波,这将产生一些非常高的谐波频率。也许这就是狗哨声应用程序的工作方式?

如果绝对频率控制并不重要,您可以通过将频率四舍五入到采样率的倍数来获得更好的结果。这样,你至少可以确保别名不会给你低频节拍。