ES2374008A1 - Codificación, modificación y síntesis de segmentos de voz. - Google Patents
Codificación, modificación y síntesis de segmentos de voz. Download PDFInfo
- Publication number
- ES2374008A1 ES2374008A1 ES200931212A ES200931212A ES2374008A1 ES 2374008 A1 ES2374008 A1 ES 2374008A1 ES 200931212 A ES200931212 A ES 200931212A ES 200931212 A ES200931212 A ES 200931212A ES 2374008 A1 ES2374008 A1 ES 2374008A1
- Authority
- ES
- Spain
- Prior art keywords
- phase
- synthesis
- analysis
- frames
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 84
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 81
- 230000004048 modification Effects 0.000 title claims abstract description 23
- 238000012986 modification Methods 0.000 title claims abstract description 23
- 238000004458 analytical method Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000003595 spectral effect Effects 0.000 claims abstract description 21
- 238000001228 spectrum Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 10
- 101000863856 Homo sapiens Shiftless antiviral inhibitor of ribosomal frameshifting protein Proteins 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 abstract description 8
- 230000001427 coherent effect Effects 0.000 abstract description 2
- 238000012804 iterative process Methods 0.000 abstract 1
- 238000004364 calculation method Methods 0.000 description 10
- 206010011878 Deafness Diseases 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011002 quantification Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 210000004704 glottis Anatomy 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/033—Voice editing, e.g. manipulating the voice of the synthesiser
-
- G10L13/043—
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/06—Elementary speech units used in speech synthesisers; Concatenation rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/093—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using sinusoidal excitation models
Landscapes
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Electrophonic Musical Instruments (AREA)
- Stereophonic System (AREA)
- Complex Calculations (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Método de análisis, modificación y síntesis de señal de voz que comprende una fase de localización de ventanas de análisis mediante un proceso iterativo de determinación de la fase de la primera componente sinusoidal y comparación entre el valor de fase de dicha componente y un valor predeterminado, una fase de selección de tramas de análisis correspondientes a un alófono y reajuste de la duración y la frecuencia fundamental según unos umbrales y una fase de generación de voz sintética a partir de las tramas de síntesis tomando como información espectral de la trama de síntesis la información de la trama de análisis más cercana y tomando tantas tramas de síntesis como periodos tenga la señal sintética. El método permite una localización coherente de las ventanas de análisis dentro de los periodos de la señal y generar de forma exacta los instantes de síntesis de manera síncrona con el periodo fundamental.
Description
Codificación, modificación y síntesis de
segmentos de voz.
\global\parskip0.930000\baselineskip
La presente invención se aplica a las
tecnologías del habla. Más concretamente, pertenece a las técnicas
de tratamiento digital de la señal de voz usadas, entre otros,
dentro de conversores texto-voz.
Muchos de los sistemas de conversión
texto-voz actuales se basan en la concatenación de
unidades acústicas tomadas de voz pregrabada. Esta aproximación es
la que permitió dar el salto de calidad necesario para el uso de
conversores texto-voz en multitud de aplicaciones
comerciales (fundamentalmente, en la generación de información
hablada a partir de texto en sistemas de respuesta vocal interactiva
a los que se accede telefónicamente).
Aunque la concatenación de unidades acústicas
permite obviar el difícil problema de modelar completamente la
producción de la voz humana, tiene que manejar otro problema básico:
cómo concatenar trozos de voz tomados de distintos ficheros de
origen, que pueden presentar diferencias apreciables en los puntos
de pegado.
Las posibles causas de discontinuidad y defectos
en la voz sintética son de diverso tipo:
- 1.
- La diferencia en las características del espectro de la señal en los puntos de pegado: frecuencias y anchos de banda de los formantes, forma y amplitud de la envolvente espectral.
- 2.
- Pérdida de la coherencia de fase entre las tramas de voz que se pegan. Se puede ver también como desplazamientos relativos inconsistentes de la posición de las tramas de voz (ventanas) a ambos lados de un punto de pegado. El pegado entre tramas incoherentes produce una desintegración o dispersión de la forma de onda que se percibe como una importante perdida de calidad. La voz resultante suena poco natural: mezclada y confusa.
- 3.
- Diferencias prosódicas (entonación y duración) entre las unidades pregrabadas y la prosodia objetivo (deseada) para la síntesis de un enunciado.
Por este motivo, los conversores
texto-voz suelen emplear diversos procedimientos de
tratamiento de la señal de voz que permiten, tras la concatenación
de unidades, unirlas suavemente en los puntos de pegado, y modificar
su prosodia para que resulte continua y natural. Y todo ello debe
hacerse degradando lo menos posible la señal original.
Los sistemas de conversión
texto-voz más tradicionales contaban con un
repertorio de unidades relativamente reducido (por ejemplo,
difonemas o demisílabas), en los que normalmente sólo se disponía de
un candidato para cada una de las posibles combinaciones de sonidos
contempladas. En estos sistemas la necesidad de hacer modificaciones
a las unidades es muy elevada.
Los sistemas de conversión
texto-voz más recientes se basan en la selección de
unidades de un inventario mucho más amplio (síntesis por corpus).
Este amplio inventario dispone de muchas alternativas de las
diferentes combinaciones entre sonidos, que se diferencian en su
contexto fonético, prosodia, posición dentro de la palabra y del
enunciado. La selección óptima de esas unidades de acuerdo a un
criterio de coste mínimo (costes de unidad y de concatenación)
permite reducir la necesidad de hacer modificaciones en las
unidades, y mejora mucho la calidad y naturalidad de la voz
sintética resultante. Pero no es posible eliminar totalmente la
necesidad de manipular las unidades pregrabadas, porque los corpus
de voz son finitos y no pueden asegurar una completa cobertura para
sintetizar de manera natural cualquier enunciado, y siempre habrá
puntos de pegado.
Existen distintos métodos de representación y
modificación de la señal de voz que han sido usados dentro de
conversores texto-voz.
Los métodos basados en el solapamiento y suma de
ventanas de la señal de voz en el dominio temporal (métodos PSOLA,
"Pitch Synchronous Overlap and Add") gozan de gran aceptación y
difusión. El más clásico de estos métodos aparece descrito en
"Pitch-synchronous waveform processing techniques
for text-to-speech synthesis using
dyphones" (E. Moulines y F. Charpentier, Speech Communication,
vol. 9, pp. 453-467, dic. 1990). Se obtienen tramas
(ventanas) de la señal de voz de manera síncrona con el periodo
fundamental ("pitch"). Las ventanas de análisis deben estar
centradas en los instantes de cierre de la glotis (GCI's, "Glottal
Closure Instants") u otros puntos identificables dentro de cada
periodo de la señal, que deben encontrarse cuidadosamente y ser
etiquetados coherentemente, para evitar desajustes de fase en los
puntos de pegado. El marcado de estos puntos es una tarea laboriosa
que no se puede realizar de forma completamente automática (requiere
ajustes), y que condiciona el buen funcionamiento del sistema. La
modificación de duración y frecuencia fundamental (F0) se realiza
mediante la inserción o borrado de tramas, y el alargamiento o
estrechamiento de las mismas (cada trama de síntesis es un periodo
de la señal, y el desplazamiento entre dos tramas sucesivas es el
inverso de la frecuencia fundamental). Puesto que los métodos PSOLA
no incluyen un modelo explícito de la señal de voz, la tarea de
interpolar las características espectrales de la señal en los puntos
de pegado resulta difícil de realizar.
\global\parskip1.000000\baselineskip
El método MBROLA ("Multi-Band
Resynthesis Overlap and Add") descrito en
"Text-to-Speech Synthesis based on
a MBE re-synthesis of the segments database" (T.
Dutoit y H. Leich, Speech Communication, vol. 13, pp.
435-440, 1993) aborda el problema de la falta de
coherencia de fase en los pegados sintetizando una versión
modificada de las partes sonoras de la base de datos de voz,
forzando que tengan un F0 y una fase determinada (igual en todos los
casos). Pero este proceso afecta a la naturalidad de la voz.
También se han propuesto métodos tipo LPC
("Linear Predictive Coding") para hacer síntesis de voz, como
el descrito en "An approach to
Text-to-Speech synthesis" (R.
Sproat and J. Olive, Speech Coding and Synthesis, pp.
611-633, Elsevier, 1995). Estos métodos limitan la
calidad de la voz al suponer un modelo de sólo polos. El resultado
depende mucho de si la voz original de referencia se ajusta mejor o
peor a las suposiciones del modelo. Suele plantear problemas
especialmente con voces femeninas e infantiles.
También se han propuesto modelos de tipo
sinusoidal, en los que la señal de voz se representa mediante una
suma de componentes sinusoidales. Los parámetros de los modelos
sinusoidales permiten hacer de forma bastante directa e
independiente tanto la interpolación de parámetros como las
modificaciones prosódicas. En cuanto a asegurar la coherencia de
fase en los puntos de pegado, algunos modelos han optado por manejar
un estimador de los instantes de cierre de la glotis (proceso que no
siempre da buenos resultados), como por ejemplo en "Speech
Synthesis based on Sinusoidal Modeling" (M. W. Macon, PhD Thesis,
Georgia Institute of Technology, oct. 1996). En otros casos se ha
asumido la simplificación de considerar una hipótesis de fase mínima
(que afecta a la naturalidad de la voz en algunos casos, haciendo
que se perciba más hueca y amortiguada), como en un trabajo
publicado por algunos de los inventores de esta propuesta: "On the
Use of a Sinusoidal Model for Speech Synthesis in
Text-to-Speech" (M. Á. Rodríguez,
P. Sanz, L. Monzón y J. G. Escalada, Progress in Speech Synthesis,
pp. 57-70, Springer, 1996).
Los modelos sinusoidales han ido incorporando
diferentes aproximaciones para resolver el problema de la coherencia
de fase. En "Removing Linear Phase Mismatches in Concatenative
Speech Synthesis" (Y. Stylianou, IEEE Transactions on Speech and
Audio Processing, vol. 9, no. 3, pp. 232-239 marzo
2001) se propone un método para analizar la voz con ventanas que se
desplazan de acuerdo al F0 de la señal, pero sin necesidad de que
estén centradas en los GCI's. Esas tramas son sincronizadas a
posteriori en un punto común basándose en la información del
espectro de fase de la señal, sin afectar a la calidad de la voz. Se
aplica la propiedad de la Transformada de Fourier en la que añadir
una componente lineal al espectro de fase equivale a desplazar la
forma de onda en el dominio del tiempo. Se fuerza que el primer
armónico de la señal quede con una fase resultante de valor 0, y el
resultado es que todas las ventanas de voz quedan centradas de
manera coherente respecto a la forma de onda, independientemente de
en qué punto concreto de un periodo de la señal se centró
originalmente. Así, las tramas corregidas pueden ser combinadas de
manera coherente en la síntesis.
Para la extracción de parámetros se realizan
procedimientos de análisis mediante síntesis como los expuestos en
"An Analysis-by-Synthesis Approach
to Sinusoidal Modelling Applied to Speech and Music Signal
Processing" (E. Bryan George, PhD Thesis, Georgia Institute of
Technology, nov. 1991) o en "Speech Analysis/Synthesis and
Modification Using an
Analysis-by-Synthesis/Overlap-Add
Sinusoidal Model" (E. Bryan George, Mark J. T. Smith, IEEE
Transsactions on Speech and Audio Processing, vol. 5, no. 5, pp.
389-406, sep. 1997).
En resumen, los problemas técnicos más
habituales a los que se enfrentan los sistemas de conversión
texto-voz basados en concatenación de unidades se
derivan de la falta de coherencia de fase en los puntos de pegado
entre unida-
des.
des.
La invención tiene por objeto paliar los
problemas técnicos citados en el apartado anterior. Para ello,
propone un método que hace posible respetar una localización
coherente de las ventanas de análisis dentro de los periodos de la
señal y generar de forma exacta y adecuada los instantes de síntesis
de manera síncrona con el periodo fundamental. El método de la
invención comprende:
a. una fase de localización de ventanas de
análisis mediante un proceso iterativo de determinación de la fase
de la primera componente sinusoidal de la señal y comparación entre
el valor de fase de dicha componente y un valor predeterminado hasta
encontrar una posición para la que la diferencia de fase representa
un desplazamiento temporal menor a media muestra de voz,
b. una fase de selección de tramas de análisis
correspondientes a un alófono y reajuste de la duración y la
frecuencia fundamental según un modelo, de manera que si la
diferencia entre la duración original o la frecuencia fundamental
original y las que se quieren imponer supera unos umbrales, se
ajustan la duración y la frecuencia fundamental para generar tramas
de síntesis,
c. una fase de generación de voz sintética a
partir de las tramas de síntesis tomando como información espectral
de la trama de síntesis la información de la trama de análisis más
cercana y tomando tantas tramas de síntesis como periodos tenga la
señal sintética.
De preferencia, una vez localizada la primera
ventana de análisis se busca la siguiente desplazándose medio
periodo y así sucesivamente. Opcionalmente se hace una corrección de
fase añadiendo una componente lineal a la fase de todas las
sinusoides de la trama. Opcionalmente el umbral de modificación para
la duración es menor del 25%, preferiblemente menor del 15%. También
el umbral de modificación para la frecuencia fundamental es
opcionalmente menor del 15%, de preferencia menor del 10%.
La fase de generación a partir de las tramas de
síntesis se realiza preferentemente por solapamiento y suma con
ventanas triangulares. La invención se refiere también al uso del
método de cualquiera de las reivindicaciones anteriores en
conversores de texto-voz, la mejora de la
inteligibilidad de las grabaciones de voz y para pegar segmentos de
grabaciones de voz diferenciados en cualquier característica de su
espectro.
Con objeto de ayudar a una mejor comprensión de
las características de la invención de acuerdo con un ejemplo
preferente de realización práctica de la misma, se acompaña la
siguiente descripción de un juego de dibujos en donde con carácter
ilustrativo se ha representado lo siguiente:
Figura 1.- Extracción de parámetros
sinusoidales.
Figura 2.- Localización de las ventanas de
análisis.
Figura 3.- Cambio a duración doble.
Figura 4.- Localización de las ventanas de
síntesis (1).
Figura 5.- Localización de las ventanas de
síntesis (2).
La invención es un método de 1) análisis, y 2)
modificación y síntesis de señal de voz que ha sido creado para su
uso, por ejemplo, en un Conversor Texto-Voz
(CTV).
El modelo sinusoidal empleado representa la
señal de voz mediante la suma de un conjunto de sinusoides
caracterizadas por sus amplitudes, frecuencias y fases. El análisis
de la señal de voz consiste en encontrar el número de sinusoides
componentes, y los parámetros que las caracterizan. Este análisis se
realiza de forma localizada en determinados instantes de tiempo.
Dichos instantes de tiempo y los parámetros asociados a ellos son
los que constituyen las tramas de análisis de la señal.
El proceso de análisis no forma parte del
funcionamiento del CTV, sino que se realiza previamente sobre los
ficheros de voz para generar una serie de ficheros de tramas de
análisis que luego serán empleados por las herramientas que se han
desarrollado para crear los locutores (voces sintéticas) que el CTV
carga y maneja para sintetizar la
voz.
voz.
Los puntos más relevantes que caracterizan el
análisis de la señal de voz son:
El procedimiento se apoya en la definición de
una función del grado de parecido entre la señal original y la
reconstruida a partir de un conjunto de sinusoides. Esta función se
basa en el cálculo del error cuadrático medio.
Teniendo en cuenta esta función de error, la
obtención de los parámetros sinusoidales se hace de manera
iterativa. Partiendo de la señal original, se busca cuál es la terna
de valores (amplitud, frecuencia y fase) que representa la sinusoide
que reduce en mayor medida el error. Esa sinusoide se emplea para
actualizar la señal que representa el error entre señal original y
estimada y, de nuevo, se repite el cálculo para encontrar la nueva
terna de valores que minimiza el error residual. Así se continúa
hasta que se determina el conjunto total de parámetros de la trama
(bien porque se alcanza un valor de relación señal/ruido
determinado, porque se alcanza un número máximo de componentes
sinusoidales, o porque no es posible añadir más componentes). La
figura 1 presenta este método iterativo de obtención de los
parámetros sinusoidales.
Este método de análisis hace que el cálculo de
una componente sinusoidal se haga teniendo en cuenta el efecto
acumulado de todas las componentes sinusoidales calculadas
anteriormente (cosa que no sucedía con otros métodos de análisis
basados en los máximos del espectro de amplitud de la FFT, "Fast
Fourier Transform"). También proporciona un método objetivo que
nos garantiza que nos aproximamos a la señal original de forma
progresiva.
Una importante diferencia entre los
procedimientos conocidos anteriormente y el propuesto por la
invención es la localización de las ventanas de análisis. En las
referencias citadas las ventanas de análisis, aunque tienen una
anchura dependiente del periodo fundamental, se desplazan a una tasa
fija (un valor de 10 mseg de desplazamiento es bastante común). En
nuestro caso, aprovechando que se dispone de los ficheros de voz
completa (no hay que analizar la voz a medida que llega), las
ventanas de análisis también tienen una anchura dependiente del
periodo fundamental, pero su posición se determina de una manera
iterativa, según se describe a continuación.
La localización de las ventanas influye en el
cálculo de los parámetros estimados en cada trama de análisis. Las
ventanas (que pueden ser de distinto tipo) se diseñan para enfatizar
las propiedades de la señal de voz en su centro, y se atenúan hacia
sus extremos. En esta invención se ha mejorado la coherencia en la
localización de las ventanas, de manera que éstas se sitúen en
lugares lo más homogéneos posible a lo largo de la señal de voz. Se
ha incorporado un nuevo mecanismo iterativo de localización de las
ventanas de análisis.
Este nuevo mecanismo consiste en averiguar, para
las tramas sonoras, cuál es la fase de la primera componente
sinusoidal de la señal (la más cercana al primer armónico), y
comprobar la diferencia entre ese valor y un valor de fase definido
como objetivo (se puede considerar un valor 0, sin pérdida de
generalidad). Si esa diferencia de fase representa un desplazamiento
temporal igual o superior a media muestra de voz, se descartan los
valores del análisis de esa trama, y se vuelve a hacer un análisis
desplazando la ventana el número de muestras necesario. El proceso
se va repitiendo hasta encontrar el valor adecuado de la posición de
la ventana, momento en el que se dan por buenos los parámetros
sinusoidales analizados. Una vez encontrada la posición, se busca la
siguiente ventana de análisis desplazándose medio periodo. En el
caso de que durante el proceso se encuentre una trama sorda, se dará
el análisis por válido, y se desplazará 5 mseg hacia delante para
buscar la posición de la siguiente trama de análisis.
Este procedimiento iterativo de localización de
las ventanas de análisis se ilustra en la figura 2.
Tras localizar la posición de la ventana se hace
una corrección de fase (añadir una componente lineal de fase a todas
las sinusoides de la trama) para que el valor correspondiente
asociado a la primera componente sinusoidal sea el valor objetivo
para el fichero de voz. Pero, además, se conserva el valor residual
representado por la diferencia entre ambos valores, y se guarda como
uno de los parámetros de la trama. Ese valor será habitualmente muy
pequeño gracias al análisis iterativo síncrono con la frecuencia
fundamental, pero puede tener importancia relativa en los casos en
los que el F0 es alto (las correcciones de fase al añadir una
componente lineal son proporcionales a la frecuencia). Además, se
tiene en cuenta porque permite reconstruir la señal sintética
alineada con la señal original (en los casos en los que no se
modifican los valores de F0 y duración de las tramas de
análisis).
Los parámetros del análisis sinusoidal
(frecuencias, amplitudes y fases de las sinusoides componentes) se
obtienen como números en punto flotante. Para disminuir las
necesidades de ocupación de memoria para almacenar los resultados
del análisis se realiza una cuantificación.
Las componentes que representan la parte
armónica de la señal (y que forman la envolvente espectral) se
cuantifican conjuntamente con las componentes adicionales
(inarmónicas o ruidosas). Todas las componentes quedan ordenadas en
frecuencias crecientes antes de la cuantificación.
Se cuantifica la diferencia de frecuencia entre
componentes consecutivas. Si esta diferencia supera el umbral
marcado por el máximo valor cuantificable, se añade una componente
adicional ficticia (marcada por un valor especial de diferencia de
frecuencia, amplitud 0.0, y fase 0.0).
Las fases de las componentes son obtenidas en
módulo 2\pi (valores comprendidos entre -\pi y \pi). Aunque
esto dificulta la interpolación de valores de fase en puntos
distintos a los conocidos, nos permite acotar el margen de valores y
facilita la cuantificación.
La modificación y síntesis de la señal de voz
son los procesos que se realizan dentro del CTV para generar una
señal de voz sintética:
- \bullet
- Que pronuncie la secuencia de sonidos correspondiente al texto de entrada.
- \bullet
- Que lo haga a partir de las tramas de análisis que componen el inventario de unidades del locutor.
- \bullet
- Que responda a la prosodia (duración y frecuencia fundamental) generada por los modelos prosódicos del CTV.
Para esto es preciso seleccionar una secuencia
de tramas de la voz original (tramas de análisis), modificarlas
adecuadamente para dar lugar a una secuencia de tramas modificadas
(tramas de síntesis), y hacer la síntesis de voz con la nueva
secuencia de tramas.
La selección de las unidades se realiza mediante
técnicas de selección basadas en corpus.
Hay que tener en cuentas los siguientes
puntos:
- \bullet
- La voz natural no es puramente armónica, como queda demostrado en la obtención de los parámetros de las tramas de análisis. Por tanto, generar una voz sintética puramente armónica es una simplificación que puede afectar a la calidad percibida. La síntesis con componentes sinusoidales que no sean puramente armónicas puede ayudar a mejorar dicha calidad.
- \bullet
- La síntesis síncrona con el periodo fundamental (que haya una correspondencia biunívoca entre tramas de síntesis y periodos de la señal sintética) favorece la coherencia de la señal, y disminuye la dispersión de la forma de onda (por ejemplo, cuando se realizan alargamientos y/o aumenta el F0 respecto a los valores de duración y F0).
- \bullet
- Cuanto más se respeten las características de la señal original, mejor será la calidad de la voz generada (más próxima a la señal original). Hay que intentar modificar poco las tramas de análisis, siempre que sea posible.
A continuación se plantean los procedimientos de
modificación y síntesis de la señal empleados en la invención.
Lo primero que se hace es recuperar los
parámetros sinusoidales a partir de los valores cuantificados que se
guardan en las tramas de análisis. Para ello, se siguen de forma
inversa los pasos que se dieron en la cuantificación.
La nueva forma de organizar los parámetros
sinusoidales (frecuencias, amplitudes y fases de las sinusoides
componentes) tras la recuperación es:
- \bullet
- En primer lugar, se encontrarán los parámetros correspondientes a las sinusoides que modelan la envolvente espectral, en orden creciente de frecuencias (entre 0 y \pi). Las sinusoides que modelan la envolvente espectral son las que representan la componente sonora de la señal, y se emplearán como puntos base de interpolación para calcular valores de amplitud y/o fase en otras frecuencias sonoras.
- \bullet
- A continuación, se encontrarán los parámetros correspondientes a las sinusoides que no modelan la envolvente espectral, y que consideramos como "ruidosas", "inarmónicas" o "sordas". Estas componentes "ruidosas" también aparecen en orden creciente de frecuencias (pero siempre tras la última componente de la envolvente, que debe estar obligatoriamente en la frecuencia \pi).
El procedimiento general es que una vez que
tenemos reunidas las tramas de análisis correspondientes a un
alófono, se calcula la duración acumulada original de esas tramas.
Se compara esta duración con el valor calculado por el modelo de
duraciones del locutor (duración sintética), y se calcula un factor
que relaciona ambas duraciones. Ese factor se emplea para modificar
las duraciones originales de cada trama, de forma que las nuevas
duraciones (desplazamiento entre tramas de síntesis) son
proporcionales a las duraciones originales.
Además se ha definido un umbral para hacer el
ajuste de duraciones. Si la diferencia entre la duración original y
la que se quiere imponer está dentro de un margen (se puede
considerar un valor del 15% al 25% de la duración sintética, aunque
este valor se puede ajustar) se respeta la duración original, sin
hacer ningún tipo de ajuste. En el caso de que sea necesario ajustar
la duración, el ajuste se hace para que la duración impuesta sea el
extremo del margen definido más cercano al valor original.
Se dispone de unos valores de F0 generados por
el modelo de entonación (F0 sintético). Esos valores están asignados
a los instantes inicial, medio y final del alófono. Una vez que se
conocen las tramas componentes del alófono y su duración, se hace
una interpolación de los valores de F0 sintéticos disponibles en
esos tres puntos, para obtener los valores de F0 sintético
correspondientes a cada una de las tramas. Esta interpolación se
hace teniendo en cuenta los valores de duración asignados a cada una
de las tramas.
Con esto, para cada una de las tramas de
análisis se dispone de un valor de F0 original y otro valor de F0
sintético (el que en principio se pretende imponer).
Una alternativa es hacer un ajuste semejante al
de duraciones: definir un margen (alrededor del 10% o 15% del valor
de F0 sintético) dentro del cual no se harían modificaciones del
valor de F0 original, y ajustar las modificaciones a los extremos de
ese mismo margen (al extremo más cercano al valor original).
Puesto que el cambio del F0 de las tramas afecta
de manera apreciable a la calidad de la voz sintética, otra
alternativa es respetar los valores de F0 originales de las tramas
de análisis, sin hacer ningún tipo de modificación (a excepción de
las derivadas de la interpolación espectral, de la que se hablará
más adelante). Esta última opción permite preservar mejor las
características de timbre y nitidez de la voz original.
La interpolación espectral realizada se basa en
principios comunes de este tipo de tareas, como las expuestas en
"Speech Concatenation and Synthesis Using an
Overlap-Add Sinusoidal Model" (Michael W. Macon y
Mark A. Clements, ICASSP 96 Conference Proceedings, mayo 1996).
La interpolación espectral se realiza en los
puntos en los que se produce un "pegado" de tramas que no se
encontraban consecutivas originalmente en el corpus de voz. Estos
puntos se corresponden con la parte central de un alófono que es la
que, en principio, presenta unas características acústicas más
estables. La selección de unidades realizada para la síntesis basada
en corpus tiene también en cuenta el contexto en el que se
encuentran los alófonos, con el propósito de que las tramas
"pegadas" sean acústicamente semejantes (minimizando las
diferencias debidas a la coarticulación por encontrarse en contextos
diferentes).
A pesar de todo, la interpolación es necesaria
para suavizar las transiciones debidas al "pegado" entre
tramas.
Como los sonidos sordos pueden incluir
variaciones importantes en el espectro, incluso entre tramas
sucesivas contiguas originalmente, se ha optado por no interpolar en
los puntos de pegado correspondientes a sonidos teóricamente sordos,
para evitar introducir un efecto de suavizado que no resulta natural
en muchos casos, y que hace perder nitidez y detalle.
La interpolación espectral consiste en
identificar el punto en el que se produce el pegado, determinando
cuál es la última trama de la parte izquierda del alófono (UPI), y
la primera trama de la parte derecha del alófono (PPD). Una vez
encontradas estas tramas, se define un área de interpolación hacia
ambos lados del punto de pegado que incluye 25 milisegundos a cada
lado (a no ser que se sobrepasen los límites del alófono, por llegar
antes a la frontera con el alófono anterior o siguiente). Cuando ya
se han definido las tramas de voz que pertenecen a cada una de las
zonas de interpolación (la izquierda y la derecha), se realiza la
interpolación. La interpolación consiste en considerar que una trama
interpolada se construye mediante la combinación de la trama
preexistente (trama "propia"), ponderada por un factor (peso
"propio"), y la trama que está al otro lado de la frontera de
pegado (trama "asociada"), también ponderada por otro factor
(peso "asociado"). Ambos pesos deben sumar 1.0, y se hacen
evolucionar de manera proporcional a la duración de las tramas.
Concretando lo dicho:
- \bullet
- En la zona izquierda, la última trama de la parte izquierda (UPI), con un peso de 0.5, se combina con la primera trama de la parte derecha (PPD), también con un peso de 0.5. A medida que nos desplazamos hacia la izquierda y nos alejamos del punto de pegado, el peso "propio" va aumentando (el de cada una de las tramas), y el peso "asociado" va disminuyendo (el de la trama PPD).
- \bullet
- En la zona derecha, la primera trama de la parte derecha (PPD), con un peso de 0.5, se combina con la última trama de la parte izquierda (UPI), también con un peso de 0.5. A medida que nos desplazamos hacia la derecha y nos alejamos del punto de pegado, el peso "propio" va aumentando (el de cada una de las tramas), y el peso "asociado" va disminuyendo (el de la trama UPI).
La interpolación espectral afecta a diversos
parámetros de las tramas:
- \bullet
- El valor que representa la envolvente de amplitud. En las tramas "propias" este valor es sustituido por la combinación lineal del valor original de la trama "propia" y el valor original de la trama "asociada". Con esto se pretenden evitar las discontinuidades de amplitud.
- \bullet
- El valor de frecuencia fundamental (F0). Igualmente, en las tramas "propias" este valor es sustituido por la combinación lineal del valor original de la trama "propia" y el valor original de la trama "asociada". La interpolación del F0 hace que, aunque en principio se respeten los valores del F0 original de las tramas, estos queden modificados para hacer una evolución suave en los puntos de pegado (con lo que se evitan las discontinuidades de F0).
- \bullet
- La información espectral propiamente dicha, reflejada en las componentes sinusoidales de cada trama. Cada trama se considera compuesta por dos conjuntos de componentes sinusoidales: el de la trama "propia" y el de la trama "asociada". Cada uno de los conjuntos de parámetros queda afectado por el peso correspondiente. Con esto, se pretenden evitar las discontinuidades espectrales (los cambios bruscos de timbre en medio de un sonido).
Antes de continuar con el proceso de síntesis,
se calculan para cada trama unos datos que nos permiten estimar cuál
sería el conjunto de frecuencias correspondiente a una frecuencia
fundamental dada.
Como ya se ha dicho antes, la voz natural no es
puramente armónica. En el análisis, se han obtenido unas
frecuencias, junto a sus amplitudes y fases correspondientes, que
representan la envolvente de la señal. También se dispone de una
estimación de la frecuencia fundamental (F0). Las frecuencias de las
sinusoides componentes que representan la envolvente de la señal no
son múltiplos exactos del F0.
Las componentes sinusoidales que representan la
envolvente de la señal se han obtenido de manera que haya una (y
solo una) en la zona de frecuencias correspondiente a cada uno de
los teóricos armónicos (múltiplos exactos del F0). Los datos que se
calculan son los factores entre la frecuencia real de cada una de
las componentes sinusoidales que representan la envolvente, y su
frecuencia armónica correspondiente. Como siempre se fuerza en el
análisis que exista una componente sinusoidal en la frecuencia 0 y
en la frecuencia \pi (aunque realmente no existan, en cuyo caso su
amplitud sería 0), disponemos de un conjunto de puntos
caracterizados por su frecuencia (la de los armónicos teóricos
originales más las frecuencias 0 y \pi) y el factor entre
frecuencia real y frecuencia armónica (en 0 y \pi ese factor será
1.0). Cuando queramos conocer las frecuencias "corregidas" o
"equivalentes" de las componentes sinusoidales que correspondan
a un valor de F0 determinado, distinto del valor de F0 original de
la trama, se hará lo siguiente:
- \bullet
- Se tomará un múltiplo de la nueva frecuencia fundamental (un nuevo armónico).
- \bullet
- Se localizarán los datos de frecuencia armónica original y factor anterior y siguiente al nuevo armónico.
- \bullet
- Se obtendrá un factor intermedio mediante la interpolación lineal de los factores anterior y siguiente.
- \bullet
- Se aplicará ese factor al nuevo armónico, para obtener su frecuencia "corregida" correspondiente.
De este modo se podrán obtener nuevos conjuntos
de frecuencias para un F0 dado que no sean puramente armónicas. El
procedimiento también asegura que si se usa la frecuencia
fundamental original, se obtendrían las frecuencias de las
componentes sinusoidales originales.
Uno de los aspectos más destacados de la
invención es la determinación de las tramas de síntesis.
El primer punto en la determinación de las
tramas de síntesis es la localización de las mismas, y el cálculo de
algunos de los parámetros relacionados con esa localización: el
valor del F0 en ese instante, y el valor residual de la fase de la
primera componente sinusoidal (desplazamiento respecto al centro de
la trama).
Recordemos que en el análisis los parámetros de
cada trama se obtuvieron de forma que la fase de la primera
componente sinusoidal fuera una determinada. Los parámetros
representan la forma de onda de un periodo de la voz, centrada en un
punto adecuado (alrededor de la zona de mayor energía de un periodo)
y homogéneo para todas las tramas (procedan del mismo fichero de voz
o no).
Puesto que el objetivo perseguido es hacer una
síntesis síncrona con el periodo fundamental, eso exige que se
disponga de tantas tramas como periodos de la señal sintética.
Si se quiere sintetizar la voz entre dos tramas
de análisis sucesivas, y no se modifica ni la duración entre las
tramas ni el F0 de cada una de ellas, las tramas de síntesis que
habría que emplear coincidirían exactamente con las tramas de
análisis.
Pero en un caso general, en el que puede haber
modificaciones tanto del F0 como de la duración, el número de tramas
de síntesis necesario para sintetizar la voz entre dos tramas de
análisis cambiará.
Supongamos un caso sencillo en el que tenemos
dos tramas de análisis que tienen exactamente el mismo valor de F0,
y que se encontraban separadas originalmente un número de muestras D
(igual al periodo fundamental de ambas tramas). Si en síntesis se
aumentara la duración al doble (separación 2D), para sintetizar de
forma síncrona con el periodo fundamental la señal entre las dos
tramas de análisis originales, habría que emplear tres tramas de
síntesis localizadas en las duraciones 0, D y 2D (tomando como
referencia de duraciones la primera de las tramas de análisis, y
localizando la segunda de las tramas de análisis en 2D). En la
figura 3 se representa este caso sencillo.
Si se producen cambios de duración y/o F0, la
segunda de las tramas de análisis puede quedar localizada en un
punto en el que sea necesario añadir un desplazamiento temporal (una
desviación de fase de su primera componente sinusoidal) para
representar correctamente la forma de onda correspondiente en ese
punto (que no será necesariamente un punto donde haya que localizar
una trama de síntesis).Habrá que registrar y tener en cuenta ese
desplazamiento temporal para el intervalo de síntesis posterior
entre esa trama y la que venga a continuación. Llamamos a este valor
variación de fase debida a los cambios de F0 y/o duración, y lo
representamos por \delta.
Vamos a exponer el proceso que se sigue para
localizar las tramas de síntesis, y obtener los parámetros que deben
caracterizarlas (además del conjunto de amplitudes frecuencias y
fases de cada una).
El proceso se aplica entre dos tramas de
análisis consecutivas, identificadas por los índices k y k+1. Se
suponen conocidos ciertos valores de la trama k (la trama de la
izquierda) que se irán actualizando a medida que se vayan
recorriendo las tramas de análisis. Estos valores se refieren a la
fase de la primera componente sinusoidal de la trama (la más cercana
al primer armónico de la señal de voz), y son:
Donde:
\theta_{k} fase de la primera componente de
la trama k.
\varphi_{k} fase residual de la primera
componente de la trama k, obtenida durante el análisis de la señal
de voz.
\delta_{k} variación de fase de la primera
componente de la trama k, debida a los cambios de F0 y/o duración
respecto a los valores originales.
\vskip1.000000\baselineskip
En primer lugar, se obtienen ciertos valores
bajo la hipótesis de que no ha habido cambios de F0 ni duración, que
se tendrán en cuenta en los cálculos posteriores. Estos valores
son:
Donde:
\Delta\theta incremento de fase debido a la
evolución temporal de una trama a otra.
\rho_{k+1} corrección del incremento de fase
para la trama k+1.
\vskip1.000000\baselineskip
Que se obtienen a partir de datos conocidos:
F_{k} frecuencia de la primera
componente de la trama k.
F_{k+1} frecuencia de la primera
componente de la trama k+1.
D distancia (duración) entre las tramas k
y k+1, expresada en número de muestras.
F_{s} frecuencia de muestreo de la
señal.
M número entero que se emplea para
incrementar \varphi_{k+1} (fase residual de la primera
componente de la trama k+1) en un múltiplo de 2\pi para asegurar
una evolución de fase lo más lineal posible.
\vskip1.000000\baselineskip
El cálculo de \Delta\theta y \rho_{k+1}
anterior corresponde al caso de que las tramas entre las que se va a
sintetizar estaban contiguas en el corpus de voz original (no se ha
producido "pegado").
Si se hubiera producido "pegado" (las
tramas no estaban contiguas en el corpus de voz original), se toman
unos valores de \Delta\theta y \rho_{k+1} iguales a cero,
dado que las tramas no se encontraban consecutivas y, por tanto, no
se puede establecer una relación entre ambas.
Con estos datos se obtienen otros nuevos, ya
teniendo en cuenta los cambios de F0 y duración. Los valores
modificados respecto a los valores originales se representan con un
apóstrofo:
El valor \delta_{k+1} es la variación de
fase resultante para la trama k+1 debida a los cambios de F0 y/o
duración, que será tomada como referencia para los cálculos entre
esa trama y la que la siga, en la siguiente iteración (la trama k+1
pasará a ser la trama k, y la trama k+2 pasará a ser la trama
k+1).
\newpage
Con los datos obtenidos hasta ahora, se puede
calcular:
Donde \theta_{k+1} es la fase resultante de
la primera componente de la trama k.
\vskip1.000000\baselineskip
Se ha llegado a la formulación de una función
polinómica que calcula de forma continua la evolución de la fase de
la primera componente desde la trama k a la trama k+1 (desde una
trama hasta la siguiente) en función del índice de las muestras
entre ambas tramas. Esta función es un polinomio de orden 3
(polinomio cúbico) que tiene que cumplir ciertas condiciones de
contorno:
- \bullet
- El valor \theta_{k} de la fase de la primera componente de la trama de la izquierda (la correspondiente al instante de tiempo o índice de muestras 0).
- \bullet
- El valor \theta_{k+1} de la fase de la primera componente de la trama de la derecha (la correspondiente al instante de tiempo o índice de muestras D').
- \bullet
- El valor F'_{k} de la frecuencia de la primera componente de la trama de la izquierda.
- \bullet
- El valor F'_{k+1} de la frecuencia de la primera componente de la trama de la derecha.
Teniendo en cuenta que la derivada de la fase es
la frecuencia, se pueden imponen las condiciones de contorno y
obtener los valores de los cuatro coeficientes del polinomio cúbico
interpolador de fase.
Una vez que se dispone de todos los datos
necesarios para determinar el polinomio cúbico que representa la
evolución de la desviación de fase, se trata de localizar los puntos
en los que se situarán las ventanas de síntesis para que sean
síncronas con el periodo fundamental.
Este proceso consiste en encontrar los puntos
(los índices de desplazamiento respecto a la trama de la izquierda)
en los que el valor del polinomio es lo más cercano a 0 o a un
múltiplo entero de 2\pi. Como resultado de todo el proceso de
localización de tramas de síntesis se obtendrá:
- \bullet
- El número de tramas de síntesis existentes entre dos tramas de análisis. Puede que incluso no haya ninguna trama de síntesis entre dos tramas de análisis (por ejemplo si baja mucho el F0, y/o disminuye mucho la duración).
- \bullet
- Los índices enteros correspondientes a los puntos del polinomio en los que el valor sea lo más cercano posible a 0 o a un múltiplo entero de 2\pi. Esos índices son los que identifican los lugares en los que se situarán las ventanas de síntesis.
- \bullet
- El valor de fase dado por el polinomio en esos puntos. Será la fase residual correspondiente a la trama de síntesis que habrá que situar en esos puntos.
- \bullet
- El valor de F0 en esos puntos, calculado como interpolación lineal de los valores de las tramas de análisis de la izquierda y de la derecha.
En las figuras 4 y 5 se esquematiza el proceso
de obtención de la localización de las tramas de síntesis y sus
parámetros asociados.
Una vez que se dispone de un conjunto de tramas
de síntesis (las situadas entre dos tramas de análisis), se trata de
obtener los parámetros que nos permitirán realizar la generación de
la señal de voz sintética. Estos parámetros son los valores de
frecuencia, amplitud y fase de las componentes sinusoidales.
Usualmente nos referimos a esas ternas de parámetros como
"picos", porque en las formulaciones más clásicas de los
modelos sinusoidales, como "Speech Analysis/Synthesis Based on a
Sinusoidal Representation" (Robert J. McAulay y Thomas F.
Quatieri, IEEE Transactions on Acoustics, Speech, and Signal
Processing, vol. ASSP-34, no. 4, agosto 1986), los
parámetros del análisis se obtenían al localizar los máximos locales
(o "picos") del espectro de amplitud.
Antes de obtener los "picos", es necesario
caracterizar completamente las tramas de síntesis. De estas tramas
ya conocemos el F0 y la fase residual de la primera componente
sinusoidal, además de la distancia (número de muestras) respecto a
la trama anterior. Lo que no hemos acabado de precisar es la
información espectral que caracterizará a esas tramas.
\newpage
En rigor, si la posición de las tramas de
síntesis no coincide con la de las tramas de análisis empleadas para
obtenerlas, habría que hacer algún tipo de interpolación o mezcla
del espectro de las tramas de análisis para caracterizar el espectro
de las tramas de síntesis situadas entre las tramas de análisis. Se
han hecho pruebas de este tipo (con una estrategia similar a la
empleada en la interpolación espectral en los puntos de pegado) con
un resultado bastante bueno. Sin embargo, considerando el impacto
que esta interpolación tiene en la carga de cálculo y teniendo en
cuenta que en la síntesis por corpus se confía en no modificar mucho
los valores de prosodia de la voz original, se ha optado por tomar
una estrategia mucho más simple: la información espectral de una
trama de síntesis es la misma que la de la trama de análisis más
cercana.
Para obtener los "picos" de síntesis
correspondientes a una trama, se comprueba en primer lugar el tipo
de trama y los valores del F0 que hay que emplear en la síntesis y
del F0 que originalmente tenía la trama.
Si la trama es completamente sorda (la
probabilidad de sonoridad es 0), o los valores de F0 original y
sintético coinciden, los "picos" de síntesis coinciden con los
"picos" de análisis (tanto los que modelan la envolvente como
los adicionales). Sólo es necesario introducir la fase residual de
la primera componente sinusoidal (obtenida mediante el polinomio
cúbico), para alinear adecuadamente la trama.
Si la trama no es completamente sorda y el F0
sintético no coincide con el original, entonces hay que hacer un
muestreo del espectro para obtener los picos. En primer lugar se usa
la probabilidad de sonoridad de la trama para calcular la frecuencia
de corte que separa la parte sonora de la parte sorda del espectro.
Dentro de la parte sonora, se van tomando múltiplos del F0 de
síntesis (armónicos). Para cada armónico, se calcula la frecuencia
corregida de acuerdo a lo que se ha dicho en un apartado anterior
(Diferencias respecto a los armónicos). Seguidamente, se obtienen
los valores de amplitud y fase correspondientes a la frecuencia
corregida, usando los "picos" que modelan la envolvente de la
señal original. La interpolación se hace sobre la parte real e
imaginaria de los "picos" de la envolvente original que tienen
una frecuencia más cercana (superior e inferior) a la frecuencia
corregida. Una vez alcanzada la frecuencia de corte, se añaden los
"picos" originales que se encuentren por encima de ella (tanto
los "picos" que modelan la envolvente original como los
inarmónicos).
En este segundo caso (trama que no es
completamente sorda, y con un F0 sintético que no coincide con el
original) es necesario introducir dos correcciones:
- \bullet
- Una corrección de amplitud. El hecho de cambiar la frecuencia hace que cambie el número de "picos" que se encuentran dentro de la parte sonora. Esto hace que la señal sintetizada tenga una amplitud distinta a la de la señal original, que se traduce en un cambio en la sensación del volumen percibido (la señal se escucha más "débil", si aumenta el F0, o más "fuerte", si disminuye el F0). Se calcula un factor basado en la relación entre los valores de F0 sintético y original, con el propósito de mantener la energía de la parte sonora de la señal. Este factor sólo se aplica a la amplitud de los "picos" de la parte sonora.
- \bullet
- Una corrección de fase. Cuando se cambia el F0, la frecuencia de la primera componente sinusoidal es diferente al valor que tenía originalmente y, consecuentemente, también la fase de esa componente será distinta. En el análisis, se obtenía una fase residual que se eliminaba de la trama original para que la fase de la primera componente tuviera un valor concreto (el que correspondía a una trama adecuadamente centrada en la forma de onda del periodo). La corrección de fase que hay que introducir tiene en cuenta, en primer lugar, la recuperación del valor concreto de fase para la primera componente sinusoidal sintética. También tiene en cuenta la fase residual que hay que añadir a la trama (procedente de los cálculos realizados con el polinomio cúbico). La corrección de fase tiene en cuenta ambos efectos, y se aplica a todos los picos de la señal (recordemos que una componente lineal de fase equivale a un desplazamiento de la forma de onda).
En los casos en los que una trama de síntesis
está afectada por la interpolación espectral debida al "pegado"
hay que tener en cuenta que su espectro se compone de dos partes: la
debida a su espectro "propio" y la debida al espectro
"asociado" de la trama con la que se combina. La forma de
tratar este caso en la obtención de parámetros para la síntesis
consiste en obtener los "picos" tanto para el espectro
"propio" como para el espectro "asociado" (afectados cada
uno de ellos por el factor de amplitud correspondiente al peso
"propio" y "asociado" que tienen en la combinación), y
considerar que la trama se compone de ambos conjuntos de picos. Hay
que destacar que se emplea el mismo valor de F0 sintético y de fase
residual en la obtención de los "picos" en ambos espectros.
La síntesis se realiza combinando, en el dominio
del tiempo, las sinusoides de dos tramas de síntesis sucesivas. Las
muestras generadas son las que se encuentran en los puntos que hay
entre ellas.
En cada punto, la muestra generada por la trama
de la izquierda se multiplica por un peso que va disminuyendo
linealmente hasta llegar a un valor cero en el punto correspondiente
a la trama de la derecha. Por el contrario, la muestra generada por
la trama de la derecha se multiplica por un peso complementario al
de la trama de la izquierda (1 menos el peso correspondiente a la
trama de la izquierda). Esto es lo que se conoce como solapamiento y
suma con ventanas triangulares.
Claims (11)
1. Método de análisis, modificación y síntesis
de señal de voz que comprende:
a. una fase de localización de ventanas de
análisis mediante un proceso iterativo de determinación de la fase
de la primera componente sinusoidal de la señal y comparación entre
el valor de fase de dicha componente y un valor predeterminado hasta
encontrar una posición para la que la diferencia de fase representa
un desplazamiento temporal menor a media muestra de voz.
b. una fase de selección de tramas de análisis
correspondientes a un alófono y reajuste de la duración y la
frecuencia fundamental según un modelo, de manera que si la
diferencia entre la duración original o la frecuencia fundamental
original y las que se quieren imponer supera unos umbrales, se
ajustan la duración y la frecuencia fundamental para generar tramas
de síntesis.
c. una fase de generación de voz sintética a
partir de las tramas de síntesis tomando como información espectral
de la trama de síntesis la información de la trama de análisis más
cercana y tomando tantas tramas de síntesis como periodos tenga la
señal sintética.
\vskip1.000000\baselineskip
2. Método según la reivindicación 1, donde una
vez localizada la primera ventana de análisis se busca la siguiente
desplazándose medio periodo y así sucesivamente.
3. Método según las reivindicaciones 1 ó 2 donde
se hace una corrección de fase añadiendo una componente lineal a la
fase de todas las sinusoides de la trama.
4. Método según cualquiera de las
reivindicaciones anteriores donde el umbral de modificación para la
duración es menor del 25%.
5. Método según la reivindicación 4 donde el
umbral de modificación para la duración es menor del 15%.
6. Método según cualquiera de las
reivindicaciones anteriores donde el umbral de modificación para la
frecuencia fundamental es menor del 15%.
7. Método según la reivindicación 6 donde el
umbral de modificación para la frecuencia fundamental es menor del
10%.
8. Método según cualquiera de las
reivindicaciones anteriores, donde la fase de generación a partir de
las tramas de síntesis se realiza por solapamiento y suma con
ventanas triangulares.
9. Uso del método de cualquiera de las
reivindicaciones anteriores en conversores de
texto-voz.
10. Uso del método de cualquiera de las
reivindicaciones 1 a 9 para mejorar la inteligibilidad de las
grabaciones de voz.
11. Uso del método de cualquiera de las
reivindicaciones 1 a 9 para pegar segmentos de grabaciones de voz
diferenciados en cualquier característica de su espectro.
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200931212A ES2374008B1 (es) | 2009-12-21 | 2009-12-21 | Codificación, modificación y síntesis de segmentos de voz. |
ARP100104683A AR079623A1 (es) | 2009-12-21 | 2010-12-16 | Codificacion, modificacion y sintesis de segmentos de voz |
PCT/EP2010/070353 WO2011076779A1 (en) | 2009-12-21 | 2010-12-21 | Coding, modification and synthesis of speech segments |
MX2011009873A MX2011009873A (es) | 2009-12-21 | 2010-12-21 | Codificacion, modificacion y sintesis de segmentos de voz. |
US13/254,479 US8812324B2 (en) | 2009-12-21 | 2010-12-21 | Coding, modification and synthesis of speech segments |
BR112012015144A BR112012015144A2 (pt) | 2009-12-21 | 2010-12-21 | "codificação, modificação e síntese de segmentos de voz". |
PE2011001989A PE20121044A1 (es) | 2009-12-21 | 2010-12-21 | Codificacion, modificacion y sintesis de segmentos de voz |
ES10801161.0T ES2532887T3 (es) | 2009-12-21 | 2010-12-21 | Codificación, modificación y síntesis de segmentos de voz |
EP10801161.0A EP2517197B1 (en) | 2009-12-21 | 2010-12-21 | Coding, modification and synthesis of speech segments |
CO11117745A CO6362071A2 (es) | 2009-12-21 | 2011-09-12 | Codificacion, modificacion y sintesis de segmentos de voz |
CL2011002407A CL2011002407A1 (es) | 2009-12-21 | 2011-09-29 | Un metodo de codificacion, modificacion y sintesis de segmentos de voz |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200931212A ES2374008B1 (es) | 2009-12-21 | 2009-12-21 | Codificación, modificación y síntesis de segmentos de voz. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2374008A1 true ES2374008A1 (es) | 2012-02-13 |
ES2374008B1 ES2374008B1 (es) | 2012-12-28 |
Family
ID=43735039
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES200931212A Expired - Fee Related ES2374008B1 (es) | 2009-12-21 | 2009-12-21 | Codificación, modificación y síntesis de segmentos de voz. |
ES10801161.0T Active ES2532887T3 (es) | 2009-12-21 | 2010-12-21 | Codificación, modificación y síntesis de segmentos de voz |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10801161.0T Active ES2532887T3 (es) | 2009-12-21 | 2010-12-21 | Codificación, modificación y síntesis de segmentos de voz |
Country Status (10)
Country | Link |
---|---|
US (1) | US8812324B2 (es) |
EP (1) | EP2517197B1 (es) |
AR (1) | AR079623A1 (es) |
BR (1) | BR112012015144A2 (es) |
CL (1) | CL2011002407A1 (es) |
CO (1) | CO6362071A2 (es) |
ES (2) | ES2374008B1 (es) |
MX (1) | MX2011009873A (es) |
PE (1) | PE20121044A1 (es) |
WO (1) | WO2011076779A1 (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2961938B1 (fr) * | 2010-06-25 | 2013-03-01 | Inst Nat Rech Inf Automat | Synthetiseur numerique audio ameliore |
ES2401014B1 (es) * | 2011-09-28 | 2014-07-01 | Telef�Nica, S.A. | Método y sistema para la síntesis de segmentos de voz |
CA2897321C (en) | 2013-01-08 | 2018-09-04 | Dolby International Ab | Model based prediction in a critically sampled filterbank |
EP2954517B1 (en) * | 2013-02-05 | 2016-07-27 | Telefonaktiebolaget LM Ericsson (publ) | Audio frame loss concealment |
JP6733644B2 (ja) * | 2017-11-29 | 2020-08-05 | ヤマハ株式会社 | 音声合成方法、音声合成システムおよびプログラム |
KR102108906B1 (ko) * | 2018-06-18 | 2020-05-12 | 엘지전자 주식회사 | 음성 합성 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452398A (en) * | 1992-05-01 | 1995-09-19 | Sony Corporation | Speech analysis method and device for suppyling data to synthesize speech with diminished spectral distortion at the time of pitch change |
EP1256931A1 (en) * | 2001-05-11 | 2002-11-13 | Sony France S.A. | Method and apparatus for voice synthesis and robot apparatus |
US20060111908A1 (en) * | 2004-11-25 | 2006-05-25 | Casio Computer Co., Ltd. | Data synthesis apparatus and program |
WO2007007253A1 (en) * | 2005-07-14 | 2007-01-18 | Koninklijke Philips Electronics N.V. | Audio signal synthesis |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577160A (en) * | 1992-06-24 | 1996-11-19 | Sumitomo Electric Industries, Inc. | Speech analysis apparatus for extracting glottal source parameters and formant parameters |
US6064960A (en) * | 1997-12-18 | 2000-05-16 | Apple Computer, Inc. | Method and apparatus for improved duration modeling of phonemes |
US6449592B1 (en) * | 1999-02-26 | 2002-09-10 | Qualcomm Incorporated | Method and apparatus for tracking the phase of a quasi-periodic signal |
US7315815B1 (en) * | 1999-09-22 | 2008-01-01 | Microsoft Corporation | LPC-harmonic vocoder with superframe structure |
US20030158734A1 (en) * | 1999-12-16 | 2003-08-21 | Brian Cruickshank | Text to speech conversion using word concatenation |
JP4451665B2 (ja) * | 2002-04-19 | 2010-04-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 音声を合成する方法 |
-
2009
- 2009-12-21 ES ES200931212A patent/ES2374008B1/es not_active Expired - Fee Related
-
2010
- 2010-12-16 AR ARP100104683A patent/AR079623A1/es unknown
- 2010-12-21 WO PCT/EP2010/070353 patent/WO2011076779A1/en active Application Filing
- 2010-12-21 US US13/254,479 patent/US8812324B2/en not_active Expired - Fee Related
- 2010-12-21 MX MX2011009873A patent/MX2011009873A/es active IP Right Grant
- 2010-12-21 PE PE2011001989A patent/PE20121044A1/es not_active Application Discontinuation
- 2010-12-21 BR BR112012015144A patent/BR112012015144A2/pt not_active IP Right Cessation
- 2010-12-21 EP EP10801161.0A patent/EP2517197B1/en not_active Not-in-force
- 2010-12-21 ES ES10801161.0T patent/ES2532887T3/es active Active
-
2011
- 2011-09-12 CO CO11117745A patent/CO6362071A2/es not_active Application Discontinuation
- 2011-09-29 CL CL2011002407A patent/CL2011002407A1/es unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452398A (en) * | 1992-05-01 | 1995-09-19 | Sony Corporation | Speech analysis method and device for suppyling data to synthesize speech with diminished spectral distortion at the time of pitch change |
EP1256931A1 (en) * | 2001-05-11 | 2002-11-13 | Sony France S.A. | Method and apparatus for voice synthesis and robot apparatus |
US20060111908A1 (en) * | 2004-11-25 | 2006-05-25 | Casio Computer Co., Ltd. | Data synthesis apparatus and program |
WO2007007253A1 (en) * | 2005-07-14 | 2007-01-18 | Koninklijke Philips Electronics N.V. | Audio signal synthesis |
Also Published As
Publication number | Publication date |
---|---|
ES2532887T3 (es) | 2015-04-01 |
AR079623A1 (es) | 2012-02-08 |
EP2517197A1 (en) | 2012-10-31 |
ES2374008B1 (es) | 2012-12-28 |
US8812324B2 (en) | 2014-08-19 |
MX2011009873A (es) | 2011-09-30 |
CL2011002407A1 (es) | 2012-03-16 |
WO2011076779A1 (en) | 2011-06-30 |
BR112012015144A2 (pt) | 2019-09-24 |
EP2517197B1 (en) | 2014-12-17 |
US20110320207A1 (en) | 2011-12-29 |
CO6362071A2 (es) | 2012-01-20 |
PE20121044A1 (es) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Laroche et al. | Improved phase vocoder time-scale modification of audio | |
JP4469883B2 (ja) | 音声合成方法及びその装置 | |
JP4705203B2 (ja) | 声質変換装置、音高変換装置および声質変換方法 | |
JP4641620B2 (ja) | ピッチ検出の精密化 | |
ES2532887T3 (es) | Codificación, modificación y síntesis de segmentos de voz | |
EP0995190B1 (en) | Audio coding based on determining a noise contribution from a phase change | |
US8280724B2 (en) | Speech synthesis using complex spectral modeling | |
ES2364005T3 (es) | Procedimiento, dispositivo y medio de código de programa informático para la conversión de voz. | |
KR20170107683A (ko) | 딥러닝 기반의 음성 합성 시스템을 위한 피치 동기화 음성 합성 방법 | |
US6950798B1 (en) | Employing speech models in concatenative speech synthesis | |
Ardaillon et al. | A multi-layer F0 model for singing voice synthesis using a B-spline representation with intuitive controls | |
JP3732793B2 (ja) | 音声合成方法、音声合成装置及び記録媒体 | |
Erro et al. | Flexible harmonic/stochastic speech synthesis. | |
O'Brien et al. | Concatenative synthesis based on a harmonic model | |
JP2018077283A (ja) | 音声合成方法 | |
Agiomyrgiannakis et al. | ARX-LF-based source-filter methods for voice modification and transformation | |
JP2010008853A (ja) | 音声合成装置及びその方法 | |
US7822599B2 (en) | Method for synthesizing speech | |
CN105719641B (zh) | 用于波形拼接语音合成的选音方法和装置 | |
Erro et al. | A pitch-asynchronous simple method for speech synthesis by diphone concatenation using the deterministic plus stochastic model | |
Nurminen et al. | Evaluation of detailed modeling of the LP residual in statistical speech synthesis | |
ES2401014B1 (es) | Método y sistema para la síntesis de segmentos de voz | |
Gigi et al. | A mixed-excitation vocoder based on exact analysis of harmonic components | |
Ardaillon et al. | A mouth opening effect based on pole modification for expressive singing voice transformation | |
Banga et al. | Concatenative Text-to-Speech Synthesis based on Sinusoidal Modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 2374008 Country of ref document: ES Kind code of ref document: B1 Effective date: 20121228 |
|
FD2A | Announcement of lapse in spain |
Effective date: 20190611 |