AKFMOscillatorBank

open class AKFMOscillatorBank: AKPolyphonicNode, AKComponent

Frequency Modulation Polyphonic Oscillator

  • Four letter unique description of the node

    Declaration

    Swift

    public static let ComponentDescription = AudioComponentDescription(instrument: "fmob")
  • Waveform of the oscillator

    Declaration

    Swift

    open var waveform: AKTable?
  • Ramp Time represents the speed at which parameters are allowed to change

    Declaration

    Swift

    @objc open dynamic var rampTime: Double = AKSettings.rampTime
  • This multiplied by the baseFrequency gives the carrier frequency.

    Declaration

    Swift

    @objc open dynamic var carrierMultiplier: Double = 1.0
  • This multiplied by the baseFrequency gives the modulating frequency.

    Declaration

    Swift

    @objc open dynamic var modulatingMultiplier: Double = 1
  • This multiplied by the modulating frequency gives the modulation amplitude.

    Declaration

    Swift

    @objc open dynamic var modulationIndex: Double = 1
  • 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(
            waveform: AKTable,
            carrierMultiplier: Double = 1,
            modulatingMultiplier: Double = 1,
            modulationIndex: Double = 1,
            attackDuration: Double = 0.1,
            decayDuration: Double = 0.1,
            sustainLevel: Double = 1,
            releaseDuration: Double = 0.1,
            pitchBend: Double = 0,
            vibratoDepth: Double = 0,
            vibratoRate: Double = 0)

    Parameters

    waveform

    The waveform of oscillation

    carrierMultiplier

    This multiplied by the baseFrequency gives the carrier frequency.

    modulatingMultiplier

    This multiplied by the baseFrequency gives the modulating frequency.

    modulationIndex

    This multiplied by the modulating frequency gives the modulation amplitude.

    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

  • 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)