0
データ収集センターに500Hzの周波数で記録されたデータのCSVファイルがあり、これをwav形式に変換しようとしています。私はPythonにトライを持っていて、数値を(wave
パッケージに16ビット整数として)送り、それはうまくいかなかった。単純に数字のストリームからwavファイルを作成するにはどうすればよいですか?500Hz csvデータファイルをwavオーディオファイルに変換するには?
私はをドキュメントhereに従って32ビット浮動小数点形式を使用するようにfloat32に設定しましたが、それはサウンドを生成していません。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
import scipy.io.wavfile
from numpy import *
csv_array = np.loadtxt('trimmed.csv', delimiter=',', dtype=float32)
min = np.amin(csv_array)
max = np.amax(csv_array)
med = (max + min)/2
def f(x):
return (x - med) * (1 - (-1))/(max - min)
f = np.vectorize(f)
wav_array = f(csv_array)
scipy.io.wavfile.write('output.wav', 500, csv_array)
私はあなたのやり方を試してみました。基本的に空白だったのですが、全く音が出ませんでした。私はコードを質問の更新版として投稿しました。 – TPWang
私の編集を参照してください。問題はサンプリングレートにあるようです。 – Jakub
あなたの編集は無作為に生成されたサウンドを作成するためのものですが、私のデータはデータ取得デバイスからのものですが、それを試してみます。 – TPWang