Top Banner
ESTIMACI ´ ON DE CONTORNOS DEL PITCH EN L ´ INEA SOBRE DSP Ricardo Alzate Casta˜ no Universidad Nacional de Colombia Sede Manizales Facultad de Ingenier´ ıa y Arquitectura Departamento de Electricidad, Electr´ onica y Computaci´ on Manizales 2003
62

ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

May 17, 2019

Download

Documents

hathu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

ESTIMACION DE CONTORNOS DEL PITCH EN LINEA

SOBRE DSP

Ricardo Alzate Castano

Universidad Nacional de Colombia

Sede Manizales

Facultad de Ingenierıa y Arquitectura

Departamento de Electricidad, Electronica y Computacion

Manizales

2003

Page 2: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

ESTIMACION DE CONTORNOS DEL PITCH EN LINEA

SOBRE DSP

Ricardo Alzate Castano

Trabajo de Grado para optar al tıtulo de

Ingeniero Electronico

Director

Ing. German Castellanos D.

Universidad Nacional de Colombia

Sede Manizales

Facultad de Ingenierıa y Arquitectura

Departamento de Electricidad, Electronica y Computacion

Manizales

2003

Page 3: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A mi senora madre, dona Bertha....

por ser autor material de mi existencia,

e intelectual de varios logros agregados...

iv

Page 4: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Resumen

Se presenta la implementacion para diferentes algoritmos de estimacion de la frecuen-

cia fundamental (pitch) en senales de voz, empleando tecnicas de procesamiento digital

de senales, aplicadas sobre una plataforma de hardware (DSP), dedicada a la ejecucion

de tareas en los dominios de tiempo (metodo de Correlacion), frecuencia (metodo HPS -

Harmonic Product Spectrum), y de accion conjunta (basado en la transformada Wavelet),

realizando un analisis comparativo, que se fundamenta en la precision respecto del calculo

automatizado para un contorno de pitch, como caracterıstica basica dentro de procedimien-

tos de Analisis Acustico de Voz. En este punto, los resultados obtenidos muestran un mejor

desempeno por parte del metodo basado en la respuesta de frecuencia, aun en condiciones

extremas para ruido de fondo.

Adicionalmente, se presenta una metodologıa de diseno extendida a la ejecucion de

algoritmos para estimacion de caracterısticas acusticas en tiempo real, sobre procesadores

digitales de senal, acondicionada para el caso de un sistema de desarrollo basado en la

arquitectura TMS320C6000 de Texas Instruments.

Palabras Clave: Contorno de pitch, DSP, HPS, Metodo de Correlacion, Pitch, Wavelet.

v

Page 5: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Abstract

The implementation of several algorithms for estimation of the fundamental frequency

of human speech (termed pitch) is presented over the basis of digital signal processing tech-

niques. These are being applied on a hardware platform (DSP) dedicated to the execution of

tasks developed for operation in different domains, namely: time domain (Cross-correlation

based method), frequency domain (Harmonic Product Spectrum HPS method) and a joint

action method (using Wavelets). After performing a comparative analysis of the perfor-

mance between simulation results of the different techniques and the real data derived

from a reference algorithm employed at a professional level to calculate pitch contours, the

frequency-based method shown to have a better response even under strong environmental-

noise conditions.

Therefore, a hardware-oriented methodology of design is applied to implement in real-

time the calculation of pitch-contours with the HPS algorithm employing the TMS320C6000

development tool.

Index Terms: Cross-correlation method, DSP, HPS, Pitch contour, Wavelet.

vi

Page 6: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Agradecimientos

Agradezco a la gente de PLINTEC LTDA, y en especial a mi director, Ing. GermanCastellanos, por sus labores de gestion, en el proceso de reposicion por garantıa, para elequipo en que se desarrollo este proyecto.

Adicionalmente, a los ingenieros: Omar Danilo Castrillon, Franklin Alexander Sepul-veda, Jesus Francisco Vargas, y demas companeros del Grupo de Control y ProcesamientoDigital de Senales, debido a su permanente asesorıa, y extensiva colaboracion, en adquisicionpara material de trabajo.

vii

Page 7: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Este proyecto se realiza en el marco de la investigacion “Analisis acustico de voz y deposturas labiales en pacientes de 5 a 15 anos con Labio y/o Paladar Hendido corregido enla zona centro del paıs”, financiado por Colciencias segun contrato 11191412867.

Page 8: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Tabla de Contenido

Introduccion 1

1. Estimacion del pitch en el analisis acustico de la voz 21.1. Metodos de estimacion del pitch . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1. Estimacion parametrica . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2. Estimacion no parametrica . . . . . . . . . . . . . . . . . . . . . . . 4

1.2. Tecnicas de estimacion del pitch en tiempo real . . . . . . . . . . . . . . . . 81.2.1. Analisis estacionario sobre intervalos cortos de tiempo . . . . . . . . 81.2.2. Analisis no estacionario conjunto tiempo - frecuencia. . . . . . . . . 141.2.3. Estimacion de contornos del pitch . . . . . . . . . . . . . . . . . . . 16

1.3. Estimacion en tiempo real sobre procesadores digitales de senal (DSP) . . . 181.3.1. Implementacion de algoritmos en tiempo real . . . . . . . . . . . . . 181.3.2. Modelos de cuantizacion de ruido . . . . . . . . . . . . . . . . . . . . 23

2. Diseno e implementacion del sistema en tiempo real 272.1. Procedimiento de especificacion . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.1. Formulacion del problema . . . . . . . . . . . . . . . . . . . . . . . . 272.1.2. Primer nivel de particionamiento . . . . . . . . . . . . . . . . . . . . 282.1.3. Segundo nivel de particionamiento . . . . . . . . . . . . . . . . . . . 292.1.4. Tercer nivel de particionamiento . . . . . . . . . . . . . . . . . . . . 302.1.5. Arbol de particion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.1.6. Verificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2. Implementacion del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3. Marco experimental 343.1. Metodologıa de implementacion . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1.1. Simulacion Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.1.2. Implementacion en DSP . . . . . . . . . . . . . . . . . . . . . . . . . 37

4. Conclusiones 40

ix

Page 9: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Bibliografıa 41

A. Algoritmo de referencia 45A.1. Deteccion de voz / no voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45A.2. Estimacion del pitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

A.2.1. Metodo Cepstral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46A.2.2. Metodo de Correlacion . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.2.3. Metodo Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.2.4. Metodo HPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47A.2.5. Ajustes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

A.3. Obtencion para GCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48A.4. Conformacion para contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.5. Estructura final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

x

Page 10: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Lista de Figuras

1.1. Segmentacion de senales de voz, sin (superior) y con (inferior) prefiltrado. . . . . . 41.2. Topologıa equivalente para red neuronal usada en algoritmo de mınimos cuadrados. 81.3. Funcion de correlacion en intervalos cortos de tiempo. . . . . . . . . . . . . . . . 91.4. Banco de filtros para calculo de pitch. . . . . . . . . . . . . . . . . . . . . . . . 111.5. Ilustracion para producto de armonicos espectrales. . . . . . . . . . . . . . . . . 131.6. Algoritmo piramidal para calculo de Wavelets diadica. . . . . . . . . . . . . . . . 151.7. Senales de voz y de contorno de pitch asociado. . . . . . . . . . . . . . . . . . . 161.8. Modelo para contorno de pitch. . . . . . . . . . . . . . . . . . . . . . . . . . . 171.9. Representacion para flujo de datos: escasa definicion (der), y amplia definicion (izq). 191.10. Mapeo entre algoritmos y arquitecturas. . . . . . . . . . . . . . . . . . . . . . . 201.11. Modelo estatico para cuantizador A/D. . . . . . . . . . . . . . . . . . . . . . . 251.12. Funcion densidad de probabilidad para error de cuantizacion. . . . . . . . . . . . 25

2.1. Nivel superior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.2. Primer nivel de particionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . 282.3. Segundo nivel de particionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . 302.4. Tercer nivel de particionamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . 302.5. Diagrama para arbol de particion. . . . . . . . . . . . . . . . . . . . . . . . . . 312.6. Ventana para ejecucion de codigo. . . . . . . . . . . . . . . . . . . . . . . . . . 332.7. Algoritmo implementado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1. Diagrama de flujo de datos (DFG), para metodologıa. . . . . . . . . . . . . . . . 353.2. Contorno comparativo en condicion normal. . . . . . . . . . . . . . . . . . . . . 353.3. Contorno comparativo para SNR 2dB. . . . . . . . . . . . . . . . . . . . . . . . 363.4. Efecto de doblamiento (metodos temporales). . . . . . . . . . . . . . . . . . . . 373.5. Sobrepasos de inicio y final (metodos temporales). . . . . . . . . . . . . . . . . . 383.6. Retardo por convolucion (metodo frecuencial). . . . . . . . . . . . . . . . . . . . 383.7. Senal de entrada y contorno respectivo obtenido en DSP. . . . . . . . . . . . . . 38

A.1. Senal consecuencia de filtracion inversa. . . . . . . . . . . . . . . . . . . . . . . 46

xi

Page 11: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A.2. Contorno de Pitch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49A.3. Estructura de algoritmo resultante. . . . . . . . . . . . . . . . . . . . . . . . . 49

xii

Page 12: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Lista de Tablas

1.1. Librerıas disponibles para bloques en DSP y FPGA. . . . . . . . . . . . . . . . . 221.2. Rangos para error de cuantizacion. . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.1. Energıa para varianza del error (Segmentos normales). . . . . . . . . . . . . . . . 363.2. Energıa para varianza del error (Segmentos patologicos). . . . . . . . . . . . . . 373.3. Error porcentual para diferentes senales de prueba. . . . . . . . . . . . . . . . . 393.4. Indicadores de desempeno para sistema implementado. . . . . . . . . . . . . . . 39

xiii

Page 13: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Glosario

A/D : Analogo a Digital.

ALU : Arithmetic Logic Unit (Unidad logico-aritmetica).

AMDF : Average Magnitude Difference Function (Funcion diferencia de magnitud).

AR : Auto Regresivo.

DB3 : Funcion Wavelet madre tipo Daubechies 3.

DFG : Data Flow Graph (Diagrama de flujo de datos).

DRR : Data Receive Register (Registro de recepcion de datos).

DSP : Digital Signal Processor (Procesador digital de senales).

FAC : Funcion de Autocorrelacion.

FFT : Fast Fourier Transform (Transformada rapida de Fourier).

FPGA : Field Programmable Gate Array (Arreglo de compuerta de campo programable).

GCI : Glottal Closure Instant (Instante de cierre glotico).

HNR : Harmonic to Noise Ratio (Relacion armonico ruido).

HPS : Harmonic Product Spectrum (Producto de armonicos espectrales).

IIR : Infinite Impulse Response (Respuesta infinita al impulso).

ISR : Interrupt Service Routine (Rutina para servicio a interrupcion).

LPC : Linear Predictive Coding (Codificacion predictiva lineal).

MAC : Multiplication and Accumulation Calculation (Operaciones de acumulacion y multi-plicacion).

McBSP : Multi-channel Buffered Serial Port (Puerto serial multicanal almacenado).

PC : Personal Computer (Computadora personal).

RAPT : Robust Algorithm Pitch Tracking (Algoritmo robusto para seguimiento del pitch).

RN : Red Neuronal.

SNR : Signal to Noise Ratio (Relacion senal a ruido).

STCCF : Short Time Cross-Correlation Function (Funcion de correlacion en intervalos cortosde tiempo).

STFT : Short Time Fourier Transform (Transformada de Fourier en intervalos cortos).

VHDL : Very High speed integrated circuit hardware Description Language (Lenguaje inte-grado de alta velocidad para descripcion de hardware).

xiv

Page 14: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Introduccion

El procesamiento digital de senales de voz, como tarea de naturaleza multi e interdisci-plinaria, donde se involucran procedimientos de adquisicion, preprocesamiento, estadısti-ca, matematicas, reconocimiento de patrones, linguıstica, fisiologıa, y ciencias de la com-putacion, entre otros, ha permitido generar a traves de diversas investigaciones [34, 43, 13],aplicaciones a nivel de compresion (reduciendo el numero de bits para almacenar o transmi-tir voz, incrementando la razon de calidad - compresion para robustecer la codificacion encanales no ideales de transmision); reconocimiento (dependiente e independiente del locutor,con habla continua o palabras aisladas); identificacion (certificacion del locutor, traduccionautomatica de idiomas); sıntesis (de texto - voz), y analisis (forma de onda, parametroscaracterısticos).

En la misma medida, estudios recientes [38, 30, 50], han demostrado un creciente interes porel analisis acustico de voces, debido en gran parte al potencial existente en estas tecnicascuantitativas, para efectuar valoracion clınica, respecto al funcionamiento del tracto vocaly la laringe. Como resultado se ha encontrado que la mayorıa de disfunciones del habla,pueden modelarse por fenomenos de caracterıstica acustica, tales como incrementos en gra-dos de ronquera debido a componentes de ruido, grandes variaciones en valores de frecuenciafundamental y amplitudes pico de la misma, quebrantos en generacion del pitch durantela emision de vocales sostenidas, presencia de componentes subarmonicas en el espectro devocales, distorsion en forma de pulsos del pitch, presencia de componentes de ruido de altafrecuencia, y otras anormalidades en los pliegues vocales, que pueden causar cambios signi-ficativos en sus patrones tıpicos de emision, degradando a su vez la calidad de produccionvocal.

Por tanto, dada la importancia evidenciada dentro del estudio de la voz, para la frecuenciafundamental de vibracion de las cuerdas vocales (pitch), este trabajo se orienta hacia eldesarrollo de diversas tecnicas encaminadas a la obtencion de dicho parametro, localizan-do su aplicacion en el analisis acustico automatizado de voces, como parte del proyecto“Analisis acustico de voz y de posturas labiales en pacientes de 5 a 15 anos con Labio y/oPaladar Hendido corregido en la zona centro del paıs”, adscrito al Grupo de Control yProcesamiento Digital de Senales de la Universidad Nacional de Colombia - sede Manizales,buscando operar sobre una plataforma de hardware (Procesador Digital de Senales), quepermita mejorar indicadores de desempeno en terminos de velocidad de procesamiento yreduccion de errores, caracterısticos en procedimientos subjetivos.

