You are on page 1of 3

Apndice H

Tatamiento del audio con


MALAB

Hoy da, todas las computadoras incluyen hardware para captura y repro-
duccin de audio. Ahora bien, en MATLAB se incluen funciones para aprovechar
ls cpacidades del mencionado hardware.
Las funciones que a continuacin se describen, operan sobre cualquier sistema
operativo sobre el que se monte MATLAB.

H.1. Funciones para captura de audio


H.1.1. audiorecorder
La funcin audiorecorder crea una estructura de datos que contiene, en-
tre diversas informaciones, la frecuencia de muestreo, la cantidad de bits por
muestra, el nmero de canales que se usarn para grabar o reproducir sonido.
El formato de esta funcin es:
recorderObj = audiorecorder(Fs,nBits,nChannels)

La estructura que se crea con la funcin tambin contiene una bfer para
almacenar audio capturado.

H.1.2. recordblocking
La funcin recordblocking registra audio desde un dispositivo de entrada,
como el micrfono, a una estructura creada con la funcin audiorecorder . Esta
funcin no retorna el control hasta que no se ha completado la grabacin del
audio. El formato de esta funcin es:
recordblocking(recorderObj, length)

En donde:

389
390 APNDICE H. TATAMIENTO DEL AUDIO CON MALAB

Tipo de dato Intervalo de valores


int8 -128 a 127
uint8 0 a 255
int16 -32768 a 32767
single -1 a 1 en punto otante (16 bits)
double -1 a 1 en punto otante (32 bits)

Cuadro H.1: Tipos de dato devueltos por funcin getaudiodata.

recorderObj es un objeto creado con la funcin audiorecorder .

length Es el tiempo de grabacin en segundos

H.1.3. getaudiodata
La funcin getaudiodata copia las muestras grabadas en el bfer de la
estructura audiorecorder a una matriz. De esta forma el programador puede
procesar la seal de audio. La funcin tambin puede efectuar un cambio en el
tipo de dato que devuelve. El formato de esta funcin es:
y = getaudiodata(recorderObj)
y = getaudiodata(recorderObj, dataType)

Lo tipos de dato que pueden ser devueltos pueden observars en el cuatro de


la tabla H.1.

H.2. Funciones de reproduccin de audio


H.2.1. play
La funcin play crea una estructura de datos capaz de reproducir audio
grabado. El formato de esta funcin es:
player = play(recObj)
player = play(recObj, [start stop])

La funcin play tambin reproduce el audio almacenado en el bfer de la


estructura audiorecorder.

H.2.2. audioplayer
La funcin audioplayer crea una esructra de datos capaz de reproducir
audio grabado. El formato de esta funcin es:
player=audioplayer(Y,fs)
player=audioplayer(recObj)

En donde:
H.3. EJEMPLO, GABADOR-REPRODUCTOR DE AUDIO 391

Y es una matriz con muestras de audio, ya sea un canal o ambos canales.


Los tipos de dato vlidos pueden verse en la tabla H.1.
fs es la frecuencia de muestreo
recObj es la estructura audiorecorder

H.3. Ejemplo, gabador-reproductor de audio


H.3.1. Ejemplo: grabacin y reproduccin
A continuacin se ofrece un pequeo codigo que permite la grabacin de
audio por 5 segundos con calidad de CD y luego lo reproduce:
myVoice = audiorecorder(44100,16,5);
input(Presiona -enter- para empezar grbacion);
recordblocking(myVoice, 5);
input(Grabado. Prsione -enter- para reproducir...);
play(myVoice);

H.3.2. Ejemplo: grabacin, reproduccin y exhibicin de


la forma de onda
El ejemplo siguiente permite, adems e grabar y reproducir audio, visuali-
zarla forma de onda.
% Grava voz por 5 segundos
recObj = audiorecorder;
input(Presione -enter- para empezar a grabar)
recordblocking(recObj, 5);
disp(Fin de grabacion);

% Reproduce el sonido
play(recObj);

% Almacena las muestras en un arreglo.


myRecording = getaudiodata(recObj);

% Plot the waveform.


plot(myRecording);

You might also like