Sei sulla pagina 1di 10

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)


FACULTAD DE INGENIERIA ELECTRÓNICA Y ELÉCTRICA
E.P INGENIERÍA ELECTRÓNICA
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

INFORME FINAL-AUDIO

AUTOR

HERRERA MENOR EDUARDO


16190179

PROFESOR

Ing. CARRILLO GOMERO FLAVIO NIREO

CURSO

PROCESAMIENTO DIGITAL DE SEÑALES

Lima - Perú
2019-1
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

AUDIO
1. OBJETIVOS.

Familiarizarse con los comandos que nos permiten manejar audios en Octave, además
desarrollar el concepto de frecuencia de muestreo y su importancia para una correcta
transmisión de la señal.

2. EQUIPOS Y MATERIALES REQUERIDOS.

 PC INTEL CORE i5 o superior.


 Sistema Operativo Windows 8.1, 10.
 Audífonos hand-free (recomendable)

3. MARCO TEÓRICO.

 Extensión wav

Archivos .WAV contienen datos de audio digital que se puede ver en muchos
reproductores multimedia y aplicaciones de desarrollo de audio digital para Microsoft
Windows. Estos archivos WAV también se pueden abrir y visualizar utilizando varias
aplicaciones de terceros para las plataformas Linux y Mac. En comparación con el
formato MP3, entre otros tipos de compresión de datos de audio digitales, archivos
WAV son más grandes debido a su contenido de audio digital sin comprimir. Los
datos de audio contenidos en estos archivos WAV también se llaman las formas de
onda, y estas formas de onda se pueden implementar con diferentes bitrates (la cantidad
de información que reproduce tu ordenador por segundo.) y velocidades de muestreo,
siendo el valor por defecto 44.1 KHz, calidad estéreo de 16-bit. Especificaciones y
normas de tecnología RIFF (Resource Interchange File Format) se integran en el
contenido de estos archivos WAV.

AUDIO-OCTAVE Página 2
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES
 Teorema del muestreo

“El teorema del muestreo uniforme en el dominio del tiempo afirma que si una función
del tiempo, f(t), no contiene componentes de frecuencias superiores a fm ciclos por
segundo, entonces f(t) se puede determinar por completo mediante sus valores
separados por intervalos uniformes menores de 1/(2fm) segundos.” Análisis de Fourier-
HWEI P.HSU.

Es decir, si queremos transmitir una señal de frecuencia f, primeros debemos hallar su


espectro en frecuencia mediante la transformada de Fourier, luego para completar el
muestreo se debe realizar la convolución en el dominio de la frecuencia de la señal en el
caso ideal con un tren de impulso cuya frecuencia debe ser por lo menos el doble de la
frecuencia de la señal para evitar solapamiento de la señal(es el efecto que causa que
señales continuas distintas se tornen indistinguibles cuando se muestrean digitalmente.
Cuando esto sucede, la señal original no puede ser reconstruida de forma unívoca a
partir de la señal digital.).

En otras palabras, cuando la señal ya es recibida y se muestreó a frecuencias menores


que f, al momento de filtrar la señal para obtener la original, se obtiene una señal
incorrecta. Imagínese que ocurriese este problema al realizar una transferencia bancaria,
seria devastador para el banco y/0 cliente.

Señal a muestrear Transformada de Fourier de la señal.

Señal muestreada con un tren de impulsos

AUDIO-OCTAVE Página 3
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

Filtro pasa bajo que sirve para obtener la señal original.

 Comandos Audio en Octave.

Pasaré a describir todos los comandos que se ha utilizado en los siguientes programas.

 wavread

Function File: y = wavread (filename)

Lea la señal de audio y del nombre de archivo del archivo de sonido RIFF / WAVE.

 audioplayer

player = audioplayer (y, fs)

Cree un objeto de reproductor de audio que reproducirá los datos y a la frecuencia de


muestreo fs.

 load

: load file

La carga generalmente se utiliza para cargar archivos binarios de octave y matlab.

 sound

: sound (y, fs)

Reproduzca los datos de audio ‘y’ a la frecuencia de muestreo del dispositivo de audio
predeterminado.

AUDIO-OCTAVE Página 4
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

 audiorecorder

: recorder = audiorecorder (fs, nbits, channels)

Cree un objeto de grabación de audio que graba audio mono de 8 bits a una frecuencia
de muestreo de 8000 Hz

 recordblocking

recordblocking (recorder, length)

Grabar audio con bloqueo (E / S síncrona). Se debe especificar la duración de la


grabación en segundos (longitud).

 getaudiodata

: data = getaudiodata (recorder)

Devuelva los datos de audio de la grabadora como una matriz con valores entre -1.0 y
1.0 y con tantas columnas como canales haya en la grabadora.

4. PROCEDIMIENTO

Una vez ya definido todo lo anterior, seguiremos con la aplicación de los conceptos.
En la evolución de nuestros códigos, siempre buscaremos que el usuario tengo opción a
elegir.
4.1 Archivo WAV.

