我在AudioUnit的帮助下正在播放两个正弦波音。我需要给用户一个UISlider,帮助他动态改变音调的音高。我在设置AudioUnits的音调时遇到困难,请在AudioUnits的帮助下提供一些代码片段来改变音高。
答案 0 :(得分:1)
将生成的波形(例如正弦波)的音高改变为复制到AudioUnit回调缓冲区当然是可能的。究竟如何改变它取决于你如何产生正弦波。如果通过表查找,则可以更改表步长和插值。如果通过调用sinf()函数,您可以更改函数调用中每个样本的增量相位变化,以匹配滑块位置的某些关系。等
然而,术语“实时音高变换”通常是指另一种不同且更复杂的DSP过程,例如用于组合时间间距修改的相位声码器。你是什么意思?