23

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

4

5 回答 5

14

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

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

于 2009-12-15T00:30:40.837 回答
9

使用 soundtouch 开源项目改变音高

这是链接: http ://www.surina.net/soundtouch/

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

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

于 2009-07-16T10:30:33.340 回答
3

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

所以这里我们有最新的 DIRAC3,它有自己的音频播放器类,它将处理运行时音高和速度(探索天知道还有什么)转变。运行示例并为此获得热烈的掌声。

于 2013-02-21T13:09:46.297 回答
2

试试 Dirac - 它是目前最好的技术,可在 Win、Linux、MacOS X 和 iOS 上使用。我们在所有产品中都使用了它(还有一些其他产品也在使用它,在 App Store 上搜索“Capo”)。它们现在处于第 3 版,与以前的版本相比,性能有了巨大的提升。希望这可以帮助。

于 2011-01-12T14:45:16.260 回答
1

请参阅:相关问题

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

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

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

于 2009-07-08T22:33:08.480 回答