La organizacion del documento, se distribuye de la siguiente manera: en el Capıtulo 1, serealiza una revision teorica para diferentes metodologıas de estimacion del pitch en senales devoz, describiendo tecnicas de analisis en tiempo real, aplicadas a dispositivos de propositoparticular. El Capıtulo 2, por su parte, presenta el diseno e implementacion del sistemaen tiempo real, a partir del establecimiento de una metodologıa de jerarquıa modular.Finalmente, el Capıtulo 3, expone el marco experimental empleado para generar resultados,de los cuales se derivan consecuentes conclusiones.

1

Page 15: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Capıtulo 1

Estimacion del pitch en el analisisacustico de la voz

La informacion prosodica, es decir, la velocidad de entonacion, se encuentra fuertemente in-fluenciada por la frecuencia fundamental de vibracion de las cuerdas vocales f0, cuyo inversoa su vez, se conoce como perıodo fundamental T0 [27]. En forma general, la definicion deperiodicidad esta dada en intervalos de analisis infinitos, sin embargo, para efectos practicos(por ejemplo de calculo computacional), su estimacion se realiza sobre intervalos finitos, demanera que permitan cubrir varios perıodos del pitch, o instantaneamente a partir de ladiferencia entre dos momentos consecutivos de cierre glotico.

Luego, considerando que la estimacion del pitch, se constituye en elemento de vital im-portancia para diversas aplicaciones, entre las cuales podemos citar: los sistemas de de-codificacion acustico-fonetica [16], sistemas de codificacion para voz [27], a baja y mediavelocidades (donde la precisa evaluacion del pitch lleva a una notable mejora en la calidadasociada a la voz codificada), sistemas que operan en tiempo real [27], como plataformas deayuda a discapacitados (asistencia para aprendizaje de sordos en procesos de habla, apoyosde diagnostico post-quirurgico) [27], y sistemas de conversion de texto a voz, basados encontornos de pitch [33], deben tenerse en cuenta las siguientes restricciones, aplicadas aprocedimientos de calculo para dicho parametro [27]:

- Los segmentos de voz son altamente no estacionarios, o son producto de vibracionesirregulares de las cuerdas vocales.

- La excitacion glotica no es rigurosamente periodica.

- Existe una importante interaccion entre la excitacion y el tracto vocal, en donde laperiodicidad que se observa en la senal resultante, es debida a la accion conjunta dela excitacion cuasi-periodica y los primeros formantes de banda estrecha.

- La segmentacion del inicio y del final de zonas sonoras, debe realizase con alta pre-cision, tarea que no siempre es facil de implementar.

- El margen dinamico de variacion del parametro f0, en sı, es alto [27]. Por tanto,dicha estimacion debe restringirse a un intervalo de valores permitidos, en donde lasventanas de tiempo se ajustan dependiendo del hablante considerado, pudiendo abar-car entre 2 y mas de 20ms (50 - 500 Hz), para cubrir voces desde ninos o sopranos,hasta barıtonos, o entre 6 y 12 ms (80 - 170 Hz), para el caso de locutores adultospromedio[15].

En la misma medida, los diferentes metodos de calculo del pitch, a partir de las tecnicasestadısticas de estimacion utilizadas, pueden clasificarse en:

2

Page 16: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

- Estimacion por promedios de ensamble, cuando en su calculo no se considera el desa-rrollo de la senal en el tiempo.

- Estimacion por promedios de tiempo, cuando se considera el desarrollo temporal parala senal analizada.

Tambien, de acuerdo a las tecnicas de estimacion del pitch en tiempo real, estas se dividenen:

- Analisis estacionario (en intervalos cortos de tiempo) [45].

- Analisis no estacionario (generalmente, recurriendo a las transformadas conjuntastiempo-frecuencia).

Adicionalmente, se asume que para la mayorıa de implementaciones, la metodologıa utiliza-da en el calculo del pitch, consta de tres etapas principales [27]:

- El preprocesamiento que ademas de adecuar las caracterısticas de senal a la entradadel sistema, busca tambien reducir la informacion redundante en la misma.

- La extraccion de parametros de estimacion del pitch.

- El postprocesamiento que corrige los posibles errores del sistema de deteccion.

1.1. Metodos de estimacion del pitch

1.1.1. Estimacion parametrica

Deteccion de Cambios Abruptos. Uno de los topicos mas investigados dentro del campodel procesamiento digital de senales, corresponde al analisis e identificacion para series detiempo, principalmente en cuanto a propiedades de parametros descritos por datos cons-tantes o de lenta variacion temporal [35]. De otro lado, muchos problemas practicos queabarcan: Control de calidad, Procesamiento orientado hacia reconocimiento, y de moni-toreo o deteccion de fallos en plantas industriales, pueden describirse con ayuda de modelosparametricos sujetos a cambios abruptos en instantes de tiempo desconocidos. Como cambioabrupto, se entenderan aquellos ocurridos rapidamente con respecto al periodo de muestreode las medidas (casi instantaneamente) [35].

Puesto que la mayor cantidad de informacion contenida en un proceso de medida, recaesobre las no-estacionariedades, y dado que la mayorıa de algoritmos adaptativos de esti-macion, basicamente pueden seguir solo cambios lentos, la deteccion de cambios abruptosse convierte en un problema de interes dentro de diversas areas potenciales de aplicacion.En el caso particular del procesamiento digital de senales de la voz, esta filosofıa se aplicaprincipalmente en tareas de segmentacion, para las cuales se realiza la descomposicion au-tomatica, en segmentos estacionarios (o debilmente no estacionarios), con longitud adaptadaa las propiedades locales de la senal, posibilitando la deteccion de cambios en caracterısti-cas, y estimacion de los lugares, y tiempos (o espacios) para ocurrencia de los mismos [35].En este sentido, considerando el instante de cierre glotico como un cambio abrupto, podrıaigualmente pensarse en aplicaciones para estimar el periodo fundamental f0.

En [35], se presenta la derivacion formal de algoritmos de deteccion para cambios abruptos,que se realiza dentro de la clase de metodos estadısticos de analisis en procesos aleatoriosestacionarios, considerando dos modelos: procesos aleatorios completamente independientes

3

Page 17: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

y modelos regresivos. En la figura 1.1 (donde las lıneas verticales indican los tiempos estima-dos de cambio), se muestra la efectividad del metodo de cambios abruptos en segmentacionde senales de voz ante efectos de ruido, aun en ausencia de filtracion previa (prefiltrado).

Figura 1.1: Segmentacion de senales de voz, sin (superior) y con (inferior) prefiltrado.

Se asume que un correcto algoritmo de segmentacion, debe evidenciar la menor cantidadposible de detecciones erroneas y de falsas alarmas, presentando el mınimo retardo en suejecucion. Sin embargo, dado que esta clase de tareas, constituyen una etapa inicial dentrodel marco general de un procedimiento de identificacion, pueden aceptarse amplios nivelesde tolerancia, corregidos por accion de procesos en etapas posteriores.

1.1.2. Estimacion no parametrica

Funcion de Autocorrelacion. Un proceso estocastico se define como estacionario si to-das sus caracterısticas de aleatoriedad (distribucion y momentos, esencialmente) presentaninvariancia temporal. Adicionalmente, se asume la ergodicidad del proceso, cuando los va-lores promedio de tiempo y de ensamble son identicos en el intervalo de analisis Ta. Luego,puede definirse la funcion de autocorrelacion (FAC) Rx(τ), para un proceso que posea lasparticularidades anteriormente descritas, a partir de[11]:

Rx(τ) =lım

Ta →∞1Ta

∫Ta

x(t)x∗(t+ τ)dt = 〈x(t), x(t+ τ)〉 (1.1)

Por cuanto, la FAC tiene un papel basico en la descripcion de los procesos ergodicos [6], esimportante tener en cuenta las siguientes propiedades [3]:

- Paridad.

Rx(τ) = Rx(−τ) = Rx(t, t+ τ) = E [x(t), x(t+ τ)]∀τ ∈ Ta (1.2)

4

Page 18: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

- Maximo valor.

|Rx(τ)| 6 Rx(0) (1.3)

Por cierto, asumiendo que E [x(t)] = 0,

Rx(0) = E [x(t), x(t)] = E2 [x(t)] = σ2x (1.4)

- Aditividad. Sean dos procesos ergodicos independientes x1(t) y x2(t), se asume que:

RxT (τ) = Rx1(τ) +Rx2(τ) (1.5)

Donde, RxT (τ) corresponde a la funcion de autocorrelacion resultante de la intera-ccion entre dichos procesos.

- Convergencia. Si el proceso aleatorio x(t) es no periodico, esto es, x(t) 6= x(t + T0),T0 ∈ Ta, ademas de considerar que es centralizado, esto es, E [x(t)] = 0, entonces secumple que [5]:

lım

|τ | → ∞Rx(τ) = 0 (1.6)

- Periodicidad. Si el proceso aleatorio x(t) es periodico para un valor T0, esto es, x(t) =x(t+ T0), T0 ∈ Ta, entonces la respectiva FAC, tambien sera periodica:

Rx(τ) = Rx(τ + kT0), ∀τ = T0, k ∈ Z (1.7)

Por tanto, la existencia de valores iguales al maximo global, Rx(kT0) = Rx(0), k ∈ Z,muestra que el proceso es periodico con frecuencia fundamental F0 = 1/T0. Sin em-bargo, aunque exista un solo maximo global en τ = 0, pueden a veces presentarseotros maximos locales, cuyo mayor valor Rx(τmax) sea suficientemente grande, comopara asumir que el proceso tiene una parte periodica en T0 = τmax [11].

- Restriccion de forma. Si el proceso estocastico x(t) es fısicamente realizable, entonces,cualquier forma que tome la transformada de Fourier de su respectiva FAC (Trans-formada de Wiener-Jinchin [41]) esta restringida a la siguiente condicion:

Sx(ω) = F {Rx(τ)} > 0, ∀ω (1.8)

La funcion Sx(ω) es denominada Densidad Espectral de Potencia del proceso x(t) osimplemente espectro de potencia, y nos brinda informacion acerca de la senal aleatoriaen el dominio de la frecuencia. Adicionalmente, sea la senal:

x(t) =∑n

xn exp (iλnt) (1.9)

Entonces, puede definirse Rx(τ) a partir de:

lım

Ta →∞1Ta

∫−Ta

x(t+ τ)x∗(t)dt =∑n

|xn|2 exp (iλnτ) (1.10)

Donde el lado derecho de la expresion representa el espectro de potencia [41].

5

Page 19: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Redes Neuronales. Variados algoritmos empleados para ejecutar calculos rapidos, entreellos los de la transformada de Fourier (Fast Fourier Transform - FFT), presentan facilidadde implementacion en aplicaciones para estimacion no parametrica en tiempo real. Sin em-bargo, la alta varianza presente en los datos con componentes de alta frecuencia, al igual quela escasa resolucion en regiones de frecuencias bajas, afectan la estimacion para esta clase demetodos, particularmente cuando existe un reducido numero de datos con escasa relacionsenal/ruido. Por tanto, como alternativa, diferentes metodos parametricos de estimacionhan sido propuestos y extensivamente analizados [44]. Tales metodos, estiman inicialmentelos parametros de un modelo de generacion de datos, que se utilizan posteriormente comomedio para calcular caracterısticas espectrales. Infortunadamente, la mayorıa de las veces,se constituyen en tareas de amplio costo computacional, que reducen su aplicabilidad enentornos donde la velocidad de proceso se hace relevante [44].

Debido a esto, se han propuesto un conjunto de soluciones desarrolladas a partir de lautilizacion de tecnicas de inteligencia artificial, entre otras, los modelos con redes neuronales[44]. El primero de ellos constituye la aplicacion del concepto de maxima entropıa espectral,para el cual se considera una serie de tiempo estacionaria x(n) centralizada, E[x(t)] = 0, ycuyo espectro de potencia se define como:

Sx(ω) =∞∑

m=−∞Rx(m) exp (−imω∆t) (1.11)

Siendo ∆t los intervalos de tiempo de discretizacion de la serie, que por conveniencia sehacen igual a la unidad [44]. La estimacion Sx(f) para Sx(f), tomando el criterio de maximaentropıa, corresponde a [44]:

Sx(ω) =σ2P∣∣∣∣1 +

P∑k=1

ak exp (−iωk)∣∣∣∣2

(1.12)

Donde ak (k = 1, 2, . . . P ), equivale al conjunto de coeficientes para el modelo autoregresivo(Auto Regressive Model AR) de la senal x(n), dado por [44]:

x(n) = −P∑k=1

akx(n− k) + σ2P δ(n) (1.13)

Siendo P el orden del proceso AR, al igual que σ2P corresponde a la varianza de ruido blanco

σ2P δ(n) (para δ(n) equivalente al ruido de varianza unitaria).

En el caso de estimacion espectral unitaria, la expresion (1.12) se convierte en:

Sx(ω) =1∣∣∣∣1 +

P∑k=1

ak exp (−iωk)∣∣∣∣2

(1.14)

6

Page 20: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A partir de las expresiones (1.12) y (1.14), se observa que el procedimiento para realizar es-timacion espectral parametrica, se reduce a la obtencion para los coeficientes ak del modelo,de manera que satisfagan el sistema [44]:

P∑k=0

akRx(m− k) =

σ2P , m = 0

0, m = 1, 2, ...P(1.15)

Siendo a0 = 1. La expresion (1.15) escrita en forma matricial es conocida como ecuacion deYule-Walker:

Rx(0) Rx(−1) ... Rx(−P )

Rx(1) Rx(0) ... Rx(1− P )

... ... ... ...

Rx(P ) Rx(P − 1) ... Rx(0)

1

a1

...

aP

=

σ2P

0

...

0

(1.16)

Por lo tanto, una vez conocidos los (P +1) valores de autocorrelacion Rx(k), k = 0, 1, . . . P ,pueden determinarse los coeficientes ak y la varianza σ2

