使用iPhone SDK的AudioUnit进行pitchbend(varispeed)音频

时间:2010-01-31 22:26:38

标签: iphone audio effects core-audio

我正试图在播放时操纵声音的速度(和音高)。

所以我玩了iphone sdk的AudioUnit。下载了iPhoneMultichannelMixerTest,并尝试将AUComponent添加到图形中(在本例中为formatconverter)。但是我很快(很快)在构建时遇到错误:

#import <AudioToolbox/AudioToolbox.h>
#import <AudioUnit/AudioUnit.h>

...

AUComponentDescription varispeed_desc(kAudioUnitType_FormatConverter, 
kAudioUnitSubType_Varispeed, kAudioUnitManufacturer_Apple);
^^
error: 'kAudioUnitSubType_Varispeed' was not declared in this scope.

任何想法为什么?关于这个主题的文档对我没有帮助(只是api doc在没有关于背后概念的线索时不是很有帮助)。没有关于如何将这些效果连接在一起并操纵那些属性的例子......所以也许我完全错了,无论如何任何提示都很棒。

请求帮助。

3 个答案:

答案 0 :(得分:1)

kAudioUnitSubType_Varispeed - 仅用于OS X,而不是iphone OS。

我在iphone上找到的音高转换支持是openAL。或者你可以使用third party one。我无法实时实现这一目标。

答案 1 :(得分:1)

只是对此的更新。 Varispeed现在可用于iOS。

答案 2 :(得分:0)

如果您想要音高控制,可以使用Finch sound engine(OpenAL)。音调控制滑块在演示应用程序中有特色。