Automation

How to automate parameters and smooth ramps to create transitions

This example demonstrates how to schedule automatic changes in the gain of an audio signal. A file is played while linear and exponential ramps are applied to the volume level over time. This flow is useful for creating smooth transitions or parameter automation.

// Configure the graph for rendering
let context = Assembler(rendering: .live).createAudioGraph()

// Configure an audio source (Renderer) from a local audio file
let url = URL(fileURLWithPath: "/path/to/audio.wav")
let source = FileRenderer(contentsOf: url)

// CConfigure real-time gain automation
source.$gain.linearRampValue(to: 0.1, at: 2)
source.$gain.setValue(to: 1.0, at: 3)
source.$gain.exponentialRampValue(to: 0.1, at: 5)
source.$gain.setValue(to: 1.0, at: 7)

// Configure node connections
try context.connect(source: source, to: context.destination)
source.play(after: 0)

The following video shows the sample code in action and its real-time processing.

circle-info

For a complete description of each class, method, and property referenced in this section, refer to the official API documentationarrow-up-right, where you will find detailed references, available components, parameters, and additional usage code examples.

Last updated