ゲーム音楽とMIDI その1

昔のゲームは、録音した音声ファイルを再生していたわけではありません。スペースインベーダーの専用音響回路から、波形メモリ音源、PSG、FM音源、拡張音源まで、ゲームが「その場で音を作っていた」時代をたどります。

Share
ゲーム音楽とMIDI その1

ゲームの音はどう作られていた?

― 専用回路・PSG・FM音源の時代

ゲーム音源の歴史シリーズ

  1. ゲームの音はどう作られていた? ― 専用回路・PSG・FM音源の時代 ← 今ここ
  2. MIDIとは何だったのか? ― ゲーム音楽と演奏データの革命(執筆中)
  3. MIDIはなぜゲームから消えた? ― PCM・ストリーミングと現代ゲームサウンド(執筆中)

昔のゲームの音を「8bitのピコピコ音」と呼ぶことがあります。感覚的にはよく分かる表現なのですが、技術の説明としては少し注意が必要です。

当時のゲーム機が8bit CPUを使っていたことと、音声が8bitで記録されていたことは、同じ意味ではありません。そもそも初期のゲームでは、現在のWAVやMP3のような録音済みの音声データを再生していない場合が多かったからです。

では、音声ファイルがないのに、どうやって発射音や爆発音を鳴らし、音楽を演奏していたのでしょう?

この全3回のシリーズでは、ゲームが音を作る方法の変化を、次の順番でたどります。とはいえ、僕がいろんな手段でいろいろなところから集めてきたデータをまとめた研究・調査結果です。すべて正しそうに書いてはいますが、あくまで個人の調査です。

専用音響回路 → 波形メモリ音源 → PSG → FM音源 → MIDI・シーケンス → PCM → ストリーミング → 現代のインタラクティブオーディオ

第1回では、MIDIがゲームに広がる前の時代を見ていきます。主役は、電子回路、PSG、そしてFM音源です。


まずはゲーム音源の歴史を一望してみよう

gamemusic
図 ゲーム音楽史


上の年表では、ゲームの音に関係する代表的な出来事を1978年から1988年まで並べました。ここで大切なのは、古い方式が消えて新しい方式へ一斉に入れ替わったわけではない、という点です。

専用回路、PSG、波形メモリ、FM、PCMは、しばらく並行して使われました。現在でも、表現したい音や機器の制約に応じて、これらの考え方は使われています。

代表例 分野 音を作る方法 PCM・サンプリング
1978 スペースインベーダー アーケード ゲーム専用の
音響回路
録音PCMではないため
該当なし
1979 ギャラクシアン アーケード ゲーム専用の
音響回路
該当なし
1980 Pac-Man アーケード 3音の
波形メモリ方式
波形表は4bit
録音PCMの量子化bit数とは
意味が異なる
1981 カセットビジョン 家庭用 カートリッジ側の
専用LSIを中心とした構成
該当なし
1982 DIG DUG アーケード 3音の
波形メモリ方式
Pac-Man系と同様
1982 ぴゅう太 ホーム
コンピュータ
SN76489系
矩形波3音+ノイズ
該当なし
1983 SG-1000 家庭用 PSG 3音+
ノイズ1音
該当なし
1983 DX7/
MIDI 1.0
電子楽器 FM音源/
演奏情報を交換する規格
MIDIは
音声データではない
1985 セガ・マークIII 家庭用 PSG
のちに外付けFM音源へ対応
該当なし
1986 ディスクシステム 家庭用 波形メモリ音源+
変調機能
6bit値を64個並べた波形表
録音PCMとは別物
1986 OutRun アーケード FM音源+PCM FMと録音サンプルを併用
1987 マスターシステム
(日本版)
家庭用 PSG+
内蔵FM音源
FM部分は該当なし
1988 メガドライブ 家庭用 FM+PSG+
PCM再生機能
複数方式を併用

表の「該当なし」は、性能が低いという意味ではありません。PSGやFM音源は、録音波形を一定のサンプリング周波数と量子化bit数で保存して再生する方式ではないため、同じ物差しで比べられないという意味です。


スペースインベーダーは、音の回路を鳴らしていた

1978年の『スペースインベーダー』には、敵が近づくにつれて速くなる低い音、発射音、爆発音、UFOの音など、印象に残る効果音があります。

