PWM

PWMはPulse Width Modulation パルス幅変調の略で、パルスの幅で情報を送る手段です。下図で、VHとx+yを一定にしパルスの幅xを変化させます。 例えば、LEDを高速にスイッチングさせてこのようにパルス幅を変化させるとLEDの印加電圧を変えずに明るさを変化させることができます。その強さは積分された平均値VAVとなります。VL=0とすると、x+y、VHは定数なので、VAVはxに比例することが分かります。
このような考え方で、正弦波の一周期を12分割してPWMを構成したのが下図になります。

波形の振幅を変える

正弦波はPWMで作ることができました。しかし、振幅は一定なので物足りません。ここで、正弦波を二つ用い、片方の位相をずらして加算することを考えます。これを計算したグラフが以下のようになります。

φ=90°

φ=120°

φ=150°

φ=160°

φ=170°

φ=180°
 120度の時に同じ大きさで、だんだんと小さくなり、180度でゼロになることが分かります。
 このようにすると、振幅のコントロールも可能になります。

楽器らしい音にする

 一般的に音は、波形だけではなくそのエンベロープが重要です。太鼓などはバチが当たってから音は長続きしません。また、オルガンは鍵盤を押していれば鳴りっぱなしです。このように楽器によって、音の時間的変化が重要です。通常以下のように分類されています。

  1. Attack time: 音が始まってから最大振幅になるまでの時間
  2. Decay time: 最大振幅からSustain levelまでになるまでの時間
  3. Sustain time: 同じ振幅が続く時間
  4. Release time: Sustainが終了し音が消えるまでの時間
ここでは、主に打楽器に関係するdecay timeのみを考えることにします。基本的には単純に減衰するようにします。