そのサンプルに存在するすべてのフレームで、次のようなオーディオ サンプルの振幅をプロットしています。
sound = AudioSegment.from_mp3("test.mp3")
print(len(sound))
print(len(sound.raw_data))
data = np.fromstring(sound.raw_data, dtype=np.int16)
left, right = data[0::2], data[1::2]
plt.plot(left)
その過程で、サウンド AudioSegment の長さがサウンド raw_data と異なることに気付きました。なぜですか?
また、test.mp3 のデュレーションが長くなると、x 軸の目盛りが数百万になるので、低いサンプル レートでデータをプロットするにはどうすればよいか、つまりデータ配列のサンプル数を減らすにはどうすればよいか疑問に思っていましたか?
これが私の最初の考えです: オーディオ データ配列の最初の 10 または 20 サンプルの平均を計算し、それらを 1 つのポイントとして表して、サンプル数を減らすことができるようにします。ただし、これにより、情報の損失やパフォーマンスの問題が発生する可能性があります。
Pythonにはこれを行う別の方法がありますか??