Carrillo

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMÉRICA) FACULTAD DE INGENIERIA ELECTRÓNICA Y

Views 123 Downloads 0 File size 637KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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