Ok, ich habe Python benutzt, um ein Wellenform-Bild zu erstellen, und ich bekomme die Rohdaten von der .wav
-Datei mit song = wave.open()
und song.readframes(1)
, was folgendes zurückgibt:
Was ich wissen möchte, ist, wie ich dies in drei separate Bytes aufteile, z. b'\x00\x00'
, b'\x00\x00'
, b'\x00\x00'
, da jeder Rahmen 3 Bytes breit ist, also brauche ich den Wert jedes einzelnen Bytes, um eine Wellenform bilden zu können. Ich glaube, so muss ich es trotzdem machen.
Sie können Slicing für byte
-Objekte verwenden:
Wenn Sie mit diesen Frames arbeiten, möchten Sie wahrscheinlich auch etwas über memoryview()
objects ; Dadurch können Sie die Bytes als C-Datentypen ohne zusätzliche Arbeit interpretieren, indem Sie einfach eine 'Ansicht' auf die zugrunde liegenden Bytes werfen:
Das Objekt mv
ist jetzt eine Speicheransicht, die alle 2 Bytes als vorzeichenlose Abkürzung interpretiert. also hat es jetzt die Länge 3 und jeder Index ist ein ganzzahliger Wert, basierend auf den zugrunde liegenden Bytes.