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

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

    Declaration

    Swift

    open dynamic var index: Double = 0.0
  • Attack time

    Declaration

    Swift

    open dynamic var attackDuration: Double = 0.1
  • Decay time

    Declaration

    Swift

    open dynamic var decayDuration: Double = 0.1
  • Sustain Level

    Declaration

    Swift

    open dynamic var sustainLevel: Double = 1.0
  • Release time

    Declaration

    Swift

    open dynamic var releaseDuration: Double = 0.1
  • Frequency offset in Hz.

    Declaration

    Swift

    open dynamic var detuningOffset: Double = 0
  • Frequency detuning multiplier

    Declaration

    Swift

    open dynamic var detuningMultiplier: Double = 1
  • Initialize the oscillator with defaults

    Declaration

    Swift

    public convenience override init()
  • Initialize this oscillator node

    • 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
      • detuningOffset: Frequency offset in Hz.
      • detuningMultiplier: Frequency detuning multiplier

    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,
            detuningOffset: Double = 0,
            detuningMultiplier: Double = 1)

    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

    detuningOffset

    Frequency offset in Hz.

    detuningMultiplier

    Frequency detuning multiplier

  • stops all notes

    Declaration

    Swift

    open func reset()
  • Declaration

    Swift

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

    Parameters

    noteNumber

    MIDI Note Number

    velocity

    MIDI Velocity

    frequency

    Play this frequency

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

    Declaration

    Swift

    open override func stop(noteNumber: MIDINoteNumber)