実現したいこと
csvファイルからwavファイルを書き出す。
前提
macのターミナルを用いて、デスクトップにあるcsvファイルに書かれている値を周波数とする0.3秒刻みの連続した音源を出力したいのですが、出力されたwavファイルに音が入りません。
発生している問題・エラーメッセージ
エラーメッセージ自体は表示されないのですが、再生しても音が出ません。
該当のソースコード
python
1import numpy as np 2from scipy.io.wavfile import write 3import pandas as pd 4from pydub import AudioSegment 5 6# CSVファイルのパス7csv_path = '/Users/ユーザー名/Desktop/ファイル名.csv'8 9# CSVファイルを読み込む10data = pd.read_csv(csv_path)11 12# 値の列を抽出13values = data['列名'].values 14 15# サンプリングレートと時間の設定16sample_rate = 44100 # サンプリングレート (Hz)17duration = 0.3 # 各音の長さ (秒)18 19# 音声生成20audio = AudioSegment.empty()21for value in values:22 frequency = float(value)23 t = np.linspace(0, duration, int(duration * sample_rate), endpoint=False)24 waveform = np.sin(2 * np.pi * frequency * t)25 audio += AudioSegment(26 waveform.astype(np.int16).tobytes(), sample_width=2, channels=1, frame_rate=sample_rate 27 )28 29# 出力ファイル名30output_path = '/Users/ユーザー名/Desktop/output.wav'31 32# 音声ファイルの書き出し33audio.export(output_path, format='wav')
python /Users/ユーザー名/Desktop/ファイル名.py
試したこと
Audacityで波形を見てみましたが何も記録されていなかったので再生機器側の問題ではなさそうです。
補足情報(FW/ツールのバージョンなど)
MacBook Pro
Apple M2 Pro
macOS Ventura 13.5.2
Python 3.10.4

0 コメント