5

Click here to load reader

Karaoke

Embed Size (px)

Citation preview

Page 1: Karaoke

PROCESAMIENTO DIGITAL DE SEÑALES

1

TAREA: KARAOKE

Objetivo:

Utilizar las operaciones con secuencias para:

Disminuir /aumentar el volumen de una canción

Hacer el karaoke de una canción

Resumen:

Durante el desarrollo del presente trabajo, se realizaron operaciones de secuencias, utilizando

vectores. Para lo cual se utilizo como fuente, la información de un archivo en formato wav. Dicha

señal (de audio) contenida en una matriz, fue separada en vectores, para poder realizar las

operaciones como suma, resta y multiplicación.

Introducción: Una parte muy importante en el procesamiento digital de señales, es el estudio de las señales

discretas.

A grandes rasgos, definimos una señal discreta, como una función cuya variable independiente es

de tipo discreto (es decir, solo toma valores enteros). Un ejemplo como se vio en clase, pueden ser

los años de cada uno de los alumnos de un salón de clases, el número de delitos por día en una

ciudad, etc.

Como puede suponerse, existen secuencias finitas e infinitas. En el presente trabajo, se analizarán

secuencias discretas finitas. Para ello se hará uso de la herramienta matlab, en el cual las

secuencias serán representadas a través de vectores.

Ya que es posible considerar a una secuencia discreta finita como un vector, esto nos permite

realizar operaciones como suma, resta de vectores y multiplicación por un escalar.

Page 2: Karaoke

PROCESAMIENTO DIGITAL DE SEÑALES

2

Desarrollo:

Como se menciono anteriormente, se utiliza como fuente, un archivo de audio con el nombre:

quienfuera20s.wav

Con las siguientes características:

Duración aproximada: 12 seg.

Frecuencia de muestreo: 44100 Hz

No. de bits: 16

Se genero el programa con el editor de matlab

Se definieron las siguientes variables:

X Matriz con la información

Fs Frecuencia de muestreo: 44100

Nbits Número de bits

I Vector columna con información de la matriz x (:,1)

D Vector columna con información de la matriz x (:,2)

k1,i1,d1 Vector creados a partir de los vectores i,d

k2,k3 Matrices creadas a partir de operaciones con los vectores i, d

Se realizo la conversión del archivo de audio, en información correspondiente a la matriz a.

[x,fs,nbits]=WAVREAD('quienfuera20s.wav');

Se realizó la separación de los vectores columna, los cuales forman la matriz a. De esta manera se

formaron los vectores i y d.

i=x(:,1); Vector columna, del lado izquierdo d=x(:,2); Vector columna, del lado derecho

A partir de los vectores i, d; se realizaron operaciones con los mismos considerándolos como

secuencias discretas finitas.

AUMENTO / DISMINUCIÓN DEL VOLUMEN DE UNA CANCIÓN

Este ejercicio se realizo mediante dos formas:

a) Mediante la división de las secuencias en forma de matriz por un escalar. De esta manera

se puede realizar la disminución del volumen del audio:

xa=x/5;

Page 3: Karaoke

PROCESAMIENTO DIGITAL DE SEÑALES

3

b) Producto de la secuencia de solo una componente por un escalar, realizando de esta

forma el aumento del volumen del audio:

k1=i*4;

HACER EL KARAOKE DE UNA CANCIÓN Este ejercicio, no se pudo conseguir debido a que ambas componentes de la matriz, contienen información para reproducir la voz, así como los instrumentos musicales. Sin embargo, se busco realizar un ejercicio alterno.

Se observo que al realizar operaciones como suma o resta de las secuencias, no se obtenían

modificaciones perceptibles al oído. Por lo que se realizaron operaciones de las secuencias por

escalares, de cada una de las componentes de la matriz original x, es decir:

i1=i*(-7); d1=d*.5;

Posteriormente, con ambas secuencias, se generaron las siguientes matrices:

k2=[i1,d1]; k3=[d1,i1];

Pruebas:

Mediante la herramienta de matlab, se generaron las siguientes pruebas:

Gráfica de la matriz original del archivo de audio, se observan que las componentes contienen

información muy similar.

-0.0527 -0.0514 -0.0519 -0.0506 -0.0514 -0.0500 -0.0509 -0.0496 -0.0502 -0.0492 -0.0494 -0.0482 -0.0487 -0.0472 -0.0482 -0.0467 -0.0474 -0.0461 -0.0466 -0.0454

Gráfica de la matriz a Últimos valores de la matriz a

0 1 2 3 4 5 6

x 105

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

Page 4: Karaoke

PROCESAMIENTO DIGITAL DE SEÑALES

4

Comparación de la señal, una vez aumentada y disminuida la señal, mediante el producto escalar:

Gráfica: xa=x/5 Gráfica: k1=i*4

Finalmente se muestran los valores de las matricez k2 y k3, los cuales se originaron de los

vectores:

i1=i*(-7) d1=d*.5

0.3033 -0.0200 0.2982 -0.0196 0.2918 -0.0193 0.2878 -0.0188 0.2845 -0.0182 0.2807 -0.0179 0.2779 -0.0178 0.2747 -0.0177 0.2719 -0.0174 0.2670 -0.0169

-0.0200 0.3033 -0.0196 0.2982 -0.0193 0.2918 -0.0188 0.2878 -0.0182 0.2845 -0.0179 0.2807 -0.0178 0.2779 -0.0177 0.2747 -0.0174 0.2719 -0.0169 0.2670

k2=[i1,d1]; k3=[d1,i1];

Se observa que la diferencia radica en el orden de las columnas en cada una de las matrices, lo que

nos ayuda a aumentar las componentes, realizando el efecto de aumentar el volumen en la señal

del lado derecho o izquierdo.

Gráficamente:

0 1 2 3 4 5 6

x 105

-0.04

-0.03

-0.02

-0.01

0

0.01

0.02

0.03

0.04

0 1 2 3 4 5 6

x 105

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

0 1 2 3 4 5 6

x 105

-1.5

-1

-0.5

0

0.5

1

1.5

Page 5: Karaoke

PROCESAMIENTO DIGITAL DE SEÑALES

5

Conclusiones:

Mediante los ejercicios anteriores, podemos concluir.

Es posible el estudio del comportamiento de una secuencia finita discreta, a través de su interpretación como un vector.

La multiplicación de una secuencia por un escalar, generará un vector similar, modificado solo en magnitud.

Al momento de reproducir la información almacenada en una matriz (vista también como dos componentes de secuencias) influye el orden de las componentes de la matriz, aunque los datos sean similares.