8

多くの場合、wav ファイルは 24 ビットであるか、24 ビットである必要がありますが、scipy モジュールを使用して 24 ビットの wav ファイルを読み書きする方法がわかりません。wavfile.write() のドキュメントには、wav ファイルの解像度はデータ型によって決まると記載されています。これは、24 ビット整数データ型を知らないため、24 ビットがサポートされていないことを意味するに違いありません。代替手段が必要な場合は、scipy を使用している他のユーザーが追加のモジュールをインストールする必要なく、ファイルを簡単に交換できるように、それが一般的であればよいでしょう。

import numpy as np
import scipy.io.wavfile as wavfile

fs=48000
t=1
nc=2
nbits=24
x = np.random.rand(t*fs,nc) * 2 - 1
wavfile.write('white.wav', fs, (x*(2**(nbits-1)-1)).astype(np.int32))
4

2 に答える 2