Limiter (Hard)

How to trim above the threshold to prevent source clipping

This example demonstrates how to apply hard limiting to an audio signal using HardLimiter, which enforces an absolute cut above the defined threshold, ensuring that no value exceeds the maximum level. This processing is ideal for preventing audio clipping.

// 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 limiter and its dynamic parameters
let destination = HardLimiter()
destination.threshold = -0.1
destination.ceiling = 0.1

// Configure node connections
try context.connect(source: source, to: destination)
try context.connect(source: destination, 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