Ich möchte mit Python auf eine wav-Datei zugreifen und den Inhalt in einer Form schreiben, die es mir erlaubt, sie zu analysieren (sagen wir Arrays).
Ich habe eine neuere Version auf numpy (1.4.0) installiert. Aber dann habe ich eine neue Reihe von Fehlern:
Traceback (zuletzt letzter Aufruf): Datei "test.py", Zeile 7, in importieren Sie scikits.audioLab Datei "/usr/lib/python2.5/site-packages/scikits/audiolab/init.py", Zeile 25, in von pysndfile Importformatinfo, Sndfile Datei "/usr/lib/python2.5/site-packages/scikits/audiolab/pysndfile/init.py", Zeile 1, in aus _sndfile Import Sndfile, Format, verfügbare_Dateiformate, verfügbare_codierungen Datei "numpy.pxd", Zeile 30, in scikits.audiolab.pysndfile._sndfile (scikits / audiolab / pysndfile / _sndfile.c: 9632) ValueError: numpy.dtype scheint nicht das richtige Type-Objekt
zu seinIch habe es aufgegeben, audiolab zu verwenden und dachte mir, dass ich das "wave" -Paket verwenden kann, um eine wav-Datei einzulesen. Ich habe eine Frage dazu gestellt, aber die Leute haben empfohlen, stattdessen scipy zu benutzen. OK, ich entschied mich auf scipy zu konzentrieren (ich habe 0.6.0. Version).
Aber wenn ich Folgendes versuchte:
von scipy.io Import wavfile
x = wavfile.read ('/ usr / share / Töne / lila / receive.wav')
Ich bekomme Folgendes:
%Vor%Haben Sie das Wellenmodul ausprobiert? Es hat weniger Abhängigkeiten:
%Vor%Sie können das wave-Modul auch zusammen mit der Funktion numpy.fromstring () verwenden, um es in ein Array zu konvertieren
%Vor%Nachdem ich so viele Dinge versucht habe, die nicht funktionieren, habe ich die Dekodierungsbibliothek von Benutze (Python) Gstreamer, um Audio (zu PCM-Daten) zu dekodieren und eine Funktion zu erstellen, um die rohen PCM-Daten in ein scipy-Array zu parsen.
Es ist nett und kann jede Audiodatei öffnen, die gstreamer öffnen kann: Ссылка (siehe Test und das Ende der Datei für Verwendungsinformationen)
audiolab ist der beste Weg, aber es funktioniert nicht in jeder Umgebung und der Entwickler arbeitet nicht daran. Ich benutze immer noch Python 2.5, damit ich es benutzen kann.
Haben Sie libsndfile installiert?
audiolab scheint nicht mehr gepflegt zu werden. Sie sollten PySoundFile .
Die Installation ist einfach:
%Vor%Und auch eine Sounddatei lesen:
%Vor%Sehen Sie sich die Übersicht über verschiedene Python-Bibliotheken an Umgang mit Audiodateien .