P , resolviendo la expresion Yule-Walker. Posteriormente, se realiza el reemplazo en (1.12) o (1.14) de los valores obtenidos,para calcular la estimacion espectral deseada [44]. Sin embargo, en la mayorıa de casospracticos, solo los valores x(0), x(1), . . . x(N−1) estan disponibles (para N 6 P ). Por tanto,el procedimiento de calculo para el espectro de potencia de x(n), consta de los siguientespasos [44]:

a. Estimacion de los (P + 1) valores de la FAC para las muestras disponibles:

Rx(k) =1N

N−k−1∑n=0

x∗(n+ k)x(n), k = 0, 1, ...P. (1.17)

b. Posterior a construir la ecuacion de Yule-Walker utilizando (1.17) y teniendo en cuentaque Rx(−k) = R∗x(k), se resuelve el sistema:

P∑k=0

akRx(m− k) =

σ2P , m = 0

0, m = 1, 2, ...P.(1.18)

c. Calculo de los valores para ak y σ2P a partir de (1.18).

d. Finalmente, se realiza la estimacion para Sx(ω), reemplazando en (1.12) los resultadosobtenidos en el paso anterior.

Debido a que el procedimiento de calculo descrito, exige una intensiva y compleja cargacomputacional, pueden aplicarse algunas propiedades de la ecuacion de Yule-Walker (con-tenidas en el algoritmo de Levinson-Durbin [44]), para facilitar su implementacion; Aunque,sin obtener desempenos favorables para aplicaciones en tiempo real.

7

Page 21: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 1.2: Topologıa equivalente para red neuronal usada en algoritmo de mınimos cuadrados.

Como alternativa, en [44] se propone un desarrollo a partir de estructuras con redes neu-ronales, cuya topologıa es similar a la visualizada en la figura 1.2, y que posibilita la obten-cion para dichos coeficientes, de una manera rapida y con reducido margen de error.

En general, al poseer informacion respecto de las componentes espectrales para una senalen particular, en el caso especıfico de procesamiento de voz, podrıa acoplarse al criterio deanalisis espectral, aplicado a deteccion de la frecuencia fundamental (o pitch), haciendo usode alguna de las tecnicas enunciadas en el numeral 1.2.1.

Analogamente, este tipo de metodologıa, posee amplia aplicacion dentro del marco de lossistemas de reconocimiento, tal como se presenta en [22], donde las RN se emplean paraejecutar la obtencion de parametros, en funciones Wavelet utilizadas para representacion yclasificacion de sonidos sordos.

1.2. Tecnicas de estimacion del pitch en tiempo real

1.2.1. Analisis estacionario sobre intervalos cortos de tiempo

En los metodos de analisis sobre intervalos cortos de tiempo, los segmentos de voz con lon-gitud T (denominada apertura), se procesan como si cada uno de ellos tuviese propiedadesestadısticas independientes [12]:

y [n] =∞∑

m=−∞Γ {x [m]}w [n−m] (1.19)

Donde x[n] corresponde a la senal digitalizada de voz, w[n] es la funcion ventana centradarespecto a la apertura T , escogida de manera que facilite la extraccion de caracterısticasacusticas en la senal de voz, mientras que Γ {.} constituye la transformacion a la cual sesomete la secuencia aleatoria original, y que en el calculo del pitch, emplea comunmente lafuncion de correlacion (Short Time Cross Correlation Function STCCF), o bien la transfor-mada de Fourier (Short Time Fourier Transform STFT), en calidad de operadores asociados[28].

8

Page 22: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Estimacion en el dominio del tiempo. En este caso, se aplica el analisis en inter-valos cortos (habitualmente de forma sıncrona), tomando en consideracion las siguientespropiedades [27]:

- La existencia de un armonico fundamental, o de una estructura repetitiva, a unavelocidad semejante con el perıodo del pitch.

- Tendencia para altas amplitudes al principio del perıodo fundamental, que iran de-cayendo hacia el epılogo del mismo.

- Presencia de una serie de discontinuidades en la senal de voz, enfatizadas principal-mente en terminos de su segunda derivada.

Por tanto, la mayorıa de los metodos de estimacion del pitch que operan en el dominiotemporal, realizan su extraccion a partir de la forma de onda de la senal [27]. Para ello,habitualmente, la etapa de preprocesamiento suele consistir en un filtro de paso bajo, quebusca eliminar o disminuir la influencia para altas frecuencias, dejando pasar los mınimosarmonicos posibles del fundamental. Por tanto, a su salida se aplicaran metodos comple-mentarios como detectores de umbral, o de cruces por cero.

Figura 1.3: Funcion de correlacion en intervalos cortos de tiempo.

Un primer algoritmo conocido como STCCF, toma en (1.19) la funcion rectangular deventaneo, w[n] = 1, como se ilustra en la figura 1.3, permitiendo determinar la FAC demanera vectorial, a partir de [11]:

Rx(τ) =~xi~xi+τ|~xi| |~xi+τ |

(1.20)

Donde la estimacion T0 del periodo fundamental se define como el argumento para el cualla STCCF toma su maximo valor, ası:

T0 = arg {max(τ)} , ∀T0mın 6 τ 6 T0max (1.21)

9

Page 23: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

La estimacion del pitch al realizarse sobre segmentos cortos de voz, supone previamentela toma de decisiones en cada intervalo de analisis, a partir de las siguientes hipotesis: lapresencia de sonidos (λ = 1) o su ausencia (λ = 0). Por tanto, como umbral de deteccionγ, puede ser empleado el primer coeficiente de reflexion derivado de (1.20):

R1x(τ) =~xi~xi+1

|~xi| |~xi|=

≤ γ, λ = 0

> γ, λ = 1(1.22)

En orden a obtener la estimacion no sesgada de la funcion de correlacion en (1.20), lamedia del proceso discretizado sobre el intervalo de analisis |µx| debe ser restada de la senaloriginal:

x0(n) = |x[n]− µx|w[n],−N/2 < n < N/2 (1.23)

De otro lado, en [53] se propone un algoritmo para calculo del pitch con mayor estabilidad,basado en la funcion diferencia de magnitud (Magnitude Difference Function AMDF), que sefundamenta en la utilizacion de muestras sucesivas de senal, para construccion del siguientemodelo:

∆x (k,m) =1N

m∑n=m−(N−1)

|x0 (n)− x0 (n− k)|w (m− n) (1.24)

Donde m equivale al numero de muestras empleadas en la estimacion, al tiempo que k co-rresponde con el retraso para el cual se calcula el AMDF.

En general, la estimacion del pitch basada en (1.20) y (1.24) esta afectada por la FAC, enla forma de ventana empleada [11]:

Rx(τ) ≈Ra(τ)Rw(τ)

(1.25)

Siendo Ra(τ) el equivalente de autocorrelacion normalizada para la senal enventanada, enla misma medida que Rw(τ) representa su contraparte sobre la funcion de ventana. Ası,considerando un tren de senales delta con periodo T0, definidas como:

x(k) =∞∑

n=−∞δ(k − k0 − nT0), 0 6 k0 6 T0 (1.26)

Para k0 denotando la fase de los pulsos con la ventana, se tiene que (1.25), sera:

Rx(T0) =

∑nw(k0 + nT0)w(k0 + (n+ 1)T0)

Rw(T0)∑nw2(k0 + nT0)

(1.27)

Luego, la exactitud del algoritmo depende directamente del tipo de ventana utilizado. Portanto, se asume que para el caso de aplicaciones en voz, la ventana Hanning es preferible a

10

Page 24: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

otras formas tıpicas, debido a su menor sensibilidad respecto a cambios rapidos de senal [11].

Adicionalmente, se considera como factor de distorsion en el calculo de la FAC, la dis-cretizacion del proceso original, (en cuyo caso, dicha FAC tambien sera discreta):

Rx[n] ≡ Rx(n∆τ) (1.28)

Por consiguiente, al existir un maximo local entre los intervalos de la FAC (m − 1)∆τ , y(m + 1)∆τ , o sea, Rx[m − 1] < Rx[m] > Rx[m + 1], entonces, la primera estimacion delpitch podrıa ser τmax = m∆τ .

Teniendo en cuenta los valores reales del pitch (< 300 Hz) y los estandares existentesen velocidades de discretizacion para senales de voz (≈ 10000 Hz), el valor de resolucionestara alrededor de los 9 Hz, obteniendose una precision lımite en la estimacion del 3 % [11].Ademas, el valor pico de la FAC puede disminuir hasta 2/pi, con lo cual, es practicamenteimposible determinar uno de los parametros acusticos, conocido como HNR. En [40], paramejorar la calidad de estimacion se proponen diferentes tipos de interpolacion alrededor delpunto m∆t, en particular, se plantea la siguiente serie truncada:

R(τ) ≈N∑n=1

R[nr − n] sinπ(ϕl+n−1)π(ϕl+n−1)

(12 + 1

2 cos π(ϕl+n−1)ϕl+N

)+

+N∑n=1

R[nl + n] sinπ(ϕr+n−1)π(ϕr+n−1)

(12 + 1

2 cos π(ϕr+n−1)ϕr+N

) (1.29)

Donde: nl corresponde al mayor entero ≤ τ∆τ , nr = nl + 1, ϕl = τ/∆τ − nl, ϕr = 1 − ϕl,

y N es la cantidad de terminos escogidos para truncar la serie. Como resultado se puedenobtener valores de precision comparables a 10−8 en la estimacion del pitch y de ±1 dB enla medida de HNR.

Figura 1.4: Banco de filtros para calculo de pitch.

Por cuanto, la presencia de ruido disminuye, en la misma medida que la precision de esti-macion, se han desarrollado una serie de algoritmos robustos, principalmente, en caso deruido blanco Gaussiano, ejemplo de los cuales son: el RAPT (Robust Algorithm pitch Track-ing) [32] y el algoritmo de deteccion del pitch basado en histogramas. Este ultimo empleala metodologıa multibanda de estimacion, a partir de la cual se tiene un banco de filtros

11

Page 25: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

pasabanda en conexion hıbrida cascada / paralelo (figura 1.4), cuyos respectivos anchos debanda se describen lineales a bajas frecuencias, con cambios logarıtmicos en altas escalas[11]. Por tanto, la estimacion del pitch en cada sub-banda, comprende los correspondientesprocedimientos de suavizado y deteccion de picos sobre la FAC, de cuyas distancias se ob-tiene el valor para periodo fundamental. Analogamente, la estimacion del histograma enlınea, es usada para discriminar segmentos de voz sonoros de los sordos. Metodos similaresse describen ampliamente en [37, 10, 21].

Finalmente, cabe anotar que en los algoritmos analizados de STCCF, a efectos de disminuirtiempos de computo, es preferible realizar el calculo numerico de la FAC empleando tecnicasque apliquen Transformada Rapida de Fourier [11].

Estimacion en el dominio de la frecuencia. Para este caso, la estimacion se basa en elempleo de la FFT sobre caracterısticas de tiempo contenidas en segmentos ventaneados dela senal de entrada, buscando enfatizar la informacion de sus armonicos.

El primer caso de analisis corresponde al Cepstral, como ejemplo de transformacion ho-momorfica [51], utilizada para descomponer tanto la envolvente, como la estructura fina delespectro en una senal de voz, por medio de la transformada inversa de Fourier, aplicadasobre el logaritmo espectral de los segmentos analizados [27]. Este metodo de estimacion sefundamenta en el modelo mas utilizado de produccion de voz, que supone su obtencion apartir de la accion conjunta de tres bloques principales:

- Un tren de impulsos periodicos P (z)

- La funcion caracterıstica discreta de la Glotis G(z), y

- La funcion de transferencia pulso del tracto vocal, incluyendo el efecto de radiacionM(z).

Luego, la senal de salida sera por producto: Y (z) = P (z) · G(z) · M(z), que para eldominio temporal, quedara en forma de convoluciones [27]. Por tanto, si el objetivo decualquier algoritmo para deteccion de frecuencia fundamental, es el aislamiento del terminoasociado a la periodicidad P (z), entonces, al conocerse la respuesta impulsiva del trac-to vocal, su efecto puede eliminarse por accion de filtrado inverso, simplemente haciendo:P (z) · G(z) = Y (z)/M(z). De lo anterior, surge el interrogante de como hallar la mejormanera para separar estas funciones (especıficamente, P (z) y G(z)). Una solucion que pro-ponen los sistemas de deconvolucion Cepstral, es la utilizacion de un operador logaritmo,para convertir las operaciones de multiplicacion en sumas [27], y luego aplicar la transforma-da inversa de Fourier sobre la secuencia resultante, para obtener un pico, localizado a unafrecuencia relacionada con el perıodo de pitch, en el segmento de voz original. Lo anteriorpuede expresarse a partir de [4] como:

C(τ) = F−1{

log |F {x(t)}|2}

(1.30)

Donde C(τ) es la funcion Cepstrum, F (x) es el operador para la transformada de Fourier, yx(t) corresponde al segmento de senal bajo analisis. Igualmente, para el caso de la frecuenciafundamental [4]:

f0 =1

τMAX, C(τmax) = max |C(τ)| , τ > 0 (1.31)

12

Page 26: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

De otro lado, existen metodos basados en histogramas [32], para los cuales, se genera laconstruccion de dicho recurso, utilizando los intervalos de distancia presentes entre dife-rentes armonicos localizados, en aras de realizar analisis espectral sobre segmentos de voz.Por tanto, aquel valor que mas veces se produzca, correspondera con el perıodo de pitch.De esta manera, no sera necesario conocer cual es el primer armonico, sino, que por com-paracion sucesiva, puede determinarse la frecuencia fundamental para el segmento analizado.

Dentro de esta clase de algoritmos para calculo de pitch, esta el de producto de armonicosespectrales (Harmonic Product Spectrum - HPS), que asume como frecuencia fundamentalpara una senal periodica, al maximo comun divisor de sus frecuencias armonicas [42]. Loanterior, puede conseguirse como sigue: Si el espectro de una senal se comprime en un factorde 2, consecuentemente el segundo armonico se localizara en la posicion de la frecuenciafundamental (pitch). Por tanto, multiplicando este espectro comprimido con el espectrooriginal, se modificara el pico de la frecuencia fundamental, un numero de veces equivalentea la magnitud de este armonico [42]. De la misma manera entonces, puede ser explotada lapresencia de un tercer, cuarto o mayor armonico, a partir de la compresion para el espectrooriginal en factores de 3, 4 o mas, derivando un cambio proporcional para la magnitud delos picos [42].