現代の感覚では、ROMの中に「shot.wav」や「explosion.wav」のような音声ファイルが入っていて、必要なときに再生しているように思えるかもしれません。しかし、実際の基板では、CPUからの信号によってそれぞれの効果音を作る専用の電子回路を動かしていました。

図 専用回路による発音

CPUが行うのは、「今、発射音を鳴らす」「爆発音を鳴らす」といったきっかけを送ることです。実際の波形は、発振器、ノイズ回路、フィルターなどを組み合わせた音響回路が作ります。

つまり、音を録音しておく代わりに、音が必要になるたびに回路で合成していたわけです。MAMEのスペースインベーダー用実装でも、当時の基板を再現するために、こうした回路を構成する部品や接続をモデル化しています。

翌1979年の『ギャラクシアン』も、専用の回路を組み合わせて音を作る時代のゲームです。ゲームごとに個性的な音を作れる一方、別のゲームを作るたびに音響回路の設計も必要になります。

この頃は、まだ「どんなゲームにも使える汎用の楽器」のようなゲーム音源が確立していませんでした。すべてがフルスクラッチ・専用開発・一品ものでした。


Pac-Manは「短い波形」を楽器として使った

1980年の『Pac-Man』では、音作りの考え方が一歩進みます。

基板上には、音の形を表す小さな数値表が用意されていました。その短い波形を繰り返し読み出し、読み出す速さを変えることで音程を作ります。さらに音量と鳴らすタイミングを変えれば、同じ波形からメロディーを演奏できます。

考え方を単純化すると、次の組み合わせです。少しソフトウェア的になってきましたね。

波形 + 音程 + 音量 + 鳴らすタイミング

『Pac-Man』と『DIG DUG』で使われたナムコの方式は、MAMEのNamco WSG技術資料では、PROMに波形を持つ3音のWaveform Sound Generator(WSG)として整理されています。波形表の各値は4bitですが、これは「4bitで録音したBGMを流している」という意味ではありません。ごく短い一周期分の形を、音色の材料として使っているのです。

専用回路の時代が「この回路は爆発音を作る」という設計だったとすれば、波形メモリ方式は「この音色を、この高さと音量で鳴らす」という、楽器に近い仕組みです。

ゲームのプログラム側には、音程や長さを並べた演奏データを持たせられます。効果音のための回路から、少ないデータで曲を演奏できる音源へと進んできました。


家庭用ゲーム機では、価格も大きな制約だった

アーケード基板は、一つのゲームを動かすための専用ハードウェアです。一方、家庭用ゲーム機では、本体価格を抑えながら複数のゲームを動かさなければなりません。

1981年発売のカセットビジョンは、後世のゲーム機とは少し違う構成でした。本体側にCPUとゲームROMをまとめて置くのではなく、ゲームを動かすための1チップLSIをカートリッジ側に持たせ、本体側は電源、コントローラー、映像・音声の出力などを受け持つ構成でした。

当時エポック社でハードウェア設計に関わった堀江正幸氏は、CLASSIC VIDEOGAME STATION ODYSSEYのインタビューで、当時のテレビゲーム用LSIは1チップ化されており、CPUとROMを分離して外部ROMを接続する方式は、技術面でもコスト面でも難しかったと説明しています。Centre for Computing Historyの収蔵資料でも、カセットビジョンはCPUをカートリッジ側に持ち、本体が電源・操作系・映像/音声出力を受け持つ独特な構成だったことが紹介されています。

その後の家庭用ゲーム機やホームコンピュータでは、CPUとは別に、複数のゲームから共通して使える音源ICを載せる構成が広がります。1982年の『ぴゅう太』や1983年の『SG-1000』は、その代表例です。

セガの公式資料では、SG-1000のサウンドは「PSG音源3音+ノイズ1音」と記載されています。使われたSN76489系の音源は、3系統のトーンと1系統のノイズを持ち、それぞれの周波数と音量をプログラムから設定できます。

図 PSG音源の仕組み

ゲームごとに音響回路を作り直さなくても、プログラムが音源ICへ数値を書き込めば、音楽や効果音を鳴らせるようになりました。


PSGとは何か

PSGは、Programmable Sound Generatorの略です。名前のとおり、プログラムから制御できる音の発生装置を指します。

