Compression
Dynamic-range control to keep the signal level balanced
// 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/source.mp3")
let source = MediaRenderer(contentsOf: url)
// Configure a compressor and its dynamic parameters
let destination = Compressor(channels: .stereo)
destination.ratio = 10.0
destination.threshold = -60.0
destination.attack = 0.003
destination.release = 0.250
destination.knee = 0.0
// Configure node connections
try context.connect(source: source, to: destination)
try context.connect(source: destination, to: context.destination)
source.play(after: 0)Last updated