Luego, si posteriormente se realiza la suma de dichos productos (o de sus logaritmos), yse asume una independencia estadıstica entre componentes, se obtendra como resultadola probabilidad conjunta total, con un valor maximo correspondiente a la componente defrecuencia fundamental.

Figura 1.5: Ilustracion para producto de armonicos espectrales.

Finalmente, puesto que aquellos armonicos no correlacionados tienden a cancelarse, estemetodo permite mejorar su robusticidad inherente a los efectos de ruido [42]. Una con-sideracion alternativa para esta clase de estimacion, se expone en [54].

Otro tipo de sistemas que operan en el dominio de la frecuencia, son aquellos que se rigenpor el principio del peine [27], cuya idea basica consiste en la busqueda de una estructuraperiodica de forma armonica, en el espectro de la senal de voz. Para ello, se lleva a cabola correlacion de dicho espectro, con uno en forma de peine, definido por la frecuencia fun-damental f0. La solucion, en realidad coloca picos de amplitud decreciente a medida queaumenta la frecuencia del mismo, por la propia reduccion de energıa asociada a frecuenciasmayores en el sistema de produccion de voz [27].

Por ultimo, es necesario comentar que, para la mayorıa de los algoritmos existentes en eldominio de la frecuencia, un problema inherente, es aquel asociado con el hecho de que laSTFT divide el ancho de banda de audio en conjuntos de canales de frecuencia igualmente

13

Page 27: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

espaciados (en donde cada canal esta n Hz lejos de sus vecinos), y por tanto, puesto quela percepcion humana del pitch es basicamente logarıtmica, se obtiene una reduccion dedesempeno para valores de frecuencia altos en comparacion con los bajos (mas frecuentes ycaracterısticos) [2].

1.2.2. Analisis no estacionario conjunto tiempo - frecuencia.

La figura A.1, ejemplifica el instante de cierre glotico (GCI), donde se exhibe un pico con-siderado como fenomeno transciente, o singularidad, que lleva consigo informacion acercade la vibracion de las cuerdas vocales [52]. Hasta hace poco, la transformada de Fourierera la unica herramienta matematica utilizada para analizar tales singularidades, generan-do informacion acerca de aspectos globales, y no especıficos como localizacion temporaly distribucion espacial para las mismas [49]. Lo anterior, se ha convertido en una mayormotivacion para el estudio de las Wavelet, dentro del campo matematico y de las cienciasaplicadas, debido principalmente a que, a partir de una descomposicion en bloques elemen-tales de tiempo y frecuencia, es posible caracterizar las regularidades locales referentes a lasenal analizada.

En su forma diadica [46], la transformada Wavelet de una senal f(t) se define por la relacion:

Wf(u, 2j) =

∞∫−∞

f(t)1√2jψ

(t− u

2j

)dt = f ∗ ψ2j(u) (1.32)

Donde u es el retardo temporal, 2j es el parametro de escala, y ψ(t) corresponde a unafuncion Wavelet [14], para la cual:

∞∫−∞

ψ(u)du = 0 (1.33)

Siendo notada su respectiva transformada de Fourier como ψ(ω). Por tanto, ψ(t), puedeconsiderarse como una funcion Wavelet, sı y solo sı su transformada de Fourier satisface lacondicion [49]:

∞∫0

|ψ(ω)|2

ωdω =

0∫−∞

|ψ(ω)|2

ωdω = Cψ <∞ (1.34)

Desde el punto de vista del procesamiento de senales, la Wf(u, 2j) (Transformada WaveletDiadica), puede ser considerada como la salida de un banco de filtros pasa banda, de unaoctava, con factor de calidad Q, y respuesta impulsiva dada por [14]:

12jψ

(t

2j

)(1.35)

Para cada escala 2j . Luego, con base en los resultados obtenidos por Mallat [46], quiendemostro que si una senal f(t) o alguna de sus derivadas, poseen discontinuidades, entoncesel modulo de la transformada para este caso, exhibe un maximo local alrededor del punto dediscontinuidad. Por tanto, si se escoge la funcion Wavelet ψ(t) tal, que sea primera derivada

14

Page 28: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

de una funcion plana f(t) (o que posee un espectro concentrado en la region de baja fre-cuencia) [39], entonces los maximos locales indicaran puntos de transicion, mientras que losmınimos locales del modulo de la transformada diadica corresponderan a los puntos de esta-cionariedad de la senal [27]. Esta propiedad se utiliza para realizar la estimacion del periodoinstantaneo de pitch, dado que el momento de cierre de la glotis provoca cambios bruscosen la derivada del flujo de aire proveniente de los pulmones, que se refleja en transitorios dela senal de voz. La diferencia importante con otras funciones que poseen un maximo en elGCI, es que dichos maximos pueden ser detectados a traves de diferentes escalas diadicas.Este hecho asegura una mayor confiabilidad para el metodo, debido al establecimiento deun criterio de decision multicanal (multiescala) [49].

La transformada de Wavelet, puede ser calculada de forma discreta utilizando el algoritmopiramidal propuesto en [46] (figura 1.6), donde para cada escala, se genera un filtro pasabanda a partir de una combinacion de filtros de paso alto y paso bajo en cuadratura, y parael cual, la cantidad de coeficientes de la transformada, decrece sobre cada nivel, conduciendoa una representacion multiresolucion con mayores detalles en escalas finas [49].

Figura 1.6: Algoritmo piramidal para calculo de Wavelets diadica.

La Wf(u, 2j) puede considerarse como herramienta util para el analisis de senales de voz,debido a su propiedad de linealidad e invariancia en el tiempo, puesto que muchas veces,dichas senales se modelan como combinaciones lineales de sinusoides desplazadas y amor-tiguadas [39].

En terminos generales, la transformada diadica podrıa calcularse teoricamente para cualquierescala 2j [52]. Sin embargo, en la practica, diferentes aspectos limitan la cantidad deparametros de escala necesarios para obtener informacion relevante, basados en la natu-raleza de las senales de voz, que pueden ser ampliamente clasificadas entre sonidos habladoso mudos. Principalmente, se toman en cuenta particularidades como: que la voz general-mente abarca solamente 10 octavas dentro del espectro, o que el periodo de pitch parasonidos hablados corresponde a fenomenos de baja frecuencia (30 - 500 Hz), al igual quetambien el hecho de que los sonidos mudos sean de naturaleza aleatoria y contengan in-formacion de alta frecuencia. De donde consecuentemente, se ha encontrado que calcularla Wf(u, 2j) en tres escalas diadicas (sobre los ultimos niveles de descomposicion), es sufi-ciente para el proposito de estimar el periodo de pitch [39].

De otro lado, la decision para calcular la Wf(u, 2j) en alguna escala especıfica, para de-terminacion del periodo fundamental, se hace teniendo en cuenta la compatibilidad entreel numero de maximos locales y las localizaciones de los mismos en escalas sucesivas [14].De ser ası, el periodo de pitch se estima midiendo el intervalo de tiempo promedio entre

15

Page 29: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

tales maximos, sobre un determinado umbral. Si no corresponden, se calcula la Wf(u, 2j)para la siguiente escala, repitiendose el proceso hasta alcanzar la cota superior (j = 6). Si elnumero de maximos locales y su localizacion temporal, no son compatibles para ningun parde escalas consecutivas, entonces se considera al segmento como mudo y el pitch se asociacon un valor de cero [39].

1.2.3. Estimacion de contornos del pitch

La representacion grafica, de la secuencia de instantes de cierre glotico (GCI), correspondeal contorno basico para periodos de pitch, y se construye ubicando los puntos de GCI en el ejehorizontal, en tanto que se disponen de forma vertical los intervalos sucesivos de ocurrenciaentre los mismos, para conformar un plano de variacion temporal [19]. Un ejemplo se ilustraen la figura 1.7, donde el par superior, corresponde respectivamente a: un segmento parala secuencia en ingles We were away a year ago..., y su contorno resultante. Los panelesrestantes del grafico, estan referidos al analisis para la totalidad de puntos de toda la cadena.

Inicialmente, se realiza la estimacion para los instantes de cierre glotico (GCI), a partirdel algoritmo basado en el calculo del Cepstrum, complementado por procesos umbraliza-dos para deteccion de picos (Anexo A). Posteriormente, dichos instantes, se almacenan enun vector a manera de secuencia, en donde los intervalos de distancia entre los mismoscorresponderan con una medida para el periodo de pitch [19].

Figura 1.7: Senales de voz y de contorno de pitch asociado.

Para efectos de analisis sincronizado y sıntesis de voz, estos valores determinaran los tiemposde generacion para pulsos gloticos, al igual que de actualizacion en parametros del tractovocal. Por tanto, un metodo para modificar el contorno del pitch, se consigue tras alterar losvalores contenidos en este vector GCI [19]. Tal modificacion, puede convertirse en un factorimportante dentro de procesos para creacion o imitacion de tipos de voz, dado que tras unsimple cambio en la longitud de la secuencia, o de distribucion de la misma, podra obtenerse

16

Page 30: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

dispersion para valores de frecuencia fundamental y otras caracterısticas de entonacionpropias del segmento analizado. Por tanto, esta sera la idea principal utilizada, para obtenerel modelo modificado de un contorno de pitch, a partir de tres componentes principales:

- Una que modela el valor promedio para el pitch, correspondiente a un termino demagnitud constante, representando el periodo fundamental.

- Otra que se encarga de la variacion en estado estable o de tiempo amplio para elcontorno, denominada onda de pitch (que se relaciona con la entonacion).

- Finalmente, se incluye una perturbacion de escasa duracion, denominada Jitter.

Los anteriores modelos se fusionan de la manera representada en la figura 1.8, para obtener elcontorno resultante, con la ventaja de generar informacion sobre caracterısticas perceptualesde manera independiente (y modificable) [19]. Por ejemplo, se podrıa alterar el periodofundamental sin modificar los valores para onda de pitch o del Jitter.

Figura 1.8: Modelo para contorno de pitch.

Adicionalmente, se subdivide el contorno obtenido en patrones: de inicio, caıda, y de lıneade base, cada uno de los cuales puede ajustarse a un polinomio de segundo orden a partirdel uso de aproximacion vıa coeficientes de mınimos cuadrados, o de funciones spline detercer orden.

En resumen, el modelo para contorno de pitch, se estima como sigue [19]:

- Transformar la secuencia de valores de GCI en un contorno de pitch. Calcular el valormedio, que correspondera con el periodo fundamental.

- Suavizar el contorno obtenido, (en este caso, utilizando un filtro de mediana de 5toorden), y restar el resultado con el valor generado en el ultimo paso. Lo anteriorcorrespondera a la onda de pitch.

- Restar el contorno original, de la suma entre la onda de pitch y el perıodo fundamental,para luego calcular la desviacion estandar en la secuencia resultante. De esta manerase obtiene el Jitter.

- Adicionar la accion para las tres componentes fundamentales, y dividir la onda deriva-da en patrones correspondientes a los segmentos de: crecimiento, caıda y lınea de base.

17

Page 31: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Aproximar cada patron con un polinomio de segundo orden o una funcion spline detercero. El resultado final, sera el considerado como modelo para contorno de pitchdefinitivo [19].

1.3. Estimacion en tiempo real sobre procesadores digitalesde senal (DSP)

1.3.1. Implementacion de algoritmos en tiempo real

Relacion algoritmo - arquitectura. Es posible realizar consideraciones de implementa-cion algorıtmica, para obtencion de soluciones optimas, a partir de una adecuada formu-lacion en terminos de recursos disponibles, y sobre valores requeridos de precision para elsistema analizado [18]. Ası mismo, sera necesario generar una metodologıa de descripcion,que facilite el desarrollo de la arquitectura, y permita ejecutar el calculo de factores clave,referidos a cuantificacion de rendimiento en tiempo real, latencia, y ancho de banda paracomunicacion entre modulos. Por tanto, dicha metodologıa debe soportar procedimientosde entrenamiento y validacion, sobre varias divisiones de orden inferior, tanto a nivel dearquitectura, como de algoritmos [18].

Descripcion y particionamiento para algoritmos. Un algoritmo puede ser descritopor ecuaciones, lenguajes para procesamiento grafico de senales, de proposito general, dealto nivel o de codigo maquina (lenguaje ensamblador) [18].

De otro lado, un grafico para flujo de datos (DFG), elaborado con base en conexiones denodos y arcos, puede utilizarse como descripcion de particiones entre dichos algoritmos,donde, un nodo se constituye por una tarea, que puede incluir una o mas instrucciones, yque requiere de una entrada, a la cual realiza algun tipo de transformacion, para producir undato de salida. Estos nodos, adicionalmente requieren de un tiempo particular de ejecucion,para generar resultados.

Analogamente, un arco representa trayectorias para flujo de datos, y se describe por unnodo fuente, un nodo de destino, ademas de anchos de banda y retardos de comunicacionespecıficos [18]. En la figura 1.9 se presenta el diagrama para un grafico de este tipo.

Luego, un algoritmo se particiona subdividiendolo en una estructura de unidades paralelasy secuenciales, que implican la adecuacion de segmentos para cumplir con requerimientosde tiempo de proceso, almacenamiento, y anchos de banda para recursos disponibles, demanera que faciliten en conjunto, el desempeno de aplicaciones en tiempo real. Por tanto,este procedimiento puede surgir a partir del siguiente analisis aplicado sobre un DFG:

- Relacion entre dependencia y precedencia de datos.

- Deteccion de paralelismos.

- Desarrollo de agrupaciones para combinacion de multiples operaciones por tarea, yparticionamiento de programas en procesos que incrementen su eficiencia.

- Enlaces y tiempos de comunicacion, que caractericen la arquitectura objetivo, entreotros aspectos de interes [18].

