Using iOS Reverb effect

2

kAudioUnitSubType_Reverb2 effect doesn't work in my Audio Unit graph. When I exclude its node from graph everything works fine. I tried to add converters between previous node and reverb node and after reverb. I did set the stream format of the converter node input to the format of previous node output and converter's output to reverb input. I just get error -10868 when I initialize audio graph. How to make it work?

Here is my graph:

AudioUnitGraph 0x186000:
  Member Nodes:
    node 1: 'aufc' 'conv' 'appl', instance 0x1b3a60 O  
    node 2: 'aufc' 'conv' 'appl', instance 0x1b3710 O  
    node 3: 'auou' 'rioc' 'appl', instance 0x1b3b80 O  
    node 4: 'aumx' 'mcmx' 'appl', instance 0x1b5220 O  
    node 5: 'aufx' 'rvb2' 'appl', instance 0x1b6790 O  
  Connections:
    node   4 bus   0 => node   1 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
    node   1 bus   0 => node   5 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
    node   5 bus   0 => node   2 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
    node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]
  Input Callbacks:
    {0x1b77d, 0x1b2d10} => node   4 bus   0  [2 ch, 44100 Hz]
    {0x1b77d, 0x1b2d10} => node   4 bus   1  [2 ch, 44100 Hz]
  CurrentState:
    mLastUpdateError=0, eventsToProcess=F, isRunning=F
ios
core-audio
effects
audiounit
asked on Stack Overflow Apr 16, 2013 by zlib • edited Feb 4, 2016 by zlib

1 Answer

3

I had the similar problem with Varispeed node. I have several varispeed nodes connected to several buses of multi mixer. This multimixer node was connected to RemoteIO node. And sound was not playing. But then I've added converter node (AUConverter) between multimixer and remoteIO and set stream format property:

result = AudioUnitSetProperty (convertUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &stereoStreamFormat, sizeof (stereoStreamFormat));

stereoStreamFormat - this format is used in my app for all multimixer buses.

So I've believe the problem is in this format:

node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved]

If you add converter node and set up it's stereo format you should see:

node   2 bus   0 => node   3 bus   0  [ 2 ch,  44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved]
answered on Stack Overflow Apr 27, 2013 by Ted Harner

User contributions licensed under CC BY-SA 3.0