この章は、MSXマガジン1990年7月号から1990年10月号までの"MSX2+テクニカル探検隊"の記事を再編集したものである。 5.1 FM音源ってどんなもの  MSX-MUSICという名称で仕様が定なったFM音源。ゲームの効果音を迫力あるものにしてくれるのは知っているけど、どんな仕組みになっているのか?このページではその謎に迫ってみる。 5.1.1 FM音源へと至る電子音楽の歴史  FM音源を解説するまえに、電子楽器の歴史を振り返ってみよう。  ボグ・ムーグ博士は、電圧で音階を制御できる発振器と、電圧で音楽を制御できるフィルターを組み合わせて、"ムーグ式シンセサイザー"という楽器を作った。1968年にはこれを使用した最初のレコードが発表され、1970年代になると多くの音楽家がシンセサイザーを使うようになった。ただこのシンセサイザーは、最近主流となっている"デジタルシンセサイザー"とは違っていて、トランジスタなどのアナログ回路の組み合わせでつくられたもの。デジタルに対して"アナログシンセサイザー"とも呼ばれている。  でも、このアナログシンセサイザーには、いくつかの欠点があった。それが、温度変化に弱い、高価でもある、雑音が入りやすい、ということ。筆者も1970年代に秋葉原でICを買って、シンセサイザーを自作したけれど、調整が難しかったことが印象に残っている。  さて、そんな欠点を克服するために開発されたのが、デジタル回路による電子楽器。もっとも単純なデジタル音源は、"プログラマブル・サウンド・ジェネレーター"、略して"PSG"だ。これは、4個程度のデジタル発振器の出力を、デジタル・アナログ(D/A)コンバーターで、オーディオ信号に変えて出力するLSI。価格が安く、使いやすいこともあって、MSXなどの多くのパソコンに組み込まれている。  PSGよりも複雑な音を作る方法のひとつに、"サンプリング音源"がある。これは、ほかの音楽の音をマイクで受け取って、A/D(アナログ・デジタル)コンバーターでデジタル信号に変え、メモリーに記憶し、D/Aコンバーターでアナログ回路に戻して再生するもの。これを応用した楽器が、"サンプリングシンセサイザー"というわけだ。音を作る自由度は高いけど、大量のメモリーを必要とするなど、ハードウェアが高価になることが欠点といえる。  さて、PSGの安さと、サンプリング音源の自在さをあわせ持った音源として注目されるのが、FM音源だ。FMとは、FM放送やモデムのFM信号と同じ、"周波数変調"という意味。図5.1のように、1個のデジタル発振器の出力が、もう1個のデジタル発振器の周波数を変調して、PSGよりも複雑な音を作り出す。1個のデジタル発振器を"オペレーター"ともいい、図5.1のように2個の発振器を含むFM音源を、"2オペレーター式FM音源"という。ちなみに"MSX-MUSIC"は、正式名称を"OPLL YM2413"といい、9個の2オペレーター式FM音源を内蔵するLSIだ。 5.1.2 楽器の音を分析してみよう。  音を"見る"ためには、音の信号の電圧を"オシロスコープ"の画面で見ればいい。さらに、スペクトラム・アナライザー(俗にスペアナと略されるもの)"という装置で音を周波数成分に分解すると、音の特長が分かる。図5.2の左側は、オシロスコープで見た楽器音の波形の特徴を誇張した図で、右側がスペクトラム・アナライザーで測った周波数の成分だ。  もっとも基本的な音は、波形が三角関数のsinで表わされる"正弦波"と呼ばれるもの。これはひとつの周波数の音のみをふくむ。次は波形が四角い"矩形(くけい)波"で、440Hz、1320Hz、2200Hz……のように、基本周波数とその奇数倍の周波数を含むものだ。実際の楽器では、クラリネットの音がこの矩形波に近い。次に基本的なのは"のこぎり波"。これは、基本周波数とその倍率の周波数の音を含んでいて、弦楽器の音の性質に似たものだ。アナログシンセサイザーは、のこぎり波を加工して、実際の楽器に似た音を作っている。さて、打楽器、とくにスネアドラムの音は、ほかの楽器とは大きく違っていている。規則性がなく、どちらかといえば"ノイズ(雑音)"に近いものだ。スペクトラム・アナライザーで見ると、広い範囲の周波数の音を含んでいる。  ティンパニーの音は、弦楽器と打楽器の中間の性質で、基本周波数とその近くの周波数の音を含んだもの。"音階ノイズ"とも呼ばれている。また、この音階ノイズを加工することで、風、波、口笛などの音も合成できる。体育の授業などで先生が吹く笛や、素人が吹く管楽器の音も、音階ノイズだ。  これらの楽器の音、つまり図5.2のような波形の代わりに、FM音源は変調によって正弦波を日図図ませて、基本周波数とその倍率の周波数を含む複雑な波形を作り出す。これは難解な技術で、試行錯誤で数値を調整して楽器の音を真似るしかない。そこで、FM音源にはいくつかの楽器音を合成するためのプログラムが内蔵され、これらの音から選んで使うことが、一般的になっている。  さて、音を特徴づける要素としては、基本となる波形のほかに、音の強弱の変化も挙げられる。この"強弱"は、基本の波形を"包む"という意味で、"エンベロープ"と呼ばれるものだ。  たとえば、ギターや打楽器を鳴らすと、その瞬間に強い音が出て、あとは少しずつ音が弱まっていく。ピアノのキーを押すと、はじめは大きな音が出て、それが少しずつ弱まり、キーを押している間はそのままほぼ一定の大きさの音が続く。そしてキーをはなすと、音が弱くなっていく。また一般の間弦楽器では、音の立ち上がりの速さで、音が止まるといった具合だ(図5.3参照)。  これに対して、アナログシンセサイザーとFM音源では、立ち上がりの速さ(A:アタック)、その直後の減衰(D:ディケイ)、持続の強さ(S:サスティン)、消える速さ(R:リリース)を調整して、エンベロープを合成する。そのための装置が、"ADSR"と呼ばれるものだ。  かつてピンフロイドというロックグループは、"吹けよ風、呼べよ嵐"という曲の中で、シンバルの音を録音したテープを逆に回すことで、少しずつ大きくなって急に止まる効果音を作り出した。でもシンセサイザーを使えば、アタックを遅く、ディケイを速く、サスティンを0にするだけで、このような音を合成できる。また、エンベロープの合成は、FM音源の波形の合成よりも簡単なので、自分でADSRを変調して交換を作り出すのも、おもしろいだろう。 5.1.3 音程が平均律とは限らない  突然だけど、ここでちょっとクラシック音楽の話をする。まずは、音階と周波数の対応関係から整理するると、表5.2のようになる。  さて、この完全平均律ができる以前には、周波数の比が有理数になっているような音律が使われていた。これは平均律と異なり、半音の周波数比が場所によって違うもの。たとえばCとC#の比と、BとCの比が違うという特徴があるわけだ。平均律よりも規則が複雑なこともあって、表5.3のような各種の音律が設定されている。ただ平均律以外の音律では、和音の響きは美しいけど、曲の移調が難しいという問題があるんだ。  バイオリンのように、連続して周波数を変えられる楽器では、どのような音律にも対応できる。でも、ピアノの音律を変えるには、全部の弦をチューニングし直す必要があり、実用的には音律を変えられない。ところがMSXに搭載されたFM音源では、表5.3のように音律を選ぶことができる。これにより、純正律のギターのような、簡単には実現できない楽器の音も作れるわけだ。この特徴を利用し、FM音源のレジスターを操作して音律を微調整すれば、雅楽や琉球音楽なども、精密に演奏することができるかもしれない。  なお、FM音源の周波数は音律が問題になるほど正確だけど、PSGの周波数はそれほどでもない。だから、PSGを楽器の調律や発声練習の基準に使うのは危険だ。とはいっても、筆者は音感がニブイので、音律の違いがよくわからない。FM音源を使いこなすには、数学、電気、音楽理論の知識に加え、正確な音感とセンスが必要になるけど、そんな人はめったにいない。ゲーム音楽を作るにも、作曲家と音色デザイナーとプログラマーが組んで働くように、役割分担が必要だろう。 5.1.4 MSX-MUSICを分析してみる  MSX-MUSICには、あらかじめ63種類の音色が用意されている。このうちの15種類はFM音源のLSIに内蔵された音色で、残りの48種類はROMに記録された音色だ。ROMに記録された音色のデータは、  CALL VOICE COPY という命令で呼び出すことができる。リスト5.1に掲載したが、このデータを表示するためのプログラムだ。なお、FM音源に内蔵された音色番号を指定するとエラーが起き、リスト5.1のプログラムの場合は、  Voice No. * has no data. といったメッセージが表示されるようになっている。