Particionamiento y descripcion de la arquitectura. La forma de particion aplicadasobre un algoritmo, efectua una notable influencia sobre la estructura de interconexion fısicao arquitectura, para la topologıa empleada. En el caso de sistemas de multiproceso (como

18

Page 32: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 1.9: Representacion para flujo de datos: escasa definicion (der), y amplia definicion (izq).

son la mayorıa), una topologıa inadecuada lleva a la aparicion de sobrecargas de operacionque afectan el desempeno del sistema en conjunto. Tales sobrecargas, pueden reducirse trasrealizar una adecuada distribucion de componentes, a partir de [18]:

- Particionamiento sobre flujo de datos: consistente en la localizacion para fronteras departicion, a lo largo de areas del diagrama estructural, que tienen un trafico mınimoen cuanto a circulacion de datos (ancho de banda mınimo).

- Particionamiento sobre flujo de control : localizacion para fronteras de particion quebuscan minimizar la sincronizacion requerida entre modulos.

Igualmente, los parametros para definir descripciones de desempeno en una arquitectura,incluyen:

- Temporizacion de recursos: especificaciones para nodos procesadores en cuanto a eje-cucion de primitivas de senal (rendimiento y retardo, o latencia).

- Configuracion de nodos: consideraciones para interconexion de puntos base.

- Retardos de comunicacion: requerimientos para propagacion de datos en un enlace[18].

De otro lado, se han desarrollado multiples mecanismos para describir la arquitectura, a par-tir de segmentos que incluyen: estructuras escasamente definidas (coarse-grained), de ampliadefinicion (fine-grained), al igual que elementos del procesador como: registros, memorias,ALU, multiplicadores, etc. El mas simple de dichos mecanismos, corresponde al diagrama debloques, que es la contraparte para el flujo de datos utilizado en descripcion de algoritmos.Un lenguaje para descripcion de la arquitectura, que utiliza este principio, es el VHDL (Veryhigh speed integrated circuit Hardware Description Language), tras analizar el sistema desdemultiples niveles de abstraccion, y siendo apropiado para sıntesis y simulacion, al igual quepara efectos de documentacion [18].

Otro metodo para descripcion de la arquitectura, amplia las ideas expuestas anteriormen-te, al incluir el uso de un modelo con memoria de proposito general, como soporte paralatencias de hardware y sobrecargas de software, que modela tiempos de comunicacion re-currentes (setup) y no recurrentes (de transferencia). Especıficamente: Td tiempo de inicio,

19

Page 33: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

que depende de la sobrecarga para el protocolo de comunicacion, y τd tiempo de transmisionpara una unidad de datos, a su vez dependiente del hardware destinado a ejecutar dichoprocedimiento.

Luego, utilizando este modelo, el tiempo T de comunicacion para transferir m unidades dedatos estara dado por:

T = Td + τd (1.36)

Que para el caso de arquitecturas con procesadores de comunicacion dedicados, se reducenal tiempo de inicio Td. Por tanto, el procesador principal realiza la ejecucion de procesos,mientras el de comunicacion se encarga de transferir los m ıtem de datos. Adicionalmente,este esquema provee la operacion global de comunicacion, consistente en un valor constanteτg (si se tiene disponible el hardware dedicado), o de un tiempo punto a punto, si el esquemade comunicacion utiliza primitivas en el procesador principal [18].

Procedimientos de mapeo. El objetivo de un procedimiento de mapeo, se fundamentaen la disposicion optimizada de operaciones a ejecutar, en conformidad con los recursosde procesamiento disponibles, para lo cual pueden emplearse multiples criterios de op-timizacion, incluyendo la maximizacion de salidas para conjuntos fijos de recursos com-putacionales, la minimizacion de recursos necesarios para conseguir especificaciones de de-sempeno en tiempo real, al igual que de potencia, costo y tamano del sistema [18].

La representacion esquematica para este proceso de mapeo, se ilustra en la figura 1.10,donde multiples segmentos de algoritmos (parte superior), se acoplan a un conjunto de re-cursos computacionales (inferior).

Figura 1.10: Mapeo entre algoritmos y arquitecturas.

En [18], se plantea el problema de mapeo a manera de un formalismo matematico, quepermite el uso de tecnicas de optimizacion sistematica como parte de la programacion inte-gral. Otros autores por su parte, han acoplado esta filosofıa con aplicaciones que permitenposicionar y planificar simultaneamente, unidades funcionales dentro de una arquitecturadestinada al procesamiento digital de senales.

20

Page 34: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A pesar de la amplia disponibilidad de herramientas matematicas, la mayorıa de mapeosentre la arquitectura y sus respectivos algoritmos, se desarrollan de manera heurıstica.La particion de muchos tipos de algoritmos, puede desarrollarse por inspeccion, cuando loscanales de entrada de datos, son independientes y la secuencia de pasos de proceso esta biendefinida. Sin embargo, al realizar consideraciones de tiempo real, se introducen compleji-dades como: cambio de entradas por lotes a entradas continuas, traslape en lıneas de tiempopara hilos de proceso, precedencia de datos y sincronizacion forzada. Solo en casos simples,son suficientes las inspecciones heurısticas o empıricas para conseguir mapeos consistentes[18].

Finalmente, una medida para el grado de optimizacion del mapeo entre algoritmos y su ar-quitectura, se establece a partir del grado de ocupacion temporal para los diferentes elemen-tos de proceso. Mientras mas procesadores sean adicionados al problema, menor utilizacionse efectuara sobre cada uno, y por tanto, el rendimiento total no mostrara un crecimientolineal [18].

DSP vs. FPGA en sistemas de procesamiento de senal. Los procesadores digitalesde senal (DSP) y los arreglos de compuerta de campo programable (FPGA), tienen areas deaplicacion suficientemente definidas dentro del marco del procesamiento digital de senales[36]. Dependiendo de la tarea especıfica a desempenar (en tiempo real), la explotacion delas ventajas para cada una de estas tecnologıas, permitira obtener el mayor provecho, enterminos de los recursos disponibles para cada aplicacion.

Entre las ventajas que ofrecen los procesadores de DSP, se pueden mencionar [36]:

- Eficiencia de desempeno comparada con otros tipos de procesadores, debido a sucondicion de uso particular (dedicado).

- Minimizacion en costo y riesgo, para el desarrollo de aplicaciones, consecuencia deuna tecnologıa con extensa experiencia en sus bases de diseno.

- Soporte para ejecutar aplicaciones, con gran cantidad de operaciones de multiplicaciony acumulacion (MAC) por segundo [26].

- Posibilidad para ejecutar manipulacion de aritmetica compleja y de punto flotante.

- Entornos de programacion mas amigables (C / C++), para desarrollo de aplicacionesen procesamiento de senales.

Mientras, que para el caso de los dispositivos FPGA, encontramos [17]:

- Facilidad para adecuar estructuras en procesos con alto paralelismo [26].

- Soporte para multiples puertos de memoria.

- Mayor velocidad para ejecucion de operaciones simples en secuencias fijas.

- Mayor densidad computacional, respecto a consumo de potencia, al igual que

- Mayor relacion entre conjuntos de datos y resolucion (8 - 12 bits).

Con base en lo anterior, se ha facilitado el desarrollo de multiples librerıas, destinadas paraaplicaciones especıficas en procesamiento de senales, como las contenidas en la tabla 1.1.

21

Page 35: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Tabla 1.1: Librerıas disponibles para bloques en DSP y FPGA.

CONJUNTO DE APLICACION FUNCIONES DESARROLLADAS

Filtros y transformadas FIR

IIR

FFT

Wavelet

Correlacion

LMS

Filtro de Lattice

Transformada Hadamard

Generadores de funciones

Correccion de errores Viterbi

CRC

Reed Solomon

Turbo

Encriptacion DES/3DES

Hash

Algoritmos de voz / telefonıa Generacion y deteccion de tonos

Busqueda de mınima energıa

Busqueda de libro de codigos

Control de ganancia

Ecualizador

Funciones Matematicas Aritmetica compleja

Evaluacion polinomial

Operaciones vectoriales y matriciales

22

Page 36: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

1.3.2. Modelos de cuantizacion de ruido

En el campo del procesamiento digital de senales, cualquier algoritmo de analisis y filtracion,puede ser desarrollado a partir de la utilizacion de ecuaciones de diferencia (recursivas y norecursivas) en el tiempo, o bien, empleando tecnicas basadas en la transformada discretade Fourier [31]. Luego, independiente del metodo empleado, ambos permiten ejecutar laimplementacion para dichos algoritmos a nivel de hardware, utilizando circuitos digitales[31], en calidad de sistemas de dominio discreto, caracterizados por coeficientes constantes,cuyos valores se restringen a un rango especıfico, ajustado a las limitaciones por tamanopara registros de almacenamiento, evidenciados en el dispositivo de proceso.

Por tanto, en forma general, el procedimiento de discretizacion modifica la expresion delsistema, al caso de ecuaciones de diferencia no lineales, de difıcil analisis [31]. Sin embargo,si el valor de cuantizacion es pequeno comparado con los valores propios de representacionde las variables de senal, ası como de las constantes de filtracion, se pueden derivar expre-siones analıticas simplificadas correspondientes a efectos de discretizacion, verificables demanera experimental.

Inicialmente, analizando los errores para implementacion de filtros digitales, se consideraun filtro del tipo IIR de primer orden, definido mediante la siguiente ecuacion en diferenciaslineal y de coeficientes constantes:

y[n] = αy[n− 1] + x[n] (1.37)

Donde y[n] y x[n] corresponden respectivamente a las senales de salida y entrada para elsistema filtro, relacionadas a partir de la siguiente funcion de transferencia:

H(z) =1

1− αz−1=

z

z − α(1.38)

Que al ejecutarse sobre un procesador digital, permite representar solamente valores discre-tos α, aproximados para el coeficiente de filtro original α [31]. Con lo cual se obtiene unaexpresion real de implementacion dada por:

H(z) =z

z − α(1.39)

Presentando caracterısticas de respuesta (en tiempo y frecuencia), diferentes respecto delcaso originalmente propuesto en (1.38), generando ası, un inconveniente similar al de sensi-bilidad encontrado para implementacion de filtros analogicos.

De otro lado, si se asume que la secuencia de entrada x[n], corresponde a la version digita-lizada de una senal continua x0(t), como consecuencia del efecto realizado por accion de undispositivo conversor analogico a digital (A/D), entonces, la salida x[n] para dicha etapapuede expresarse a partir de:

x[n] = x[n] + e[n] (1.40)

Donde e[n], constituye el error de cuantizacion introducido en el proceso de conversion [31].

23

Page 37: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Adicionalmente, la cuantizacion de operaciones aritmeticas, conduce a otras fuentes de error.Como ejemplo, considerese la salida del multiplicador v[n], obtenida como:

v[n] = αy[n− 1] (1.41)

Resultado que se cuantiza, para ajustarse al registro de almacenamiento, a partir de:

v[n] = v[n] + eα[n] (1.42)

Donde eα[n] corresponde al error adicional generado por el proceso de cuantizacion del pro-ducto.

Debido a la no linealidad causada por cuantizacion de operaciones aritmeticas, es posiblegenerar otros tipos de error para implementacion de filtros digitales, manifestados en formade oscilaciones (o ciclos limite) en la salida del sistema, para el caso de poseer excitacionesde tipo nulo, constante o sinusoidal [31].

Dependiendo del tipo de representacion, y de la forma de cuantizacion, de que se haga usopara expresar una cantidad binaria, pueden definirse los siguientes rangos para errores decuantizacion:

Tabla 1.2: Rangos para error de cuantizacion.

Tipo de cuantizacion Representacion numerica Rango de error Q(x) - x

Truncamiento Numeros positivos −δ < εt 6 0

Numeros negativos en complemento a DOS

Truncamiento Numeros negativos en magnitud - signo 0 6 εt < δ

Numeros negativos en complemento a uno

Redondeo Todos los numeros positivos y negativos −δ/2 < εr 6 δ/2

Donde δ equivale a 2−b, b es la cantidad de bits empleada en la representacion de cadapalabra, εr es el error de representacion, y εt corresponde al error de truncamiento.

Basados en el modelo de la figura 1.11, puede evaluarse el efecto generado por el ruido decuantizacion e[n], considerado aditivo, y que actua sobre la senal de entrada x[n], a partirde la siguiente relacion senal-ruido:

SNRA/D = 10 log10

(σ2x

σ2e

)dB (1.43)

Donde σ2x corresponde a la varianza de senal en entrada (o potencia media de la senal), y

σ2e a la varianza de ruido que representa igualmente la potencia de ruido de cuantizacion.

Para efectos de redondeo, se asume que el error de cuantizacion posee una distribucionuniforme en el rango (−δ/2, δ/2), como se indica en la figura 1.12. Ası, en el caso particularde un conversor A/D con (b+1) bits, donde δ = 2−(b+2)RFS (para RFS equivalente al rangoen escala completa), se encuentra que [31]:

σ2e =

2−2b(RFS)248

(1.44)

24

Page 38: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 1.11: Modelo estatico para cuantizador A/D.

Sustituyendo (1.44) en (1.43), se obtiene:

SNRA/D = 10 log10

(48σ2

x

2−2b(RFS)2

)= 6,02b+ 16,81− 20 log10

(RFSσx

)dB (1.45)

La expresion (1.45) se utiliza en la determinacion de longitudes mınimas de palabra, re-queridas por el conversor A/D, para satisfacer las especificaciones de desempeno en cuantoa relacion senal/ruido de cuantizacion. Como puede verse, esta magnitud se incrementa enaproximadamente 6 dB por cada bit adicionado. Luego, para una longitud dada, el valorde SNR real, dependera del ultimo termino, que a su vez depende de σx (valor rms para laamplitud de senal en entrada), y del rango en escala completa RFS para el conversor.

Figura 1.12: Funcion densidad de probabilidad para error de cuantizacion.

La senal cuantizada x[n] que se genera en el conversor A/D, es procesada por un sistemadiscreto H(z) lineal e invariante en el tiempo, para el cual interesa determinar la forma depropagacion de los errores presentes en la senal (error de cuantizacion, asumido con pre-cision infinita) [31]. Igualmente, como ya se ha demostrado, la cuantizacion de operacionesaritmeticas genera errores dentro de la estructura del sistema, que se evidencian como al-teraciones en valores de salida.

