ES2190342B1 - Metodo para identificacion de secuencias de audio. - Google Patents
Metodo para identificacion de secuencias de audio.Info
- Publication number
- ES2190342B1 ES2190342B1 ES200101468A ES200101468A ES2190342B1 ES 2190342 B1 ES2190342 B1 ES 2190342B1 ES 200101468 A ES200101468 A ES 200101468A ES 200101468 A ES200101468 A ES 200101468A ES 2190342 B1 ES2190342 B1 ES 2190342B1
- Authority
- ES
- Spain
- Prior art keywords
- descriptors
- identification
- implemented
- audio
- abstract
- 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 93
- 239000013598 vector Substances 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims description 30
- 230000005236 sound signal Effects 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 230000011218 segmentation Effects 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 5
- 230000033764 rhythmic process Effects 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 208000005374 Poisoning Diseases 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 231100000572 poisoning Toxicity 0.000 claims description 3
- 230000000607 poisoning effect Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 230000002708 enhancing effect Effects 0.000 claims 1
- 238000013459 approach Methods 0.000 abstract description 5
- 239000012634 fragment Substances 0.000 description 42
- 230000000694 effects Effects 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000005309 stochastic process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 235000020945 retinal Nutrition 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 150000003726 retinal derivatives Chemical class 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000002992 thymic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming 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
- 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/26—Pre-filtering or post-filtering
- G10L19/265—Pre-filtering, e.g. high frequency emphasis prior to encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
-
- 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
- G10L15/142—Hidden Markov Models [HMMs]
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
- G10H2250/021—Dynamic programming, e.g. Viterbi, for finding the most likely or most desirable sequence in music analysis, processing or composition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Método para identificación de secuencias de audio. Comprende las siguientes etapas; 1. preprocesado (602) de la secuencia de audio, comprendiendo las etapas de eliminación de las frecuencias superiores a un valor predeterminado con un filtro pasa-bajos, y de digitalización de la señal en un convertidor analógico/digital, 2. extracción de parámetros (301), representativos de la secuencia de audio, para obtener un vector de parámetros especialmente adaptado al enfoque de identificación propuesto, 3. cálculo de descriptores abstractos (302), representativos del vector de parámetros, implementados como Modelos Ocultos de Markov, optimizados mediante el uso de una base de datos de definición de descriptores abstractos (303) generada durante la ejecución previa de una primera fase en modo de aprendizaje del método, 4. identificación (605) de las secuencias de audio así tratadas en una base de datos de secuencias de descriptores abstractos (505) generada durante la ejecución previa de una segundafase en modo de aprendizaje del método.
Description
Método para identificación de secuencias de
audio.
La presente invención permite la segmentación y
parametrización automáticos y sin ningún tipo de supervisión de
secuencias de audio a través de unos descriptores abstractos y la
posterior identificación de sus fragmentos dentro de una base de
datos predefinida o bien la identificación de otros fragmentos
similares. El método que aquí se describe permite la partición de
las secuencias de audio en unos descriptores abstractos que modelan
un proceso de generación interno del audio. Si bien estos
descriptores no representan ningún proceso físico, si representan la
mínima información del audio que es necesaria según un criterio de
similitud predeterminado y generalizable.
La búsqueda de secuencias de audio similares a un
ejemplo dado es muy importante por ejemplo para la indexación y
recuperación de información en grandes bases de datos. Otro ejemplo
claro de su aplicación es la identificación de fragmentos de música
en diferentes entornos. Esto es de suma importancia para las
empresas propietarias de derechos de autor, promotores musicales,
etc.
Los problemas de fiabilidad de los sistemas
automáticos han llevado a que en muchas ocasiones la tarea de
identificación musical se lleve a cabo por usuarios humanos
expertos.
En el documento de patente US 4,843,562 Kenyon
describe un sistema que utiliza matrices construidas a partir de los
espectrogramas de las señales de audio. Estas matrices son
comparadas con las matrices de las señales originales de la base de
datos. Este método tiene el inconveniente de la gran cantidad de
datos que se deben almacenar para bases de datos grandes, así como
también la gran cantidad de cálculos necesarios para comparar una
matriz de espectrogramas con toda la base de datos.
Otro sistema es el descrito, asimismo por Kenyon,
en el documento de patente US 5,210,820 en el que hace uso de
momentos estadísticos de las muestras de las señales para su
identificación. Con los momentos estadísticos el sistema descrito
por Kenyon construye un vector característico de la pieza de audio.
Estos vectores característicos son posteriormente cuantificados para
hacer sus valores más distintos al distribuir las distancias entre
vectores en el espacio multidimensional característico. Debido a la
naturaleza del cálculo de los vectores se hace imposible con este
sistema identificar un fragmento de longitud muy diferente al
original así como tampoco permite detectar con fiabilidad el inicio
y el fin del fragmento dentro de una secuencia de audio mayor. Otro
inconveniente del sistema de Kenyon es que las características que
se extraen del audio son los momentos estadísticos de sus muestras.
Si bien este método es bastante robusto a ruidos y interferencias,
no permiten una búsqueda de similitud entre dos fragmentos de audio,
ya que los momentos estadísticos no corresponden a ninguna medida
psico-acústica útil.
Un enfoque distinto en el campo de la
identificación automática se describe en el documento de patente US
5,581,658 de O'Hagan y otros. En este documento se describe un
sistema que usa una red neuronal para procesar las ``firmas
retinales'' extraídas de los fragmentos musicales. La red neuronal
es entrenada con todas y cada una de las piezas originales que se
quiere identificar. La decisión final de la identificación la
realiza un sistema basado en lógica difusa. Si bien el sistema
funciona correctamente para una cantidad muy pequeña de canciones,
sufre un problema de escalabilidad ya que el número de canciones
susceptibles de ser identificadas viene determinado por la dimensión
de la capa de salida de la red neuronal. Otro problema que presenta
este sistema es que cada vez que se modifica la base de datos que se
quiere identificar se debe reentrenar toda la red neuronal y, por
consiguiente, no permite una flexibilidad para modificar esta base
de datos.
Finalmente, Blum y otros describen en la patente
número US 5,918,223 un sistema que construye un vector de
características a partir del análisis de la señal. Este vector es
posteriormente comparado con los vectores correspondientes con los
originales de la base de datos usando una medida de distancia entre
vectores. Este sistema permite con gran facilidad la incorporación
de métodos de extracción de característica muy diversas de la señal
de audio, permitiendo generar búsquedas de similitudes entre
canciones con criterios psico-acústicos. Sin
embargo, la longitud de la señal usada para calcular un vector de
características está prefijado y en la implentación preferida que
Blum y otros describen esta longitud se refiere a la totalidad de la
canción. Esto simplifica el almacenaje de los datos de las canciones
originales de referencia pero se pierde una gran flexibilidad. De
este modo para poder detectar fragmentos se debe guardar la
información de los vectores para fragmentos muy pequeños. Este
método pierde toda su eficacia para fragmentos musicales a los que
se ha aplicado técnicas de estiramiento en tiempo, ya que las
longitudes de los fragmentos de referencia no coincidirán con los
fragmentos a identificar. El procedimiento esta bien adaptado a la
consecución de una separación en clases, pero no a garantizar una
identificación precisa.
En consecuencia, es un objetivo de la presente
invención el disponer de un método y sistema para identificación de
secuencias de audio que permita una identificación precisa del tipo
``si/no'' y clasificaciones basadas en semejanza.
Otro objetivo es el disponer de un método y
sistema que utilice componentes electrónicos e informáticos normales
sin recurrir a supercomputadores.
\newpage
Otro objetivo es el disponer de un método y
sistema que permita una fácil escalabilidad del mismo mediante la
adición de nuevas secuencias de audio susceptibles de ser
identificadas.
Otro objetivo es disponer de un método y sistema
insensible a la velocidad de reproducción de las secuencias de audio
y capaz de efectuar la identificación sobre fragmentos de secuencias
de audio.
Y finalmente otro objetivo es disponer de un
método y sistema para identificación de secuencias de audio que
supere ampliamente las tasas de identificación de los métodos
conocidos, y esto compatible con la practica desaparición de falsas
identificaciones.
Para obtener los objetivos propuestos se recurre
a un proceso de identificación que utiliza como elemento
representativo de las secuencias de audio unos descriptores
abstractos implementados como Modelos Ocultos de Markov. Se conoce
la utilización de los Modelos Ocultos de Markov en el reconocimiento
de voz aunque subsisten algunos problemas aun no resueltos como, por
ejemplo, la modelización acústica de las unidades subfonéticas ya
que, usualmente, se modelan como procesos de Markov de primer orden
y se usan unidades predefinidas lingüísticamente. Esta restricción
limita el rendimiento de estos sistemas e invalida su aplicación
directamente en otros campos como la identificación musical. Para
resolver el problema planteado ha sido preciso concebir un
tratamiento previo de la señal de audio, con un enfoque nuevo que, a
través de un preprocesado y una extracción de parámetros,
acondicione la señal de audio inicial para obtener una vector de
parámetros especialmente adaptado para hacer posible la comparación
de los descriptores abstractos implementados como Modelos Ocultos de
Markov.
En principio, y dadas las propiedades de los
Modelos Ocultos de Markov como doble proceso estocástico, se pueden
trasladar sus ventajas al modelo de descriptores de audio. En otros
campos de aplicación de los HMM como por ejemplo el reconocimiento
automático del habla, cada uno de los HMM modela un fonema. Para el
caso de la música, no existe una unidad ``fonética'' que se pueda
usar. Podríamos pensar en usar un modelo para cada una de las notas
musicales, pero esto nos llevaría a un sistema que no sería capaz de
identificar fragmentos con efectos de sonido que no correspondieran
a una nota determinada. En esta invención se plantea un nuevo punto
de vista del uso de los HMM para el análisis y la identificación
musical y se aprovecha su propiedad de doble proceso estocástico. El
proceso ``visible'' del HMM es la señal de audio y el proceso ``no
visible'' de los HMM se ha mostrado sorprendentemente útil para
modelar la generación de esta señal de audio. Dada la imposibilidad
de modelar todos los instrumentos y efectos de audio posibles así
como todos los registros y notas posibles, se planteó la posibilidad
de modelar la generación del audio a partir de un proceso
estocástico ``no visible'' y efectuar la identificación de la señal
de audio no a partir de la señal en si, sino a partir de esta
modelización del proceso que la generó. A cada uno de estos
generadores de la música se le llamó descriptor, ya que describe
estadísticamente qué tipo de señal de audio puede generar. El buen
comportamiento de los HMM permitió este enfoque innovador. Una
consecuencia inesperada de este particular enfoque fue que con este
sistema se conseguía tener una secuencia ordenada en el tiempo de
los descriptores de la música en lugar de la música en sí y, por
tanto, se podía identificar un fragmento de ella comparando la
secuencia de los descriptores de la señal de audio a identificar con
el orden de los descriptores almacenados para otras piezas musicales
en una base de datos. Como estos descriptores se modelan con un HMM,
a cada descriptor se le asigna un número entero. Otra consecuencia
muy importante es que en vez de almacenar en una base de datos
muchas canciones con objeto de identificarlas posteriormente solo
hace falta guardar la secuencia de sus descriptores. Siendo la
secuencia de los descriptores un simple número que representa el
orden de ocurrencia de los mismos y su longitud, se hacen mínimas
las necesidades de memoria.
A continuación se describe, básicamente, cada una
de las etapas de que se compone el método objeto de la invención. En
primer lugar se describe la etapa de preprocesado que constituye la
adaptación necesaria a que se debe someter la señal de audio para
compatibilizarla con el formato que el sistema usará durante las
etapas siguientes. Después se describe la etapa de extracción de
parámetros para formar el vector que representa la información de la
señal de audio según unos criterios de semejanza predeterminados,
incluyendo un método para minimizar los efectos del ruido en las
transmisiones de audio así como minimizar también los efectos del
canal multiplicativo (ecualizaciones, desvanecimientos, etc.). A
continuación se detalla el núcleo de la invención que consiste en el
método utilizado para la segmentación usando descriptores
abstractos. Aquí se detalla el cálculo de estos descriptores para
minimizar la probabilidad de error en la clasificación. A
continuación se describe la etapa de identificación con los pasos a
seguir para realizar la búsqueda en una base de datos usando las
técnicas descritas en esta invención. Por último se describe la
etapa de grabación de los resultados que permita la explotación de
los mismos.
El preprocesado de la señal de audio será
necesario para homogeneizar las diferentes fuentes posibles de la
señal. De esta manera, la señal será presentada al sistema
exactamente con el mismo formato, independientemente de su origen.
Por otra parte, es conocida la mayor representatividad de las
frecuencias bajas y su tendencia a constituir un invariante de la
secuencia musical.
Para las señales provenientes de una fuente
analógica, se deberán eliminar las componentes frecuenciales por
encima de un cierto valor, igual a la mitad de la frecuencia de
trabajo del sistema, de esta señal de entrada con la aplicación de
un filtro paso bajo. Después de esto, la señal será digitalizada con
un convertidor analógico a digital con una frecuencia de muestreo
igual a la frecuencia de trabajo. En caso de que no sea posible
muestrear la señal a la frecuencia correcta, se muestreará a la
frecuencia que permita el convertidor y se modificará esta
frecuencia de muestreo a posteriori con técnicas de procesado
digital de cambio de frecuencia de muestreo.
Para las señales en formato digital, se aplicarán
las técnicas de procesado digital necesarias para que su formato se
adecue al de trabajo del sistema. Nótese que la frecuencia de
muestreo de trabajo de esta invención tiene una gran flexibilidad y
que se escogerá aquella que mejor describa el tipo de señal de
entrada con la que se trabajará. No obstante esta flexibilidad, una
vez se ha fijado esta frecuencia, se mantendrá igual durante todas
las etapas del sistema. Para fijar una nueva frecuencia, se deben
recalcular los descriptores abstractos para esta nueva frecuencia,
ya que un cambio en la frecuencia de muestreo implica casi siempre,
un cambio en las componentes espectrales y, por tanto, en la
representación de la señal.
Una vez la señal se ha adaptado dependiendo de su
procedencia, el sistema la analiza y extrae una serie de parámetros
que la caracterizan. Estos parámetros dependen de la aplicación
final del sistema, ya que tienen una influencia directa sobre la
medida de similitud usada en la fase de identificación. Para la
identificación y clasificación según el timbre y según el ritmo se
opera de la siguiente manera.
En primer lugar, la señal se fragmenta en bloques
con solapamiento. La longitud de los bloques y de su solapamiento
pueden variar, pero tienen que ser iguales en el modelado
estadístico de los descriptores y en la identificación de los
fragmentos de audio. Valores típicos de estas longitudes que
aparecen en la literatura de procesado de la voz y el audio son 25
milisegundos para la longitud y un solapamiento de 10 milisegundos
entre cada bloque. No obstante estos valores típicos, diversos
experimentos realizados han demostrado que longitudes de bloque más
largas permiten capturar información más suavizada (en el tiempo) y
que el número de descriptores por segundo de audio que se obtienen
disminuye, permitiendo así manejar mayores bases de datos. De este
modo, se ha podido constatar experimentalmente que en muchas
aplicaciones de clasificación usando la presente invención, valores
de 250 milisegundos para la longitud del bloque y de 100
milisegundos para el solapamiento han demostrado ofrecer unos
resultados muy buenos.
Una etapa de preénfasis realza las frecuencias
altas presentes tras la aplicación del filtro
pasa-bajos realizado en la etapa de
preprocesado.
Para evitar el efecto de los bordes en los
bloques de muestras de audio, se aplica una ventana. La ventana que
típicamente ofrece mejores resultados es la ventana de Hamming, que
tiene una forma de coseno.
El siguiente paso para obtener información
tímbrica de la señal de audio es realizar un análisis espectral. Una
manera muy eficiente de realizarlo es mediante la transformada
rápida de Fourier. A partir de esta transformada, la señal se divide
con un bloque de filtros, donde la salida de cada filtro indica la
energía correspondiente a una banda de frecuencias.
El sistema descrito en esta invención permite
modificar según la aplicación los criterios de semejanza. De este
modo, la parametrización que se usará dependerá directamente de
estos criterios. Por ejemplo, para un sistema de identificación y
clasificación según parámetros rítmicos, se procederá a detectar el
ritmo del fragmento a analizar, mediante técnicas de separación de
la melodía y el ritmo.
Una vez se ha efectuado el análisis del bloque de
señal según el método más adecuado (se han dado dos métodos para dos
situaciones como ejemplo), se procederá a la decorrelación de los
parámetros. Este paso permitirá una mejor modelización de los
descriptores a partir de Modelos Ocultos de Markov, ya que se podrán
usar matrices de covariancias diagonales. Para decorrelar los
parámetros se usarán técnicas como la transformada discreta coseno
(DCT), el análisis de componentes principales o el análisis
discriminativo (lineal o no-lineal). Después de
varios experimentos, se ha llegado a la conclusión que un método
sencillo como la DCT ya ofrece muy buenos resultados debido a la
gran potencia y capacidad de modelado de los descriptores
abstractos.
Al vector de parámetros, se le puede añadir
información dinámica. Esto se consigue mediante el cálculo de
derivadas de los vectores de parámetros básicos. De esta manera, el
vector de parámetros de suele extender con su primera y segunda
derivada. Si bien se pueden añadir también derivadas de orden
superior, los experimentos llevados a cabo no avalan su utilidad. Se
han obtenido excelentes resultados utilizando las derivadas del
vector decorrelado y de una función representativa de la energía,
formulada como expresión cuadrática.
La substracción de canal permite que la invención
aquí descrita funcione bien en diferentes entornos y que sea capaz
de clasificar fragmentos de audio como iguales aunque hayan sido
procesados por sistemas de transmisión diferentes. Para la
substracción de canal, se pasarán los parámetros extraídos al
dominio logarítmico, para que un canal convolucional (multiplicativo
en frecuencia), se convierta en un canal aditivo (sumado el dominio
logarítmico). Una vez transformado el dominio, la secuencia de
vectores de parámetros, se filtrarán en sentido temporal. Se aplica
un filtro que tiene una doble función. Por un lado, el cero situado
a baja frecuencia, elimina la componente del sesgo en el dominio
logarítmico y, por tanto, eliminará la componente del canal
estacionario. Por otra parte, el filtro se usa para limitar las
variaciones de la señal. De este modo, se suprime una gran cantidad
de ruido de alta frecuencia en el dominio
log-temporal. Si, por ejemplo, el objetivo del
sistema de clasificación es la de clasificación por notas musicales,
se usará el cero a altas frecuencias para limitar el número de notas
por segundo que se estima probable. De esto modo, el cero superior
se ajustará al valor estimado de máxima variación, y el cero
inferior, a la mínima frecuencia para eliminar el sesgo.
El filtro usado en los experimentos que
corresponde a la identificación y clasificación por parámetros
tímbricos y obtenido a partir de métodos experimentales es (en su
forma de transformada z)
H(z)= \frac{0.4 -
0.81z^{-2} + 0.41z^{-4}}{1 -
0.47z^{-1}}
También se puede añadir ceros a la frecuencia en
que aparezcan interferencias, como por ejemplo a 50Hz si el sistema
se ve interferido por la red de distribución eléctrica.
La identificación de los fragmentos de audio se
realiza a través de unos descriptores abstractos. Al contrario que
en Blum que utiliza en su variante de máxima precisión un árbol de
decisión sobre un vector de parámetros relativamente simple se ha
optado por la utilización de descriptores. Estos descriptores no
tienen por que corresponder a una realidad física, ya que se
calcularán de manera que la probabilidad de error en la etapa de
identificación sea mínima. Cada uno de los descriptores se
implementa con un Modelo Oculto de Markov (HMM), de manera que cada
vector de parámetros tiene una cierta probabilidad de pertenecer a
un HMM. De este modo un HMM se puede ver como un doble proceso
estocástico, con un proceso estocástico que no es observable
directamente (los descriptores abstractos) y que solo se puede
observar a través de otro proceso estocástico (la realización física
de la señal de audio) que produce una serie de parámetros
observables. Así, los descriptores modelan la esencia interna de la
señal, pero solo están ligados a la realización acústica de la señal
de audio a través de un proceso estocástico. Es por esto que podemos
considerar que los descriptores pueden no corresponder con ninguna
realidad física.
La principal ventaja que supone la implementación
de los descriptores abstractos con Modelos Ocultos de Markov y no
con otras técnicas de reconocimiento de patrones radica en la
inmunidad al ruido que los HMM le confiere. Cada HMM está compuesto
por un número determinado de estados. Experimentalmente se ha
demostrado que una topología de tres estados por descriptor ofrece
una gran consistencia. Con esta topología, el primer estado
representa la coarticulación del anterior descriptor al actual, el
estado central representa la parte estacionaria del descriptor y el
estado final representa la coarticulación del descriptor actual con
el siguiente. No obstante esta topología presenta mejores resultados
en la mayoría de las situaciones, el sistema aquí descrito también
permite el uso de topologías más complejas, permitiendo incluso
retrocesos en el tiempo (abstracto) a través de saltos de un estado
a uno anterior. Estas topologías permiten recuperar un instante
pasado después de un error provocado por ruido complejo.
En cada instante de tiempo, el vector de
parámetros tiene una cierta probabilidad de pertenecer a cualquiera
de los estados de cualquiera de los HMM. Esta probabilidad se puede
modelar a partir de la representación de la función densidad de
probabilidad de cada estado con una suma de gausianas o bien con
sistemas de cuantificación vectorial. La probabilidad final de
pertenecer a un estado será la combinación de esta función densidad
de probabilidad y otra función que dependerá del estado previo en el
instante anterior de tiempo (con el vector de parámetros anterior).
Al usar esta técnica, se evitan los saltos provocados por ruido
impulsional, que de otro modo provocarían saltos erróneos de un
estado a otro.
La implementación de los descriptores abstractos
a partir de Modelos Ocultos de Markov ofrecen la ventaja sobre otros
métodos, como por ejemplo la cuantificación vectorial directa de
cada vector de parámetros sobre cada descriptor, de que al ser un
método probabilístico su robustez al ruido es mucho mayor. Además,
la longitud de cada descriptor abstracto no es fija sino que depende
de la señal de audio, de manera que la probabilidad del descriptor
sea mayor. De este modo, un mismo fragmento de audio reproducido con
velocidades diferentes, dará exactamente la misma secuencia de
descriptores.
El cálculo de los modelos de cada descriptor se
basa en un complejo cálculo probabilístico derivado de un proceso
iterativo de Estimación-Maximización. Para calcular
los parámetros se usa una base de datos en la que aparezcan
representados la mayoría de los estilos de audio que posteriormente
el sistema tenga que clasificar. Por ejemplo, si el sistema tendrá
que trabajar en la clasificación de música clásica, en esta base de
datos de entrenamiento tendrían que aparecer diversas
representaciones de piezas clásicas. Si bien esto es siempre
deseable, no siempre es posible. A partir de varios experimentos
realizados por el autor en los que deliberadamente se suprimía de la
base de datos de entrenamiento situaciones importantes en las que el
sistema tendría que trabajar, esto no afectó substancialmente el
rendimiento final del sistema. Por lo tanto, se puede deducir que la
base de datos debe ser tan completa como pueda ser posible para
poder modelar las funciones densidad de probabilidad de una manera
tan precisa como sea posible, pero debido a la naturaleza de los
descriptores abstractos, éstos son capaces de trabajar con
fragmentos de naturaleza desconocida.
En primer lugar se parte de una segmentación
preliminar de todas las secuencias de audio de la base de datos de
entrenamiento. Esta segmentación inicial ha demostrado no ser muy
crítica y puede, por tanto, puede ser generada aleatoriamente. En
otras implementaciones de sistemas realizadas se ha partido de una
segmentación inicial generada con una cuantificación vectorial de
todos los fragmentos. En este caso, el sistema consigue un
rendimiento muy similar.
El proceso iterativo calcula entonces la nueva
densidad de probabilidad de cada estado suponiendo que estos
descriptores son los que han generado la secuencia. Es decir, se
parte de una secuencia y luego se calcula los descriptores que la
pueden haber generado. En el siguiente paso, se usan los
descriptores así generados para calcular una nueva secuencia de
descriptores para la misma señal de audio.
El proceso termina cuando la diferencia entre dos
generaciones de descriptores es menor que un parámetro
predeterminado.
Usualmente se realizara una segmentación
automática de la señal de audio según unos criterios
predeterminados. No obstante, esta segmentación puede servir para
identificación de fragmentos de audio dentro de una base de datos o
bien búsqueda de fragmentos similares dentro de esta base de
datos.
En este segundo escenario, se parte de una base
de datos segmentada con los descriptores abstractos. De cada
fragmento de audio (o título entero) se extrae la secuencia de
descriptores abstractos de manera que su probabilidad sea máxima.
Para ello se usará el algoritmo de Viterbi o uno similar. Estas
secuencias de descriptores de guardarán en una base de datos para su
utilización posterior. Debido a que dos fragmentos similares tendrán
una secuencia de descriptores similar, esta se puede usar para
detectar similitudes y realizar la identificación.
Si la fuente de audio que se quiere identificar o
clasificar proviene de una fuente continua (como por ejemplo radio),
la etapa de segmentación permite la extracción de los descriptores
abstractos con un retardo mínimo en el tiempo. De este modo, se
obtiene la secuencia de descriptores al mismo tiempo que la
secuencia de audio va siendo recibida. El método usado para la
obtención de los descriptores en el caso de secuencias continuas de
audio es básicamente el mismo que para fragmentos. Para salvar el
obstáculo de la inexistencia de inicio y final, la invención recorre
el camino de máxima probabilidad de descriptores cada cierto
intervalo de tiempo, y espera a que la probabilidad de un descriptor
ya no varíe al añadir nuevos vectores de parámetros. En este
instante, el sistema decide que el descriptor es estable y no lo
modifica más.
Para la identificación de los fragmentos y su
clasificación en la base de datos, se usa la concatenación de
estados de los descriptores abstractos y el posterior cálculo de la
probabilidad parcial de los fragmentos de las piezas originales
respecto a la observación del fragmento de audio que se quiere
identificar.
El sistema descrito en esta invención se usa para
calcular los descriptores abstractos de las piezas de audio
originales y sus secuencias se guardan en una base de datos. De este
modo, la base de datos contiene información detallada de los
descriptores abstractos representativos de la pieza musical así como
también la meta-información de la misma. Esta
meta-información puede contener el nombre el autor,
la compañía discográfica, la fecha de la grabación, etc. Una vez se
ha almacenado toda la información de los fragmentos originales, la
presente invención se usa en un segundo modo en la que el sistema
funcionará como análisis de los nuevos fragmentos de audio
desconocidos y de los que se quiere encontrar similitudes para lo
que extraerá la información de sus descriptores abstractos. Este
análisis se puede realizar en tiempo real (con un retardo mínimo)
cuando el origen de las secuencias es en formato de secuencia (por
ejemplo un origen radiofónico) o bien a partir de secuencias ya
grabadas en algún soporte físico o en memoria de un sistema
informático. A partir de las secuencias de los descriptores
abstractos se construye un macro-modelo de Markov
formado por todos los estados de todos los Modelos de los
descriptores correspondientes a cada pieza. Una particularidad muy
importante de estos macro-modelos es que para cada
estado se permite una probabilidad extra de entrada y de salida.
Esto es, se permite empezar la secuencia de estados por cualquier
estado a la vez que se permite interrumpir en cualquier momento la
secuencia normal de estados. El efecto más importante de esta
particular construcción es el hecho que se permite la correcta
identificación de fragmentos pequeños de las piezas, ya que no es
necesario que el sistema recorra todos los estados.
Debido a la naturaleza de los descriptores
abstractos y de su capacidad para modelar una representación
abstracta del audio, el resultado de estas búsquedas será la pieza
musical más parecida (o que contiene) al fragmento. Se ha
establecido también un umbral numérico, a partir del cual el sistema
decide que el fragmento es exactamente una parte de la pieza
original, y no sólo es parecido. El resultado de las búsquedas se
puede ordenar según las diferencias y de este modo el sistema genera
una lista de candidatos más parecidos al fragmento original.
Generación en un soporte adecuado de una lista de
los resultados de la etapa de identificación que puede contener,
además del título de la señal de audio identificada, otros valores
de interés como el medio de difusión, la fecha, la hora etc.
\newpage
Las ventajas prácticas del método que se acaba de
describir son considerables. Así, mientras con las técnicas de
correlación lineal se alcanza un 60% de tasa de identificación y con
las técnicas de lógica difusa sobre ``firmas retinales'' puede
llegarse hasta el 90%, con el presente método se obtienen tasas de
identificación superiores al 98% y, lo que es más importante, con
una ausencia total de falsas identificaciones.
Para complementar la descripción que antecede y
con objeto de ayudar a una mejor comprensión de las características
de la invención, se va a realizar una descripción detallada de una
realización preferida, en base a un juego de dibujos que se
acompañan a esta memoria descriptiva, y en donde con carácter
meramente orientativo y no limitativo se ha representado lo
siguiente:
La figura 1 muestra un esquema del sistema
completo con todos sus componentes.
La figura 2 muestra un esquema de la etapa de
extracción de parámetros.
La figura 3 muestra un esquema del método objeto
de la invención en modo de aprendizaje cuyo resultado es la
generación de una base de datos con las características de
identificación de los descriptores abstractos.
La figura 4 muestra la topología utilizada en la
invención para los Modelos Ocultos de Markov.
La figura 5 muestra un esquema del proceso de
construcción de la base de datos de secuencias de descriptores
abstractos.
La figura 6 muestra el proceso de identificación
de fragmentos de audio dentro de una secuencia de audio.
La figura 7 muestra un esquema del proceso de
cálculo de los descriptores abstractos.
La figura 8 muestra un esquema generalizado del
cálculo de la matriz de probabilidades.
La figura 9 muestra la funcionalidad de la etapa
de identificación.
La aplicación del sistema utilizado en esta
realización preferida es la de monitorizar varias emisoras de radio
y extraer automáticamente las listas de emisión de piezas musicales
para cada una de ellas. Para esta aplicación, se ha elegido como más
conveniente un criterio de identificación y clasificación según el
timbre y el ritmo y, en base al mismo, se ha configurado la etapa de
extracción de parámetros.
El método de identificación de señales de audio
que se va a describir se ejecuta en un sistema que comprende
diversos componentes físicos, tal como se muestra en la figura 1.
Ésta representa una configuración típica con una estación de trabajo
formada por 256Mb de memoria RAM (105), una Unidad Central de
Proceso, CPU, (106) Pentium II a 700Mhz y un disco duro (107) IBM de
60Gb. La interacción con el usuario se efectúa a través de un
controlador de entrada/salida (108), un controlador de entrada
(109), y un controlador de salida (110). La entrada de datos por
parte del usuario se efectúa con un teclado (112) y un ratón (111).
La base de datos de las canciones originales se introduce en el
sistema a través de un lector de CD (115) de velocidad x32. Los
resultados del análisis del sistema son almacenados en el disco duro
(107) y eventualmente reproducidos acústicamente por unos altavoces
(114) Roland Ma-150U y representados en un monitor
(113) ADI Microscan de 19 pulgadas. La señal proveniente de las
emisoras de radio es capturada con varios receptores (101) Pioneer
F-104. La señal analógica es filtrada con un filtro
pasa-bajos (102) antialiasing y convertida al
dominio discreto en un convertidor analógico/digital (103). Estos
dos pasos se realizan con una tarjeta de sonido Hoontech
4DWAVE-NX para cada receptor de radio. La señal
continua estéreo es muestreada a 22050Hz y convertida a una señal
mono con 16 bits con signo por muestra, pasando la señal de los
distintos receptores (101) a una entrada de audio (104).
El sistema tiene dos modos de funcionamiento
fundamentales: el modo de aprendizaje y el modo de identificación.
En primer lugar se ejecuta el método de la invención en el modo de
aprendizaje extrayéndose la información estadística de los
descriptores abstractos. Después de esto, el sistema esta ya
preparado para la fase de identificación, donde se usan estos
descriptores para identificar los fragmentos musicales.
Primera
fase
Describimos en primer lugar el funcionamiento en
modo de aprendizaje. Ver figuras 2, 3 y 5. A partir de CDs de
música, el usuario crea ficheros de canciones y se almacenan en el
disco duro (107). Cada una de las canciones es muestreada a una
frecuencia de muestreo de 22050Hz y se usan 16 bits con signo para
cada muestra de la señal. Cada canción se almacena en un fichero
separado con nombres diferentes para cada uno. Las muestras se
almacenan de forma secuencial usando dos octetos para cada una y el
fichero no contiene ninguna cabecera. La extensión del nombre de
cada fichero será ``.raw''. La información adicional como el autor y
el título de la canción son entradas a mano por el usuario o
extraídas de forma automatizada de una base de datos externa al
sistema. Esta información se guarda en un fichero con el mismo
nombre que sus muestras de audio pero con la extensión ``.info''.
Para la información estadística de los descriptores abstractos se
usa una base de datos de aprendizaje de 1850 canciones diferentes de
una duración media de 2 minutos cada una.
Las muestras son leídas por el sistema y tal como
se muestra en la figura 2 sufren una partición en bloques (202) de
250 milisegundos cada uno con un solapamiento de 100 milisegundos
entre ellos. A estos bloques se les aplica un proceso de preénfasis
(203) y[n]= x[n]-0.98 x [n-1]
donde x[n] son las muestras de los bloques en el
instante n y y[n] son las muestras después del proceso de
preénfasis (203). A la salida de esta etapa se aplica un proceso de
enventanado (204) del tipo Hamming que consiste en multiplicar el
bloque de muestras por una función de la forma
w[n]=\left(0.54-0.46cos
\left(\frac{2\pi}{frameLen-1}n\right)\right)
donde frameLen es la longitud en muestras del bloque (250
milisegundos). Estas muestras son tratadas en una etapa de filtrado
(205) con un banco de 20 filtros con una frecuencia central
distribuida según una escala logarítmica conocida como escala de Mel
y descrita en ``Fundamentals of Speech Recognition'' de Rabiner y
otros y publicado por Prentice may Signal Processing Series el 1993.
Con la salida de los 20 filtros se construye un vector que pasa a
una etapa de decorrelación (206) efectuada con la transformada
discreta coseno generándose un nuevo espacio multidimensional. De
los 14 primeros coeficientes se calcula su logaritmo y son
almacenados en memoria en un vector de 14 coeficientes. Con la
información de 5 vectores correspondientes a 5 bloques de señal
consecutivos, se calcula una aproximación de la primera derivada
decorrelada (207). Una segunda derivada decorrelada (208) se calcula
con la información de 5 vectores de primeras derivadas decorreladas
(207). El vector de salida de la etapa de decorrelación (206) es
filtrado en una etapa de sustracción de canal (213) con un filtro
digital de la forma
y[n]=0.99x[n]-0.99x[n-1]+
0.98y[n-1] donde y[n] es la salida del filtro
en el instante n y x[n] es la entrada del
filtro en el instante n. Este filtro se usa para reducir los
efectos del canal convolucional.
Otra información usada en la etapa de extracción
de parámetros (301) es la función energía (209) obtenida a partir de
la suma energía = \sum\limits_{n=1..N} (y'[n])^{2} donde
y' es la salida de la etapa de enventanado (204). Su primera
derivada de energía (210) se calcula con la información de 5 bloques
consecutivos y su segunda derivada de energía (211) con la
información de 5 bloques consecutivos de primeras derivadas de
energía (210). Con la información de la salida de las etapas de
sustracción de canal (213), primera derivada decorrelada (207),
segunda derivada decorrelada (208), primera derivada de energía
(210) y segunda derivada de energía (211) se construye un vector de
parámetros o_{t} que contiene 44 coeficientes. El proceso descrito
en la figura 2 se realiza para todos los bloques de muestras de
todos los 1850 ficheros de la base de datos de canciones utilizada
en Ia realización preferida. Esta información se almacena en el
disco duro (107) en un solo fichero llamado ``base.prm''. El fichero
no contiene cabecera y los valores se almacenan como valores de coma
flotante de simple precisión. Los vectores son almacenados
consecutivamente en el fichero sin ningún separador entre ellos.
Para el cálculo de la estadística de definición
de descriptores abstractos (303) se procede como se muestra en la
figura 3. En primer lugar se define el número de descriptores que
representarán suficientemente toda la variedad tímbrica de la base
de datos de canciones. En nuestra realización preferida este número
es 16. Cada uno de estos 16 descriptores se modela con un Modelo
Oculto de Markov (HMM) con 3 estados y una configuración
izquierda-a-derecha como se muestra
en la figura 4. Cada uno de los estados del HMM tiene una
probabilidad de entrada a_{01}, para el primer estado, a_{12}
para el segundo estado y a_{23} para el tercer estado, una
probabilidad de mantenerse en el mismo estado a_{11} a_{22}
a_{33} una probabilidad de salir del estado a_{12} para el
primer estado, a_{23} para el segundo estado y a_{30} para el
tercer estado y una probabilidad b_{j}(o_{t}) de
observar un cierto vector de parámetros o_{t}. Por tanto
cada HMM quedará definido por los valores \lambda =(A, B,
\pi) donde A es la matriz de las probabilidades de salto entre
un estado y otro, B es la matriz que define las probabilidades de
observar un vector en un estado y \pi representa las
probabilidades de que el sistema empiece por un estado. Los valores
iniciales de A, B y de \pi son elegidos aleatoriamente en
un proceso de inicialización aleatoria (305). Con estos valores
iniciales, se entra en una etapa de cálculo de los descriptores
abstractos (302) que corresponden a la secuencia de vectores de
parámetros o_{t} en el fichero ``base.prm''. Este cálculo
se efectúa con el algoritmo de Viterbi para los HMM tal como de
describe en ``A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition'', de Lawrence Rabiner y
publicado en Proceedings of the IEEE, volumen 77 número 2, páginas
257 a 286, de febrero del 1989. Se guarda esta secuencia de
descriptores en un fichero ``base.desc'' en formato ASCII. A cada
uno de los 16 descriptores se le da un nombre G0, G1, G2,...G15 y en
el fichero ``base.desc'' se guarda la secuencia correspondiente a la
decodificación con Viterbi del fichero ``base.prm''. De este modo el
aspecto del fichero ``base.desc'' será del tipo G0 G5 G1 G3 G7 G8
etc. Las repeticiones de dos descriptores se fusionan en uno solo,
de manera que la secuencia G0 G3 G3 G2 será guardada como G0 G3 G2.
Cuando la nueva secuencia de descriptores se ha almacenado en
``base.desc'', el algoritmo de BaumWelch descrito en ``A
Maximization Technique Occurring in The Statistical Análisis of
Probabilistic Functions of Markov Chains'' de Baum y otros y
publicado en The Annals of Mathematical Statistics, volumen 41
número 1, páginas 164 a 171 el año 1970, se usa en una etapa de
actualización de descriptores (304), consecutiva a una segmentación
(307), para obtener los valores estadísticos de los HMM presentes en
la base de datos definición de descriptores abstractos (303), esto
es, se recalculan los valores A, B y \pi de manera que la
probabilidad de que la secuencia de descriptores en ``base.desc'' y
modelados estadísticamente por sus A, B y \pi haya
generado la secuencia de vectores en ``base.prm'' sea máxima. Una
vez se haya actualizado los valores A, B y \pi de los 16
HMM se vuelve a aplicar el algoritmo de Viterbi para obtener una
nueva secuencia de descriptores abstractos que se almacenará de
nuevo en el fichero ``base.desc'', sobrescribiendo su anterior
contenido. Esta nueva secuencia se usará para actualizar de nuevo
los parámetros A, B y \pi de los 16 HMM con el algoritmo de
Baum-Welch. Esto nos genera un proceso iterativo
que, en cada iteración, genera una descripción estadística de
definición de descriptores abstractos (303) de manera que describe
mejor el vector de parámetros o_{t} en el fichero
``base.prm''. Este algoritmo esta básicamente descrito en ``Maximum
Likelihood from Incomplete Data via the EM Algorithm'' de Dempster y
otros en el Journal of the Royal Statistical Society, volumen 39,
número 1, páginas 1 a 38 del año 1977. Este proceso de actualización
se detendrá cuando el cambio de la estadística de definición de
descriptores abstractos (303) de una iteración a la siguiente sea
menor que el 1%.
Segunda
fase
El siguiente paso en la fase de aprendizaje para
construir el sistema será generar la base de datos de secuencias de
los descriptores abstractos (505) correspondientes a las canciones
que se quieren identificar posteriormente. En nuestra realización se
usa una base de datos de 2500 canciones diferentes a las usadas en
la fase de aprendizaje que están almacenadas en 166 CDs de audio.
Cada uno de los CDs se introduce en el lector de CD (115). El
sistema automáticamente lee cada una de las canciones almacenadas en
el CD y efectúa para cada una el proceso mostrado en la figura 5. En
primer lugar se prepara la señal de audio, con una velocidad de
muestreo de 22050 Hz y 16 bits con signo, y se somete al proceso de
extracción de parámetros (301) ya descrito. A partir de los vectores
de parámetros o_{t} se efectúa el cálculo de los
descriptores abstractos (302) con el mismo algoritmo de Viterbi
utilizando la base de datos de definición de descriptores abstractos
(303) preparada en la fase anterior del aprendizaje. Cada una de las
secuencias de descriptores de cada canción se almacena en un fichero
de texto llamado ``orig.db'' dentro de la base de datos de
secuencias de descriptores abstractos (505). En este fichero se
guarda un identificador único de cada canción consistente en una
cadena alfanumérica con el nombre de la canción, más un guión, más
el nombre del autor, más un guión, más el nombre del álbum. Esta
información se entra a mano por el usuario del sistema como
meta-información. Después de esta
meta-información, en el fichero ``orig.db'' se
guarda la secuencia de los descriptores en el mismo formato que el
usado en ``base.desc''. Al final de la secuencia de descriptores de
cada canción hay un retorno de carro.
La funcionalidad en modo de identificación se
muestra en la figura 9. En primer lugar se construye un
macro-modelo de Markov con la información de los
descriptores abstractos de las piezas originales. Este modelo está
formado por la concatenación de los Modelos Ocultos de Markov
correspondientes a todos los descriptores de la pieza. En la figura
9 se representa la construcción del macromodelo para una pieza
original cuyos descriptores son G3 G5 G0 G7.... Además de la simple
concatenación de los modelos con la información de las
probabilidades que contiene la base de datos de definición de
descriptores abstractos (303), se le añade unas probabilidades de
entrada y salida adicionales. Al inicio de cada sección
correspondiente a un identificador, se añade la probabilidad de que
el sistema salte desde el inicio absoluto de la pieza hasta este
punto. Esto permite que el fragmento a identificar esté incompleto y
que no empiece por el principio (lo que sucede habitualmente en
emisiones de radio comercial). De este modo no hay penalización
alguna por la falta de un fragmento. El valor de estas
probabilidades es igual a la probabilidad de entrada a01 de
cada modelo de cada descriptor. Lo mismo pasa con las probabilidades
de salida. Al macro-modelo se le añaden las
probabilidades de salida desde cada una de las partes
correspondientes a un descriptor hasta el final. Estas
probabilidades son iguales a las de salida del modelo a30.
En el ejemplo de la figura 9, la secuencia a identificar es G6 G5 G0
G9... (extraída en tiempo real de una secuencia de radio). Al
calcular la probabilidad de cada uno de los
macro-modelos de cada una de las piezas originales,
el sistema identifica G5 G0 como la parte central de la pieza
esquematizada en la figura 9. En nuestra realización preferida la
longitud mínima permitida de un fragmento es de 5 segundos. Sin
embargo, este valor se puede ajustar dependiendo del tipo de
fragmentos musicales que se quiere identificar.
En el modo de identificación, para cada una de
las entradas del sistema se ejecuta el proceso que se muestra en la
figura 6. La secuencia de audio continua (muestreada a 22050Hz y con
16 bits con signo) se fragmenta en bloques de tres minutos con un
solape de 10 segundos. Cada uno de estos bloques se somete al
proceso de extracción de parámetros (301) y cálculo de los
descriptores abstractos (302). El proceso de identificación (605) se
efectúa según se ha mostrado en la figura 9. Si bien este algoritmo
da buenos resultados, se puede usar cualquier otra herramienta de
comparación de secuencias. La salida de la comparación usando el
procedimiento de la etapa de identificación (605) en unión de la
base de datos de secuencias de descriptores abstractos (505)
(``orig.db'') nos da un fichero de texto ``tmp.out'' donde se
almacena la identificación de la canción de la base de datos de
originales que más puntuación ha obtenido de la comparación así como
la información temporal del día, hora, minuto y segundo actual. Este
algoritmo de comparación permite no solo la comparación rápida de
secuencias iguales si no que permite también la comparación de
secuencias parecidas (por ejemplo permite la intercalación de
descriptores ``erróneos'' en una secuencia). Transcurridos 10
segundos se vuelve a coger un bloque de tres minutos y se repite el
proceso y su salida se añade al fichero ``tmp.out''. En un instante
de tiempo el aspecto del fichero ``tmp.out'' sería, por ejemplo:
- 15/05/2001 12:03:15 título1-autor1-album1
- 15/05/2001 12:13:15 título1-autor1-album1
- 15/05/2001 12:23:15 título1-autor1-album1
- 15/05/2001 12:33:15 título2-autor2-album2
Aquí el sistema decide que la canción ``título1''
del autor ``autor1'' y del ``album1'' se ha terminado y que la
canción ``título2'' del autor ``autor2'' y del ``album2'' ha
empezado entre las 12:23:15 y las 12:33:15. La lista de reproducción
generada en la etapa de grabación de resultados (607) se actualiza
con la nueva canción. De este modo el sistema puede identificar las
canciones que se reproducen e identificar también su inicio y final
en el tiempo.
Para calcular la secuencia más probable de los
estados de los HMM representados en la figura 7 se usa el esquema de
proceso de la figura 6. En primer lugar se efectúa la extracción de
parámetros (301) a partir de los bloques de la señal de audio. A
partir de la estadística de definición de descriptores abstractos
(303) se procede al cálculo de la matriz de probabilidades (705).
Finalmente, a partir de esta matriz, se procede al cálculo de los
descriptores abstractos (302) utilizando el algoritmo de Viterbi
(706) para encontrar la secuencia de los descriptores y sus estados
con una probabilidad mayor.
El proceso de construcción de la matriz de
probabilidades, en sí mismo, se muestra en la figura 8. Esta matriz
tiene tantas columnas como bloques en el tiempo tiene la señal de
audio y tantas filas como estados totales, implementándose en la
realización preferida 16 HMM con tres estados cada uno, con un total
de 48 filas en la matriz. El número de columnas de la matriz en la
realización preferida es igual a 100, y se realiza un recorrido
inverso cada vez que la matriz se llena. Cada una de las celdas de
la matriz se llena con el valor \delta_{t}(j)
según,
donde t es el instante de tiempo, j
es el número de fila (de 1 a 48) y o_{t}, es el vector de
parámetros para el instante t calculado con el proceso de
extracción de parámetros (301). Para el cálculo de las
probabilidades se usa la función b_{j}(o_{t})
según,
calculada a partir de los parámetros \lambda
=(A, B, \pi) de la estadística de los HMM. Cada descriptor está
modelado con un HMM diferente. En el cálculo de la función
b_{j}(o_{t}), el número de HMM se representa con
la variable m. Aquí, se representa con K el número de gausianas
usadas para modelar la función densidad de probabilidad (PDF) de
emisión de cada vector de parámetros. Para cada una de estas
gausianas, la variable \omega_{mjk} representa el peso de
cada una de las K gausianas dentro del conjunto de la PDF. La
matriz \sigma_{mjk} representa la matriz de covarianzas
para el estado j, modelo m y gausiana k. Los
vectores \mu_{mjk} representan las medias estadísticas para
el estado j, modelo m y gausiana
k.
No se profundiza con mas detalle en el trabajo
con los HMM pues serán aspectos sobradamente conocidos para el
experto en la materia.
Claims (19)
1. Método para la identificación de secuencias de
audio, implementado en un computador, caracterizado por
comprender las siguientes etapas;
- a)
- preprocesado (602) de la secuencia de audio, comprendiendo las etapas de eliminación de las frecuencias superiores a un valor predeterminado con un filtro pasa-bajos (102), y de digitalización de la señal en un convertidor analógico/digital (103),
- b)
- extracción de parámetros (301), comprendiendo al menos una etapa de partición en bloques (202), para obtener un vector de parámetros o_{t},
- c)
- cálculo de descriptores abstractos (302), optimizados, representativos del vector de parámetros o_{t}, implementados como Modelos Ocultos de Markov, comprendiendo el uso de una base de datos de definición de descriptores abstractos (303) generada durante la ejecución previa de una primera fase en modo de aprendizaje del método consistente en;
- un proceso iterativo en el que partiendo de una inicialización aleatoria (305) de la base de datos de definición de descriptores abstractos (303) se procede al cálculo de los descriptores abstractos (302), segmentación (307), y actualización de los descriptores (304) en una base de datos de definición de descriptores abstractos (303), de tal manera que partiendo de una secuencia de descriptores abstractos se calcula la densidad de probabilidad de los descriptores abstractos que pudieran haberla generado y, a continuación, la nueva secuencia generada por estos últimos descriptores abstractos, que será distinta de aquella secuencia de partida, deteniéndose el proceso cuando converge por debajo de un parámetro predeterminado,
- d)
- identificación (605) de las secuencias de audio así tratadas en una base de datos de secuencias de descriptores abstractos (505) generada durante la ejecución previa de una segunda fase en modo de aprendizaje del método consistente en las etapas de;
- preprocesado (602), extracción de parámetros (301), cálculo de los descriptores abstractos (302), optimizados mediante la utilización de la base de datos de definición de los descriptores abstractos (303) para obtener la base de datos de secuencias de descriptores abstractos (505), de tal manera que está última contendrá las secuencias más probables de los descriptores abstractos en una matriz de probabilidades (705)
- e)
- grabación de los resultados (607) obtenidos en la etapa de identificación (605).
2. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque, si se pretende una
identificación o clasificación atendiendo a criterios de timbre y
ritmo, la extracción de parámetros (301) comprende, tras la etapa
inicial de partición en bloques (202), las etapas de preénfasis
(203), enventanado (204), filtrado (205), decorrelación (206),
cálculo de la primera derivada decorrelada (207), cálculo de la
segunda derivada decorrelada (208), cálculo de la función energía
(209), cálculo de la primera derivada de energía (210), cálculo de
la segunda derivada de energía (211) y sustracción de canal
(213).
3. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque la etapa de partición
en bloques (202) comprende fragmentar la secuencia de audio en
bloques de determinada longitud, con un cierto solapamiento.
4. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 3, caracterizado porque la longitud del
bloque es de 250 ms y su solapamiento de 100 ms.
5. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de
preénfasis (203) comprende el realzar las frecuencias altas.
6. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de
enventanado (204) se realiza con una ventana en forma de coseno
modificado.
7. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de filtrado
(205) comprende la aplicación de la transformada rápida de Fourier y
la división de la secuencia de audio mediante un bloque de filtros
cuya frecuencia central se distribuye según una escala logarítmica,
conocida como escala de Mel; de tal manera que la salida de cada
filtro es representativa de la energía correspondiente a una banda
de frecuencias.
8. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de
decorrelación (206) comprende la utilización de la técnica conocida
como transformada discreta coseno (DCT).
9. Método para la identificación de secuencias de
audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de cálculo
de la primera derivada decorrelada (207) comprende la estimación de
la variación respecto al tiempo del vector de salida de la etapa de
decorrelación (206), para cinco bloques de señal consecutivos.
10. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de cálculo
de la segunda derivada decorrelada (208) comprende la estimación de
la variación respecto al tiempo del vector de salida de la etapa de
cálculo de la primera derivada decorrelada (207), para cinco
bloques de señal consecutivos.
11. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de cálculo
de la función energía (209) se efectúa mediante una expresión
cuadrática de la secuencia de audio.
12. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de cálculo
de la primera derivada de energía (210) comprende la estimación de
la variación respecto al tiempo del vector de salida de la etapa de
cálculo de la función energía (209), para cinco bloques de señal
consecutiva.
13. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de cálculo
de la segunda derivada de energía (211) comprende la estimación de
la variación respecto al tiempo del vector de salida de la etapa de
cálculo de la primera derivada de energía (210), para cinco bloques
de señal consecutiva.
14. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 2, caracterizado porque la etapa de
sustracción de canal (213) comprende pasar el vector al dominio
logarítmico.
15. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque la etapa de cálculo
de los descriptores abstractos (302) utiliza el algoritmo de Viterbi
(706) para realizar el cálculo de la matriz de probabilidades (705)
representativa de los valores significativos de la base de datos de
definición de descriptores abstractos (303).
16. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque la actualización de
los descriptores abstractos (304) comprende la utilización del
algoritmo de Baum-Welch.
17. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque en la implementación
de los descriptores abstractos se utilizan dieciséis modelos ocultos
de Markov, con tres estados posibles cada uno.
18. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 1, caracterizado porque la etapa de
identificación (605) comprende la comparación de la secuencia de los
descriptores abstractos de una señal de audio obtenida mediante las
etapas de preprocesado (602), extracción de parámetros (301) y
cálculo de los descriptores abstractos (302), optimizados mediante
la utilización de la base de datos de definición de descriptores
abstractos (303), con las secuencias almacenadas en la base de datos
de secuencias de descriptores abstractos (505).
19. Método para la identificación de secuencias
de audio, implementado en un computador, de acuerdo con la
reivindicación 18, caracterizado porque, adicionalmente, se
determina la longitud en tiempo óptima de los descriptores
abstractos para que la probabilidad de la secuencia obtenida sea
máxima.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES200101468A ES2190342B1 (es) | 2001-06-25 | 2001-06-25 | Metodo para identificacion de secuencias de audio. |
| PCT/ES2002/000312 WO2003001508A1 (es) | 2001-06-25 | 2002-06-25 | Método para identificación de secuencias de audio |
| EP02743274A EP1439523A1 (en) | 2001-06-25 | 2002-06-25 | Method for multiple access and transmission in a point-to-multipoint system on an electric network |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES200101468A ES2190342B1 (es) | 2001-06-25 | 2001-06-25 | Metodo para identificacion de secuencias de audio. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| ES2190342A1 ES2190342A1 (es) | 2003-07-16 |
| ES2190342B1 true ES2190342B1 (es) | 2004-11-16 |
Family
ID=8498172
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES200101468A Expired - Fee Related ES2190342B1 (es) | 2001-06-25 | 2001-06-25 | Metodo para identificacion de secuencias de audio. |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP1439523A1 (es) |
| ES (1) | ES2190342B1 (es) |
| WO (1) | WO2003001508A1 (es) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112863541B (zh) * | 2020-12-31 | 2024-02-09 | 福州数据技术研究院有限公司 | 一种基于聚类和中值收敛的音频切割方法和系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0805434A2 (en) * | 1996-05-01 | 1997-11-05 | Microsoft Corporation | Method and system for speech recognition using continuous density hidden Markov models |
| EP0903728A2 (en) * | 1997-09-19 | 1999-03-24 | Nortel Networks Corporation | Block algorithm for pattern recognition |
| US5890111A (en) * | 1996-12-24 | 1999-03-30 | Technology Research Association Of Medical Welfare Apparatus | Enhancement of esophageal speech by injection noise rejection |
| US6182036B1 (en) * | 1999-02-23 | 2001-01-30 | Motorola, Inc. | Method of extracting features in a voice recognition system |
-
2001
- 2001-06-25 ES ES200101468A patent/ES2190342B1/es not_active Expired - Fee Related
-
2002
- 2002-06-25 WO PCT/ES2002/000312 patent/WO2003001508A1/es not_active Ceased
- 2002-06-25 EP EP02743274A patent/EP1439523A1/en not_active Withdrawn
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0805434A2 (en) * | 1996-05-01 | 1997-11-05 | Microsoft Corporation | Method and system for speech recognition using continuous density hidden Markov models |
| US5890111A (en) * | 1996-12-24 | 1999-03-30 | Technology Research Association Of Medical Welfare Apparatus | Enhancement of esophageal speech by injection noise rejection |
| EP0903728A2 (en) * | 1997-09-19 | 1999-03-24 | Nortel Networks Corporation | Block algorithm for pattern recognition |
| US6182036B1 (en) * | 1999-02-23 | 2001-01-30 | Motorola, Inc. | Method of extracting features in a voice recognition system |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2003001508A1 (es) | 2003-01-03 |
| WO2003001508B1 (es) | 2004-07-08 |
| EP1439523A1 (en) | 2004-07-21 |
| ES2190342A1 (es) | 2003-07-16 |
| WO2003001508A8 (es) | 2004-08-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20090306797A1 (en) | Music analysis | |
| Vercoe | Folk music classification using hidden Markov models | |
| US6633845B1 (en) | Music summarization system and method | |
| Hung et al. | Frame-level instrument recognition by timbre and pitch | |
| Rigaud et al. | Singing Voice Melody Transcription Using Deep Neural Networks. | |
| Baillie et al. | Audio-based event detection for sports video | |
| WO2007129250A1 (en) | Method and electronic device for aligning a song with its lyrics | |
| Gupta et al. | Discovery of syllabic percussion patterns in tabla solo recordings | |
| Langlois et al. | A Music Classification Method based on Timbral Features. | |
| CN116417012B (zh) | 音频识别方法、计算机设备和计算机程序产品 | |
| Scott | Music classification using neural networks | |
| Burred | Genetic motif discovery applied to audio analysis | |
| ES2190342B1 (es) | Metodo para identificacion de secuencias de audio. | |
| Das et al. | Analyzing and classifying guitarists from rock guitar solo tablature | |
| Vasudevan et al. | A hybrid cluster-classifier model for Carnatic raga classification | |
| Charbuillet et al. | Filter bank design for speaker diarization based on genetic algorithms | |
| Reed et al. | On the importance of modeling temporal information in music tag annotation | |
| Huang et al. | A repeating pattern based Query-by-Humming fuzzy system for polyphonic melody retrieval | |
| JP3934556B2 (ja) | 信号識別子の抽出方法及びその装置、信号識別子からデータベースを作成する方法及びその装置、及び、検索時間領域信号を参照する方法及びその装置 | |
| Park et al. | Classification of audio signals using gradient-based fuzzy c-means algorithm with divergence measure | |
| Camarena-Ibarrola et al. | Real time tracking of musical performances | |
| Paulus | Acoustic modelling of drum sounds with hidden markov models for music transcription | |
| Pikrakis et al. | Recognition of isolated musical patterns using hidden markov models | |
| KR101302568B1 (ko) | 허밍 질의 기반 음원 검색 고속화 시스템 및 그 방법 | |
| Chetry et al. | Linear predictive models for musical instrument identification |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EC2A | Search report published |
Date of ref document: 20030716 Kind code of ref document: A1 |
|
| FG2A | Definitive protection |
Ref document number: 2190342B1 Country of ref document: ES |
|
| FD2A | Announcement of lapse in spain |
Effective date: 20180807 |