前提・実現したいこと
ここに質問の内容を詳しく書いてください。
pythonで学ぶ音源分離のサンプルコードの実装をしていたらエラーが出てしまい、調べても理由が分かりませんでした。
発生している問題・エラーメッセージ
エラーメッセージ
noverlap must be less than nperseg.
該当のソースコード
python
1ソースコード
import wave as wave
import scipy.signal as sp
f,t,stft_data=sp.stft(data,fs=wav.getframerate(),window="hann",nperseg=512,noverlap=256)
#短時間フーリエ変換のデータ形式を確認
print("短時間フーリエ変換後のshape:",np.shape(stft_data))
試したこと
noverlap=Noneとした場合はエラーが出なかったのですが、noverlap=1,noverlap=128を適用してもエラーが出てしまいました。nperseg=512と定義しているつもりなのですが、理由と対処方法が分からないのですがnpersegにはニング窓の数値であるwindow="hann"が適用されてしまっている気がします。
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
使用環境はannacondaからjupyter notebookを使用しています。
あなたの回答
tips
プレビュー