ES2286943B1 - Procedimiento de identificacion de voz. - Google Patents

Procedimiento de identificacion de voz. Download PDF

Info

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
Application number
ES200601298A
Other languages
English (en)
Other versions
ES2286943A1 (es
Inventor
Javier Castaño Perea
Emilio Martinez Gutierrez
Marta Garcia Gomar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agnitio SL
Original Assignee
Agnitio SL
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Agnitio SL filed Critical Agnitio SL
Priority to ES200601298A priority Critical patent/ES2286943B1/es
Priority to PCT/ES2007/070094 priority patent/WO2007135218A1/es
Publication of ES2286943A1 publication Critical patent/ES2286943A1/es
Application granted granted Critical
Publication of ES2286943B1 publication Critical patent/ES2286943B1/es
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision 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.
Objeto de la invención
La presente invención se refiere, en general, al campo técnico del reconocimiento automático de un locutor.
Estado de la técnica
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.
Caracterización de la invención
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.
Descripción de la invenció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.
ES200601298A 2006-05-19 2006-05-19 Procedimiento de identificacion de voz. Expired - Fee Related ES2286943B1 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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