martes, 16 de febrero de 2016

Leer/Escribir archivos de audio digitalizado en Matlab/Octave

Octave, el equivalente en software para Matlab en Linux, tiene una serie de funciones y comandos que permiten la adquisición, grabación, reproducción y posterior procesamiento de señales de audio que a su vez tienen  muchas aplicaciones de entretenimiento, investigación, médicos, o cualquier otra área de la ciencia que haga uso de estas señales. En esta entrada vamos a utilizar GNU Octave v4.0 en Ubuntu Studio y comenzará con la lectura y escritura de archivos de audio.

Tenga en cuenta que el principal objetivo de este tema  no es aprender a usar un software de procesamiento de audio ya establecido, sino más bien de entender cómo funciona desde el punto de vista matemático, del diseño y la ingeniería de audio.


Paso 1: Ejecutando GNU Octave, hacemos click en el icono ubicado en el menu/educacion/octave





Paso 2: Ubicarse en 'workspace' donde estan guardados los archivos de audio, scripts, etc.

Paso 3: Leer un arcivo de audio a través del comando 'audioread' siguiendo la sintaxis:

>> [y, fs]=audioread('archivo.ogg');

Donde:

y = señal;
fs = frecuencia de muestreo; 

note que utilizamos la extension .ogg que es la mas indicada para trabajar con octave, tanto en linux como en windows


note que en el recuadro workspace nos podemos encontrar los parametros de cada una de las variables tales como el tipo de variable, la dimension, los valores, etc.


Una vez leido el archivo podemos hacer cualquier tipo de operacion matematica con la señal y. También podemos graficarla:


Para esto podemos hacer click derecho sobre la variable a graficar y hacer plot(y)








Paso 4: Escribiendo un archivo de audio: para esto se utilizara el comando audiowrite de la siguiente manera


>> audiowrite('nombredearchivo.ogg', procesamiento, fs);


Donde:


nombredearchivo.ogg = archivo sobre el cual vamos a escribir, si este no existe se creará en el directorio configurado anteriormente, es importante incluir la extensión del archivo.


procesamiento = cualqueir tipo de operación matemática o señal que se desee escribir sobre el archivo.


fs = frecuencia de muestreo (puede variarla a su gusto)




No hay comentarios:

Publicar un comentario