You are on page 1of 11

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 1 - Audio

Integrantes:

Huahuala Cuyubamba Rolando 16190127

Profesor:

Ing. Carrillo Gomero Flavio Nireo

Lima, septiembre del 2019


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.

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.
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. 


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.
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]=audioread('Prueba.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


. 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.

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

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

1.1 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 5 segundos el programa te avisara que finalizó una vez ‘terminado’ se
procede a escuchar los grabado.
1.2 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

You might also like