改变声音的音高

时间:2010-05-13 06:55:40

标签: iphone audio

我正在创建一个iPhone应用程序,当我打电话给任何人时,我应该能够实时改变通话语音的音高。

那么我应该使用哪个框架或任何第三方库?

谢谢, 苏尼。

2 个答案:

答案 0 :(得分:0)

对于演讲,您最好的选择可能是PSOLA的实施。这允许音高变换和/或时间压缩/扩展。您既可以自己实现(如果您熟悉DSP等,则相当简单)或Google可以实现开源实现。

答案 1 :(得分:0)

如果我们想要改变声音,看起来最自然的是使用FFT将小声段转换到频域,然后移位频率分布并使用逆FFT返回到时域。是的,它可以工作,但不幸的是,这类算法对于iPhone来说太耗时了。 但也有其他类似SOLA的算法,它们最简单的版本可以在iPhone上实现 请点击此链接查看图书馆和更多信息:

http://www.dspdimension.com/admin/time-pitch-overview
http://www.surina.net/soundtouch/index.html#download
http://www.guitarpitchshifter.com/algorithm.html