Una biblioteca de Python para extracción, clasificación, segmentación y aplicaciones de características de audio.
Esta es información general. Haga clic aquí para ver la wiki completa y aquí para obtener una introducción más genérica al manejo de datos de audio.
Noticias
- [2022-01-01] Si no está interesado en entrenar modelos de audio a partir de sus propios datos, puede consultar la API de Deep Audio, donde puede enviar datos de audio directamente y recibir predicciones con respecto al contenido de audio respectivo (habla versus silencio). , género musical, género del hablante, etc).
- [2021-08-06] deep-audio-features clasificación de audio profunda y extracción de características utilizando CNN y Pytorch
- Consulte paura, un script de Python para grabación y análisis de datos de audio en tiempo real.
General
pyAudioAnalysis es una biblioteca de Python que cubre una amplia gama de tareas de análisis de audio. A través de pyAudioAnalysis puedes:
- Extraiga características y representaciones de audio (por ejemplo, mfccs, espectrograma, cromagrama)
- Entrene , ajuste de parámetros y evalúe clasificadores de segmentos de audio.
- Clasificar sonidos desconocidos
- Detecta eventos de audio y excluye períodos de silencio de grabaciones largas
- Realizar segmentación supervisada (segmentación conjunta - clasificación)
- Realizar segmentación no supervisada (por ejemplo, registro de los hablantes) y extraer miniaturas de audio.
- Entrene y utilice modelos de regresión de audio (aplicación de ejemplo: reconocimiento de emociones)
- Aplicar reducción de dimensionalidad para visualizar datos de audio y similitudes de contenido.
Instalación
- Clona la fuente de esta biblioteca:
git clone https://github.com/tyiannak/pyAudioAnalysis.git
- Instalar dependencias:
pip install -r ./requirements.txt
- Instalar usando pip:
pip install -e .
Un ejemplo de clasificación de audio
Se pueden encontrar más ejemplos y tutoriales detallados en la wiki.
pyAudioAnalysis proporciona contenedores fáciles de llamar para ejecutar tareas de análisis de audio. Por ejemplo, este código primero entrena un clasificador de segmentos de audio, dado un conjunto de archivos WAV almacenados en carpetas (cada carpeta representa una clase diferente) y luego el clasificador entrenado se usa para clasificar un archivo WAV de audio desconocido.
from pyAudioAnalysis import audioTrainTest as aT
aT . extract_features_and_train ([ "classifierData/music" , "classifierData/speech" ], 1.0 , 1.0 , aT . shortTermWindow , aT . shortTermStep , "svm" , "svmSMtemp" , False )
aT . file_classification ( "data/doremi.wav" , "svmSMtemp" , "svm" )
Resultado: (0.0, array([ 0.90156761, 0.09843239]), ['música', 'voz'])
Además, se proporciona soporte de línea de comandos para todas las funcionalidades. Por ejemplo, el siguiente comando extrae el espectrograma de una señal de audio almacenada en un archivo WAV: python audioAnalysis.py fileSpectrogram -i data/doremi.wav
Lectura adicional
Aparte de este archivo README, para comprender mejor cómo utilizar esta biblioteca se debe leer lo siguiente:
- Conceptos básicos del manejo de audio: procese archivos de audio en la línea de comandos o Python, si desea aprender cómo manejar archivos de audio desde la línea de comandos y algo de programación básica sobre el procesamiento de señales de audio. Comienza con eso si no sabes nada sobre audio.
- Introducción al análisis de audio: reconocimiento de sonidos mediante el aprendizaje automático. Esto es un poco más profundo que el artículo anterior y proporciona una introducción completa a la teoría y la práctica de la extracción, clasificación y segmentación de características de audio (incluye muchos ejemplos de Python).
- La wiki de la biblioteca.
- Cómo utilizar el aprendizaje automático para colorear la iluminación según el estado de ánimo musical. Un caso de uso interesante del uso de esta biblioteca para entrenar un estimador del estado de ánimo musical en tiempo real.
- En esta publicación se presenta una descripción más general y teórica de los métodos adoptados (junto con varios experimentos en casos de uso particulares). Utilice la siguiente cita cuando cite pyAudioAnalysis en su trabajo de investigación :
@ article { giannakopoulos2015pyaudioanalysis ,
title = { pyAudioAnalysis : An Open - Source Python Library for Audio Signal Analysis },
author = { Giannakopoulos , Theodoros },
journal = { PloS one },
volume = { 10 },
number = { 12 },
year = { 2015 },
publisher = { Public Library of Science }
}
Para obtener material de análisis de audio relacionado con Matlab, consulte este libro.
Autor
Theodoros Giannakopoulos, Investigador Principal de Aprendizaje Automático Multimodal del Grupo de Análisis Multimedia del Laboratorio de Inteligencia Computacional (MagCIL) del Instituto de Informática y Telecomunicaciones, del Centro Nacional de Investigaciones Científicas "Demokritos"