Carrillo
Carrillo
Carrillo
Integrantes:
Profesor:
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.
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
Lea la señal de audio y del nombre de archivo del archivo de sonido RIFF / WAVE.
audioplayer
load
: load file
sound
Cree un objeto de grabación de audio que graba audio mono de 8 bits a una frecuencia
de muestreo de 8000 Hz
recordblocking
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.
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.
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.
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
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