iPhone上的实时音高转换

时间:2009-07-08 20:57:17

标签: iphone audio core-audio pitch pitch-tracking

我正在编写一个儿童iPhone应用程序,我需要能够使用Core Audio移动声音样本的音高。有没有人有任何示例代码,我可以看看这是完成的。应用程序商店中有很多音乐和游戏应用程序,所以我知道我不是第一个。但是,我找不到任何关于它的例子。

5 个答案:

答案 0 :(得分:14)

您可以使用dsp维度中的dirac-2进行iphone上的音高变换。引用: -

“DIRAC2既可作为商业对象库提供无限采样率和锁相多通道支持,也可作为免费单通道,44.1 / 48kHz LE版本。”

答案 1 :(得分:9)

使用soundtouch开源项目来改变音高

以下是链接:http://www.surina.net/soundtouch/

将soundtouch添加到项目后,您必须输入输入声音文件路径,输出声音文件路径和音高变化作为输入。

由于处理声音需要更多时间,因此最好修改声音触控,以便在录制声音时直接提供数据进行处理。它将使您的应用程序更好。

答案 2 :(得分:3)

我知道对于提出要求的人来说已经太晚了,但对于正在寻找相同问题解决方案的任何其他人来说,这确实是一个有价值的链接(正如我所发现的那样)。

所以我们这里有最新的DIRAC3,它有自己的audio player课程,它将负责跑步时间和速度(探索上帝知道更多)转移。运行样本并为此赢得了热烈的掌声。

答案 3 :(得分:2)

尝试Dirac - 它是最好的技术,它可以在Win,Linux,MacOS X和iOS上使用。我们在所有产品中使用它(还有其他几个产品也在App Store中搜索“Capo”)。它们现在处于版本3,自从之前的版本以来,它的性能大幅提升。希望这会有所帮助。

答案 4 :(得分:1)

请参阅:Related question

你需要多少控制音高......你能预先计算出所有不同的声音吗? 如果答案是肯定的,那么你可以选择正确的声音并播放它们。

您还可以将音频转换器服务与AVAudioPlayer结合使用,这将允许您重新采样音频(虽然它们会改变持续时间,但会有效地重新录制它们。)

或者,正如相关问题所指出的那样,您可以使用OpenAL和AL_PITCH