Une bibliothèque Python pour l'extraction, la classification, la segmentation et les applications de fonctionnalités audio
Ceci est une information générale. Cliquez ici pour le wiki complet et ici pour une introduction plus générique à la gestion des données audio
Nouvelles
- [2022-01-01] Si vous n'êtes pas intéressé par la formation de modèles audio à partir de vos propres données, vous pouvez consulter l'API Deep Audio, où vous pouvez directement envoyer des données audio et recevoir des prédictions concernant le contenu audio respectif (parole ou silence). , genre musical, sexe du locuteur, etc.).
- [2021-08-06] Deep-Audio-features Classification audio approfondie et extraction de fonctionnalités à l'aide de CNN et Pytorch
- Découvrez paura, un script Python pour l'enregistrement et l'analyse en temps réel des données audio.
Général
pyAudioAnalysis est une bibliothèque Python couvrant un large éventail de tâches d'analyse audio. Grâce à pyAudioAnalysis, vous pouvez :
- Extraire des caractéristiques et des représentations audio (par exemple mfccs, spectrogramme, chromagramme)
- Entraîner , régler les paramètres et évaluer les classificateurs de segments audio
- Classer les sons inconnus
- Détectez les événements audio et excluez les périodes de silence des longs enregistrements
- Effectuer une segmentation supervisée (segmentation conjointe - classification)
- Effectuer une segmentation non supervisée (par exemple, diarisation des locuteurs) et extraire des vignettes audio
- Entraîner et utiliser des modèles de régression audio (exemple d'application : reconnaissance des émotions)
- Appliquer une réduction de dimensionnalité pour visualiser les données audio et les similitudes de contenu
Installation
- Cloner la source de cette bibliothèque :
git clone https://github.com/tyiannak/pyAudioAnalysis.git
- Installer les dépendances :
pip install -r ./requirements.txt
- Installez à l'aide de pip :
pip install -e .
Un exemple de classification audio
Plus d'exemples et de tutoriels détaillés peuvent être trouvés sur le wiki
pyAudioAnalysis fournit des wrappers faciles à appeler pour exécuter des tâches d'analyse audio. Par exemple, ce code entraîne d'abord un classificateur de segments audio, à partir d'un ensemble de fichiers WAV stockés dans des dossiers (chaque dossier représentant une classe différente), puis le classificateur entraîné est utilisé pour classer un fichier WAV audio inconnu.
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" )
Résultat : (0.0, array([ 0.90156761, 0.09843239]), ['musique', 'parole'])
De plus, la prise en charge en ligne de commande est fournie pour toutes les fonctionnalités. Par exemple, la commande suivante extrait le spectrogramme d'un signal audio stocké dans un fichier WAV : python audioAnalysis.py fileSpectrogram -i data/doremi.wav
Lectures complémentaires
En dehors de ce fichier README, pour mieux comprendre comment utiliser cette bibliothèque il faut lire ce qui suit :
- Bases de la gestion audio : traiter les fichiers audio en ligne de commande ou en Python, si vous souhaitez apprendre à gérer les fichiers audio à partir de la ligne de commande et quelques notions de programmation de base sur le traitement du signal audio. Commencez par cela si vous ne connaissez rien à l’audio.
- Introduction à l'analyse audio : reconnaissance des sons à l'aide de l'apprentissage automatique Cet article va un peu plus loin que l'article précédent, en fournissant une introduction complète à la théorie et à la pratique de l'extraction, de la classification et de la segmentation des fonctionnalités audio (comprend de nombreux exemples Python).
- Le wiki de la bibliothèque
- Comment utiliser l'apprentissage automatique pour colorer votre éclairage en fonction de l'ambiance musicale. Un cas d'utilisation intéressant de l'utilisation de cette bibliothèque pour former un estimateur d'ambiance musicale en temps réel.
- Une description plus générale et théorique des méthodes adoptées (accompagnée de plusieurs expérimentations sur des cas d'utilisation particuliers) est présentée dans cette publication. Veuillez utiliser la citation suivante lorsque vous citez pyAudioAnalysis dans votre travail de recherche :
@ 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 }
}
Pour le matériel d'analyse audio lié à Matlab, consultez ce livre.
Auteur
Theodoros Giannakopoulos, chercheur principal en apprentissage automatique multimodal au Groupe d'analyse multimédia du Laboratoire d'intelligence computationnelle (MagCIL) de l'Institut d'informatique et de télécommunications, du Centre national de recherche scientifique "Demokritos"