ただし、「PSG」という言葉の範囲には少し揺れがあります。狭い意味ではGeneral Instrument社のAY-3-8910とその互換系を指し、広い意味ではSN76489のような、単純な波形とノイズをプログラムで鳴らす音源も含めて呼ばれます。この記事では、当時のメーカー資料での呼び方に合わせ、広い意味で使います。

SG-1000のようなPSGで中心になるのは、次の要素です。

  • 矩形波:電圧の高い状態と低い状態が、四角く切り替わる波形
  • ノイズ:爆発、風、打楽器などの材料になる不規則な信号
  • 周波数:音の高さを決める値
  • 音量:各音をどれだけ大きく鳴らすか
  • チャンネル:同時に扱える音の系統

矩形波は構造が単純で、少ない回路で安定して作れます。その代わり、そのまま鳴らすと音色はよく似ます。そこで作曲者やサウンドプログラマーは、高速で音程を切り替えて和音に聞かせたり、音量を細かく変えて余韻を作ったり、ノイズを打楽器として使ったりしました。

「3音しか出せない」ことは単なる弱点ではありません。その制約の中で、ベース、メロディー、伴奏、効果音をどう分けるかが、ゲーム音楽の作り方そのものになったのです。


FM音源は、波を使って別の波を変化させる

PSGより複雑な音色を作る方法として、1980年代に大きな存在感を持ったのがFM音源です。

FM音源では、波形を作る一つ一つの発振器をオペレータと呼びます。単純化すると、一つのオペレータが作る波を、別のオペレータで高速に変化させます。

図 PSGとFM音源の違い
  • キャリア:最終的に音として聞こえる側の波
  • モジュレータ:キャリアの周波数を変化させる側の波
  • 変調の深さ:どれくらい強く変化させるか
  • 周波数比:二つのオペレータをどんな音程関係にするか

これらを変えると、ベルのような金属音、エレクトリックピアノのような音、ベース、ブラス、打楽器的な音まで作れます。さらに複数のオペレータをどの順番で接続するかによって、音色は大きく変わります。

FM音源も、完成した音声ファイルを保存して再生する方式ではありません。音色を決めるパラメータと演奏情報をもとに、音をその場で計算して作ります。

ヤマハのFM音源史によると、同社は1981年に最初のFM音源製品を発売し、1983年のDX7でFM音源を広く普及させました。その後、FM音源ICはアーケード基板、パソコン、家庭用ゲーム機でも使われるようになります。


セガのゲーム機で音源の変化を追ってみよう

セガの家庭用ゲーム機を縦に並べると、PSGからFM音源へ進み、さらに複数方式を組み合わせていく流れが見えやすくなります。

図 セガの家庭用ゲーム機と音源の変遷

SG-1000:PSG 3音+ノイズ1音

1983年のSG-1000は、3つのトーンと1つのノイズを使うPSGを搭載していました。CPUが周波数や音量を音源へ指定し、音源が波形を作ります。

セガ・マークIII:標準はPSG、周辺機器でFMを追加

1985年のセガ・マークIIIも、標準音源はPSG 3音+ノイズ1音です。のちにFMサウンドユニットが発売され、対応ソフトでは標準PSGにFM音源9音を加えて使えるようになりました。

マスターシステム:日本版はFM音源を本体へ内蔵

1987年に日本で発売されたマスターシステムは、マークIIIにFMサウンドユニットなどの機能を組み込んだ構成でした。外付けだったFM音源が、本体の標準機能になったわけです。

メガドライブ:FMとPSGを一緒に使う

1988年のメガドライブは、FM音源とPSGを搭載し、PCMの再生にも対応しました。新しい方式が古い方式を単純に捨てたのではなく、音色の得意分野に応じて一緒に使っています。

アーケードでは、家庭用より早い段階でFMとPCMの併用が進んでいました。たとえば1986年の『OutRun』の基板では、YM2151によるFM音源と、セガのPCM機能が組み合わされています。FMで音色を合成しながら、録音した短い音も使える構成です。

ここからも、ゲーム音源の歴史が一直線の「置き換え」ではなく、使える音の道具を増やしていく歴史だったことが分かります。


任天堂は波形メモリとカートリッジで音を拡張した

同じ時代、任天堂のファミリーコンピュータでも音の拡張が行われました。ただし、セガと同じFM音源へ進んだわけではありません。

1986年のディスクシステムには、ファミコン本体の音源に加え、自由に設定した短い波形を繰り返して鳴らす波形メモリ音源が追加されています。さらに、音程を周期的に揺らす変調機能も持っていました。NESdevの技術資料では、64個の6bit値で波形を作るチャンネルとして整理されています。

