Control Dinámico

Cómo encadenar ganancia con ajustes consecutivos para control dinámico

Este ejemplo muestra cómo encadenar múltiples etapas de ganancia, aplicando ajustes al nivel de una señal de audio. Cada nodo Gain modifica la amplitud del flujo antes de enviarlo al siguiente, lo que permite construir sistemas de control dinámico o automatización de volumen.

// Configurar el grafo para renderizado
let context = Assembler(rendering: .live).createAudioGraph()

// Configurar una fuente de audio (Renderer) a partir de un archivo local
let url = URL(fileURLWithPath: "/path/to/source.mp3")
let source = MediaRenderer(contentsOf: url)

// Configurar etapas de ganacia para aplicar la fuente
let gainStage1 = Gain(defaultGain: 1.0)
let gainStage2 = Gain(defaultGain: 0.5)

// Configurar la conexión de los nodos
try context.connect(source: source, to: gainStage1)
try context.connect(source: gainStage1, to: gainStage2)
try context.connect(source: gainStage2, to: context.destination)
source.play(after: 0)

El siguiente video muestra el código de ejemplo en acción y su procesamiento en tiempo real.

Para obtener una descripción completa de cada clase, método y propiedad mencionada en esta sección, consultá la documentación oficial de la API, donde encontrarás referencias detalladas, parámetros disponibles y ejemplos adicionales de uso.

Última actualización