![見出し画像](https://assets.st-note.com/production/uploads/images/36747822/rectangle_large_type_2_1a346e53a3ec54eb0bc97962f7fed647.png?width=1200)
シンセサイザーで音楽を演奏するプログラミング
コンピュータで音楽を演奏するプログラムを書く方法は大きく分けて二つあります。音符レベルで出す音を決めてソフト音源やシンセサイザーを鳴らす方法と、音の波形を合成して鳴らす方法です。
音符を扱う場合、一小節に扱うデータは、数個から多くて数十個になります。パソコンにつないだシンセサイザーなどに音符情報を送るためには、MIDI規格という方式を使います。逆に、シンセサイザーで演奏した情報をPCに取り組むのも同じです。MIDIは、パソコンを介さなくても電子楽器同士をつないだり、シーケンサーやサンプラーなどとも情報をやり取りできる素晴らしい規格です。この規格は日本で策定されました。とても誇りに思います。
MIDI規格には128個の音の高さを扱うことができます。ピアノは88鍵ですから、普通の音楽では十分です。ひとつの音を出すとき、音の高さと音を出し始めますよという情報(note on)を出し、そのあと終わる情報(note off)を出してその音を消します。それぞれのタイミングをパソコンでコントロールすることで、音楽を演奏することができます。また、音を出すときに強さの情報(velocity)を添えることもできます。強さなのに速さ(velocity)?と思われるかもしれませんが、たとえばピアノの鍵盤を打鍵するとき、速さで音量が決まるからかもしれません。
この他、ギターのチョーキングや1/4音を扱う民族音楽など、128段階の音の高さでは足らない場合のために、音の高さを微妙に調整できるピッチベンド、ピアノのダンパーペダルなどいろんな情報を送ることもできます。
また、リバーブやディレイなどの音にエフェクトをかける機械に情報を送って制御できますし、ミキサーに送ってスピーカーのバランスを調整することもできます。バーチャルリアリティーの実験で音を担当したとき、部屋の8つの隅にスピーカーをおいて、映像で飛び交う物体の3次元座標からスピーカーのバランスを計算し、さらに物体の移動速度(近づいているか遠ざかっているか)から、音の高さを調整してドップラー効果を演出しました。ヘリコプターや車、ミサイルなどにとても効果的でした。というより、ドップラー効果がないと、まったくリアリティーが感じられませんでした。そのころ、音の波形の位相を使って難しい計算をして、2つくらいの少ない数のスピーカ-で、音が聞こえてくる方向(定位といいます)を表現する研究が盛んでしたが、MIDIを使えば圧倒的に計算量が少なくて済み、手っ取り早い方法でした。
この記事が気に入ったらサポートをしてみませんか?