図 ファミコンの音源拡張

ディスクシステムの追加音源を「FM音源」と説明している文章を見かけることがありますが、仕組みは異なります。正確には、波形メモリ音源+変調機能です。(僕もディスクシステムでFM音源が拡張されたって思ってました😰)

また、一部のファミコン用カートリッジには、カートリッジそのものに追加音源が搭載されました。

拡張音源 追加される主な音源機能 実際の使用例
VRC6 矩形波2音+のこぎり波1音 『悪魔城伝説』
『魍魎戦記MADARA』
『エスパードリーム2 新たなる戦い』
VRC7 2オペレータFM音源・6音 『ラグランジュポイント』
Namco 163 最大8音の波形メモリ音源 『女神転生II』
『キングオブキングス』
『えりかとさとるの夢冒険』
『ローリングサンダー』
『ファイナルラップ』など
Sunsoft 5B 矩形波3音+ノイズ・エンベロープ機能 『ギミック!』
MMC5 矩形波2音+PCM系の出力機能 『ジャストブリード』
『メタルスレイダーグローリー』
『新4人打ちマージャン 役満天国』など
💡
※ KONAMIのVRCシリーズすべてが拡張音源を持つわけではありません。
『がんばれゴエモン!からくり道中』などで使われたVRC1や、VRC2・VRC4は主にROMのバンク切り替えなどを行うチップで、追加音源は持っていません。音源機能を持つVRC6・VRC7とは区別する必要があります。
💡
※ Sunsoft 5B自体はノイズ・エンベロープ機能を持ちますが、『ギミック!』では主に矩形波3音が使用されています。

VRC7は少し特殊です。VRC7を搭載したカートリッジがすべてFM音源を使ったわけではなく、市販ファミコンソフトでVRC7のFM音源をゲーム音楽に使用した代表例は『ラグランジュポイント』です。このように、「拡張チップを搭載していること」と「その音源機能を実際に使用していること」は分けて考える必要があります。

すべてのゲームが追加音源を使ったわけではありません。対応する一部のソフトだけが、本体の音源とカートリッジ側の音源を混ぜて鳴らしました。

そのため、同じファミコンでも、挿すソフトによって使える音源が違うことがありました。ゲームソフトが音のハードウェアまで拡張する、面白い設計です。

セガはFM音源で複雑な音色を合成し、任天堂は波形メモリやカートリッジ側の追加回路で音色を広げました。優劣というより、コスト、互換性、発売時期、ゲームの狙いに応じて、異なる方法を選んだと見るのがよいでしょう。


「何を鳴らすか」と「実際に音を作る装置」が分かれていった

ここまでの流れを、もう一度整理します。

初期の専用音響回路では、CPUが「発射音の回路を動かせ」と合図し、専用回路がその音を作りました。

PSGでは、CPUが「この周波数、この音量で鳴らせ」と数値を送り、PSGが矩形波やノイズを作りました。

FM音源では、CPUやサウンド用プロセッサが「この音色設定で、この音程を鳴らせ」と指示し、FM音源が複雑な波形を合成しました。

つまり1980年代には、次の二つがはっきり分かれてきます。

何を、いつ、どのように鳴らすかを決めるデータ
その指示を受けて、実際の音を作る装置

これは、次回扱うMIDIを理解するための大切な準備になります。

ただし、ここで紹介したゲーム機の制御データを、そのままMIDIと呼ぶことはできません。各機種・各音源のレジスタへ書き込む独自の命令や、ゲーム独自のシーケンスデータです。

一方、電子楽器の世界では、メーカーの違う機器どうしで「どの音を、いつ鳴らすか」をやり取りする必要が高まっていました。そして1983年、演奏情報を交換するための共通規格としてMIDI 1.0が登場します。MIDI Associationの歴史資料には、1983年1月の公開デモと、同年のMIDI 1.0成立までの経緯がまとめられています。

MIDIは音源でも、録音された音声でもありません。では、何を記録し、なぜゲームに向いていたのでしょうか。

次回は、ゲーム音楽の歴史の中央にあるMIDIを詳しく見ていきます。

次回: MIDIとは何だったのか? ― ゲーム音楽と演奏データの革命 →

主な参考資料・参考URL