ES2286943B1 - Procedimiento de identificacion de voz. - Google Patents
Procedimiento de identificacion de voz. Download PDFInfo
- Publication number
- ES2286943B1 ES2286943B1 ES200601298A ES200601298A ES2286943B1 ES 2286943 B1 ES2286943 B1 ES 2286943B1 ES 200601298 A ES200601298 A ES 200601298A ES 200601298 A ES200601298 A ES 200601298A ES 2286943 B1 ES2286943 B1 ES 2286943B1
- Authority
- ES
- Spain
- Prior art keywords
- models
- model
- scores
- classes
- distribution
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims 1
- 239000013598 vector Substances 0.000 description 13
- 239000000203 mixture Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000009467 reduction 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
Procedimiento de identificación de voz a partir de un conjunto de modelos de locutores diversos con distintas características, agrupados en clases de características similares. Una vez agrupados los modelos a partir de las distancias entre todos los posibles pares de modelos existentes en la situación inicial del conjunto de modelos, se evalúa la distancia de un nuevo modelo a una clase original seleccionada.
Description
Procedimiento de identificación de voz.
La presente invención se refiere, en general, al
campo técnico del reconocimiento automático de un locutor.
Es conocido en el estado de la técnica, que los
procedimientos para realizar el reconocimiento automático de un
locutor a partir de una muestra de voz grabada sobre un medio de
grabación, es necesario llevar a cabo una comparación de la muestra
de voz asociada al locutor que se desea identificar con un conjunto
de modelos de una población de referencia o cohorte, conjunto de
locutores cuyos modelos han de ser similares a los modelos del
locutor a identificar.
Una desventaja de dicha metodología se deriva de
la etapa de selección de una cohorte lo más parecida a la muestra
de voz que se quiere identificar. Se ha de observar que el peso de
la referida etapa tiene una gran influencia en la precisión global
del procedimiento de reconocimiento automático de locutor.
Por tanto, se hace necesario desarrollar un
procedimiento de selección de una cohorte, cuyas características
sean próximas a la muestra de voz del locutor que se desea
reconocer, que minimice las necesidades de memoria, ya que serán
necesarias un menor número de instrucciones y datos de varios tipos
relativos a características de cada muestra de voz almacenadas
codificados cómo números, y de procesador que opera los datos
almacena en la memoria de acuerdo con las instrucciones del programa
almacenado en el procesador.
La cohorte seleccionada deberá ser la que
presente unas características más próximas a la muestra de voz a
reconocer, por tanto, el procedimiento de reconocimiento
proporciona más fiabilidad y seguridad en caso de identificación
positiva o negativa del locutor que los procedimientos actualmente
conocidos.
La presente invención busca resolver o reducir
uno o más de los inconvenientes expuestos anteriormente mediante un
procedimiento de identificación de voz como es reivindicado en la
reivindicación 1. Realizaciones de la invención son establecidas en
las reivindicaciones dependientes.
Otro objeto de la invención es reducir el número
de cohortes contra las que se compara la muestra de voz grabada a
fin de reducir la carga de cálculo de computación, es decir, se
reduce los requisitos físicos relativos al ordenador en el cual se
ejecutará el procedimiento de identificación de voz. Además, se
obtendrá más rápidamente un resultado en el procedimiento de
identificación ya que se acorta el tiempo de ejecución dentro del
ordenador del procedimiento de identificación, a saber, el ordenador
realiza un número menor de cálculos para dar un resultado del
procedimiento de identificación de voz.
Aun otro objeto de la invención es comparar la
muestra de voz contra cohortes de igual periodo de tiempo, es
decir, duración.
A partir de un fichero de audio (codificado
PCM), se eliminan los silencios y se extraen unos coeficientes
según el procedimiento conocido en el estado de la técnica Mel
Frecuency Cepstrum Coeficients MFCC que incluye una transformada de
Fourier y una transformada inversa de Fourier. En este proceso se
aplican diferentes algoritmos matemáticos para normalizar
eliminando contribuciones específicas del canal de transmisión,
etc.
Esta serie de coeficientes MFCC constituyen un
fichero de parámetros que viene unívocamente de cada fichero de
audio y que caracteriza los parámetros fundamentales de cada audio.
En el caso que nos ocupa el fichero de parámetros generados
corresponde a vectores de dimensión 38 (19 MFCC y sus 19 deltas)
extraídos de cada ventana de 20 milisegundos en que se ha dividido
la muestra de voz.
Como las ventanas se van definiendo con un 50%
de solapamiento con la anterior, resulta que tenemos un vector de
dimensión 38 cada 10 ms. Estos parámetros (dimensión N, tamaño y
solapamiento de ventanas puede cambiar). Este fichero de parámetros
consiste esencialmente en un tren de datos de "anchura" 38 y de
longitud tanta como tramos de 10 ms tenía el fichero de audio
original sin silencios.
Una vez obtenido el fichero de coeficientes lo
que se hace es una representación de esa información en el espacio
vectorial de dimensión N. Para ello se define un "modelo" que
consta de una serie de gaussianas (o mezclas) que intentan
representar la serie de puntos que relacionados con el fichero de
parámetros.
Es como representar el histograma de los puntos
(en el espacio de dimensión N) y luego representarlo por una serie
de distribuciones normales para poder definirlos. Por lo tanto, un
modelo de locutor consta de una serie de puntos en los cuales se
representa el vector de medias y covarianzas (ambos de dimensión N)
y un escalar que representa el peso todo ello para cada una de las
M gaussianas con las que se representa el modelo. En este caso la
dimensión del espacio vectorial es N=38 y el número de mezclas
M=1024.
La manera de aproximar o representar los puntos
extraídos del fichero de parámetros con las M gaussianas se hace
con el método llamado MAP (Maximum a Posteriori) que
consiste en partir de un modelo universal (UBM) que representa una
gran cantidad de habla de diversos y variados orígenes
(hombre/mujer, diferentes idiomas, canales, tipos de habla,
etc).
Este UBM tiene también M gaussianas en el
espacio de dimensión N e intenta representar el habla de la raza
humana (o la que tiene probabilidades de hablar en el sistema en
cuestión). Una vez obtenido el UBM, lo que se hace es modificar los
vectores de medias de cada una de las M gaussianas con los
coeficientes que vienen del fichero de parámetros en cuestión.
Estas gaussianas se "adaptan" modificando sus medias para
acomodar mejor los puntos que vienen del fichero de parámetros. Este
conjunto de gaussianas modificadas a partir de las que hay en el
UBM se llama modelo y se extrae unívocamente del fichero de
parámetros. En nuestro caso, un modelo de locutor consiste en un
fichero de datos de dimensión 1024x(38+38+1), es decir por
cada una de las 1024 mezclas tenemos un vector de dimensión 38 de
medias, otro de varianzas y un escalar que representa el peso de la
mezcla. Este modelo intenta representar y contener las propiedades
características del locutor determinado
Una vez se tiene un modelo de un locutor, ya
podemos compararlo con otro fichero de audio. Para ello, lo primero
que hacemos es extraer el fichero de parámetros del fichero de
audio como se ha explicado anteriormente.
Una vez extraído el fichero de parámetros, se
compara este fichero con el UBM. Para comparar lo que se hace es
calcular la probabilidad de que cada vector pertenezca a cada una
de las mezclas del UBM. Recuérdese que las mezclas del UBM
representan las componentes de una función de distribución de
probabilidad, por lo que calculando el valor de cada una de las
mezclas en el punto definido por el vector y sumándolas todas nos
da la probabilidad de que ese vector pertenezca al UBM. Si se repite
el mismo proceso para todos los vectores que forman el fichero de
parámetros y hacemos una media de sus logaritmos, tenemos la
probabilidad de que el fichero de parámetros pertenezca al UBM
Ahora comparamos el fichero de parámetros con el
modelo en cuestión mediante el mismo procedimiento definido en el
párrafo anterior. Esto nos da la probabilidad de que el fichero de
parámetros pertenezca al modelo. La puntuación definitiva que
corresponde a la comparación fichero de audio vs. modelo resulta ser
la resta de la puntuaciones frente al modelo y frente al UBM. Si el
locutor del fichero de audio y el del modelo son la misma persona,
la puntuación que obtendrá el fichero al compararlo con el modelo
será más alta que al compararlo con el UBM y si los locutores son
distintos, la puntuación frente al modelo será baja y probablemente
cercana o incluso menor que la puntuación frente al UBM
En realidad, lo que se hace es comparar el
fichero de parámetros con el UBM como se ha descrito, pero luego
sólo se eligen las cinco mezclas más significativas de cada vector.
Es decir, para cada vector elegir de las 1024 mezclas sólo las cinco
donde este puntúa más alto. Estas cinco son las únicas que se
utilizan posteriormente en la comparación con el modelo
consiguiendo una reducción en tiempo de cómputo de 200x para la
tarea de comparación con el modelo. Esto es especialmente
significativo si el fichero de audio se compara con varios modelos
de una vez: la comparación con el UBM se hace una sola vez y luego
se compara muy rápidamente con todos los modelos de diferentes
locutores.
El resultado que se obtiene es una puntuación
sin normalizar. Sin embargo, y por diversas razones, los diversos
modelos pueden dar puntuaciones en distintos rangos: los ficheros
del mismo locutor dan puntuaciones más altas que los ficheros de
locutores distintos, pero estas puntuaciones son en conjunto más
altas o más bajas que las puntuaciones equivalentes (incluso con
los mismos ficheros) de otros locutores. Es lo que se denomina
desalineamiento de las puntuaciones.
Este desalineamiento se produce tanto por efecto
de las propiedades de los audios, muestras de voz, (si las
propiedades como el canal o el idioma del fichero de audio o test y
las del modelo son diferentes, las puntuaciones tenderán a ser más
bajas) como por factores intrínsecos a los modelos y a los tests
(unos modelos y tests dan puntuaciones más altas que otros).
Para poder comparar las puntuaciones obtenidas
al comparar con los diferentes modelos es necesario eliminar los
desajustes, pues en caso contrario estamos comparando variables
disjuntas.
La normalización que se utilizará es la conocida
en el estado de la técnica como tnorm. Esta normalización consiste
en lo siguiente: Cuando queremos comparar un fichero de test T con
un modelo M, se elige una serie de modelos llamada cohorte de
normalización.
Esta cohorte debe estar compuesta por modelos
con las mismas características del modelo M (canal, idioma,
género...) pero deben venir de locutores distintos de los locutores
del test T y el modelo M. El fichero T se compara con todos y cada
uno de los modelos de la cohorte y se saca una serie de puntuaciones
sin normalizar. De esta serie de puntuaciones se obtiene la media y
la desviación.
Conceptualmente, lo que se obtiene es la
distribución de puntuaciones que el test T obtiene típicamente
cuando se enfrenta a modelos distintos de sí mismo y con las mismas
características de M.
Para normalizar la puntuación obtenida entre T y
M, se procede a restar de esa puntuación la media y dividirlo por
desviación. Con ello lo se consigue que las puntuaciones de
impostor del test T cuando se compara con modelos de similares
características de M (curva de falsa aceptación FA) sean una
distribución de media cero y varianza unidad.
Después del proceso de normalización, las
puntuaciones para cada modelo estarán alineadas y se podrán
comparar unas con otras
La cohorte a utilizar para normalizar cada
modelo consiste entre 20 y 50 modelos diferentes. Para modelos de
características similares se puede utilizar la misma cohorte, pero
si los modelos tienen características distintas es necesario
utilizar cohortes diversas.
En ciertas aplicaciones como la búsqueda masiva
en grandes bases de datos de modelos, esta tarea puede hacerse
computacionalmente prohibitiva debido a que el número de pares
test-modelos (incluyendo los de la cohorte) y sus
correspondientes identificaciones crecen exponencialmente.
Adicionalmente, existe el problema de que las variables
características de los modelos significativas para elegir la cohorte
adecuada no siempre están claras.
Para mejorar el proceso descrito se utiliza un
conjunto de modelos de locutores diversos con distintas
características, agrupados en clases de características similares.
Esto se puede hacer mediante diferentes procedimientos: por ejemplo
manualmente definiendo las clases a partir de las variables
conocidas como importantes (género, idioma, canal, compresión...) o
a partir de un algoritmo de agrupamiento de los modelos.
El algoritmo de agrupamiento trabaja
inicialmente a partir de las distancias entre todos los posibles
pares de modelos existentes en la situación inicial del conjunto de
modelos. En el estado inicial, se obtienen las distancias entre
todos los modelos existentes mediante una técnica conocida en el
estado de la técnica y denominada Kullback Leiber u otra
similar.
Una vez obtenida una matriz con las distancias
entre todos los modelos, estos se agrupan entre sí en clases
mediante cualquiera de los algoritmos de agrupamiento conocido en
el estado de la técnica.
Una vez generadas las clases originales, para
incorporar un nuevo modelo al grupo y asignarle una clase
determinada se procede a evaluar la distancia de ese modelo a cada
una de las clases preexistentes.
Para ello se pueden seguir diferentes técnicas,
por ejemplo crear un UBM adaptado por cada una de las clases y
comparar el modelo con todos los UBM adaptados, o por ejemplo
elegir un grupo de modelos representativos de cada clase y evaluar
la distancia de el nuevo modelos con cada uno de los grupos. Cada
cierto tiempo, según se vayan incorporando un número significativo
de modelos al grupo, se puede reestimar desde cero las diferente
clases mediante el procedimiento descrito inicialmente.
Una vez que tenemos la base de datos de modelos
ya asignados unívocamente a diferentes clases, podemos ya pasar al
proceso de tratar de identificar el locutor de un fichero de audio
y buscar si este locutor tiene un modelo ya generado y almacenado en
la base de datos.
Para ello enfrentamos el fichero de test con
todos los modelos pertenecientes a una clase específica obteniendo
una serie de puntuaciones sin normalizar. Una vez que tenemos la
serie de puntuaciones sin normalizar correspondientes a una clase,
separamos aquellas que parezcan estar fuera de la distribución, por
ejemplo las que sean mayores que la media más 2 o 3 veces la sigma
de la distribución.
Una vez apartados las puntuaciones fuera de la
distribución, se recalcula la media y la sigma de la nueva
distribución, y esos son los parámetros a utilizar para normalizar
toda la distribución de puntuaciones de esta clase.
Es decir, a las puntuaciones sin normalizar se
les resta la media y se divide por la sigma para calcular la
distribución de puntuaciones normalizadas de esta clase. Si se
repite el procedimiento para cada una de las clases, podemos
comparar las puntuaciones obtenidas con todos los modelos sin tener
que utilizar cohortes de normalización con el aumento de cálculo
que conlleva y la dificultad en asignar a priori estas
cohortes.
Las realizaciones y ejemplos establecidos en
esta memoria se presentan como la mejor explicación de la presente
invención y su aplicación práctica y para permitir de ese modo que
los expertos en la técnica pongan en práctica y utilicen la
invención. No obstante, los expertos en la técnica reconocerán que
la descripción y los ejemplos anteriores han sido presentados con
el propósito de ilustrar y solamente como ejemplo. La descripción
como se expone no está destinada a ser exhaustiva o a limitar la
invención a la forma precisa descrita. Muchas modificaciones y
variaciones son posibles a la luz de la enseñanza anterior sin
salirse del espíritu y alcance de las reivindicaciones
siguientes.
Claims (1)
1. Procedimiento de identificación de voz a
partir de un conjunto de modelos de locutores diversos con
distintas características, agrupados en clases de características
similares; caracterizado porque el procedimiento incluye las
siguientes etapas:
- -
- agrupamiento de modelos en clases según un predeterminado criterio de agrupamiento tal como cálculo de las distancias a partir de los modelos iniciales agrupados en parejas,
- -
- identificación de un modelo generado y almacenado relativo a una locución de audio mediante la comparación de dicha locución contra todos los modelos pertenecientes a cada una de las clases seleccionada de las generadas previamente,
- -
- obtención de las puntuaciones al paso anterior y separación de las puntuaciones que se encuentra fuera de una distribución,
- -
- cálculo de la media y sigma de la distribución de cada clase obtenida en el paso anterior, de manera que se obtienen parámetros para normalizar la clase seleccionada.
- -
- normalización de las puntuaciones obtenidas frente a cada uno de los modelos pertenecientes a una clase con la media y la sigma obtenidas en el paso anterior incluyendo las puntuaciones separadas por estar fuera de la distribución, y
- -
- comparación de las puntuaciones así normalizadas para encontrar las posibles identidades entre la locución y algún modelo de alguna de las clases.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200601298A ES2286943B1 (es) | 2006-05-19 | 2006-05-19 | Procedimiento de identificacion de voz. |
PCT/ES2007/070094 WO2007135218A1 (es) | 2006-05-19 | 2007-05-18 | Procedimiento de identificación de voz |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200601298A ES2286943B1 (es) | 2006-05-19 | 2006-05-19 | Procedimiento de identificacion de voz. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2286943A1 ES2286943A1 (es) | 2007-12-01 |
ES2286943B1 true ES2286943B1 (es) | 2008-10-16 |
Family
ID=38698478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES200601298A Expired - Fee Related ES2286943B1 (es) | 2006-05-19 | 2006-05-19 | Procedimiento de identificacion de voz. |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2286943B1 (es) |
WO (1) | WO2007135218A1 (es) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009087250A1 (es) * | 2008-01-10 | 2009-07-16 | Agnitio, S.L. | Dispositivo de reconocimiento automático de voz. |
WO2009098332A1 (es) * | 2008-02-08 | 2009-08-13 | Agnitio, S.L. | Dispositivo de reconocimiento de locutor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117149B1 (en) * | 1999-08-30 | 2006-10-03 | Harman Becker Automotive Systems-Wavemakers, Inc. | Sound source classification |
EP1096473A3 (en) * | 1999-10-26 | 2001-09-05 | Persay Inc., c/o Corporation Service Company | Background model clustering for speaker identification and verification |
US7231019B2 (en) * | 2004-02-12 | 2007-06-12 | Microsoft Corporation | Automatic identification of telephone callers based on voice characteristics |
-
2006
- 2006-05-19 ES ES200601298A patent/ES2286943B1/es not_active Expired - Fee Related
-
2007
- 2007-05-18 WO PCT/ES2007/070094 patent/WO2007135218A1/es active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007135218A1 (es) | 2007-11-29 |
ES2286943A1 (es) | 2007-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030998B2 (en) | Acoustic model training method, speech recognition method, apparatus, device and medium | |
US9672817B2 (en) | Method and apparatus for optimizing a speech recognition result | |
JP3549681B2 (ja) | 連結数字の認識のための発声識別立証 | |
EP3433856B1 (en) | Speaker verification computer system with textual transcript adaptations of universal background model and enrolled speaker model | |
US20150112684A1 (en) | Content-Aware Speaker Recognition | |
US11315550B2 (en) | Speaker recognition device, speaker recognition method, and recording medium | |
Zeinali et al. | Text-dependent speaker verification based on i-vectors, neural networks and hidden Markov models | |
CN104240706B (zh) | 一种基于GMM Token配比相似度校正得分的说话人识别方法 | |
CN105280181B (zh) | 一种语种识别模型的训练方法及语种识别方法 | |
Castán et al. | Audio segmentation-by-classification approach based on factor analysis in broadcast news domain | |
Sethu et al. | Speaker variability in speech based emotion models-Analysis and normalisation | |
Kumar et al. | Significance of GMM-UBM based modelling for Indian language identification | |
Penagarikano et al. | Study of different backends in a state-of-the-art language recognition system | |
US8078462B2 (en) | Apparatus for creating speaker model, and computer program product | |
ES2286943B1 (es) | Procedimiento de identificacion de voz. | |
CN104575495A (zh) | 一种采用总变化量因子的语种识别方法及系统 | |
CN105976819A (zh) | 基于Rnorm得分归一化的说话人确认方法 | |
Sadeghian et al. | Towards an automated screening tool for pediatric speech delay | |
Karadaghi et al. | Effectiveness in open-set speaker identification | |
Lopes et al. | Broad phonetic class definition driven by phone confusions | |
Karanasou et al. | I-vector estimation using informative priors for adaptation of deep neural networks | |
JP7107377B2 (ja) | 音声処理装置、音声処理方法、およびプログラム | |
Wang et al. | Forensic automatic speaker recognition based on likelihood ratio using acoustic-phonetic features measured automatically | |
Rouvier et al. | Investigation of speaker embeddings for cross-show speaker diarization | |
EP3537320A1 (en) | A method of voice-lexical verification of an utterance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EC2A | Search report published |
Date of ref document: 20071201 Kind code of ref document: A1 |
|
FG2A | Definitive protection |
Ref document number: 2286943B1 Country of ref document: ES |
|
FD1A | Patent lapsed |
Effective date: 20101018 |