goo blog サービス終了のお知らせ 

CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

PythonでB♭の音を鳴らすプログラム

2023-03-25 14:30:57 | python

import numpy as np
from scipy.io import wavfile

frequency = 471.0  # 生成するサイン波の周波数
seconds = 10.0      # 生成する音の秒数
rate = 47100       # 出力する wav ファイルのサンプリング周波数

phases = np.cumsum(2.0 * np.pi * frequency / rate * np.ones(int(rate * seconds)))
# 波形を生成
wave = np.sin(phases)  # -1.0 〜 1.0 の値のサイン波
# import scipy.signal して、
# wave = scipy.signal.sawtooth(phases) とすると鋸歯状波、
# wave = scipy.signal.square(phases) とすると矩形波になる

# 16bit の wav ファイルに書き出す
wave = (wave * float(2 ** 15 - 1)).astype(np.int16)  # 値域を 16bit にする
wavfile.write("sine.wav", rate, wave)

ちなみに

frequency = 441.0  
rate = 44100    にするとAの音になる。

frequency = 396.0  
rate = 39600  ならG

frequency = 417.0  
rate = 41700  ならG♯

frequency = 369.0  
rate = 36900  ならF♯

frequency = 349.3  
rate = 34930  ならF

 



最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。