AKMorphingOscillatorBank

open class AKMorphingOscillatorBank: AKPolyphonicNode, AKComponent

This is an oscillator with linear interpolation that is capable of morphing between an arbitrary number of wavetables.

  • Four letter unique description of the node

    Declaration

    Swift

    public static let ComponentDescription = AudioComponentDescription(instrument: "morb")
  • An array of tables to morph between

    Declaration

    Swift

    open var waveformArray = [AKTable]()
  • Ramp Time represents the speed at which parameters are allowed to change

    Declaration

    Swift

    @objc open dynamic var rampTime: Double = AKSettings.rampTime
  • Index of the wavetable to use (fractional are okay).

    Declaration

    Swift

    @objc open dynamic var index: Double = 0.0
  • Attack time

    Declaration

    Swift

    @objc open dynamic var attackDuration: Double = 0.1
  • Decay time

    Declaration

    Swift

    @objc open dynamic var decayDuration: Double = 0.1
  • Sustain Level

    Declaration

    Swift

    @objc open dynamic var sustainLevel: Double = 1.0
  • Release time

    Declaration

    Swift

    @objc open dynamic var releaseDuration: Double = 0.1
  • Pitch Bend as number of semitones

    Declaration

    Swift

    @objc open dynamic var pitchBend: Double = 0
  • Vibrato Depth in semitones

    Declaration

    Swift

    @objc open dynamic var vibratoDepth: Double = 0
  • Vibrato Rate in Hz

    Declaration

    Swift

    @objc open dynamic var vibratoRate: Double = 0
  • Initialize the oscillator with defaults

    Declaration

    Swift

    public convenience override init()
  • Initialize this oscillator node

    Declaration

    Swift

    public init(
            waveformArray: [AKTable],
            index: Double = 0,
            attackDuration: Double = 0.1,
            decayDuration: Double = 0.1,
            sustainLevel: Double = 1.0,
            releaseDuration: Double = 0.1,
            pitchBend: Double = 0,
            vibratoDepth: Double = 0,
            vibratoRate: Double = 0)

    Parameters

    waveformArray

    An array of 4 waveforms

    index

    Index of the wavetable to use (fractional are okay).

    attackDuration

    Attack time

    decayDuration

    Decay time

    sustainLevel

    Sustain Level

    releaseDuration

    Release time

    pitchBend

    Change of pitch in semitones

    vibratoDepth

    Vibrato size in semitones

    vibratoRate

    Frequency of vibrato in Hz

  • stops all notes

    Declaration

    Swift

    open func reset()
  • Declaration

    Swift

    open override func play(noteNumber: MIDINoteNumber, velocity: MIDIVelocity, frequency: Double)

    Parameters

    noteNumber
    velocity
    frequency
  • Function to stop or bypass the node, both are equivalent

    Declaration

    Swift

    open override func stop(noteNumber: MIDINoteNumber)