Para poder iniciar con nuestro primer programa necesitamos un archivo .wav, para
poder hacer las pruebas necesarias.
Para ellos debemos grabar y/o seleccionar algún archivo mp3. Para la conversión ahora
en nuestro digital, existen páginas en internet el cual nos brinda esa facilidad. En este
caso usaremos la siguiente https://audio.online-convert.com/es/convertir-a-wav , la cual
nos brinda la siguiente intuitiva interfaz.

AUDIO-OCTAVE Página 5
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

Gracias a esta herramienta para obtenemos nuestro archivo .wav.

Ahora procederemos realizar el primer programa, el cual será básico e introductorio.

4.2 PROGRAMA #1

clc
[s fs nb]=wavread('SonidoPrueba.wav');
audioplayer(s,fs)
sound(s,fs)

Este código cumple su función de escuchar lo grabado, pero posee la limitación de


escuchar solo lo grabado, no nos permite grabar y escuchar.

Existe además una variante del PROGRAMA #1, la cual es copiar los valores de ‘s’ en
un archivo txt y luego hacer la misma prueba.

Identificamos ‘s’ en el Workspace

AUDIO-OCTAVE Página 6
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

. Procedemos a copiar los valores

Pegamos los valores en un blog de notas

Ahora debemos modificar dos cosas, primero reemplazar los (;) por (,) además eliminar
los corchetes. Y luego grabarlo en el mismo directorio donde se está trabajando.

AUDIO-OCTAVE Página 7
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

Solo se necesita realizar una modificación al código y ejecutarlo

clc
s=load('pruebaaudio.txt');
fs=44100;
sound(s,fs)

4.3 PROGRAMA #2

Nuestro siguiente código supera al primero, por que ahora nos permite grabar, decidir
el tiempo de grabar, guardar y escuchar el audio.

clc;clear;
tiempo=input('Elija la duracion: ');
F=8000;%Frecuencia de 8KHz
y=audiorecorder(F,16,1);
msgbox('Iniciar','Grabadora');
recordblocking(y,tiempo);%Grabando audio
msgbox('Terminado','Grabadora');
audio=getaudiodata(y);
sound(audio,F);
save 'audio.txt'.mat

Al ejecutarlo debemos indicar el tiempo y ‘aceptar’ para empezar a grabar

Luego de los 3 segundos el programa te avisara que finalizó una vez ‘terminado’ se
procede a escuchar los grabado.

AUDIO-OCTAVE Página 8
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

4.4 PROGRAMA #3

clc;clear;
tiempo=input('Elija la duracion: ');
F=8e3;%Frecuencia de 8KHz
disp('MENU DE OPCIONES');
disp('1. GRABADO Y REPRODUCCION DE AUDIO');
disp('2. GRAFICA DEL AUDIO');
disp('3. ESPECTRO E HISTOGRAMA DEL AUDIO');
fin=0;
while(fin==0)
opcion=input('Ingrese opcion: ');
switch(opcion)
case 1 %Reproduce el sonido
y=audiorecorder(F,16,1);
msgbox('Iniciar','Grabadora');
recordblocking(y,tiempo);%Grabando audio
msgbox('Terminado','Grabadora');
audio=getaudiodata(y);
sound(audio,F);
fin=0;
case 2 %Grafica el sonido
plot(audio); grid on;
title("Mi audio");
fin=0;
case 3 %Muestra el espectro e histograma
L=length(audio);%numero de muestras del audio
N=2^nextpow2(L);%para la fft
Y=fft(audio,N)/L;
f=F/2*linspace(0,1,N/2+1);
c=2*abs(Y(1:N/2+1));%abcisas
subplot(211);plot(f,c);
title('Espectro de Mi audio en funcion de la frecuencia');
xlabel('Frecuencia(Hz)');ylabel('Amplitud');
subplot(212);hist(audio); grid on;
title("Histrograma de Mi audio");
fin=0;

fin=0;
case fin
fin=1;
otherwise
fin=0;
end;
end;

Este programa nos brinda lo mismo que el anterior, pero en eso podemos analizar en
gráficas.

Cabe resaltar que en todos los programas se puede modificar la frecuencia de muestreo.
Y asi comprobando lo mencionado en el marco teórico. Ya que se podrá escuchar como
con la variación de esta frecuencia la voz(en mi caso grabe mi propio voz) se vuelve
más aguda cuando se muestrea a frecuencias muy altas y se vuelve grave en lo
contrario.

AUDIO-OCTAVE Página 9
LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES
5. CONCLUSIONES Y RECOMENDACIONES

 El teorema del muestreo es el principio fundamental de la comunicación.

 Se recomienda usar audífonos hand-free para las grabaciones, ya que brinda un


mayor control de lo que se quiere grabar.

 Octave es una herramienta importante para el desarrollo de este tipo de


programas, gracias a sus comandos predeterminados para este rubro.

 Todos los códigos son ejecutables también en MATLAB, mediante ciertos


cambios de comandos por compatibilidad.

 Se recomienda realizar las pruebas y creación del código en una computadora


y/o laptop que cuente con internet, ya que será de gran ayuda para colocar la
correcta estructura de los comandos que queremos utilizar. Además podras
convertir diferentes archivos mp3 a wav sin problemas para diferentes pruebas.

AUDIO-OCTAVE Página 10

Potrebbero piacerti anche