Percepción, características, estándares, formatos de ficheros.
Hablar de audio manejado por un computador significa hablar de una digitalización de un medio continuo. En estos términos, a la hora de codificarlo en un formato de fichero u otro, se van a tener que escoger (explicítamente o no) entre los parámetros que hacen posible esta codificación digital, la cual viene dada por:
Parámetros de la digitalización (utilizados por el proceso de la captura y/o el de reconstrucción):
Frecuencia de muestreo.
Cuantización.
Parámetros de la codificación:
Número de canales.
Compresión (CODEC).
Estos elementos deben ser esogidos en un equilibrio entre calidad de la representación y espacio ocupado por la misma. En la mayoría de las aplicaciones multimedia se utiliza el auido como elemento de apoyo y poco más se hace con él que reproducirlo con sus valores originales sin alterar.
Para poner en práctica el tema que nos ocupa vamos a realizar un ejemplo que permita a MetaCard/Revolution capturar (y reproducir) audio en la plataforma Linux, que en la versión actual se realiza a partir de QuickTime que no es una aplicación fácilmente disponible en esta plataforma (en el momento de escribir esto).
Puestos a diseñar esta aplicación se ha pensado en realizar una copia de la aplicación XWaveTools (xwavr) realizada sobre Tcl/Tk que imite su apariencia y comportamiento y que se muestra en la figura siguiente:
En el código de la única tarjeta se ha incluido la inicialización correspondiente, como en el código de Tcl. Los botones tienen la misma funcionalidad, excepto el de salir de la aplicación de MetaCard que ha sido sustituido por el más sencillo de recordar (a mi entender). En, aproximadamente veinte minutos se ha construído la pila, se ha probado y se ha documentado con este texto e ilustraciones. El tamaño de los fuentes es comparable: 3331 bytes para XWaveTools) y 3378 bytes de nuestro mcAudio.
Obsérvese que se ha empleado una variable propia (Custom Propertie en cada grupo, llamada contingut
, para almancenar el valor escogido en cada parámetro. Para facilitar este tratamiento, los nombres de los botones son el valor del parámetro, mientras que la etiqueta contiene valores que hacen más legible e intuitivo el uso del interfaz desarrollado. De este modo, el código de los mismos es mínimo e idéntico, lo que lo ha hecho aprovechable para construir los tres a partir del primero.
Figura 8-3. Código de la aplicación desarrollada mcAudio.
## La tarjeta on openCard put "prova.wav" into fld "fitxer" put "10" into fld "temps" send mouseUp to button "8" of group "Frecuencia de mostreig" send mouseUp to button "1" of group "Canals" send mouseUp to button "44100" of group "Tamany de la mostra" end openCard ##group "Canals" on mouseUp set the contingut of me to the short name of target end mouseUp ##group "Tamany de la mostra" on mouseUp set the contingut of me to the short name of target end mouseUp ##group "Frecuencia de mostreig" on mouseUp set the contingut of me to the short name of target end mouseUp ##button "Grabar mostra on mouseUp set cursor to busy # Per comprovar el que fa: vejes-ho primer, que aço es educatiu! put ("wavr" && "-f" && fld "fitxer" &&\ "-r" && the contingut of group "Frecuencia de mostreig" &&\ "-c" && the contingut of group "Canals" &&\ "-d" && the contingut of group "Tamany de la mostra" &&\ "-l" && fld "temps") put shell ("wavr" && "-f" && fld "fitxer" &&\ "-r" && the contingut of group "Frecuencia de mostreig" &&\ "-c" && the contingut of group "Canals" &&\ "-d" && the contingut of group "Tamany de la mostra" &&\ "-l" && fld "temps") into varAux end mouseUp ## button "Reproduir mostra" on mouseUp set cursor to busy put shell ("wavp" && fld "fitxer") into varAux end mouseUp ##button "Parar" on mouseUp put shell( "killall -9 wavr") into varAux put shell( "killall -9 wavp") into varAux end mouseUp ##button "Llançar el mesclaor" on mouseUp put shell( "xmix" ) into varAux end mouseUp #button "Eixir" on mouseUp close this stack end mouseUp
Dejo para el lector experimentar con estas aplicaciones y con su, espero que lo tenga funcionando, equipo básico de audio: un micrófonos y unos auriculares, aunque estos últimos se pueden sustituir, si sus vecinos se lo consienten, por unos altavoces.