0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MIDI信号

Posted at

🎹【1. MIDI信号の構造】(MIDI Note Number → Frequency)

MIDIでは、各音高に対応する**ノート番号(Note Number)**が0〜127で定義されています。
たとえばA4(ラ音)はMIDIノート番号69で、周波数440Hzです。

🔢 MIDIノート番号から周波数への変換式:

f = 440 × 2^((n - 69) / 12)
  • f:周波数(Hz)
  • n:MIDIノート番号
  • 69:基準(A4 = 440Hz)
  • 12:1オクターブあたりの半音数

🎛【2. 波形合成の基本式】

シンセサイザでは、時間に応じて変化する波形関数 y(t) を生成します。
音色は波形の形状で決まり、以下のような代表的波形があります:

正弦波(Sine Wave)

y(t) = A × sin(2πft)
  • A:振幅(音量)
  • f:周波数(音の高さ)
  • t:時間(秒)

→ 最も純粋な音。倍音を含まず、クラリネットなどに近い。


矩形波(Square Wave)

y(t) = A × sgn(sin(2πft))
  • sgn(x):符号関数(正→+1、負→−1)

→ 偶数次倍音を含まない。クラシックなゲーム音やリード系に多い。


鋸波/ノコギリ波(Sawtooth Wave)

y(t) = 2A × (t/T - floor(t/T + 0.5))
  • T:周期(T = 1/f)
  • floor():切り捨て関数

→ すべての倍音を含み、ストリングスやシンセブラスに使用。


三角波(Triangle Wave)

y(t) = (2A/π) × arcsin(sin(2πft))

→ 倍音は奇数次のみ、音色は柔らかい。


🧠 応用:FM合成の例(Frequency Modulation)

y(t) = A × sin(2πf_ct + I × sin(2πf_mt))
  • f_c:キャリア周波数(基本音)
  • f_m:変調周波数(モジュレーター)
  • I:変調指数(倍音の強さ)

→ 複雑な音色(エレピ、金属音)を作る。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?