Integrating harmonic power spectrum into essentia: a comparative study for pitch detection focused on flute instruments
Loading...
Date
Document Type
Document Version
Author
Citation
Tortosa Arnau, J. Integrating harmonic power spectrum into essentia: a comparative study for pitch detection focused on flute instruments. 2024. handle: http://hdl.handle.net/10230/70072
This citation was generated automatically.
Abstract
Essentia1 is an audio library created by the Music Technology Group designed to provide advanced
audio and music analysis tools. While it includes state-of-the-art pitch detection algorithms like
PitchMelodia or PitchYin, there are some algorithms that are not implemented like the Harmonic
Product Spectrum (HPS).
The HPS algorithm consists in applying some downsampling in the audio spectra and multiplying them
to enhance the detection of the fundamental frequency peak, since it will be the highest peak over the
other harmonics on the resulting spectrum.
This project aims to integrate the HPS into Essentia library, coupled with a comparative analysis against
existing algorithms within Essentia. The algorithm evaluation is centered on flute instruments and
similar monophonic variants, aligning with algorithms best suited for such instruments.
The project begins with a detailed theoretical exploration of the HPS algorithm, including important
implementation considerations. Afterwards, the implementation process in C++ within a local Essentia
repository is detailed, followed by compilation with Python bindings to access the new algorithm.
Finally, the evaluation phase, conducted in Python, makes use of a dataset comprising audio files and
the corresponding ground-truth files. Pitch detection algorithms from Essentia are employed to extract
frequencies from the audio data and then the data is aligned for comparison with algorithmic results.
The evaluated metrics are voicing recall and false alarm, pitch and overall accuracy and they are
measured with mir_eval library.
Essentia es una librerĂa de audio creada por el Music Technology Group, diseñada para proporcionar herramientas de anĂĄlisis de audio y mĂșsica. Aunque ya incluye algoritmos de detecciĂłn de tono como PitchMelodia o PitchYin, hay algunos algoritmos que no estĂĄn implementados como el Harmonic Product Spectrum (HPS). El algoritmo Harmonic Product Spectrum consiste en realizar una serie de submuestreos del espectro del audio y multiplicarlos para resaltar el pico de la frecuencia fundamental, ya que serĂĄ el pico mĂĄs alto sobre los otros armĂłnicos en el espectro resultante. Este proyecto tiene como objetivo integrar el HPS en Essentia, junto con un anĂĄlisis comparativo con algoritmos existentes dentro de Essentia. La evaluaciĂłn se centra en instrumentos de flauta y variantes monofĂłnicas similares, alineĂĄndose con los algoritmos mĂĄs adecuados para tales instrumentos. El proyecto comienza con una exploraciĂłn teĂłrica detallada del algoritmo HPS, incluyendo algunas consideraciones importantes para la implementaciĂłn. Posteriormente, se detalla el proceso de implementaciĂłn en C++ dentro de un repositorio local de Essentia, seguido de la compilaciĂłn con bindings de Python para acceder al nuevo algoritmo. Finalmente, la fase de evaluaciĂłn, realizada en Python, hace uso de un conjunto de datos que comprende archivos de audio y archivos con los datos reales correspondientes. Se emplean algoritmos de detecciĂłn de tono de Essentia para extraer frecuencias de los datos de audio, y luego se alinean los datos para comparar con los resultados proporcionados por los algoritmos. Las mĂ©tricas evaluadas son la detecciĂłn de la recuperaciĂłn y falsa alarma de la sonoridad, del tono y de la precisiĂłn global y se miden con la librerĂa mir_eval.
Essentia Ă©s una llibreria d'Ă udio creada pel Music Technology Group, dissenyada per proporcionar eines d'anĂ lisi d'Ă udio i mĂșsica. Tot i que ja inclou algoritmes de detecciĂł de to com PitchMelodia o PitchYin, hi ha alguns algoritmes que no estan implementats com l'Harmonic Product Spectrum (HPS). L'algoritme Harmonic Product Spectrum consisteix a realitzar diversos submostrejos de l'espectre de l'Ă udio i multiplicar-los per ressaltar el pic de la freqĂŒĂšncia fonamental, ja que serĂ el pic mĂ©s alt sobre els altres harmĂČnics en l'espectre resultant. Aquest projecte tĂ© com a objectiu integrar el HPS a Essentia, juntament amb una anĂ lisi comparativa amb algoritmes existents dins d'Essentia. L'avaluaciĂł es centra en instruments de flauta i variants monofĂČniques similars, alineant-se amb els algoritmes mĂ©s adients per a tals instruments. El projecte comença amb una exploraciĂł teĂČrica detallada de l'algoritme HPS, incloent-hi algunes consideracions importants per a la implementaciĂł. Posteriorment, es detalla el procĂ©s d'implementaciĂł en C++ dins d'un repositori local d'Essentia, seguit de la compilaciĂł amb bindings de Python per accedir al nou algoritme. Finalment, la fase d'avaluaciĂł, realitzada en Python, fa Ășs d'un conjunt de dades que comprĂšn arxius d'Ă udio i arxius amb les dades reals corresponents. S'empren algoritmes de detecciĂł de to d'Essentia per extreure freqĂŒĂšncies de les dades d'Ă udio, i desprĂ©s s'ajusten les dades per comparar amb els resultats proporcionats pels algoritmes. Les mĂštriques avaluades sĂłn la detecciĂł de la recuperaciĂł i falsa alarma de la sonoritat, del to i de la precisiĂł global i es mesuren amb la llibreria mir_eval.
Essentia es una librerĂa de audio creada por el Music Technology Group, diseñada para proporcionar herramientas de anĂĄlisis de audio y mĂșsica. Aunque ya incluye algoritmos de detecciĂłn de tono como PitchMelodia o PitchYin, hay algunos algoritmos que no estĂĄn implementados como el Harmonic Product Spectrum (HPS). El algoritmo Harmonic Product Spectrum consiste en realizar una serie de submuestreos del espectro del audio y multiplicarlos para resaltar el pico de la frecuencia fundamental, ya que serĂĄ el pico mĂĄs alto sobre los otros armĂłnicos en el espectro resultante. Este proyecto tiene como objetivo integrar el HPS en Essentia, junto con un anĂĄlisis comparativo con algoritmos existentes dentro de Essentia. La evaluaciĂłn se centra en instrumentos de flauta y variantes monofĂłnicas similares, alineĂĄndose con los algoritmos mĂĄs adecuados para tales instrumentos. El proyecto comienza con una exploraciĂłn teĂłrica detallada del algoritmo HPS, incluyendo algunas consideraciones importantes para la implementaciĂłn. Posteriormente, se detalla el proceso de implementaciĂłn en C++ dentro de un repositorio local de Essentia, seguido de la compilaciĂłn con bindings de Python para acceder al nuevo algoritmo. Finalmente, la fase de evaluaciĂłn, realizada en Python, hace uso de un conjunto de datos que comprende archivos de audio y archivos con los datos reales correspondientes. Se emplean algoritmos de detecciĂłn de tono de Essentia para extraer frecuencias de los datos de audio, y luego se alinean los datos para comparar con los resultados proporcionados por los algoritmos. Las mĂ©tricas evaluadas son la detecciĂłn de la recuperaciĂłn y falsa alarma de la sonoridad, del tono y de la precisiĂłn global y se miden con la librerĂa mir_eval.
Essentia Ă©s una llibreria d'Ă udio creada pel Music Technology Group, dissenyada per proporcionar eines d'anĂ lisi d'Ă udio i mĂșsica. Tot i que ja inclou algoritmes de detecciĂł de to com PitchMelodia o PitchYin, hi ha alguns algoritmes que no estan implementats com l'Harmonic Product Spectrum (HPS). L'algoritme Harmonic Product Spectrum consisteix a realitzar diversos submostrejos de l'espectre de l'Ă udio i multiplicar-los per ressaltar el pic de la freqĂŒĂšncia fonamental, ja que serĂ el pic mĂ©s alt sobre els altres harmĂČnics en l'espectre resultant. Aquest projecte tĂ© com a objectiu integrar el HPS a Essentia, juntament amb una anĂ lisi comparativa amb algoritmes existents dins d'Essentia. L'avaluaciĂł es centra en instruments de flauta i variants monofĂČniques similars, alineant-se amb els algoritmes mĂ©s adients per a tals instruments. El projecte comença amb una exploraciĂł teĂČrica detallada de l'algoritme HPS, incloent-hi algunes consideracions importants per a la implementaciĂł. Posteriorment, es detalla el procĂ©s d'implementaciĂł en C++ dins d'un repositori local d'Essentia, seguit de la compilaciĂł amb bindings de Python per accedir al nou algoritme. Finalment, la fase d'avaluaciĂł, realitzada en Python, fa Ășs d'un conjunt de dades que comprĂšn arxius d'Ă udio i arxius amb les dades reals corresponents. S'empren algoritmes de detecciĂł de to d'Essentia per extreure freqĂŒĂšncies de les dades d'Ă udio, i desprĂ©s s'ajusten les dades per comparar amb els resultats proporcionats pels algoritmes. Les mĂštriques avaluades sĂłn la detecciĂł de la recuperaciĂł i falsa alarma de la sonoritat, del to i de la precisiĂł global i es mesuren amb la llibreria mir_eval.
Other authors
Tutor: Jorge Marcos
Description
Tutor: Xavier Lizarraga
Tutor: Jorge Marcos
Treball de fi del grau en Grau en Enginyeria MatemĂ tica en CiĂšncia de Dades
Tutor: Jorge Marcos
Treball de fi del grau en Grau en Enginyeria MatemĂ tica en CiĂšncia de Dades







