Audio Binaural
Cómo configurar la espacialización binaural en tiempo real
// 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.wav")
let source = FileRenderer(contentsOf: url)
// Configurar la base de datos a partir una ubicación local
let url = URL(fileURLWithPath: "/path/to/database")
let database = BinauralDatabase(location: url, sampleRate: databaseSampleRate)
let _ = database.loadSynchronously()
// Configurar un espacializador binaural y parámetros
let destination = Binaural(database: database)
destination.position = .init(x: 0, y: 0, z: 0)
context.listener.up = Vector3<Float64>(x: 0, y: 1.0, z: 0)
context.listener.position = Vector3<Float64>(x: 0.0, y: 0.0, z: 0.0)
context.listener.forward = Vector3<Float64>(x: 0, y: 0, z: -1.0)
// Configurar la conexión de los nodos
try context.connect(source: source, to: destination)
try context.connect(source: destination, to: context.destination)
source.play(after: 0)Última actualización