sin波を作る
sin.py
import wave
import numpy as np
from matplotlib import pylab as plt
import struct
a = 1 #振幅
fs = 44100 #サンプリング周波数
f0 = 440 #周波数(ラの音にあたります)
sec = 5 #秒
voice=[]
#サイン波を生成
for n in np.arange(fs * sec):
s = a * np.sin(2.0 * np.pi * f0 * n / fs)
voice.append(s)
#tは時間方向での離散値.voiceの長さをサンプルレートで切っているので,サンプル数分の配列になってます.
t = np.arange(0, len(voice))/fs
#サイン波を表示
plt.plot(t,voice)
plt.xlim([0,0.01])#範囲指定0秒〜0.01秒
plt.show()
実行は以下のコマンドで行います.
$ python sin.py
出力結果
440Hzは 1秒間に440回振動しているという意味なので,
0.01秒間に4.4回振動しますね.
さて,周波数を変えるとどんな関数になるでしょう?
Author And Source
この問題について(sin波を作る), 我々は、より多くの情報をここで見つけました https://qiita.com/genco2015/items/a0dc86d64d90d16f9f2e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .