iphone - Benutzerdefinierte Audio-Effekt in CoreAudio Audio Graph-Render Callback



core-audio effect (1)

Der einfachste Weg besteht darin, einen Render- AudioUnitAddRenderNotify Callback ( AudioUnitAddRenderNotify ) zur AU des Reverb-Knotens hinzuzufügen und das Audio im kAudioUnitRenderAction_PostRender Aufruf zu verarbeiten. Ich habe ein Experiment durchgeführt und das funktioniert, solange der Callback nach dem Öffnen des AUGraphs hinzugefügt wurde und keine Verarbeitung im PreRender-Aufruf erfolgte.

Ich baue einen MIDI-Synthesizer mit CoreAudio. Momentan habe ich folgende Audiodatei:

    Sampler -> Reverb -> IO

Ich muss dem Graphen und dem Hall einen Chorus-Effekt hinzufügen. Das Problem ist, dass es auf dem iPhone keinen Chorus-Effekt gibt. Um das zu umgehen, habe ich vor, meinen eigenen Chorus-Effekt zu implementieren. Dazu brauche ich Zugriff auf den Audio-Stream.

Die Frage ist: Was ist der beste Weg, um Zugriff auf den Audio-Stream in der Mitte der Audio-Grafik zu bekommen.

    Sampler -> Reverb -> [Custom processing] -> IOUnit

Gibt es eine Möglichkeit, den Audio-Stream mit etwas wie dem AudioUnitAddRenderNotify-Callback zu ändern? oder muss ich die Audiodatei folgendermaßen brechen:

    Sampler -> Reverb -> [AudioUnitAddRenderNotify callback] -> buffer -> [RenderCallback] -> IOUnit

Jeder Rat würde geschätzt werden.