【发布时间】:2011-06-28 10:56:03
【问题描述】:
我正在播放在 AudioUnit 的帮助下动态生成的两个正弦波音调。我需要给用户一个 UISlider,它可以帮助他动态改变音调。我一直在使用 AudioUnits 设置音调,请提供一些代码 sn-p 以在 AudioUnits 的帮助下更改音调。
【问题讨论】:
标签: signal-processing audio-streaming pitch trigonometry
我正在播放在 AudioUnit 的帮助下动态生成的两个正弦波音调。我需要给用户一个 UISlider,它可以帮助他动态改变音调。我一直在使用 AudioUnits 设置音调,请提供一些代码 sn-p 以在 AudioUnits 的帮助下更改音调。
【问题讨论】:
标签: signal-processing audio-streaming pitch trigonometry
更改生成的波形(例如正弦波)的音高,复制到 AudioUnit 回调缓冲区中,当然是可能的。究竟如何改变它取决于你如何产生正弦波。如果通过表格查找,那么您可以更改表格步长并进行插值。如果通过调用 sinf() 函数,您可以在函数调用中更改每个样本的增量相位变化,以匹配与滑块位置的某种关系。等等
但是,术语“实时音高转换”通常指的是另一种不同且更复杂的 DSP 过程,例如用于组合时间音高修改的相位声码器。你是什么意思?
【讨论】: