AKVocalTract

open class AKVocalTract : AKNode, AKToggleable, AKComponent

Based on the Pink Trombone algorithm by Neil Thapen, this implements a physical model of the vocal tract glottal pulse wave. The tract model is based on the classic Kelly-Lochbaum segmented cylindrical 1d waveguide model, and the glottal pulse wave is a LF glottal pulse model.

  • Lower and upper bounds for Frequency

    Declaration

    Swift

    public static let frequencyRange: ClosedRange<Double>
  • Lower and upper bounds for Tongue Position

    Declaration

    Swift

    public static let tonguePositionRange: ClosedRange<Double>
  • Lower and upper bounds for Tongue Diameter

    Declaration

    Swift

    public static let tongueDiameterRange: ClosedRange<Double>
  • Lower and upper bounds for Tenseness

    Declaration

    Swift

    public static let tensenessRange: ClosedRange<Double>
  • Lower and upper bounds for Nasality

    Declaration

    Swift

    public static let nasalityRange: ClosedRange<Double>
  • Initial value for Frequency

    Declaration

    Swift

    public static let defaultFrequency: Double
  • Initial value for Tongue Position

    Declaration

    Swift

    public static let defaultTonguePosition: Double
  • Initial value for Tongue Diameter

    Declaration

    Swift

    public static let defaultTongueDiameter: Double
  • Initial value for Tenseness

    Declaration

    Swift

    public static let defaultTenseness: Double
  • Initial value for Nasality

    Declaration

    Swift

    public static let defaultNasality: Double
  • Ramp Duration represents the speed at which parameters are allowed to change

    Declaration

    Swift

    @objc
    open dynamic var rampDuration: Double { get set }
  • Glottal frequency.

    Declaration

    Swift

    @objc
    open dynamic var frequency: Double { get set }
  • Tongue position (0-1)

    Declaration

    Swift

    @objc
    open dynamic var tonguePosition: Double { get set }
  • Tongue diameter (0-1)

    Declaration

    Swift

    @objc
    open dynamic var tongueDiameter: Double { get set }
  • Vocal tenseness. 0 = all breath. 1=fully saturated.

    Declaration

    Swift

    @objc
    open dynamic var tenseness: Double { get set }
  • Sets the velum size. Larger values of this creates more nasally sounds.

    Declaration

    Swift

    @objc
    open dynamic var nasality: Double { get set }
  • Tells whether the node is processing (ie. started, playing, or active)

    Declaration

    Swift

    @objc
    open dynamic var isStarted: Bool { get }