前提・実現したいこと
フーリエ解析のサイトのソースコードから正弦波を作成しようと思っていますが、以下のエラーメッセージが出てしまいました。
発生している問題・エラーメッセージ
wave_out=wave.open("./sound_01.wav", 'w') Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'wave' is not defined >>> wave_out.setnchannels(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'wave_out' is not defined >>> wave_out.setsampwidth(2) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'wave_out' is not defined >>> wave_out.setframerate(fs) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'wave_out' is not defined >>> wave_out.writeframes(data_scale_adjust) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'wave_out' is not defined >>> wave_out.close()
該当のソースコード
Python
1import numpy as np 2import sounddevice as sd 3fs = 10e3 4N = 1e5 5amp = 2 * np.sqrt(2) 6time = np.arange(N) / float(fs) 7mod = 500 * np.cos(2 * np.pi * 0.25 * time) 8carrier = amp * np.sin(2 * np.pi * 3e3 * time + mod) 9sd.play(carrier, fs) 10print("再生開始") 11# 再生が終わるまで待つ 12status=sd.wait() 13# wavファイルに書き込む 14# 2バイトのデータとして書き込むためにスケールを調整 15data_scale_adjust=carrier*np.iinfo(np.int16).max 16# 2バイトのデータに変換 17data_scale_adjust=data_scale_adjust.astype(np.int16) 18wave_out=wave.open("./sound_01.wav", 'w') 19wave_out.setnchannels(1) 20wave_out.setsampwidth(2) 21wave_out.setframerate(fs) 22wave_out.writeframes(data_scale_adjust) 23wave_out.close()
試したこと
NameErrorなので変数を設定する必要がある気がするのですが、書き換える方法がわからない
補足情報(FW/ツールのバージョンなど)
Pythonを始めたばかりで初歩的な内容になるのですが解決策を教えて下さると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/07 06:22
2021/07/07 06:28
2021/07/07 08:15
2021/07/07 09:21
2021/07/11 17:55