Skip to content

Evaluación de sistemas de estimación del género musical mediante descriptores de audio y aprendizaje automático

Notifications You must be signed in to change notification settings

ahidalgocenteno/TFG-Antonio-Hidalgo-Centeno

Repository files navigation

Sistemas de extracción de similitud de fragmentos musicales

ua-logo ua-logo

Código del Trabajo Fin de Grado de Antonio Hidalgo Centeno. Para extracción de similitud de fragmentos musicales con descriptores de audio y aprendizaje automático.

Modo de Uso

Para su correcto funcionamiento, este código requiere de ciertas dependencias, en el archivo requirements.txt se pueden encontrar las librerias necesarias para su ejecucción. Es recomendado utilizar un entorno virtual para su ejeccución. Para ello, puedes ejecutar el siguiente comando (python debe estar instalado):

python -m venv <enviroment-name>

A continuación, debes activar el entorno virtual:

<enviroment-name>/Scripts/activate

Una vez creado, instala las dependencias con:

python -m pip install -r requirements.txt

Para poder realizar los entrenamientos en tiempos razonables, es recomendado usar GPU. Pytorch trabaja con CUDA, un Toolkit de desarrollo que permite trabajar con tarjetas gráficas de NVIDIA para optimizar la ejecucción del código. CUDA Toolkit Puede ser instalado en diferentes sistemas operativos. La versión de CUDA a instalar dependerá de las espeficicaciones de tu equipo.

Para determinar la versión de CUDA compatible con PyTorch puedes visitar el siguiente enlace: Instalación de Pytorch en Local

Utilizando Windows y pip, la última versión de CUDA disponible en el momento de escritura es la 12.1. Para instalar la versión de CUDA necesaria puede visitarse el siguiente enlace: Instalación de CUDA.

Una vez instalado CUDA, PyTorch puede ser instalado, con la instrucción generada por la página oficial de PyTorch mencionada anteriormente. PyTorch compatible con CUDA 12.1 puede ser instalado en el entorno virtual con la siguiente instrucción:

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Una vez realizado todo lo anterior, puede comprobarse que CUDA y PyTorch funcionan conjuntamente con la siguiente instrucción:

python check_gpu.py

Si en la consola aparece el nombre de la gpu, toda la instalación ha ido correctamente. Con lo anterior realizado, puedes comenzar a ejecutar los diferentes módulos del proyecto.

Descargar Datos

Se facilita un script para la descarga de los datos, 'download_data.py' que guarda en el directorio actual los datos de GTZAN, incluyendo audios, espectogramas y descriptores de audio. Adeás, realiza el split train, test y val.

 python download_data.py

Redes Neuronales simples

El script 'main_cls.py'. Carga los datos y entrena el modelo para diferentes datos por clase. Se entrenan los modelos de CNN y CRNN.

 python main_cls.py

Redes neuronales siamesas

Para entrenar las redes neuronales siamesas y obtener su precisión, se facilita el script 'main_siamese.py'. De la misma manera, se emplean las arquitecturas con convolucional y convolucional recurrente.

python main_siamese.py

Descriptores de audio

Finalmente, se puede emplear el script 'main_features.py' para entrenar y evaluar las arquitecturas que cuentan también con la entrada de los descriptores de audio, de la base de datos de GTZAN.

python main_features.py

About

Evaluación de sistemas de estimación del género musical mediante descriptores de audio y aprendizaje automático

Topics

Resources

Stars

Watchers

Forks

Languages