Objective-C
iOS
AudioUnit
CoreAudio
Swift

iOSで使用できる Audio Unit 一覧

More than 3 years have passed since last update.

AUComponent.h 、または Audio Unit Component Services Reference より、iOS で使用可能な Audio Unit のサブタイプ を抜き出してみました。

概要説明つき。(ただし RemoteIO のようによく知られているものや、名称から役割が明らかなものは省略)

利用可能なiOSバージョンも付記してあります。これを見ると、iOS 5 でエフェクトが大量に追加され、iOS 6 でもコンバーター/ミキサーまわりが強化されたようです(個人的には delay の追加も嬉しい)。


kAudioUnitType_Output



  • kAudioUnitSubType_GenericOutput


    A generic output unit provides the start/stop API, and provides the basic

    services to convert Linear PCM formats.




  • kAudioUnitSubType_RemoteIO



  • kAudioUnitSubType_VoiceProcessingIO


    This audio unit can do input as well as output. Bus 0 is used for the output

    side, bus 1 is used to get audio input (thus, on the iPhone, it works in a

    very similar way to the Remote I/O). This audio unit does signal processing on

    the incoming audio (taking out any of the audio that is played from the device

    at a given time from the incoming audio).





kAudioUnitType_MusicDevice


  • kAudioUnitSubType_Sampler


    • iOS 5.0 and later.




kAudioUnitType_FormatConverter


  • kAudioUnitSubType_AUConverter



  • kAudioUnitSubType_Varispeed


    An audio unit that can be used to control playback rate (as the rate is faster,

    the pitch is higher). It provides a generic view, so can be used in both a UI

    and programmatic context. It also comes in an Offline version so can be used

    to process audio files.



    • iOS 5.0 and later.




  • kAudioUnitSubType_DeferredRenderer


    An audio unit that is used to get its input from a separate thread than the

    thread that its render method is called. It thus allows an application to

    introduce multiple threads into a rendering graph. There is a buffer sized

    delay introduced between the input and output



    • iOS 6.0 and later.




  • kAudioUnitSubType_Splitter


    An audio unit that provides 2 output buses and 1 input bus. The audio unit

    splits (duplicates) the input signal to the two output buses



    • iOS 6.0 and later.




  • kAudioUnitSubType_Merger


    An audio unit that provides 2 input buses and 2 output bus. The audio unit

    merges the two inputs to the single output



    • iOS 6.0 and later.




  • kAudioUnitSubType_NewTimePitch


    An audio unit that provides good quality time stretching and pitch shifting

    while still being very fast.



    • iOS 6.0 and later.




  • kAudioUnitSubType_AUiPodTimeOther


    An audio unit that provides time domain time stretching.



    • iOS 5.0 and later.




  • kAudioUnitSubType_AUiPodTime


    An audio unit that provides simple (and limited) control over playback rate

    and time.





kAudioUnitType_Effect


  • kAudioUnitSubType_PeakLimiter


    • iOS 5.0 and later.



  • kAudioUnitSubType_DynamicsProcessor


    • iOS 5.0 and later.



  • kAudioUnitSubType_LowPassFilter


    • iOS 5.0 and later.



  • kAudioUnitSubType_HighPassFilter


    • iOS 5.0 and later.



  • kAudioUnitSubType_BandPassFilter


    • iOS 5.0 and later.



  • kAudioUnitSubType_HighShelfFilter


    • iOS 5.0 and later.



  • kAudioUnitSubType_LowShelfFilter


    • iOS 5.0 and later.



  • kAudioUnitSubType_ParametricEQ


    • iOS 5.0 and later.



  • kAudioUnitSubType_Distortion


    • iOS 5.0 and later.



  • kAudioUnitSubType_Delay


    • iOS 6.0 and later.



  • kAudioUnitSubType_Reverb2


    • iOS 5.0 and later.



  • kAudioUnitSubType_AUiPodEQ

  • kAudioUnitSubType_NBandEQ


    • iOS 5.0 and later.



  • kAudioUnitSubType_SampleDelay


    • Available in iOS 8.0 and later.




An audio unit that provides a time delay for a specified number of samples.



kAudioUnitType_Mixer


  • kAudioUnitSubType_MultiChannelMixer


  • kAudioUnitSubType_MatrixMixer


    An audio unit that can have any number of input and output buses with any number of channels on each bus. You configure the mix using a matrix of channels with a separate input level control for each channel. The audio unit also provides individual level control for each input-channel-to-output-channel combination, as well as level control for each output channel. Finally, the audio unit provides a global level control for the matrix as a whole.



    • iOS 6.0 and later




  • kAudioUnitSubType_AU3DMixerEmbedded


    • Deprecated in iOS 9.0




kAudioUnitType_Generator



  • kAudioUnitSubType_ScheduledSoundPlayer


    A generator unit that can be used to schedule slices of audio to be played at specified times. The audio is scheduled using the time stamps for the render operation and can be scheduled from any thread.



    • iOS 5.0 and later




  • kAudioUnitSubType_AudioFilePlayer


    A generator unit that is used to play a file. In OS X it presents a custom UI so can be used in a UI context as well as in a programmatic context.



    • iOS 5.0 and later




関連記事