Upload
cocoaheads-france
View
3.834
Download
2
Embed Size (px)
Citation preview
CoreAudioCocoaheads 2013, Maxime Bokobza
HexASound
CoreAudio
Mixer Graph
RemoteIO
CoreAudio
Effect
AUGraphAUGraphInitialize()
AUGraphNew()
AUGraphOpen()
AUGraphClose()
AUGraphStart()
AUGraphStop()
AUGraphUninitialize()
AudioComponentDescription
componentManufacturerex: kAudioUnitManufacturer_Apple
componentType ex: kAudioUnitType_Mixer kAudioUnitType_Effect kAudioUnitType_Output
componentSubType ex: kAudioUnitSubType_MultiChannelMixer kAudioUnitSubType_Delay kAudioUnitSubType_RemoteIO
AUNode
AUGraphAddNode()
AUGraphConnectNodeInput()
AudioUnit
AUGraphNodeInfo()
Audio Unit Properties
Audio Unit Parameters
Audio Unit PropertiesAudioUnitSetProperty()AudioUnitGetProperty()
PropertyIDex:kAudioUnitProperty_StreamFormatkAudioUnitProperty_BypassEffectkAudioUnitProperty_CPULoad
AudioUnitScopeex:kAudioUnitScope_GlobalkAudioUnitScope_Output
Audio Unit Parameters
AudioUnitSetParameter()AudioUnitGetParameter()
ParameterIDex:kBandpassParam_CenterFrequencykMultiChannelMixerParam_Volume
AURenderCallbackStruct
AUGraphSetNodeInputCallback()
static OSStatus renderInput( !void *inRefCon, !AudioUnitRenderActionFlags *ioActionFlags, !const AudioTimeStamp *inTimeStamp, !UInt32 inBusNumber, !UInt32 inNumberFrames, !AudioBufferList *ioData)
Links• http://www.dribin.org/dave/resources/
files/2010/ipdcchi_Dribin_AudioUnits.pdf
• http://izotope.fileburst.com/guides/iZotope_iOS_Audio_Programming_Guide.pdf
• http://www.subfurther.com/blog/2009/04/28/an-iphone-core-audio-brain-dump/
• http://www.slideshare.net/invalidname/core-audio-cranks-it-up
Démohttp://github.com/maxbok/CoreAudioTemplate
One more thing
CoreMidi
Enable MIDI out
[[MIDINetworkSession
defaultSession] setEnabled:YES]
MIDIClientCreate()
MIDIOutputPortCreate()
Send an event
MIDIPacketListInit()
MIDIPacketListAdd()
MIDISend()
Disable MIDI out
[[MIDINetworkSession
defaultSession] setEnabled:NO]
MIDIClientDispose()
Links
•http://goodliffe.blogspot.fr/2010/10/using-coremidi-in-ios-example.html?m=1
•https://github.com/petegoodliffe/PGMidi
•http://www.onicos.com/staff/iz/formats/midi-event.html
Démohttp://github.com/maxbok/CoreMIDITemplate