SOFTWARE DE EMISIÓN Y GRABACIÓN DE SONIDOS DEL

Anuncio
IAC INSTRUMENTACIÓN
DE/TN-EAV/044v.1
DETNEAV_44v1.DOC
31 de octubre de 2002
PROYECTO / DESTINO:
ESPACIO ACUSTICO VIRTUAL
TÍTULO:
SOFTWARE DE EMISIÓN Y GRABACIÓN DE SONIDOS DEL
SISTEMA DE MEDIDAS DE HRTFS CON LABVIEW
INSTITUTO DE ASTROFISICA DE CANARIAS
38200 La Laguna (Tenerife) - ESPAÑA - Teléfono (922)605200 - Fax (922)605210
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 2 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
CUADRO DE AUTORES
Nombre
Función
Mathieu Nedelec
Becario
CUADRO DE CONTROL
Control
Nombre
Función
Revisado por:
Haresh Chulani
Ingeniero electrónico
Aprobado por:
Autorizado por:
HISTORIA DEL DOCUMENTO
Versión
Fecha
Resumen Modificación
1
31-oct-02
Primera Versión
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 3 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
RESUMEN
Este informe explica el desarrollo del programa de emisión y grabación de sonidos para el
proyecto “espacio acústico virtual”. Este programa sirve en el dispositivo de medidas de la
HRTF (head related function transfer) que está en el ITC (Santa Cruz). Vamos a ver el
dispositivo, las posibilidades de la placa de sonido, el programa y las diferentes opciones que
tenemos a nuestra disposición. El objetivo es medir la HRTF, entonces vamos a ver la
manera de conseguirla.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 4 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
TABLA DE CONTENIDO
CUADRO DE AUTORES ......................................................................................................2
CUADRO DE CONTROL......................................................................................................2
HISTORIA DEL DOCUMENTO ..........................................................................................2
RESUMEN ...............................................................................................................................3
TABLA DE CONTENIDO .....................................................................................................4
LISTA DE ABREVIATURAS ...............................................................................................5
1.
INTRODUCCIÓN ......................................................................................................6
2.
DIPOSITIVO DE PRUEBAS UTILIZADO ............................................................7
3.
PLACA DE SONIDO .................................................................................................8
4.
PROGRAMA PARA EL MODO PUNCH-IN .........................................................9
4.1
FRONT PANEL ......................................................................................................9
4.2
DIAGRAMA .........................................................................................................10
4.2.1 Configuración del sistema de reproducción y de grabación de sonidos. ...........10
4.2.2 Tratamiento de las datos grabada (retraso, longitud) .......................................11
4.2.3 Registro de los archivos......................................................................................11
4.3
RESULTADOS .....................................................................................................12
5.
PROGRAMA EN MODO LOCK TO PLAYBACK .............................................13
5.1
FRONT PANEL ....................................................................................................13
5.2
DIAGRAMA .........................................................................................................14
5.2.1 Configuración del sistema de reproducción y de grabación de sonidos. ...........14
5.2.2 Tratamiento de las datos grabada (retraso, longitud) .......................................15
5.2.3 Registro de los archivos......................................................................................16
5.3
RESULTADOS .....................................................................................................17
6.
COMPARACION DE LOS DOS MODOS ............................................................18
7.
MEDIDA DE LA HRTF ..........................................................................................19
ANEXOS ................................................................................................................................20
A.
CONTENIDO DEL DISQUETE ............................................................................20
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 5 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
LISTA DE ABREVIATURAS
EAV
Espacio Acústico Virtual
HRTF
Head Related Function Transfer
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 6 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
1. INTRODUCCIÓN
Maria de los Angeles Malfaz Vazquez ha desarrollado el software de control de
sistema de medidas de HRTFS para el proyecto EAVII. Se desarrolló bajo el entorno
Labview 6.0, paquete profesional (Professional Development System).
No tuvo tiempo de realizar el control de la placa PCI de audio (CardDeluxe de
Digital Audio Labs). Se puede obtener mas información en www.digitalaudio.com.
Ese documento presenta mi trabajo sobre ese parte del software.
Se debe hacer un Instrumento virtual (función de Labview) que se podrá integrar en
el programa de María. El objetivo es emitir un sonido y al mismo tiempo grabar con
micrófonos miniatura (situados en las orejas). No se debe tener retraso entre la
emisión y la grabación, sino el debido a la distancia entre el altavoz y los micrófonos.
Vamos a ver que la placa de sonido tiene dos modos de grabación (“Punch-In” y
“Lock to Playback”). Se ha desarrollado un instrumento virtual para los dos modos.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 7 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
2. DIPOSITIVO DE PRUEBAS UTILIZADO
RCA
Altavoz
Amplificador
YAMAHA AX-630
Outputs
Distancia (metros)
Jack
1/4
DAL
micrófonos
CardDeluxe
Jack
1/4
Bateria 48 V.
Inputs
BNC
PreAmplificador
BNC
XLR
XLR
XLR
PREFER PPS 6
Stanford SR560
oscilloscopo
Gain = 1 * 10^2
Gain Mode
Noise
=
Low
Salida =400-500 mV
El set-up de laboratorio solo permite trabajar con 1 micrófono cada vez, y por tanto 1 canal de
la CardDeluxe. Para el modo de operación de 2 canales, se ha probado el programa, pero 1 de
los canales solo adquiere ruido electrónico.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 8 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
3. PLACA DE SONIDO
Para entrar en la configuración de la placa de sonido CardDeluxe, se debe ir en el
panel de control, después en el icono Multimedia, en los dispositivos, dispositivos de
audio y en cardDeluxe(configuración).
Para que el sonido que entra en los micrófonos
no sale sobre el altavoz, se debe bajar el nivel
de “Analog Input” en el “Analog Output
Mixer” hasta
“-INF dB”.
En el primer programa, utilizamos el modo
Punch-in, es el modo predefinido.
Para sincronizar la grabación y la emisión,
Se debe elegir el Record mode :
“Lock to playback”, es lo que vamos a
utilizar en el segundo programa.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 9 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
4. PROGRAMA PARA EL MODO PUNCH-IN
4.1
FRONT PANEL
El “Instrumento Virtual” que he desarrollado se llama “play&record.VI”.
Archivos
distancia
Modo de grabación
retraso
Validación de la
grabación
Las entradas:
-
El fichero que va a salir en el altavoz (1 file path).
-
Los ficheros donde van a ser grabados las medidas (2 file paths).
-
La distancia (en metros) entre el altavoz y los micrófonos (1 integer).
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
-
Página: 10 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
El modo de grabación (1 o 2 micrófonos & derecha o izquierda) (2 boolean).
El dispositivo del laboratorio no permitía grabar con los dos micrófonos, entonces hemos
creado un modo 1 micrófono. Cuando ese modo esta activo, se debe elegir el derecho o el
izquierdo.
Las salidas:
-
El retraso corregido (en mseg.) (1 integer).
Es el retraso entre la ejecución de los órdenes de grabación y emisión. Este retraso se
elimina de la grabación, de manera que el único retraso que permanece es el debido a
la distancia física entre el altavoz y micrófonos.
-
Validación de la grabación, que indica si ésta ha sido correcta (1 boolean).
Indica que los ficheros han sido grabados.
4.2
DIAGRAMA
El diagrama se divide en 3 secuencias:
4.2.1
Configuración del sistema de reproducción y de grabación de sonidos.
Las funciones de sonidos bajo Labview funcionan en línea.
Sound INPUT:
Primero se debe configurar el modo de grabación (Estéreo, Rate = 44100, 16 bits) y
el tamaño del buffer (Si Config). Cogemos para nuestra aplicación un buffer de
10000 bytes, que son 2500 muestras de 16 bits por canal. Iterando 7 veces dentro de
un bucle, y rellenando el buffer en cada iteración, obtenemos ,397 seg. de grabación.
Despues, empezamos la grabación (Si Start), y las datos se guardan en una variable
matricia (Si Read). El bucle contiene “shift registers” (
) , permite reentrar la
salida en la entrada (a cada nueva bucle). Así, cada vez que el buffer se llena,
hacemos una nueva bucle, y el contenido del nuevo buffer se agrega al anterior.
Sound OUTPUT:
Recuperamos la forma de onda del archivo “Mls16kpk.wav” (Wav File), y podemos
configurar el modo de reproducción (So Config) (Mono, Rate = 44100, 16 bits). La
configuración se pasa en una secuencia para que “Si Start” y “So Start” empiecen en
el mismo momento. “So wait” permite esperar que todo el archivo sea leido.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 11 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
“Si Clear” y “So Clear” permiten borrar todos las datos que no sirven.
Diagrama 0 [0...2]
4.2.2
Tratamiento de las datos grabados (retraso, longitud)
Primero, se debe separar los dos canales del sonido estéreo. Después, con la función de
correlación cruzada, tenemos el retraso de cada canal. Si es en modo 2 micrófonos, cogemos
el retraso más pequeño. Se añade el retraso debido a la distancia entre el altavoz y los
micrófonos. Se cortan los archivos a la misma longitud que el sonido de salida (0.341 seg.).
Entrada modo 1 / 2 micrófonos:
TRUE : 2 micrófonos. (el otro modo no importa)
FALSE : 1 micrófono.
Entrada modo izquierda / derecha:
TRUE : izquierda.
(solo en modo 1 micrófono)
FALSE : derecha.
Diagrama 1 [0...2]
4.2.3
Registro de los archivos
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 12 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
Se pueden guardar los sonidos en los archivos que se han entrado.
La salida “OK ?” indica que la grabación no ha tenido problema.
OK?: TRUE : todo ha ido bien.
FALSE : hay un problema
Diagrama 2 [0...2]
4.3
RESULTADOS
Ese programa funciona pero tiene unos problemas. El retraso debido al software no es
siempre el mismo, entonces debemos entrar la distancia entre el altavoz y los micrófonos y
después cortar la forma de onda correctamente. El tratamiento de la grabación (correlación
cruzada, etc.. ) tiene también un tiempo de ejecución bastante importante. Hay un otro modo
en la placa de sonido (“Lock to playback”), quien permite sincronizar la grabación y la
reproducción del sonido. Vamos a ver ahora ese nuevo programa.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 13 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
5. PROGRAMA EN MODO LOCK TO PLAYBACK
5.1
FRONT PANEL
El “Instrumento Virtual” que he desarrollado se llama “play&record.VI”.
Archivos
Validación de la
grabación
Las entradas:
-
El fichero que va a salir en el altavoz (1 file path).
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
-
Página: 14 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
Los ficheros donde van a ser grabados las medidas (2 file paths).
Las salidas:
-
Validación de la grabación, que indica si ésta ha sido correcta (1 boolean).
Indica que los ficheros están grabados.
5.2
DIAGRAMA
El diagrama se divide en 3 secuencias:
5.2.1
Configuración del sistema de reproducción y de grabación de sonidos.
Primero se debe configurar el modo de grabación (Estéreo, Rate = 44100, 16 bits) y
el tamaño del buffer (Si Config). Cogemos para nuestra aplicación un buffer de
65830 (0.373 seg. de grabacíon).
Recuperamos la forma de onda del archivo “Mls16kpk.wav” (Wav File), y podemos
configurar el modo de reproducción (So Config) (Mono, Rate = 44100, 16 bits).
La placa de sonido tiene un modo “Lock to playback” que permite sincronizar la emisión y la
grabación. Se pide primero de reproducir el sonido y cuando se ordena la grabación, la
reproducción empieza con un retraso constante de 73 muestras (1,6 ms). Entonces, en ese
modo, el sonido no se reproduce si no pedimos despues de grabar.
“So wait” permite esperar que todo el archivo sea leído.
“Si Read” envía los datos grabados en una matriz.
“Si Clear” y “So Clear” permiten borrar todos las datos que no sirven.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 15 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
Diagrama 0 [0...2]
Si añadimos una función de espera en ese secuencia (entre el orden de reproducir y el orden
de grabar), el retraso no cambia (siempre 73 muestras).
5.2.2
Tratamiento de las datos grabados (retraso, longitud)
Primero, se debe separar los dos canales del sonido estéreo.
Tenemos un retraso constante de 73 muestras.
Se puede cortar los archivos a la misma longitud que el sonido de salida (0.341 seg.) y
corregir el retraso.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 16 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
Diagrama 1 [0...2]
5.2.3
Registro de los archivos
Se pueden guardar los sonidos en los archivos que se han entrado.
La salida “OK ?” indica que la grabación no ha tenido problema.
OK?: TRUE : todo ha ido bien.
FALSE : hay un problema
Diagrama 2 [0...2]
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
5.3
Página: 17 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
RESULTADOS
Con ese programa, hemos resuelto el problema del retraso(con el modo “lock to playback”).
También, no se necesita entrar la distancia entre el altavoz y los micrófonos, lo que sería una
obligación de más en el programa, de recibir las coordenadas y de calcular la distancia.
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 18 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
6. COMPARACION DE LOS DOS MODOS
He probado los dos modos en la sala de medida del Instituto tecnológico de Canarias. Los
dos programas dan prácticamente la misma forma de onda. Solo podemos ver una pequeña
diferencia de amplitud debida al ruido.
Sobre el tiempo de ejecución, el programa para el modo “lock to playback” esta mas rápido.
En efecto, el programa para el modo “punch in” hace correlaciones cruzadas y otras
operaciones. El segundo problema es la necesidad de entrar la distancia entre el altavoz y los
micrófonos mientras que en el modo “lock to playback”, tenemos un retraso constante que
podemos corregir fácilmente.
Por eso, el programa “lock to playback” esta el mas adaptado a nuestra aplicación. Solo falta
integrar lo en el programa de María.
Podemos ver que los dos programas en misma condición dan al misma función de
transferencia. Se puede ver como tener la en la pagina siguiente.
PUNCH-IN :
LOCK TO PLAYBACK :
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 19 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
7. MEDIDA DE LA HRTF
Con el archivo grabado, se puede calcular la función de transferencia del sistema.
Utilizamos para nuestras medidas el fichero mls16kpk.wav, ese fichero corresponde
al fichero mlbs.wav filtrado.
mlbs
R(t)
Mls16kpk
h(t)
Y(t)
Grabación
R(t)  h(t) = mlbs  y(t)
La procedimiento para obtener la funcion de transferencia bajo MatLab es el
siguiente :
El fichero grabado se llama medida.wav por ejemplo
>> [mls,n] = readsim(‘C:huron\measure\mls0116k.sim)
recuperamos la forma de
onda de mls0116k.sim
>> wav2raw(medida.wav)
transformamos
.raw medida.wav
>> medida = readraw2(‘medida.raw’,1,16,1)
recuperamos la forma de
onda de medida.raw
>> [h,H] = corrcirc (mls,medida,lenght(mls),1)
hacemos la correlacíon
cruzada circular entre la
mls y la medida.
en
2^14-1
>> plotmag(h,44100)
podemos representar
>>shg
la función de transferenci
SOFTWARE DE EMISIÓN Y GRABACIÓN DE
SONIDOS DEL SISTEMA DE MEDIDAS DE
HRTFS CON LABVIEW
Código: DE/TN-EAV/044v.1
Página: 20 de 20
Fecha: 31 de octubre de 2002
Fichero: DETNEAV_44v1.DOC
ANEXOS
A. CONTENIDO DEL DISQUETE
DETNEAV_044V1.doc
El informe
PLAY&RECORD1.vi
Programa en modo “punch-in”
PLAY&RECORD2.vi
Programa en modo “lock to playback”
Mls16kpk.wav
Fichero utilizado para hacer las medidas
Descargar