0

在 AudioUnit 的帮助下,我正在播放动态生成的两个正弦波音调。我需要给用户一个 UISlider,它可以帮助他动态改变音调。我一直在使用 AudioUnits 设置音调,请提供一些代码片段以在 AudioUnits 的帮助下更改音调。

4

1 回答 1

1

改变生成的波形的音高,例如正弦波,被复制到 AudioUnit 回调缓冲区,当然是可能的。究竟如何改变它取决于你如何产生正弦波。如果通过表格查找,那么您可以更改表格步长并进行插值。如果通过调用 sinf() 函数,您可以在函数调用中更改每个样本的增量相位变化,以匹配与滑块位置的某种关系。等等

然而,术语“实时音高移位”通常指的是另一种不同且更复杂的 DSP 过程,例如用于组合时间音高修改的相位声码器。你是什​​么意思?

于 2011-06-29T16:33:40.033 回答