スポンサーリンク

【PyTorch】Pythonでホワイトノイズを生成【Numpy】

Numpy

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); # 波形の表示
時間波形

関連記事、関連資料

コメント