実現したいこと
PythonでPySoundfileを用いてwavファイルを読み込みステレオ音源を片方のチャンネルごとに分けたかったのですが以下のようなエラーが出てしまいました。
エラーの内容などで調べてみたのですがどうにも分からず質問させていただきました、プログラミングの経験は浅いです。よろしくお願いします。
エラーメッセージ
Traceback (most recent call last):
File "wave.py", line 4, in <module>
wave_data = wave_data[:,1]
IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
該当のソースコード
import soundfile as sf
wave_data,sampling_freq = sf.read('test-sound.wav')
wave_data = wave_data[:,1]
sf.write('output.wav',wave_data,sampling_freq)
ドキュメントには A two-dimensional (frames x channels) NumPy array is returned. If the sound file has only one channel, a one-dimensional array is returned. と書いてあるので、もともとの音源がモノラルだと判断されているような気がするのですが、どうでしょう。
https://pysoundfile.readthedocs.io/en/latest/index.html#soundfile.read
Audacityを使って確認したところモノラルの音声ファイルでした、、
ステレオとして配布されたものだったので疑わなかったのが間違いでした。ご指摘ありがとうございます
回答1件
あなたの回答
tips
プレビュー