Eine Python-Bibliothek zur Extraktion, Klassifizierung, Segmentierung und Anwendung von Audiofunktionen
Dies sind allgemeine Informationen. Klicken Sie hier für das vollständige Wiki und hier für eine allgemeinere Einführung in die Handhabung von Audiodaten
Nachricht
- [01.01.2022] Wenn Sie nicht daran interessiert sind, Audiomodelle aus Ihren eigenen Daten zu trainieren, können Sie sich die Deep Audio API ansehen, wo Sie Audiodaten direkt senden und Vorhersagen bezüglich des jeweiligen Audioinhalts (Sprache vs. Stille) erhalten können , Musikgenre, Geschlecht des Sprechers usw.).
- [06.08.2021] deep-audio-features tiefe Audioklassifizierung und Merkmalsextraktion mit CNNs und Pytorch
- Schauen Sie sich paura an, ein Python-Skript für die Echtzeitaufzeichnung und -analyse von Audiodaten
Allgemein
pyAudioAnalysis ist eine Python-Bibliothek, die ein breites Spektrum an Audioanalyseaufgaben abdeckt. Mit pyAudioAnalysis können Sie:
- Extrahieren Sie Audiofunktionen und -darstellungen (z. B. MFCCs, Spektrogramm, Chromagramm).
- Trainieren , parametrisieren und bewerten Sie Klassifikatoren von Audiosegmenten
- Unbekannte Geräusche klassifizieren
- Erkennen Sie Audioereignisse und schließen Sie Stillephasen bei langen Aufnahmen aus
- Führen Sie eine überwachte Segmentierung durch (gemeinsame Segmentierung – Klassifizierung).
- Führen Sie eine unbeaufsichtigte Segmentierung durch (z. B. Sprecherdiagnose) und extrahieren Sie Audio- Miniaturansichten
- Audio- Regressionsmodelle trainieren und nutzen (Beispielanwendung: Emotionserkennung)
- Wenden Sie eine Dimensionsreduktion an, um Audiodaten und Inhaltsähnlichkeiten zu visualisieren
Installation
- Klonen Sie die Quelle dieser Bibliothek:
git clone https://github.com/tyiannak/pyAudioAnalysis.git
- Abhängigkeiten installieren:
pip install -r ./requirements.txt
- Installieren Sie mit pip:
pip install -e .
Ein Beispiel für die Audioklassifizierung
Weitere Beispiele und ausführliche Tutorials finden Sie im Wiki
pyAudioAnalysis bietet einfach aufzurufende Wrapper zum Ausführen von Audioanalyseaufgaben. Beispielsweise trainiert dieser Code zunächst einen Audiosegment-Klassifikator anhand einer Reihe von WAV-Dateien, die in Ordnern gespeichert sind (jeder Ordner stellt eine andere Klasse dar), und dann wird der trainierte Klassifikator verwendet, um eine unbekannte Audio-WAV-Datei zu klassifizieren
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" )
Ergebnis: (0.0, array([ 0.90156761, 0.09843239]), ['music', 'speech'])
Darüber hinaus wird für alle Funktionalitäten Befehlszeilenunterstützung bereitgestellt. Beispielsweise extrahiert der folgende Befehl das Spektrogramm eines in einer WAV-Datei gespeicherten Audiosignals: python audioAnalysis.py fileSpectrogram -i data/doremi.wav
Weiterführende Literatur
Um besser zu verstehen, wie diese Bibliothek verwendet wird, sollte man neben dieser README-Datei Folgendes lesen:
- Grundlagen der Audioverarbeitung: Verarbeiten Sie Audiodateien in der Befehlszeile oder in Python, wenn Sie lernen möchten, wie Sie Audiodateien über die Befehlszeile verarbeiten, und einige grundlegende Programmierungen zur Audiosignalverarbeitung. Beginnen Sie damit, wenn Sie keine Ahnung von Audio haben.
- Einführung in die Audioanalyse: Erkennen von Geräuschen mithilfe von maschinellem Lernen. Dieser Artikel geht etwas tiefer als der vorherige Artikel und bietet eine vollständige Einführung in Theorie und Praxis der Extraktion, Klassifizierung und Segmentierung von Audiomerkmalen (einschließlich vieler Python-Beispiele).
- Das Wiki der Bibliothek
- So nutzen Sie maschinelles Lernen, um Ihre Beleuchtung basierend auf der Musikstimmung einzufärben. Ein interessanter Anwendungsfall für die Verwendung dieser Bibliothek zum Trainieren eines Echtzeit-Schätzers für die Musikstimmung.
- Eine allgemeinere und theoretischere Beschreibung der angewandten Methoden (zusammen mit mehreren Experimenten zu bestimmten Anwendungsfällen) wird in dieser Veröffentlichung vorgestellt. Bitte verwenden Sie das folgende Zitat, wenn Sie pyAudioAnalysis in Ihrer Forschungsarbeit zitieren :
@ 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 }
}
Material zur Matlab-bezogenen Audioanalyse finden Sie in diesem Buch.
Autor
Theodoros Giannakopoulos, Hauptforscher für multimodales maschinelles Lernen in der Multimedia Analysis Group des Computational Intelligence Lab (MagCIL) des Instituts für Informatik und Telekommunikation, des Nationalen Zentrums für wissenschaftliche Forschung „Demokritos“