Python(NumpyとPyTorch)におけるホワイトノイズの生成方法について紹介します。
Numpyによるホワイトノイズの生成
ホワイトノイズはランダムな時系列信号を生成すれば良いので、np.random.rand
を使用します。
ここでは、サンプリング周波数が44.1kHz、振幅の範囲が -1〜1、長さが3秒のホワイトノイズを作成します。
import numpy as np
import matplotlib.pyplot as plt
A = 1.0 # 振幅
sec = 3.0 # 信号の長さ s
sf = 44100 # サンプリング周波数 Hz
x = 2*A*(np.random.rand(round(sf*sec))-0.5) # ホワイトノイズの生成f
plt.plot(x)
PyTorchによるホワイトノイズの生成
PyTorchでは、torch.rand
関数を使用して、ホワイトノイズを生成できます。使い方は、NumPyのnp.random.rand
と同様です。
import torch
x = 2*A*(torch.rand(round(sf*sec))-0.5) # ホワイトノイズの生成
plt.plot(x); # 波形の表示
コメント