ウェーブモジュールを使用してこれを行うことができます
このopen()
メソッドはファイルを開き、readframes(n)
オーディオの (最大) n フレームをバイト文字列として返します。
たとえば、avg()
audioop のメソッドを使用する必要があるとします。これはあなたがそれを行う方法です:
import wave
import audioop
wav = wave.open("piano2.wav")
print(audioop.avg(wav.readframes(wav.getnframes()), wav.getsampwidth()))
出力:
-2
rewind()
また、 wave モジュールのメソッドに興味があるかもしれません。読み込み位置をwavファイルの先頭に戻します。
wav ファイルを 2 回読む必要がある場合は、次のように記述できます。
wav = wave.open("piano2.wav")
print(audioop.avg(wav.readframes(wav.getnframes()), wav.getsampwidth()))
# if you don't call rewind, next readframes() call
# will return nothing and audioop will fail
wav.rewind()
print(audioop.max(wav.readframes(wav.getnframes()), wav.getsampwidth()))
または、文字列をキャッシュすることもできます:
wav = wave.open("piano2.wav")
string_wav = wav.readframes(wav.getnframes())
print(audioop.avg(string_wav, wav.getsampwidth()))
# wav.rewind()
print(audioop.max(string_wav, wav.getsampwidth()))