Wie zum Bearbeiten von raw-PCM-audio-Daten ohne eine audio-Bibliothek?
Ich bin daran interessiert, genau zu extrahieren Teile einer PCM-WAV-Datei, unten auf der sample-Ebene. Die meisten audio Module scheinen, verlassen sich auf die Plattform-spezifischen audio-Bibliotheken. Ich will diese cross-Plattform-und die Geschwindigkeit ist nicht ein Problem, gibt es eine native python-audio-Module, die dies tun können?
Wenn nicht, werde ich zu interpretieren, die PCM binäre. Während ich bin sicher, ich kann Graben, bis der PCM-specs ziemlich leicht, und raw-Formate sind leicht genug, um zu gehen, ich habe noch nie wirklich behandelt, mit Binärdaten in Python vor. Gibt es gute Ressourcen, die erklären, wie dies zu tun? Speziell in Bezug auf audio-wäre nur Sahnehäubchen.
- Dies sollte sehr intesting in python. Sollten Sie blog über es, wenn Sie Rollen Sie Ihre eigenen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lese ich die Frage und die Antworten, und ich fühle, dass ich muss etwas fehlen völlig auf der Hand, denn niemand erwähnt die folgenden beiden Module:
Vielleicht komme ich aus einem parallel-Universum und Guido 's time machine" ist eigentlich eine Raum-Zeit-Maschine 🙂
Sollten Sie Beispiel-code, fühlen Sie sich frei, zu Fragen.
PS Vorausgesetzt, 48kHz sampling-rate, eine video-frame bei 24/1.001==23.976023976... fps ist 2002 audio samples lange, und es bei 25fps 1920 audio-samples lang.
Ich habe nur geschrieben, eine PCM-reader in C++ und Java, aber das format selbst ist relativ einfach. Eine anständige Beschreibung finden Sie hier: http://ccrma.stanford.edu/courses/422/projects/WaveFormat/
Vergangenheit, dass Sie sollten in der Lage sein, nur Lesen (Binär-Datei zu Lesen, http://www.johnny-lin.com/cdat_tips/tips_fileio/bin_array.html) und nur um das resultierende array. Sie verwenden müssen, um einige bit-Verschiebung, um die Ausrichtungen korrigieren ( https://docs.python.org/reference/expressions.html#shifting-operations ), aber je nachdem, wie Sie es Lesen, werden Sie eventuell nicht benötigen.
Alle gesagt, ich würde immer noch schlank zu David ' s Ansatz.
Ist es wirklich wichtig, dass Ihre Lösung in reinem Python, oder würdest du etwas akzeptieren, das kann die Arbeit mit native audio libraries auf verschiedenen Plattformen (so ist es effektiv, cross-platform)? Es gibt mehrere Beispiele für die letztere an http://wiki.python.org/moin/PythonInMusic
Scheint wie eine Kombination von open(..., "rb"), struct-Modul, und einige details über die wav/riff-Dateiformat (wahrscheinlich bessere Referenz gibt) wird den job zu erledigen.
Einfach nur neugierig, was Sie beabsichtigen zu tun mit den rohen sample-Daten?
Suchte ich diese und fand ich dies: http://www.swharden.com/blog/2009-06-19-reading-pcm-audio-with-python/
Es erfordert Numpy (und matplotlib, wenn Sie möchten, um eine Grafik zu erstellen)
Überprüfen Sie heraus die ursprüngliche Autor-Website für weitere details.