Por tanto, puede asumirse a cada una de estas fuentes de ruido, como entidades inde-pendientes, de manera que tras realizar analisis individualizados para cada accion, puedacombinarse su efecto en la salida como una expresion para las perturbaciones resultantesgeneradas.

Debido a la propiedad de linealidad, y sobre la presuncion de no correlacion entre las senalesx[n] y e[n], puede asumirse la salida del sistema y[n], como la suma de dos secuencias: la

25

Page 39: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

primera, y[n] generada por la senal de entrada no cuantizada x[n] y, la segunda, v[n] gene-rada por la secuencia de error e[n], como se muestra en la figura 1.11.

Resultado de lo anterior, es posible efectuar el calculo para la componente de ruido en lasalida v[n], a partir de la convolucion lineal entre la senal e[n] y la respuesta impulsiva h[n]para el sistema lineal e invariante en el tiempo [31]:

v[n] =∞∑

m=−∞e[n]h[n−m] (1.46)

Luego, asumiendo un valor medio, para el ruido mv en la salida como:

mv = meH(ei0) (1.47)

Donde me corresponde al valor medio de error (diferente de cero), cuando se asume algunamodalidad de truncamiento, y tras definir su correspondiente varianza, σ2

v , a partir de:

σ2v =

σ2e

π∫−π

∣∣H(eiω)∣∣2dω (1.48)

Es posible determinar la siguiente expresion para el espectro resultante de ruido en la salida:

Sv(ω) = σ2e

∣∣H(eiω)∣∣2 (1.49)

Al igual que la varianza normalizada para el mismo, como:

σ2v,n =

σ2v

σ2e

=12π

π∫−π

∣∣H(eiω)∣∣2 dω (1.50)

Que alternativamente, puede expresarse en funcion de:

σ2v,n =

12πi

∮C

H(z)H(z−1)z−1dz ∼=∞∑

n=−∞|h[n]|2 (1.51)

Donde C corresponde al contorno en sentido horario que encierra los lımites para la regionH(z)H(z−1).

26

Page 40: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Capıtulo 2

Diseno e implementacion delsistema en tiempo real

En este capıtulo, se realiza la division modular, aplicada al procedimiento de estimacion delpitch en senales de voz, con base en el desarrollo de una metodologıa para especificacion desistemas en tiempo real, a manera de etapas constitutivas fundamentales [29], que cubriendolos respectivos procesos de particion [18] y analisis (o verificacion [47]), permita adecuar elmodelo obtenido, a una estructura de hardware disponible [8].

2.1. Procedimiento de especificacion

2.1.1. Formulacion del problema

El primer paso considerado dentro del proceso de diseno efectuado sobre sistemas en tiem-po real, corresponde a la definicion formal para tareas a desempenar [47], de una manerasuficientemente clara y concisa, tal que permita evitar de inicio, posibles divergencias almomento de desarrollar implementaciones, y asegure desempenos eficientes, reflejados enacierto de resultados.

Por tanto, con respecto al caso particular considerado como objetivo de este proyecto, dichatarea consiste en determinar la frecuencia fundamental f0 en senales de voz, a partir de laimplementacion de un algoritmo, utilizando tecnicas sobre procesadores digitales de senal,de manera que los resultados obtenidos tras aplicar el metodo de estimacion, sean conse-cuentes con aquellos generados por un sistema de referencia.

Figura 2.1: Nivel superior.

Lo anterior, corresponde al nivel superior, representado en la figura (2.1), y para el cual

27

Page 41: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

se genera la siguiente condicion, formulada en terminos de simbologıa matematica simple,basada en el modelo descrito por [29]:

<< ahora = 0 >> DSP hw << CDSP hw >>

CDSP hw ≡ ∀t1, t2 ∈ Z {0, 1...} : t2 > t1 ⇒

∃si [t1, t2] , p [t1 + ∆t, t2 + ∆t] /abs (p− p) < e

(2.1)

Que enuncia lo siguiente:

1. << Para el instante actual >> el bloque DSP hw (Nivel superior)<< debe cumplirla condicion CDSP hw>>

2. Dicha condicion (CDSP hw), asume que para todo tiempo t1 y t2, enteros positivos,y tal que t1 > t2, entonces:

3. Debe existir una senal de entrada (si) durante el intervalo [t1, t2], que produzca unresultado para pitch estimado (p), en el intervalo [t1 + ∆t, t2 + ∆t] (donde ∆t co-rresponde al tiempo de retardo generado por procesos de calculo), y tal que dichoestimado no genere un error superior al maximo preestablecido e, respecto al valor dereferencia p.

A partir de esta notacion, se definiran etapas subsiguientes, que corresponden con nivelesinferiores, dentro de la estructura asignada para el arbol de particion (figura 2.5).

2.1.2. Primer nivel de particionamiento

En este, se considera la division inicial para el bloque de nivel superior DSP hw, en:

- Una componente de hardware, equivalente al sistema de adquisicion (DSP codec [8]),

- Al igual que, una componente de Software, encargada de manipular la operacion delanterior, a traves de ejecucion de instrucciones del sistema (Sist soft).

Figura 2.2: Primer nivel de particionamiento.

Luego, el requerimiento a este nivel, se restringe al desarrollo del proceso de senal, convelocidad suficiente para la cantidad de muestras adquiridas. Evitando ası, inconsistenciaspor perdida de datos, consecuencia de muestreo por encima o por debajo del valor nominal(upsampling o downsampling, respectivamente [31]). Por tanto, se definen las siguientes

28

Page 42: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

condiciones sobre dichos sub-bloques:

<< ahora = 0 >> DSP codec << CDSP codec >>

CDSP codec ≡ ∀n <∞; τ, n0 ∈ Z+, τ 6= 0 ⇒

(DRR(n)∀n ∈ [n0, n0 + τ ] → sample(si))

(2.2)

Inicialmente en el codec, para todo valor de tiempo discreto n, positivo y finito, debecumplirse que la asignacion transferida en cualquier instante, hacia el registro de recepcionde datos (DRR), corresponda con un valor perteneciente al conjunto de muestras de senalen entrada si, durante un intervalo [n0, n0 + τ ], donde n0 equivale al instante inicial, altiempo que τ se relaciona con el periodo de muestreo (diferente de cero).

<< ahora = 0 >> Sist soft << CSist soft >>

CSist soft ≡ ∀n ∈ [n0, n0 + τ ] ⇒

∃DRR(n)/ ∈ {sample(si)}

(2.3)

De la misma manera, el software de sistema, requiere que durante el intervalo [n0, n0 + τ ],el valor proveniente desde el registro de recepcion de datos (DRR), pertenezca a una de lasmuestras de senal en entrada si.

Las premisas anteriores, buscan establecer la correcta sincronizacion entre los diferenteseventos implicados en el procedimiento de adquisicion [46].

2.1.3. Segundo nivel de particionamiento

Para esta etapa, se asume una nueva subdivision, esta vez aplicada sobre el bloque, softwarede sistema (Sist soft), en:

- Rutina para servicio de interrupcion, y

- Receptor de puerto serial multicanal (McBSP [7]).

Seguidamente, se realiza el acople entre recursos de hardware (codec, como dispositivo deE/S), y aplicaciones a nivel de software para proceso de datos, haciendo uso de una entidadde almacenamiento (Buffer), definida como ventana de longitud determinada por la aper-tura de proceso.

Por consiguiente, la condicion a cumplir, se basa en lograr que la rutina se ejecute comple-tamente, antes que otro conjunto de datos se encuentre disponible para realizar un nuevoproceso de senal.

<< ahora = 0 >> Rxsp << CRxsp >>

CRxsp ≡ ∀n = 0, 1..., N − 1;m = 1, 1..., M ⇒

if (n = N) ⇒ (Buffer(m) = DRR(nτ))

(2.4)

En primera instancia, es necesario activar el servicio de interrupcion, cada vez que se com-plete una trama, es decir, al conformarse una palabra de N bits en el registro de recepcion

29

Page 43: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 2.3: Segundo nivel de particionamiento.

de datos (DRR). A partir de lo cual, debera asignarse su contenido, en la posicion respectivapara un buffer de longitud M .

<< ahora = 0 >> Isr << CIsr >>

CIsr ≡ if Isr(Buffer) ∈ [t0, t0 + ∆t] ⇒

Mτ > ∆t

(2.5)

En la misma medida, debe garantizarse que la rutina a ejecutar (Isr), sobre el conjuntode datos en entrada (Buffer) durante el intervalo [n0, n0 + ∆t], no emplee un tiempo decalculo ∆t, superior al maximo valor permitido (Mτ).

2.1.4. Tercer nivel de particionamiento

Finalmente, se hara uso de informacion disponible, acerca del estado del Buffer destinadoa la entrada de datos. Es decir, se aplica una nueva particion sobre la rutina de servicio ainterrupcion.

Por tanto, el proceso de senal (para este caso correspondiente a la determinacion de la fre-cuencia fundamental), se llevara a cabo solo cuando la condicion sobre la bandera asignada,sea la requerida para proceder.

Figura 2.4: Tercer nivel de particionamiento.

30

Page 44: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

<< ahora = 0 >> Signal proc << CSignal proc >>

CSignal proc ≡ if (m = M) ⇒

dato = [buffer(1),buffer(2),...,buffer(M)]

p = Signal proc(dato)

(2.6)

Luego, al detectarse un marco completo de entrada ([buffer(1), buffer(2)....buffer(M)]),se realiza sobre el mismo (dato), un correspondiente proceso de senal (Signal Proc), queasigna como salida de sistema, el valor estimado para la frecuencia fundamental (p) en elsegmento de voz analizado.

2.1.5. Arbol de particion

Con base en las condiciones previamente establecidas, es posible construir, para efectos derepresentacion visual, respecto a los diferentes niveles considerados, el siguiente diagrama oarbol de particion [18]:

Figura 2.5: Diagrama para arbol de particion.

2.1.6. Verificacion

Por ultimo, se confrontara la validez para el procedimiento desarrollado, verificando elcumplimiento de las premisas generadas, tras aplicar restricciones en cuanto a recursosdisponibles para llevar a cabo la implementacion final [29].

31

Page 45: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Luego, a partir de especificaciones tecnicas concernientes al sistema de procesamiento em-pleado (TMS320C6701 [8]), y a caracterısticas de senal manipulada (voces muestreadas a10 kHz), dichas restricciones corresponden a:

- dt, referido a retardos por propagacion o conmutacion, y que se consideran desprecia-bles.

- τ , periodo de muestreo, con un valor equivalente de 0.1 ms.

- Memoria de programa, que no debe superar los 512 KB.

- N , longitud para palabra adquirida en el codec del dispositivo de hardware, corres-pondiente a 32 bits para maxima resolucion.

- e, maximo error porcentual permitido en valor estimado, asumido para el 5 %.

- Finalmente, la apertura de proceso M , o numero de muestras por ventana, que setoma como de 128 elementos.

Como resultado, se tiene que el sistema propuesto a partir de esta metodologıa de especi-ficacion, al operar sobre la plataforma de hardware descrita [8], y bajo las condiciones deoperacion precisadas, permitira obtener en su salida, un valor estimado (p) para la frecuen-cia fundamental de la senal de voz aplicada en entrada, tras un retardo (∆t) equivalente alempleado en ejecutar el bloque para proceso de senal (Signal proc), que no debe superarun periodo de 12,8ms, para senales con ancho de banda inferior a 5kHz.

2.2. Implementacion del sistema

Utilizando como referencia, el algoritmo descrito en [23], se realizo la ejecucion sobre unprocesador digital de senales [8], para el procedimiento de estimacion del pitch en senalesde voz, haciendo uso de la herramienta de software “Code Composer Studio” [1], creadapara interactuar con tales dispositivos.

