2020年6月4日木曜日
Python3 でWavファイルを書き出す
Numpy で作った Wavファイル を書き出す。
今後はこの信号データを使用してIQ変調復調を行う予定
import numpy as np
from matplotlib import pylab as plt
import wave
import struct
fs = 44100 # サンプリング周波数:44.1kHz
f = 441 # 音:441Hz
time = 5 # 録音時間:5秒間
samples = time * fs # 配列数
quantization = 65536/2 # 量子化ビット数 2byte
#振幅データ配列の作成
sig = np.linspace(0,time,samples)
sound = quantization * np.sin(2 * np.pi * f * sig)
#plt.title("441 Hz Amp data")
#plt.plot(sound[0:100]) #一波長分を表示
#plt.show()
#Wave File作成
wav_file = sound.astype(np.int16)
bin_data = struct.pack("h" * len(wav_file), *wav_file)
#Wave ファイル書き込み
filename = "441hz.wav"
wav_file = wave.open(filename, 'w')
wav_file.setnchannels(1)
wav_file.setsampwidth(2)
wav_file.setframerate(fs)
wav_file.writeframes(bin_data)
wav_file.close()
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