AKFMOscillatorBank

open class AKFMOscillatorBank: AKPolyphonicNode, AKComponent

Frequency Modulation Polyphonic Oscillator

  • Ramp Time represents the speed at which parameters are allowed to change

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    open dynamic var modulationIndex: Double = 1
  • 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:
      • 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
      • detuningOffset: Frequency offset in Hz.
      • detuningMultiplier: Frequency detuning multiplier

    Declaration

    Swift

    public init(
            waveform: AKTable,
            carrierMultiplier: Double = 1.0,
            modulatingMultiplier: Double = 1,
            modulationIndex: Double = 1,
            attackDuration: Double = 0.1,
            decayDuration: Double = 0.1,
            sustainLevel: Double = 1.0,
            releaseDuration: Double = 0.1,
            detuningOffset: Double = 0,
            detuningMultiplier: Double = 1)

    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

    detuningOffset

    Frequency offset in Hz.

    detuningMultiplier

    Frequency detuning multiplier

  • Function to start, play, or activate the node, all do the same thing

    Declaration

    Swift

    open override func play(noteNumber: MIDINoteNumber, velocity: MIDIVelocity)
  • Function to stop or bypass the node, both are equivalent

    Declaration

    Swift

    open override func stop(noteNumber: MIDINoteNumber)