Dicha interfaz (figura 2.6, se desarrolla sobre una plataforma operativa Windows, al tiempoque utiliza como lenguaje de base, el conjunto de comandos Ansi C, permitiendo desarro-llar aplicaciones en un entorno mas amigable, que los convencionales, basados en lenguajeensamblador [36].

El algoritmo implementado contiene la siguiente secuencia de etapas (figura 2.7):

a. En primera instancia, es necesario adecuar el sistema para su posterior ejecucion,a partir de procedimientos de inicializacion y configuracion, aplicados sobre aquelloselementos implicados en desarrollo del proceso, correspondientes a los siguientes modu-los: codificador/decodificador de audio (Codec), y puerto serial multicanal (McBSP).Para terminar en un ciclo infinito, en espera de ser anticipado por procesos de mayorprioridad (interrupciones). Todo lo anterior incluido dentro de una rutina principal,denominada Main.

b. Cada vez que el registro de recepcion de datos (DRR), activa un servicio de interrup-cion desde el McBSP, el ciclo infinito en Main, se interrumpe para dar paso a lasinstrucciones contenidas en la funcion Hookint, efectuando: inicializacion en vector deinterrupciones, mapeo entre la interrupcion 15 del procesador utilizado y la peticiondel DRR, activacion de la misma, al tiempo que asignacion para rutina de proceso(McBSPcvISR).

c. Por ultimo, cuando la peticion de interrupcion Hookint, asigna ejecucion para el pro-cedimiento McBSPcvISR, se realiza lectura del valor proveniente desde el puerto de

32

Page 46: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 2.6: Ventana para ejecucion de codigo.

entrada, equivalente a una muestra de senal actual, asignada posteriormente a la posi-cion respectiva en el buffer de datos, que luego de alcanzar la cantidad de muestrasconsiderada por ventana (M = 128), permite ejecucion para la rutina de calculo deparametros, a traves de la funcion pitchs.

d. Dicha funcion, realiza estimacion para la frecuencia fundamental del segmento de vozanalizado, utilizando uno de los metodos descritos en el anexo A, y a partir de locual se construye el contorno correspondiente, como la evolucion temporal para losresultados parciales obtenidos.

Figura 2.7: Algoritmo implementado.

33

Page 47: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Capıtulo 3

Marco experimental

3.1. Metodologıa de implementacion

El algoritmo desarrollado, se ejecuto a partir de las siguientes fases (figura 3.1):

a. Compilacion de codigos sobre un entorno de programacion simulado (empleando Mat-lab), aplicando fonemas vocalicos segmentados, pertenecientes a la base de datos MIR-LA1, a manera de senales de prueba.

b. Realizacion de comparacion, en cuanto a desempeno, sobre resultados obtenidos porpaquetes comerciales de referencia: el Praat2, para medida de valores pitch promedio,y algoritmo Childers (Anexo A), como metodo de validacion respecto a contornos.Adicionalmente, en este punto se lleva a cabo, el analisis de precision en la estimaciondel pitch, mediante estudios de consistencia sobre varianza en errores de calculo, paralos diferentes metodos empleados, y ante variadas condiciones de ruido (SNR de 30,25, 20, 15, 10, 8, 5, y 2 dB).

c. Implementacion de algoritmo con mejor rendimiento (HPS), en codigo orientado alprocesador de DSP disponible (referencia TMS320C6701 [9], [1]).

d. Adquisicion de senales analogicas vıa puertos, para crear un intercambio de datosentre las tarjetas de procesador (DSP), y de audio (PC).

3.1.1. Simulacion Matlab

En terminos generales, se observo una buena respuesta por parte de las metodologıas anali-zadas, en cuanto a seguimiento de contornos respecto al valor de referencia, sobre condicionescontroladas para ruido de fondo. No obstante, al incrementar dicho parametro (disminucionpara SNR), aquellos metodos con componente temporal (Correlacion, Wavelets), sufrieronun notable desequilibrio, en comparacion al metodo frecuencial (HPS), tal y como se visua-liza en las figuras 3.2 y 3.3, tomadas para un segmento de voz equivalente al fonema ‘a’,con valor pitch promedio de 227 Hz y tasa de muestreo de 10kHz.

En la misma medida, esta tendencia se confronta a partir de los datos contenidos en lastablas: 3.1, correspondiente a segmentos vocalicos considerados como de voz normal, altiempo que 3.2 incluye casos para muestras patologicas.

1MIRLA es propiedad de la Universidad Nacional de Colombia - sede Manizales2Praat fue desarrollado por el Instituto de Ciencias Foneticas de la Universidad de Amsterdam

34

Page 48: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 3.1: Diagrama de flujo de datos (DFG), para metodologıa.

Figura 3.2: Contorno comparativo en condicion normal.

35

Page 49: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 3.3: Contorno comparativo para SNR 2dB.

Tabla 3.1: Energıa para varianza del error (Segmentos normales).

Senal Metodo HPS ∗109 Metodo Correlacion ∗109 Metodo Wavelets ∗109

1 0,0167 0,404 9,78

2 1,01 1,04 4,85

3 0,0155 0,0673 2,49

4 0,0655 0,257 1,34

5 1,54 2,68 5,55

6 0,0317 0,138 3,15

7 0,0314 0,123 1,40

8 0,0103 0,362 4,38

9 0,122 6,74 25,5

10 3,65 9,40 13,7

11 0,0410 0,118 0,240

12 0,0654 1,71 2,78

13 2,09 3,05 7,24

14 5,92 7,57 8,06

15 0,0154 0,0221 0,0515

36

Page 50: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Tabla 3.2: Energıa para varianza del error (Segmentos patologicos).

Senal Metodo HPS ∗106 Metodo Correlacion ∗106 Metodo Wavelets ∗106

1 0,0224 0,105 0,189

2 0,00609 0,0362 0,0387

3 0,00735 0,0253 0,146

4 1,35 1,80 3,23

4 0,180 1,04 4,76

5 2,21 2,30 3,30

6 0,859 1,27 2,23

7 1,73 0,620 3,56

8 0,159 0,239 0,865

9 0,0406 0,180 0,161

10 0,767 0,826 1,58

11 0,202 0,279 1,02

12 0,221 0,355 1,28

13 0,454 0,879 0,931

15 0,114 0,154 0,261

De otro lado, a partir de las mediciones realizadas, fue posible observar la aparicion dealgunos fenomenos interesantes, como es el caso de: doblamiento (figura 3.4), y sobrepasosde inicio/final (figura 3.5), para metodos en el tiempo, al igual que efectos de retardo porconvolucion, tras empleo de una base frecuencial (figura 3.6).

Figura 3.4: Efecto de doblamiento (metodos temporales).

3.1.2. Implementacion en DSP

A nivel de hardware, el desarrollo para el algoritmo HPS (por ser el de mejor rendimien-to evidenciado), genera una envolvente con valor promedio, muy cercano al calculado trasutilizar como referencia los resultados generados en Praat, como se observa en la figura 3.7.Resultados adicionales, respecto a valores promedio obtenidos sobre otras senales de prueba,correspondientes a segmentos de voz, al igual que a tonos sinusoidales, se visualizan en latabla 3.3, donde nuevamente el modelo de referencia se fundamenta en resultados vıa Praat.

Analogamente, se cita informacion acerca de indicadores de desempeno para el sistemaen tiempo real, con base en especificaciones tecnicas agrupadas en la tabla 3.4, donde seincluyen valores de tiempo promedio para las rutinas mas significativas, incluyendo eventos

37

Page 51: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Figura 3.5: Sobrepasos de inicio y final (metodos temporales).

Figura 3.6: Retardo por convolucion (metodo frecuencial).

Figura 3.7: Senal de entrada y contorno respectivo obtenido en DSP.

38

Page 52: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Tabla 3.3: Error porcentual para diferentes senales de prueba.

Senal Referencia Praat (Hz) Promedio medido (Hz) Error porcentual (%)

227 220 -3.08

114 126 10.52

171 186 8.77

210 200 -4.76

233 245 5.15

199 196 -1.5

194 201 3.6

144 159 10.41

140 131 -6.42

Tono de calibracion (Hz) Promedio medido (Hz) Error porcentual (%)

100 103 3

125 131 4.8

250 253 1.2

300 304 1.3

500 501 0.2

1000 1003 0.3

2000 2001 0.05

de adquisicion y proceso, al igual que la base de tiempo por instruccion. En la misma medida,es evidente, el incremento en uso de procesador durante la ejecucion del procedimiento decalculo, aun considerando configuracion para operar en maxima velocidad.

Tabla 3.4: Indicadores de desempeno para sistema implementado.

Criterio Valor

Tiempo de ciclo por instruccion 40 ns

Duracion promedio para rutina de proceso 435 ms

Longitud promedio para rutina de proceso 6884 Bytes

Duracion promedio para rutina de adquisicion 6.52 us

Longitud promedio para rutina de adquisicion 2160 Bytes

Nivel de optimizacion para maxima velocidad

39

Page 53: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Capıtulo 4

Conclusiones

Con base en los resultados obtenidos, puede concluirse que:

- Partiendo de la estructura utilizada en [19], para obtencion de contornos del pitch,se observa que de los metodos implementados, el basado en tecnicas de dominio fre-cuencial, presenta un mayor rendimiento para efectuar seguimiento sobre la senal dereferencia, aun en condiciones extremas para ruido de fondo.

- El metodo basado en la funcion de autocorrelacion, genero un desempeno intermedio(a partir de los resultados contenidos en las tablas 3.1 y 3.2), que a pesar de no serel mejor, sı supera el evidenciado por el metodo de transformada conjunta tiempo-frecuencia (Wavelets). Luego, se admite una mayor vulnerabilidad ante efectos delruido, para metodologıas de calculo aplicadas sobre caracterısticas de la senal en eltiempo.

- Se observaron efectos de doblamiento (figura 3.4), y sobrepasos en inicio/final paracontornos (figura 3.5), debido a inconsistencias en forma de senal, sobre algunos in-tervalos del segmento. Por tanto, se justifica el hecho que algunos metodos para esti-macion del pitch, requieran de minuciosos procedimientos de ajuste (pre y post proce-sos), que garanticen condiciones optimas de operacion (caracterıstica principalmenteevidenciada en los casos de menor rendimiento).

- La implementacion basada en transformada Wavelet, demostro divergencia de resul-tados respecto al modelo de referencia (Childers). Por tanto, se deja abierta la posi-bilidad para mejoramiento del metodo, a partir de una combinacion entre utilizacionde diferentes funciones base y analisis alternativo entre niveles de descomposicion (adiferencia de la realizacion, efectuada sobre los dos niveles superiores) [20].

- El algoritmo implementado en el procesador digital de senales, genero valores promediode pitch, con reducido margen de error, en comparacion a los resultados del esquemaPraat (segun se evidencia en la tabla 3.3), al tiempo que caracterısticas optimizablesen velocidades de proceso (tabla 3.4). Razon por la cual, se acepta la necesidad demaximizar la capacidad de aprovechamiento sobre los recursos potenciales del sistema.

- Puede considerarse a este proyecto, como un primer paso dentro de la realizacion deun sistema mas robusto, con un ampliado conjunto de caracterısticas, enfocadas haciala ejecucion de tareas particulares, aplicables en analisis acustico de voz. Especıfica-mente, se plantea la implementacion del algoritmo Childers (Anexo A), como trabajocomplementario.

40

Page 54: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Bibliografıa

[1] “code composer studio getting started guide”, Tech. report, Texas Instruments.

[2] http://ccrma-www.stanford.edu/ pdelac/154/m154paper.htm# ftn2.

[3] http://halweb.uc3m.es/esp/personal/personas/cavelas/esteleco/ps−pdf/tema6.pdf.

[4] http://sound.eti.pg.gda.pl/student/syntfon/leszczyna/index ang.htm#top.

[5] http://www.biopsychology.org/tesis esteve/apendices/tespec/tespec.htm.

[6] http://www.tsc.uvigo.es/bio/docencia/csa/teoria/csa teoria06.pdf.

[7] “tms320c600 peripherals reference guide”, Tech. report, Texas Instruments.

[8] “tms320c6201/6701 evaluation module technical reference”, Tech. report, Texas Instru-ments.

[9] “tms320c6201/6701 evaluation module user’s guide”, Tech. report, Texas Instruments.

[10] Liu Der-Jeng, Lin Chin-Teng, “fundamental frequency estimation based on the jointtime-frequency analysis of harmonic spectral structure”, IEEE Transactions on Speechand Audio Processing. N◦ 6, Vol 9 (2001).

[11] Castellanos Cesar German, Castrillon Gomez Omar Danilo, “comparacion de algo-ritmos de estimacion del pitch en el analisis acustico de la voz normal y patologica”,VII Simposio de Tratamiento de Senales, Imagenes y Vision Artificial, Bucaramanga.Colombia (2002).

[12] Castrillon Gomez Omar Danilo, “identificacion de la voz normal y disfuncional, a partirde su analisis acustico objetivo”, Departamento de Ingenierıa Electronica. UniversidadPolitecnica de Valencia. Valencia (2002).

[13] Xue, Steve An, Deliyski, Dimitar, “effects of aging on selected acoustic voice param-eters; preliminary normative data and educational implications”, Education Gerontol-ogy. Vol 27. N◦ 2, p 159 - 168 (1995).

[14] Tuan VuNgoc, d´Alessandro Christophe, “robust glottal closure detection using thewavelet transform”, Eurospeech´99. Budapest.

[15] O´Shaughnessy Douglas, Speech communication: Human and machine, Addison-Wesley Publishing Company, New York. USA, 1987.

[16] Casacuberta Francisco, Vidal Enrique, Reconocimiento automatico del habla, 1 ed.,Ed. Marcombo, p. 987, Barcelona. Espana.

[17] Athanas P. M., Reed J. H., Stutzman W. L., Tranter W. B., Woerner B. D.,Midkiff S. F., “an overview of the virginia tech program in software radios implementedwith reconfigurable computing”.

41

Page 55: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

[18] Ackenhusen Jhon G., Real-time signal processing: The desing and implementation ofsignal processing systems, Prentice Hall, p. 151 - 240, New York. USA, 1999.

[19] Childers Donald G., Speech processing and synthesis toolboxes, John Wiley & Sons Inc.,p. 320-324, New York. USA, 2000.

[20] Sepulveda Franklin Alexander, Castellanos Cesar German, “analisis de senales de vozpatologicas usando transformada Wavelet”, 1er Congreso Colombiano de Bioingenierıae Ingenierıa Biomedica. Medellın (2003).

[21] Jackson Phillip J. B., Shadle Christine H, “pitch scaled estimation of simultaneousvoiced and turbulence-noise components in speech”, IEEE Transactions on Speech andAudio Processing. N◦ 7, Vol 9 (2001).

[22] Kadambe Shubba, Srinivasan Pramila, Telfer Brian, Szu Harold, “representation andclassification of unvoiced sounds using adaptive wavelets”, AT&T Bell Laboratories.New York. USA.

[23] Keith Hoover, “tms320c62x/c67x c familiarization and audio sampling”, Tech. report,Rose-Hulman Institute of Technology.

[24] Hu Hwai-Tsu, Wu Hsi-Tsung, “a glottal excited linear prediction (gelp) model for low-bit-rate speech coding”, National Taiwan University of Science and Technology. Taipei,TAIWAN.

[25] Kuo Fang-Jang, Hu Hwai-Tsu, Wang Hsin-Jen, “a pseudo glottal excitation model forthe linear prediction vocoder with speech signals coded at 1.6 kbps”, IEICE Transactions.N◦ 8, Vol E83-D (2000).

[26] Berkeley Desing Technology Inc, “evaluating fpgas for communication infrastructureapplications”, USA (2003).

[27] Garcıa Leonard Janer, “transformada wavelet aplicada a la extraccion de informacionen senales de voz”, Universidad Politecnica de Cataluna. Barcelona (1998).

[28] Bermudez J.B., Sancho J.B., “reconocimiento de voz y fonetica acustica”, p 96-109.Universidad Politecnica de Madrid. Madrid (2000).

[29] Mathai Joseph, Real-time systems: Specification, verification, and analysis, PrenticeHall, p. 98 - 122, New York. USA, 1996.

[30] Matthias F., Dirk M., Hans W., Eberhard K., “acoustic voice analysis by mean ofhoarseness diagram”, Journal of Speech, Language and Hearing Research. Vol 43. N◦3, p 706 - 720 (2000).

[31] Mitra Sanjit K, Digital signal processing: A computer-based approach, 2 ed., Mac GrawHill, p. 499 - 647, New York. USA, 2001.

[32] Seltzer Michael L., “automatic detection of corrupt spectrographic features for robustspeech recognition”, Department of Electrical Computer Engineering. Carnegie MellonUniversity. Pennsylvania (2000).

[33] D. Robert Ladd, “declination reset and the hierarchical organization of utterances”,The Journal of the Acoustical Society of America. N◦ 84, Vol 2 (1988), 530–544.

[34] Castellanos Cesar German, Vargas Francisco, Botero Libia Maria, “metodos de es-timacion de parametros en el analisis acustico de voz”, VI Simposio Nacional deTratamiento de Senales, Imagenes y Vision Artificial. Bogota (2000).

[35] Nikiforov Igor V., Basseville Michelle, Detection of abrupt changes: Theory and appli-cation, Prentice Hall Inc, p. 3, 10, 401-405, Rennes. Francia, 1993.

42

Page 56: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

[36] Seshan Nat, “dsps vs. fggas in signal processing system desing”, Tech. report, TexasInstruments.

[37] Gold Ben, Morgan Nelson, Speech and audio signal processing: Processing and percep-tion of speech and music, John Wiley & Sons Inc, p. 337 - 345, 415 - 428, New York.USA, 1999.

[38] Richard I., Julie M., Michael F., James I., Leonard L., Stephen P., “multidimensionalscaling of nasal voice quality”, Journal of Speech, Language and Hearing Research. Vol43. N◦ 4, p 909 - 990 (2000).

[39] Wendt Christopher, Petropulu Athina P., “pitch determination and speech segmenta-tion using the discrete wavelet transform”, Electrical and Computer Engineering De-partment. Drexel University. Philadelphia.

[40] Boersma Paul, “accurate short term analysis of the fundamental frequency and theharmonics to noise ratio of a sampled sound”, University of Amsterdam. Amsterdam(1993).

[41] Gadiyar Gopalkrishna H., Padma R., “ramanujan-fourier series, the wiener-khintchineformula and the distribution of prime pairs”, Institute of Advanced Study in Mathe-matics University of Madras. India (1999).

[42] Quast Holger, Schreiner Olaf, Schroeder Manfred R., “robust pitch tracking in thecar environment”, Drittes Physikalisches Institute, Universitat Gottingen and RobertBosch Research & Development DaimlerChrysler Research and Technology AT&T BellLabs.

[43] Virginia I., James L., Cornell R., “acoustic prediction of severity in commonly occur-ring voice problems”, Journal of Speech, Language and Hearing Research. N◦ 38, p 273- 279 (1995).

[44] Luo Fa-Long, Unbehauen Rolf, Applied neural networks for signal processing, Cam-bridge University Press, p. 74 - 120, New York. USA, 1998.

[45] Furui Sakaodi, M. Mohan Sondhi, Advances in speech signal processing, Marcel DekkerInc, p. 11-22, New York. USA, 1992.

[46] Mallat Stephane, A wavelet tour of signal processing, Academic Press, p. 151 - 159,San Diego CA. USA, 1998.

[47] Bennett Stuart, Real-time computer control: An introduction, Prentice Hall, p. 129 -172, Cambridge. UK, 1988.

[48] Press William H., Flannery Brian P., Teukolsky Saul A., Vetterling T., Numericalrecipes in c: The art of science computing, Cambridge University Press, p. 564 - 572,Cambridge. UK, 1993.

[49] Gavat Inge, Zirra Matei, Enescu Valentin, “pitch detection of speech by dyadic wavelettransform”, Politechnica University of Bucharest.

[50] Michel P., Yang Ch., Harvey R., Jay W., “acustic comparison of vowel articulationin normal and reverse phonation”, Journal of Speech, Language and Hearing Research.Vol 44. N◦ 1, p 118 - 127 (2000).

[51] Oppenheim Alan V., Schafer Ronald W., Digital signal processing, Prentice Hall, p.480 - 531, New Jersey. USA, 1975.

[52] Fitch John, Shabana Wafaa, “a wavelet-based pitch detector for musical signals”, De-partment of Mathematical Sciences. University of Bath. UK.

43

Page 57: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

[53] Michaelis D, Strube W.H., “empirical study to test the independence of different acous-tic voice parameters on a large voice database”, George August Universitat. Gottingen(1994).

[54] Sun Xuejing, “a pitch determination algorithm based on subharmonic to harmonicratio”, Department of Communication Sciences and Disorders. Northwestern University(1996).

44

Page 58: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

Anexo A

Algoritmo de referencia

En este apartado, se realizara la descripcion formal, de etapas consideradas en desarrollode un modelo para obtencion de contornos del pitch, aplicado por D. G. Childers en [19], yadoptado como punto de referencia, para validar los resultados generados en realizacion deeste proyecto.

A.1. Deteccion de voz / no voz

En primera instancia, es necesario enunciar el procedimiento para deteccion de voz/no voz,a partir del cual, se crea un factor discriminante respecto de los segmentos de senal aprocesar (ya que se asume informacion irrelevante en intervalos no hablados [24]). Dichoprocedimiento, utiliza como criterios de decision [19]:

- El primer coeficiente de reflexion definido como:

R1 =

N∑n=1

s(n)s(n)

N−1∑n=1

s(n)s(n+ 1)(A.1)

Donde, N es numero de muestras por ventana de analisis, al tiempo que s(n) corres-ponde con la muestra de voz actual, y

- La senal residual, o aquella equivalente al error de prediccion lineal (LPC - obtenidapor el metodo de covarianza [48]), tomando como base, que la mayorıa de caracterısti-cas glotales se hallan contenidas en la misma [24].

Para los cuales se asume, un segmento hablado como aquel que posee un primer coeficientede reflexion mayor a 0.2, en la misma medida que energıa para error de prediccion, superiora tres veces el valor de umbral (107) [19].

Por tanto se genera una secuencia binaria, en la cual, cada dıgito se refiere a la decision toma-da sobre determinada ventana de senal, y donde ademas los patrones de tipo 101 y 010 (para1 denotando segmentos de voz), se corrigen por sucesiones 111 y 000 respectivamente[19].

45

Page 59: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A.2. Estimacion del pitch

En este punto, la senal residual obtenida con base en el proceso de prediccion lineal, seintegra para facilitar extraccion de sus caracterısticas glotales [25], a partir de un filtro queposee la forma:

H(z) =1

1− z−1(A.2)

Posteriormente, este residuo integrado se utiliza como excitacion para un filtro de paso bajo,con la siguiente relacion de transferencia en dominio discreto [24]:

B(z) = B1(z)B2(z) =(

1− z−1

1− 0,99z−1

) (1− z−1

(1− 0,9z−1) (1− 0,7z−1)

)(A.3)

Donde, B1(z) pretende emular la inclinacion espectral requerida para recuperar los pulsosglotales, al igual que B2(z) equivale a un filtro de fase cero, utilizado para reducir tantoruidos de alta frecuencia, como derivas en baja escala [24].

Al procedimiento anterior, se le denomina de ”Filtrado inverso”, y genera una senal conalto grado de diferenciacion entre pulsos gloticos, similar a la observada en la figura A.1.

Figura A.1: Senal consecuencia de filtracion inversa.

Luego, sobre la senal resultante, se aplican multiples procedimientos de estimacion para va-lores de frecuencia fundamental, convirtiendose en punto de comparacion entre los diferentesalgoritmos implementados, y que se explican a continuacion.

A.2.1. Metodo Cepstral

Constituye el metodo base, con el cual opera el algoritmo original, y que a su vez se desarrollaen los siguientes pasos [19]:

- Inicialmente, se aplica analisis Cepstral [51], sobre el segmento de senal en entrada.

46

Page 60: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

- Posteriormente, se obtiene un pico de referencia, como el valor mayor para la secuenciaobtenida en el tiempo.

- Luego, se calcula un pico de comparacion, dentro del conjunto de eventos ubicados ala izquierda del valor derivado en el paso anterior.

- Finalmente, si el valor para dicho pico de comparacion, es superior al 70 % del ini-cialmente calculado, se asignara como periodo fundamental. En caso contrario, setomara como valida la decision inicial.

A.2.2. Metodo de Correlacion

El primer metodo comparativo analizado, se fundamenta en la funcion vectorial de auto-correlacion simple (ecuacion 1.20), a partir de la cual se procede como sigue:

- Se toman pares equitativos del segmento de senal, con longitudes de hasta un mediola cantidad maxima de elementos por ventana.

- Para cada uno de dichos pares, se calcula la correspondiente funcion de correlacion,equivalente a una posicion en el vector de valores de correlacion generado.

- Posteriormente, se realiza la obtencion para los 25 valores mayores, presentes en estevector de correlacion, sobre los cuales se ejecuta un juicio de decision respecto de susdistancias relativas.

- Por ultimo, el maximo comun divisor sobre dichas distancias, correspondera con elvalor de periodo fundamental.

A.2.3. Metodo Wavelets

Otro de los metodos implementados, utiliza la capacidad potencial de la transformadaWavelet, para detectar singularidades de senal [46], aplicandose de la manera siguiente:

- Se crea un filtro discreto en cuadratura (combinacion paso alto / paso bajo), con loscoeficientes generados para una funcion madre tipo DB3.

- Posteriormente, se realiza el filtrado de senal sobre los dos primeros niveles conse-cutivos de descomposicion, de donde se obtienen como salida, los correspondientescoeficientes de aproximacion y de detalle.

- Estos ultimos (coeficientes de detalle), contienen informacion acerca de componentesde alta frecuencia, y por tanto se aplica sobre los mismos, un procedimiento paradeteccion de picos (sobre cada nivel de descomposicion), similar al utilizado en el casode la funcion de correlacion, esta vez para los 15 mayores valores.

- Finalmente, se asigna como periodo fundamental, el valor promedio entre los resulta-dos generados sobre cada nivel.

A.2.4. Metodo HPS

Por ultimo, se hace uso de un metodo basado en analisis frecuencial, que utiliza como baseel producto de armonicos espectrales [42], desarrollado a partir de las siguientes etapas:

- Se aplica transformada rapida de fourier (FFT), con resolucion de 2048 puntos, sobreel segmento de voz aplicado.

47

Page 61: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

- Posteriormente, se define un vector de posiciones para candidatos a frecuencias sub-armonicas, conformado por aquellos valores superiores al 30% del mayor armonicoobtenido.

- Finalmente, se realiza un criterio de decision sobre picos, similar al utilizado anterior-mente, y que deriva el valor de frecuencia fundamental requerido.

A.2.5. Ajustes

Tras ejecutar, sobre segmentos hablados (con base en la informacion generada en la seccionA.1), cualquiera de las metodologıas de deteccion previamente mencionadas, se realiza unprocedimiento de ajuste o correccion, donde se analizan los datos consecutivos obtenidos,eliminando inconsistencias en valores actuales, por cambios superiores al promedio de losanteriores, para reducir la aparicion de falsas detecciones, en la misma medida que se ase-gura una tendencia constante de resultados [19].

Igualmente, es conveniente mencionar, la utilizacion de ventaneo tipo Hanning con longitudde 512 elementos, y traslape de 311 muestras, por considerarse menos sensible a los cambiosen extremos de ventana, al tiempo que manifiesta reduccion de efectos por fenomeno deGibbs [31](de allı su amplio uso en procesamiento de senales de voz), y que posee la siguientefuncion asociada [40]:

w[n] =12− 1

2cos

(2πnN

)(A.4)

Donde, N corresponde a la longitud de ventana empleada.

A.3. Obtencion para GCI

Paralelamente a la estimacion de valores para frecuencia fundamental, se analizan los ins-tantes de cierre glotico, en la senal generada a partir del proceso de filtracion inversa. Dichosinstantes, se obtienen como sigue [19]:

- Inicialmente, se toman ventanas fijas de 400 elementos, con traslape de 200 muestras,para la senal residual filtrada.

- Luego, se determina el valor mınimo para dicha ventana, alrededor del cual se conformaun segmento de 45 muestras (15 antes, 30 despues) [19].

- Posteriormente, se realiza la correlacion entre este segmento y el conjunto de aquellosque componen la ventana analizada, de manera que el maximo corresponda con elGCI inicial.

- A partir de este valor, se analizan los picos restantes, utilizando un criterio de com-paracion, respecto al valor de pitch calculado sobre el mismo intervalo, que acepta alo sumo, un 35 % de desviacion.

- Consecuencia de lo anterior, se construye un vector de instantes de cierre glotico,que conforma a su vez una matriz, cuya dimension corresponde con la cantidad deventanas de senal empleadas.

- Finalmente, se realiza un acople entre las filas de dicha matriz, aplicando la restri-ccion, de que 2 GCI consecutivos, no pueden ocurrir dentro de 25 muestras [19], paraconformar un solo vector, de cuyas distancias entre posiciones adyacentes, se obtienenlos periodos fundamentales.

48

Page 62: ESTIMACION DE CONTORNOS DEL PITCH EN L´ ´INEA …cemos.uis.edu.co/ralzate/Support_files/BSc.pdf · tasks developed for operation in different domains, namely: time domain (Cross-correlation

A.4. Conformacion para contorno

Un ultimo paso, constituye la conversion para dichos periodos fundamentales, a valores defrecuencia en Hertz (Hz), que se asocian con un resultado de cero, cuando corresponden aniveles inferiores de 40 Hz, o superiores a 400 Hz, previo a la accion de un filtro de medianade orden 5, que realiza un proceso de suavizado.

Luego, una grafica para estos valores de frecuencia en el tiempo, comunmente es denomi-nada, como contorno de pitch (figura A.2).

Figura A.2: Contorno de Pitch.

A.5. Estructura final

A continuacion entonces, se adecua un punto de convergencia para estas etapas previas, apartir de un modelo de algoritmo, tal como se observa en A.3.

Figura A.3: Estructura de algoritmo resultante.

49