Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NÚMERO RA
PROGRAMA Ingeniería de Sonido
1
Speech Signal Processing. Tokyo:
Academic.
2
DISEÑO E IMPLEMENTACIÓN DE UN VOCODER HARDWARE DIGITAL
FACULTAD DE INGENIERÍA
INGENIERÍA DE SONIDO
BOGOTÁ 2008
3
DISEÑO E IMPLEMENTACIÓN DE UN VOCODER HARDWARE DIGITAL
ASESORES:
MIGUEL PÉREZ
Ingeniero Electrónico
RAUL RINCÓN
Ingeniero de Sonido
FACULTAD DE INGENIERÍA
INGENIERÍA DE SONIDO
BOGOTÁ 2008
4
TABLA DE CONTENIDO
Pag.
1. PLANTEAMIENTO DEL PROBLEMA 11
1.1 Antecedentes 11
1.2 Descripción y formulación el problema 12
1.3 Justificación 13
1.4 Objetivos de la investigación 14
1.4.1 Objetivo general 14
1.4.2 Objetivos específicos 14
1.5 Alcances y limitaciones del proyecto 15
1.5.1 Alcances 15
1.5.2 Limitaciones 15
2. MARCO DE REFERENCIA 16
2.1 Marco conceptual 16
2.1.1 Representación de sistemas computacionales para 16
audio
2.1.2 Lenguajes primitivos para el procesamiento de sonido 16
2.1.3 Introducción a Simulink 17
2.1.4 Simulación 18
2.1.5 Modelado 19
2.1.6 Números complejos 20
2.1.7 Funciones y variables 22
2.1.8 Funciones polinomiales 23
2.1.9 Funciones trigonométricas 24
2.1.10 Transformadas 26
2.1.11 Filtros 28
2.1.12 Interfaz grafica de usuario en Matlab 32
2.1.13 Procesamiento digital de señal (DSP) 38
2.1.14 Vocoder 42
2.1.15 Teoría del vocoder 42
2.1.16 Vocoders basados en predicción lineal 44
2.1.17 Aplicaciones musicales 44
2.2 Marco legal o normativo 46
2.2.1 Legislación internacional: organización mundial de la 46
propiedad intelectual (OMPI)
2.2.2 Legislación Nacional: Dirección nacional de derechos de 46
autor
2.2.3 Licencias de software 47
3. METODOLOGÍA 49
3.1 Enfoque de la investigación 49
3.2 Línea de investigación USB / sub-línea de facultad / 49
campo temático del programa
3.3 Técnicas de recolección de información 50
5
3.4 Hipótesis 50
3.5 Variables 51
3.5.1 Variables independientes 51
3.5.2 Variables dependientes 51
4. DESARROLLO INGENIERIL 52
4.1 Vocoder de canal 52
4.1.1 Filtros 54
4.1.2 Extracción y modificación de parámetros 61
4.1.3 Calculo de la magnitud, frecuencia y fase de la señal 63
4.1.4 Reconstrucción de la señal 64
4.2 Implementación del algoritmo al hardware digital 67
4.3 Implementación de la interfaz gráfica 72
5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS 77
5.1 Vocoder de canal 77
5.1.1 Vocoder hardware digital 79
5.1.2 Vocoder software 86
6. CONCLUSIONES 89
7. RECOMENDACIONES 91
BIBLIOGRAFÍA 92
6
LISTA DE FIGURAS
Pag.
Figura 1 Representación de funciones computacionales para audio 16
Figura 2 UG Score 17
Figura 3 Entorno grafico Simulink 18
Figura 4 Bloques de la librería Simulink 20
Figura 5 Módulos de conexión 20
Figura 6 Interpretación geométrica de un número complejo 22
Figura 7 Descripción grafica de funciones trigonométricas 24
Figura 8 Tipos de filtros 29
Figura 9 Estructura filtro FIR 30
Figura 10 Estructura filtro IIR 31
Figura 11 Guide- Matlab 33
Figura 12 Ventana de inicio Guide 33
Figura 13 Entorno de diseño 34
Figura 14 Herramientas de diseño Guide 35
Figura 15 Propiedades de los componentes Guide 37
Figura 16 Herramientas para personalizar componentes 37
Figura 17 Estructura de la tarjeta DSP 40
Figura 18 Periféricos de entrada y salida DSP 41
Figura 19 Transformada rápida de Fourier en tiempo corto 53
Figura 20 Estructura del canal de análisis 54
Figura 21 Banco de filtros Vs FFT 54
Figura 22 Modulo de análisis para cada canal 55
Figura 23 Respuesta en frecuencia 55
Figura 24 Respuesta en frecuencia 56
Figura 25 Respuesta de fase 57
Figura 26 Respuesta al impulso 57
Figura 27 Grafica de polos y ceros 58
Figura 28 Respuesta en frecuencia 58
Figura 29 Componente espectral antes y después del filtro pasa-bajas 59
(canal uno)
Figura 30 Componente espectral antes del filtrado (cuatro canales) 60
Figura 31 Componente espectral después del filtrado (cuatro canales) 60
Figura 32 Función de ventaneo Hamming 61
Figura 33 Parámetros de análisis de la función de ventaneo 61
Figura 34 Algoritmo de manipulación y modificación de las señales 63
7
Figura 35 Algoritmo de manipulación y modificación de las señales 64
Figura 36 Diagrama de bloques del proceso de reconstrucción de 65
señal
Figura 37 Algoritmo completo de un canal del Vocoder 65
Figura 38 Diagrama de bloques estructura Vocoder 65
Figura 39 Algoritmo completo de una canal del Vocoder 66
Figura 40 Diagrama de bloques 67
Figura 41 Algoritmo Completo desarrollado en Simulink 67
Figura 42 Test 68
Figura 43 Módulos de soporte tarjeta DSP 69
Figura 44 Programa gestor de descarga del algoritmo 69
Figura 45 Algoritmo para la división de la señal stereo 70
Figura 46 Configuración EMIF clock 71
Figura 47 Carga del algoritmo en DSP 71
Figura 48 Interfaz gráfica 72
Figura 49 Uso de CPU y Memoria 78
Figura 50 Señal pura y la resintetizada con el Vocoder 500 Hz 80
Figura 51 Señal pura y la resintetizada con el Vocoder 1000 Hz 81
Figura 52 Señal pura y la resintetizada con el Vocoder 2000 Hz 82
Figura 53 Señal envolvente de 2000 Hz 83
Figura 54 Señal resintetizada envolvente 2000 Hz con una de 220 Hz 83
Figura 55 Espectro de frecuencia de la señal resintetizada 2000 Hz 84
Figura 56 Señal de voz original y su resintesis con un tono puro de 84
220 Hz
Figura 57 Espectro en frecuencia de la señal de voz 85
Figura 58 Espectro en frecuencia de las señales reconstruidas 85
Figura 59 Señal pura de 1000 Hz y su resintesis con un tono puro de 86
220 Hz
Figura 60 Resintesis de la señal de 1000 Hz con la de 220 Hz 87
Figura 61 Resintesis de la señal instrumental con la de 500 Hz 87
Figura 62 Espectro en frecuencia del instrumento (Guitarra) 88
Figura 63 Espectro en frecuencia de la señal reconstruida 88
8
LISTA DE TABLAS
LISTA DE CUADROS
LISTA DE FOTOGRAFÍAS
LISTA DE ANEXOS
9
INTRODUCCIÓN
10
1. PLANTEAMIENTO DEL PROBLEMA
1.1 ANTECEDENTES
1
http://es.wikipedia.org/wiki/Moog_modular
2
http://www.native-instruments.com/. Visitada el 29 de octubre 2007.
11
formatos VST, RTAS y otros mas, como el “LADSPA”3 para Linux, el “Orange
Vocoder”4 para Windows y Mac y algunos creados por la compañía
“Steinberg©”5; creadora de los Plug-Ins de extensión VST.
3
http://www.sirlab.de/linux/vocoder.html#vocoder_ladspa. Visitada el 29 de octubre 2007.
4
http://www.prosoniq.com/main/orangevocoder/. Visitada el 29 de octubre 2007.
5
http://www.steinberg.net/. Visitada el 30 de octubre 2007.
12
1.3 JUSTIFICACIÓN
13
1.4 OBJETIVOS DE LA INVESTIGACIÓN
14
1.5 ALCANCES Y LIMITACIONES DEL PROYECTO
1.5.1 ALCANCES
1.5.2 LIMITACIONES
15
2 MARCO DE REFERENCIA
Fig. 2 UG Score.
17
Es también un sistema abierto, que permite al usuario escoger, adaptar y crear
componentes o subsistemas. Simulink se apoya en el ambiente Técnico
Computacional de Matlab. Este programa y su grupo de Toolboxes ofrecen un
conjunto amplio de herramientas de ingeniería y matemática para definir
algoritmos, analizando datos y visualizando resultados. Juntos, Simulink y
Matlab, proveen un entorno integrado para construir modelos versátiles y
dinámicos para el diseño, simulación y testeo de nuevos modelos o sistemas.
6
The Math Works inc. Simulink - Dynamic Simulation for Matlab‘USING SIMULINK’.
18
2.1.5 Modelado.
• Sources ( fuentes ),
• Sinks ( visualizadores / salidas ),
• Discrete ( discreto ),
• Linear ( lineal ),
• Nonlinear ( no lineales ),
• Blocksets & Toolboxes ( herramientas extras ).
19
fig.4 Bloques de la librería Simulink.
En cada una de las librerías, hay procesos asociados a ellas como por ejemplo
en la librería Signal Processing Sinks. Se encuentran los módulos que permiten
visualizar el flujo de señal e intercomunicar el sistema diseñado con el entorno
exterior. La figura No. 5 muestra el entorno de conexión de Simulink.
P2 = x2 + y2 = (x +iy ) ( x – iy ) = CĈ
7
Britton, jack R, matemáticas universitarias, México; CECSA, 1984
21
Donde C con raya arriba, es el complejo conjugado de C. el argumento de un
numero complejo es el Angulo formado por el semieje horizontal positivo, con la
línea proyectada desde el punto geométrico al origen del plano complejo, el
argumento puede ser negativo o positivo según su sentido en el plano
complejo.
8
Puercell, Edwin J, Varberg Dale, calculo con geometría analítica, México Prentice Hall, 1987
22
Las funciones pueden ser representadas gráficamente, en el plano cartesiano,
el eje de las abscisas corresponde a la variable independerte y las ordenadas a
las dependientes. Si tenemos más de una variable independiente solo una es
representada como abscisa y las otras toman valores constantes.9
Donde los números ai, son llamados coeficientes, la potencia mayor se conoce
como el orden del polinomio. Cuando se grafica una función polinomial de
segundo orden, obtenemos una curva parábola y una función de tercer orden
produce una curva cubica. Las soluciones del polinomio son conocidas como
ceros o raíces donde los valores de la variable independiente producen cero en
la variable independiente.
9
Rochesso, Davide, introduction to sound processing, http://www.scienze.univr.it
23
El orden del producto esta dado por la suma de las órdenes de los operando y
el k-esimo coeficiente del producto es obtenido por los coeficientes ai y bj
sumados mediante la operación:
Sin Φ= (PQ)
Cos Φ=(OQ)
TanΦ = (PQ/OQ)
sin² Φ + cos ²Φ = 1
24
Las funciones seno y coseno son funciones periódicas con periodo 2п,
mientras la función tangentes periódica con periodo п, el condominio de seno y
coseno está limitado en el intervalo [-1,1] , particularmente la tangente toma
valores en todo el eje real, aprovechando de forma infinita para todos los
valores mediante una interpretación geométrica compleja, podemos incluir una
magnitud y un argumento p y Φ y representarlo como:
C = x + iy = p cosΦ + ip sen Φ
10
Sorias, Olivas, Emilio. Tratamiento digital de señales: problemas y ejercicios resueltos, primera
edición. Madrid; Pearson education 2003
25
2.1.10 Transformadas.11 Matemáticamente, existen formas de expresar
funciones y operaciones de una forma más sencilla para su análisis y
manipulación.
Y(n) = 1 / S – So
Esta ecuación converge para los valores de S, teniendo una parte real
que es mayor que So. Una propiedad básica de la T de Laplace es la
conversión de una expresión de derivación a una multiplicación por S.
Siendo y(o) la condición inicial para cualquier t <0, de forma inversa la
integral es convertida en una división por una variable compleja S.
11
Chen, Chi-Tsong. Signals and systems, tercera edicion. USA; Oxford University Press,2004
26
• La transformada de Fourier. La transformada de Fourier de una
función cuyo condominio es real puede ser descrita como una T. de L.
pero en una región del eje imaginario.
28
Fig. 8 Tipos de filtros.
H(ejw) = IH(ejw)I ej ψw
Se considera filtro ideal aquel que, a lo sumo, altera con un retardo constate e
independiente de la frecuencia una señal cuyo contenido espectral está en la
banda de paso. Además, el filtro ideal elimina completamente una señal cuyo
espectro está en la banda atenuada. En resumen, para que un filtro sea ideal,
se requiere que su respuesta en frecuencia tenga un módulo constante y fase
lineal en la banda de paso, al mismo tiempo que debe presentar un modulo
cero en la banda atenuada.
HI(ejw) = IHI(ejw)I ej ψw
IHI(ejw)I = 1 en las bandas de paso y 0 en las bandas atenuadas
ψ(w) = - α w + β + πk(w)
29
• Filtros digitales. Un filtro digital es un sistema que modifica; por medio
de procesamiento matemático, las señales de entrada dependiendo de
las variaciones de las mismas en el tiempo y amplitud; esto
generalmente se hace con la aplicación de la Transformada rápida de
Fourier; dando como resultado una señal de salida modificada en el
tiempo. La ventaja de los filtros digitales sobre los analógicos es que
presentan una gran estabilidad de funcionamiento a lo largo del tiempo.
Por otro lado, los filtros digitales pueden ser de dos clases que
responden a métodos de diseño y calculo diferentes. Los filtros FIR
(Respuesta finita al impulso) y los IIR (Respuesta infinita al impulso).
30
La salida también puede expresarse como la convolución de la
señal de entrada x(n) con la respuesta al impulso h(n):
31
La salida de los filtros IIR depende de las entradas actuales y
pasadas, y además de las salidas en instantes anteriores. Esto se
consigue mediante el uso de realimentación de la salida.
32
Existen varias maneras de acceder a GUIDE; una de ellas es desde la barra de
herramientas como lo indica la figura No. 11:
Entonces, una vez abierto el asistente aparece la siguiente ventana. Figura No.
12.
33
b) GUI with Uicontrols. Esta opción presenta un ejemplo en el cual se
calcula la masa, dada la densidad y el volumen, en alguno de los dos
sistemas de unidades. Podemos ejecutar este ejemplo y obtener
resultados.
c) GUI with Axes and Menu. Esta opción es otro ejemplo el cual contiene
el menú File con las opciones Open, Print y Close. En el formulario tiene
un Popup menú, un push button y un objeto Axes, podemos ejecutar el
programa eligiendo alguna de las seis opciones que se Encuentran en el
menú despegable y haciendo click en el botón de comando.
34
La interfaz gráfica cuenta con las siguientes herramientas.
35
• Propiedades de los componentes. Cada uno de los elementos de
GUI, tiene un conjunto de opciones a las cuales se puede acceder con
click derecho. Figura No. 15.
36
Al hacer click derecho en el elemento ubicado en el área de diseño, una
de las opciones más importantes es View Callbacks, la cual, al
ejecutarla, abre el archivo .m asociado a nuestro diseño y nos posiciona
en la parte del programa que corresponde a la subrutina que se
ejecutará cuando se realice una determinada acción sobre el elemento
que estamos editando.
handles.output = hObject;
37
handles, es nuestro identificador de los datos de la aplicación. Esta
definición de identificador es salvada con la siguiente instrucción.
guidata(hObject, handles);
guidata(hObject,handles);
HUM= get(handles.slider1,'Value');
38
Un procesador DSP se caracteriza por el uso de arquitectura Harvard, datos de
buses internos, programación assembler, instrucciones paralelas de
procesamiento; las cuales reducen el tiempo de operación de los algoritmos, y
compiladores de optimización. Los algoritmos de optimización pueden ser de
suma, multiplicación y acumulación MAC y el módulo ALU (Unidad Lógica
Aritmética).
40
La siguiente figura muestra la configuración de los puertos periféricos de
entrada y salida con los que cuenta la tarjeta DSP.
41
2.1.14 Vocoder. Un vocoder es un analizador y sintetizador de voz. Fue
desarrollado en la década de 1930 como un codificador de voz para
telecomunicaciones. Su primer uso fue la seguridad en radiocomunicaciones,
donde la voz tiene que ser digitalizada, cifrada y transmitida por un canal de
ancho de banda estrecho.
43
2.1.16 Vocoders basados en predicción lineal. Desde finales de la década
de 1970, muchos vocoders no musicales se han empleado usando predicción
lineal, donde la envolvente espectral de la señal se estima por un filtro digital
IIR todo polo. En codificación lineal predictiva, el sistema todo-polos reemplaza
el filtro de bancos paso-banda de su predecesor y se usa en el encoder para
blanquear la señal (aplanar su espectro) y de nuevo en el decodificador para
reasignar la envolvente espectral de la señal de voz original. En contraste con
los vocoders realizados usando bancos de filtros, la localización de los picos
espectrales está determinada totalmente por la señal objetivo y no necesita ser
armónica, es decir, un múltiplo de la frecuencia fundamental.
45
2.2 MARCO LEGAL O NORMATIVO.
12
Organización mundial de la propiedad intelectual(OMPI),http://www.wipo.int/about-
wipo/es/what_is_wipo.html
13
Dirección nacional de derechos de autor, calle 28 No 13ª-15 piso 17-teléfono(571)3418177-
telefax(571)2860813, bogota col.,derautor@derautor.gov.co: www.derautor.gov.co
46
Por otro lado, existen convenios internacionales ratificados por Colombia como
el tratado OMPI sobre interpretación y ejecución de fonogramas, suscrito en
ginebra (suiza), en 1996 y adherido a la legislación de Colombia mediante la
ley 545 de 1999.
Este registro otorga seguridad jurídica luego este registro es declarativo y sirve
como documento de prueba pero no obligatorio. Según el criterio normativo
autoral desde el mismo momento de la creación nace el derecho de autor y no
se necesitan formalidades para la constitución del mismo.
14
http://www.juntadeantalucia.es/averroes/manuales/guadaconceptos.html#GlossG
47
• Software libre: es aquel que puede ser distribuido, modificado, copiado y
usado. El soporte lógico de dominio público no está protegido por
copyright por tanto podrían generarse versiones no libres del mismo,
pero los software protegidos por copyleft impide a los redistribuidores
generar restricciones sobre un software concebido originalmente para
ser software libre. Por otro lado el software gratuito no tiene precio
comercial pero necesariamente libre ya que un software libre no
depende específicamente de un pago.
48
3 METODOLOGÍA
49
3.3 TÉCNICAS DE RECOLECCIÓN DE INFORMACIÓN.
3.4 HIPÓTESIS
50
3.5 VARIABLES
51
4 DESARROLLO INGENIERIL
53
La siguiente figura muestra la implementación del algoritmo antes mencionado,
en la plataforma de desarrollo Simulink del programa Matlab.
54
Fig. 22 Modulo de análisis para cada canal.
• Orden: Para efectos de este sistema el orden del filtro es 40, como se
indica en la figura No. 23.
Este mismo asistente suministra información gráfica, que permite observar las
características del filtro en cuanto a respuesta en frecuencia, fase, magnitud, la
figura de polos y ceros y la respuesta impulsiva del mismo. Las siguientes
figuras muestran lo antes mencionado:
56
La figura No. 24 corresponde a la respuesta en magnitud de los filtros pasa-
banda del primer canal del Vocoder. La caída es de 20 dB en 1365 Hz, a partir
de la frecuencia de corte 1180 Hz.
57
La figura No. 26 muestra una respuesta al impulso del filtro pasa-banda de
corta duración, en concordancia con las características de la señal vocal e
instrumental de entrada, las cuales varían constantemente en el corto tiempo,
es decir, son señales no estacionarias; sus características de magnitud, fase y
frecuencia cambian constantemente.
58
La figura No. 28 muestra la respuesta en frecuencia del filtro. Este, es
implementado con el objeto de eliminar o al menos reducir componentes
espurios de alta frecuencia, generados por la transformación y manipulación de
la señal en las etapas anteriores. En otras palabras se pretende eliminar ruido
de alta frecuencia que afecta la inteligibilidad de la señal. Dichas componentes
espectrales, son parciales y armónicos que aparecen periódicamente en
proximidad a la frecuencia de corte del filtro pasa-banda dispuesto a la entrada
del canal. En este caso la frecuencia de corte del pasa-bajas esta en 1200 Hz.
A partir de esta frecuencia el filtro elimina dichas componentes sin afectar las
frecuencias más representativas del sonido.
Fig. 29 Componente espectral antes y después del filtro pasa-bajas (canal uno).
59
Las figuras anteriores suministran información correspondiente al primer canal
del Vocoder. A continuación se muestra el resultado general con los cuatro
canales funcionando.
Estos filtros también son FIR de orden 40 con valores de frecuencias diferentes
por cada canal. El cuadro No. 1 muestra estos valores. El comportamientos de
estos en cuanto ha fase es igual que en los pasa-banda.
60
De igual forma se implementó para cada uno de los canales, un ventaneo como
función de suavizado de la señal de entrada. Esta ventana es de tipo Hamming
y actúa en intervalos cortos de tiempo sobre cada frame de muestras.
La función de ventaneo esta implementada en todos los filtros que hacen parte
del Vocoder.
61
arrojó dicho procedimiento, fue la unificación o combinación de los dos sonidos
en uno solo representativo, el cual, adopta las características de fase, magnitud
y frecuencia de las dos señales involucradas.
Forma rectangular:
Forma polar:
C = p ejΦ
62
La siguiente figura muestra el algoritmo desarrollado para efectuar dicho
proceso:
63
Y(w)= espectro de la señal de salida
X1(w) = espectro de la voz
X2(w) =espectro del instrumento
Y(w) = X1(w) x X2(w)
Por tal razón y como se está trabajando con señales que se encuentran en el
dominio de la frecuencia, se multiplican las magnitudes de la voz y el
instrumento de la siguiente manera:
Finalmente con los datos arrojados por cálculo del espectro de frecuencia y
fase, se convierten dichos parámetros en una representación completa de una
señal compleja; es decir, la señal imaginaria es reconstruida y transformada en
una compleja.
De este modo, se obtiene una sola señal que conserva las características de
frecuencia y fase del instrumento, variando su magnitud con la envolvente
espectral dada por la señal de voz.
64
Esto se logra a través de la aplicación de la transformada inversa de Fourier en
tiempo corto (ISTFFT) como se muestra a continuación:
65
Adicionalmente, se agrego un filtro pasa-banda a la salida de cada canal que
conserva las mismas características que los filtros antes mencionados. Con
estos filtros se busca reducir aún más cualquier ruido presente en la señal ya
combinada.
66
Fig. 40 Diagrama de bloques.
Una vez finalizada la etapa del diseño y construcción del algoritmo que
gobierna todo el sistema, se continúa con la implementación del mismo sobre
la interfaz digital especializada en el procesamiento digital de señales o DSP.
El proceso a seguir para integrar el algoritmo a la tarjeta DSP (TMS320C6713
DSK) es el siguiente.
67
a. Testeo del Hardware Digital. Esta tarea se ejecuto a través del
programa 6713 DSK Diagnostics Utility v3.1, como se indica en la figura No.
42.
Fig. 42 Test.
Este programa verifica que todas las unidades que hacen parte de la tarjeta
estén funcionando adecuadamente; si es así, el programa enciende el led
ubicado en el lado izquierdo de cada uno de los parámetros de diagnostico.
68
Entonces, en primer lugar, se debe adicionar al entorno de conexión de
Simulink los módulos de soporte para el trabajo con la tarjeta DSP como se
muestra en la siguiente figura:
70
con la tarjeta, se configura el programa gestor de descarga de la DSP. Aquí
se sincronizan los tiempos de entrada y salida de la señal, entre el algoritmo
y la tarjeta. Esto se hace a través de EMIF clock, el cual es un driver
contenido en los settings de INIT PLL, del menú GEL. La siguiente figura
muestra esta configuración:
71
Ya finalizado el proceso de descarga del algoritmo en la tarjeta DSP, se
puede trabajar el programa diseñado, a través del sistema hardware
especializado en el procesamiento de señales digitales o DSP.
72
• Modulo de audios. En este primer modulo se cargan al Vocoder
los sonidos tanto de la voz como del instrumento.
73
% --- Executes just before vocoder_guide is made visible.
function vocoder_guide_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has contin output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to vocoder_guide (see VARARGIN)
set(handles.volumen,'Value',0.5);
set(handles.canal1,'Value',0.5);
set(handles.canal2,'Value',0.5);
set(handles.canal3,'Value',0.5);
set(handles.canal4,'Value',0.5);
find_system('Name','phase_vocoderfirguide');
open_system('phase_vocoderfirguide');
set_param('phase_vocoderfirguide/volumen','Gain','0.5');
set_param('phase_vocoderfirguide/canal1','Gain','0.5');
set_param('phase_vocoderfirguide/canal2','Gain','0.5');
set_param('phase_vocoderfirguide/canal3','Gain','0.5');
set_param('phase_vocoderfirguide/canal4','Gain','0.5');
audio1=get(handles.cancion,'String');
audio2=get(handles.cancion2,'String');
set_param('phase_vocoderfirguide/From Wave
File','FileName',char(audio1));
set_param('phase_vocoderfirguide/From Wave
File1','FileName',char(audio2));
74
% hObject handle to play (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
audio1=get(handles.cancion,'String');
audio2=get(handles.cancion2,'String');
set_param('phase_vocoderfirguide/From Wave
File','FileName',char(audio1));
set_param('phase_vocoderfirguide/From Wave
File1','FileName',char(audio2));
set_param(gcs,'SimulationCommand','Start');
75
El siguiente algoritmo representa lo que se ejecuta en el movimiento de los
slider tanto de volumen como del ecualizador.
76
5 PRESENTACIÓN Y ANÁLISIS DE RESULTADOS
77
La figura No. 49 indica la carga computacional relacionada con la aplicación y
ejecución del algoritmo, con uno y cuatro canales de análisis.
78
5.1.1 Vocoder hardware digital. La implementación del algoritmo diseñado
en la tarjeta DSP se efectuó de la siguiente manera. En principio, se inserto en
la tarjeta el programa conformado por solo un canal de análisis que cubría todo
el espectro de frecuencia de la voz. Esto se hizo con el fin de determinar de
manera paulatina; con el incremento gradual del número de canales de
análisis, el punto exacto donde la tarjeta DSP trabaja de manera adecuada con
el algoritmo implantado. Como ya se indicó antes, la tarjeta soporta una
determinada carga computacional, lo cual limita la cantidad de canales que
pueden ser implementados en dicho dispositivo. A medida que se incrementa el
número de canales la inteligibilidad de la señal va mejorando, ya que se
eliminaban de manera audible picos de alta frecuencia que generaban
distorsión de la señal. Este proceso de adición de canales al algoritmo que se
ingresaba a la DSP llego al límite cuando se implemento el programa
conformado por los cuatro canales. Cuando se agregó el algoritmo que
contenía más de esta cantidad, la señal se distorsionaba y tenía un retardo que
impedía el procesamiento del sistema en tiempo real, causando pérdida en la
inteligibilidad de la misma, a causa del exceso de carga computacional a la que
era sometida la tarjeta.
Para el análisis de los sistemas se utilizó una señal delta; la cual tiene un
espectro plano en frecuencia, ubicada en el canal de entrada de la voz y un
conjunto de tonos puros correspondientes a las frecuencias de 500, 1000 y
2000 Hz, ubicados en el canal de entrada del instrumento. Esto se hizo con el
fin de multiplicar ambas señales en el dominio de la frecuencia y así obtener
una señal resintetizada que muestra la respuesta del sistema a dicha
componente espectral.
79
a) Tono de 500 Hz. El análisis gráfico de la señal obtenida por la
resintesis de la misma a través del Vocoder, plantea una gran
correlación entre la señal original y la de salida del sistema. Esto se
traduce como buena fidelidad del Vocoder en cuanto a respuesta en
frecuencia de los sonidos que ingresan al mismo.
80
b) Tono de 1000 Hz. Para esta frecuencia se consiguieron resultados
similares.
81
c) Tono de 2000 Hz. De igual forma para este tono se revelaron
resultados similares. Es decir la señal resintetizada tiene una gran
correlación con la señal original.
82
De este modo se establece que todo el sistema diseñado trabaja de
manera adecuada; los problemas en cuanto a distorsión por la
manipulación y procesamiento de las señales sintetizadas es muy baja
para este tipo de señales. La reconstrucción de los sonidos conserva la
estructura general del espectro con algunas pequeñas modificaciones
del mismo.
83
La grafica No. 55 muestra el espectro en frecuencia de la señal anterior, la cual
esta desplazada hasta los 220 Hz.
Por otro lado, también se realizo el mismo análisis con la señal original de la
voz y un tono puro de 220 Hz. Los resultados gráficos fueron los siguientes.
Fig. 56 Señal de voz original y su resintesis con un tono puro de 220 Hz.
84
Los espectros en frecuencia de estas señales son los siguientes.
85
5.1.2 Vocoder software. Este sistema a diferencia del hardware, fue
implementado con una frecuencia de muestreo de 44100 Hz. Esto se debe en
primer lugar a que el ordenador tiene una capacidad de procesamiento y
memoria RAM mucho mayor que la que presenta la DSP y en segundo lugar,
porque la gran mayoría de sistemas de audio trabajan con sonidos
muestreados a esta frecuencia. Los resultados obtenidos son similares a los
antes expuestos. La simulación por software a través de sistemas
computacionales, permite la implementación de un mayor número de canales
de análisis del Vocoder. Esta ventaja computacional otorga la capacidad de
estructurar algoritmos que mejoran y conservan mucho más las características
de magnitud, frecuencia y fase de los sonidos, sin generar elevados índices de
distorsiones de señal.
Fig. 59 Señal pura de 1000 Hz y su resintesis con un tono puro de 220 Hz.
86
La figura de respuesta en frecuencia de la señal resintetizada es la siguiente:
Por otro lado, también se realizó el mismo proceso con una señal musical;
ubicada en el canal de entrada de la voz y un tono de 500 Hz.
87
Los espectros en frecuencia obtenidos son los siguientes:
88
6 CONCLUSIONES
90
7 RECOMENDACIONES
Por otro lado, también se recomienda acceder a los archivos de audio adjuntos
a este trabajo [ANEXOS], con el fin de constatar las diferencias sonoras de las
diferentes señales obtenidas a la salida de los distintos sistemas diseñados y
evaluados.
91
BIBLIOGRAFÍA
92
ANEXOS
93