「本当の所は何音出ているのだろう」サンソフト編


個性的なソフトの多いサンソフトですが、実は音楽に相当力を入れています。 そこでこの際どのソフトが何音出しているかを明らかにしようと思い立ちました。 音源については「基盤に見るサンソフトROMの歴史」でも触れていますが、 あれでは何を言っているのかわからないと言う方のために 音源部分に特化して分かりやすい記事にしています。 音源関係に興味のある方は参考にしてみてください。
02年09月09日更新


◆ファミコンの音源

ファミコンは4つの基本的な音色と1つの拡張的な音色を持っています。 実際にだれでも覚えているであろう「スーパーマリオ(サンソフトじゃないのかい!)」を例にあげて考えてみましょう。 まずメロディーに使われているのが矩形波と呼ばれる音です。 ファミコンではこの矩形波を2音発生させることができます。 あらゆる曲づくりのメインとなる音色です。 それから「ミュミュ」ってテノールパートのような特徴的な音が聞こえます、これが三角波です。 バルーンファイトやレッキングクルーなんかでは特に耳につく音です。 ドンキーコングのBGMは三角波メインだったりしますね。 初期の任天堂ソフトではある意味三角波が主役だったように思えます。 もう一つは音色といって良いのかわかりませんがノイズ波長の音源があります。 これは主にリズムなどを形成しています。 それからちょっと特殊な手法を用いるとDPCM(差分PCM)も1音発生させることができます。 いつ頃から使われはじめたのかはわかりませんが、 サンソフトでは水戸黄門の音声などがこのPCMを用いています。 まとめますとファミコンの基本となる音源は4+1音ということになりますね。


◆ファミコンのPCM

ファミコンにはリコーの6502系のCPUが搭載されておりDPCMを発生させることができます。 この音源は拡張性が高くふつうのソフトでは利用されておりません。 機能としては疑似音声を発生させたり、サンプリングした音色を利用したりできます(疑似音声もサンプリングした音色ですけど)。 サンソフトで例をあげますと「水戸黄門(Sunsoft2)」「raf world(MMC1B2)」「バトルフォーミュラ(MMC3B)」「バットマン(FME7)」それ以降のFME7系のチップを搭載ソフトなどで利用されています。 (これらのソフトはコントローラIC以外に特別なチップを持っていないので、PCMのデータが記憶されているのはROMのプログラム領域だと考えられます。 簡単に言いますとPCMを発生させるには特別な音源チップは必要ないということです。) PCMを利用するとさまざまな異なる音色が利用できます。 ただしその音色はノイズまみれですので美しいメロディを形成するには無理があるでしょう。


◆サウンド出力の仕組み

まず簡単にツインファミコンのサウンド出力の仕組みを説明します。 基本的にはファミコンでも同じ行程を踏むのですが、若干仕様が異なりますので御注意ください。
ファミコンではソフトから得た波形データを元にCPUがサウンドを生成します。 CPUの1Pinからは矩形波、2Pinからは三角波・ノイズおよびDPCMが得られます。 サウンドはCPUから出力された時点でアナログオーディオ信号となっています。
これら出力されたデータはC113(入力はR125とR126)というコンデンサで合成されます。 合成されたサウンドは増幅されR108とカートリッジの45Pinに供給されます。 この時カートリッジに拡張音源があれば二つの音源が合成されて46Pinから出力されます。 拡張音源が搭載されていなければ45Pinと46Pinは短絡されているはずです(ソフトを参照)。
もしツインファミコンのスイッチが「カセット」であれば、カートリッジの46Pinから排出されたサウンドが白いコネクタの青ケーブルから出力されます。 「ディスク」であればC102(入力はR105とR108)でディスク音源と合成されたサウンドが出力されます。
ただ実際はもっと複雑な行程を踏んで合成されています。 ですので単に回路の途中から抽出しても合成のバランスがおかしくなったり正しいサウンドをえられない可能性があります。 特にソフトの拡張音を取り込む際にはカートリッジの46Pin以降から抽出しないといけません。 結論としては外部出力をオーディオ信号で得たいならカートリッジの46Pinから得るのがもっとも理想的です。 もしソースごとの出力を得たいのでしたらすこし改造が必要です。 まずカートリッジの45Pinと繋がっているコネクタをカットします。 そうすれば外部出力から得られるサウンドは「拡張音」のみとなります。 ファミコン音源はCPUの足(1Pinと2Pin)から取れば良いでしょう。 ディスク音源はC101から取ります。 これで独立した4チャンネルの出力が得られます。 ただし拡張音を分離したりDPCMだけを抽出することは理論上不可能です。 ちなみに「ファミコンの拡張コネクタの左上から2番目のピン(ファミコン音源のみ)」「ディスクの拡張コネクタの左上のピン(ディスク音源もふくむ)」もサウンド出力であることを付け加えておきましょう。


◆ソフト拡張音の仕組み

ファミコンにおいてVRC6、VRC7、Namco106、Namco163などを搭載したソフトに拡張音が積まれています。 これらの拡張音はカートリッジの45Pinから取り込まれたファミコン音源と合成され46Pinから出力されます。 サウンドデータはソフトに取り込まれた時点でアナログオーディオ出力になっているので、 音源の書式には依存しないという特性を持っています。 ですからコントローラの能力次第では複数のサウンドを同時に発生させたり、さまざまな波形のサウンドを再現することもできます。 ですがコントローラ単体(ただし制御にはCPU使う)でサウンドを発生させることはできませんので厳密には音源であるとは言えません。 ちなみにサンソフトではGIMMICK!に搭載されているSunsoft5Bというコントローラが拡張音を扱うことができます。
また拡張音もファミコン音源と同様書式(波形データや曲を構成するデータなど)で記憶されていると考えられます。 ですからこの「曲を構成するデータ」を元にすれば模擬器でサウンドを再現したり書式を変換すればMIDIや着メロにすることも理論上可能だというわけです。
それから拡張音を語る上で重要なのが音色数と発音数の違いです。 複数の波形データが準備されている拡張音源では、波形をシミュレートするチャンネルが音色数だけ必要になります(波形をかえられない場合)。 ですが実際に準備された音色数だけ発音できるかといえばそうとは限りません。 たとえばファミコンに搭載されているDPCMの発音数は1音ですが、へべれけでは2音の波形データ(ベース音とドラム音)が準備されています。 これらは同時に扱うことはできませんが、体感では2音出ているように感じるはずです。 (実際たくさんへべれけには「6音鳴っている」と記載されていますが、拡張音を持たないへべれけが同時に6音以上発生させることは理論上不可能です。 つまりあの表現は音色数のことを言わんとしているのでしょう。) そういった意味ではコントローラが実際には何音発生させているか調べるのは非常に困難です。 拡張音はコントローラの内部で作られていますので(出力の時点では1音に合成されている)チップの仕様で判断することもできません。 ここまで行くとデータ領域を解析するより他に手段はありませんね(耳で判断するのも悪くないけど)。


◆しゃべるゲーム

サンソフトで初めてPCMを使ったのはたぶん水戸黄門だとおもいます。 「あた〜り〜」とか「いらっしゃいませ」とか言うやつです。 そうそうPCM音声といえばサンソフトは業務用の「Speak&Rescue」で日本語音声合成を実現させています。 (ちなみにBootlegのSpaceEchoが原形だと言う説があります) 特別な音声チップを搭載しているわけではなく、 ソフトのメモリとファミコンのCPUだけで実現させているというのがすごいです。 地味なんですけどアフターバーナー(海外では1と区別してAfterBurner2と呼んでいます)でもPCM音声が利用されています。 そういえばなんか喋っていたような気もしますね。


◆PCMを使っていないソフト

水戸黄門以前のソフトでは利用されていません。 またメタファイトやファンタジーゾーンでも使われていないことが確認されています。 (仮に使われていたとしても本格的に利用されているという次元ではありません) 最初は外注ソフトではPCMは利用されていない(SunsoftのROMではないという理由から)と考えていたのですが 「Rafworld」や「BattleFormula」など東海エンジニアリング製作のソフトでも同じ音色が使われていることが確認されています。 音源を共有しているということは、つまりプログラムは外注して作曲はサンソフトで行っていたということなのでしょうか。 そういえばバトルフォーミュラなどは小高チーム(?)作曲でしたよね。


◆サンソフトのベース音

サンソフトが本格的にPCMを利用したのはバットマン(FME7)からです。 バットマン以降からのPCMの使われ方は今までとは明らかに違い、ベース音を本格的にサンプリングして用いています。 当初FME7は拡張音源と言われてきましたが、これらのソフトで実際に使われているのは普通のPCMです。 しかもこの音色はFME7以外のチップを搭載したソフトでも使われています。 結局FME7は言われているような拡張音源とはちょっと違うみたいですね。 ちなみに実際に音源が拡張されているのはギミックだけのようです。


◆へべれけのすごいところ

「へべれけ」ではPCMをベース音だけではなくドラム音としても使っています。 これらは同時に発生させられるわけではないので、厳密には2音発生させているとはいえません。 ですが、むしろここにへべれけの音の凄さがあるのです。 へべれけではベースパートがPCM、ドラムパートが三角波とノイズで構成されています(このドラムが厚みがあって気持ちいいです)。 途中部分的に三角波がメロディにまわる場面があるのですが、 そこではベースのPCMの合間にドラムのPCMを挟んだりして違和感なく展開しています(「へべの大冒険」フィールドのテーマを参照)。 フィールドのテーマの後半部分でドラムフレーズが強調される場面がありますがあれがPCMのドラムです。 ベースラインとサンドになって「ダダダトン、ダ、トン」って感じになっていますよね。 なんか凄くないですか?しかも言われなかったら三角波+ノイズのドラムと区別がつくでしょうか。 さらに!三角波を部分的にノイズで区切ってドラムの音を再現し、 延ばした余韻の部分で違う音色の雰囲気を出したりしています(むうねこぶらざーずを参照)。 音源を拡張してしまえば簡単なのですが、限られた制約の中で見せるこれらのテクニックも素晴らしいとは思いませんか。 ところでへべれけは実際何音でているのでしょうか。 このあたりは難しいのですが、たしかに6音鳴っていますがあくまで最大同時発音数は5音です。 ということはへべれけには拡張音源は搭載されていないということになりますね。


◆もっとすごいのがGIMMICK!

ギミックは明らかに音色が多すぎます。まず聴いてすぐにわかるのがとても5音ではおさまってはいないということです。 この時点でファミコンの発音数のスペックを超えているので、 ギミックには素敵な音色の拡張音源が搭載されていると考えて良いでしょう。 スペック上ギミックと一番似ているソフトはグレムリン2(Sunsoft5A)です。 しかしこちらには拡張音源は搭載されていません。 (ちなみにギミックには「Sunsoft5B」というカスタムチップが搭載されていますが、これも音源であるかは現在の所わかりません。 よく「ギミックに搭載されているFME7・・・」というフレーズが見られますが、少なくともFME7とは別のチップであると認識して下さい。) サントラやミュージックサンプラー等で「GoodWeather(Track50)」を聴いていただければそのうつくしい音色がソロパートで楽しめます。 (タイトル画面でSelect+Startでサンプラーモードに突入できます) 音色から察するにファミコンに搭載されているものとは違う種類のPSGなのではないかと思います。 なんとなくコナミのVRC6と似ていますね。 この音源の同時発音数は2音とも3音とも言われていますが、わたくしの感触では2音のような気がします。 いずれにせよギミックはサンソフトのゲームの中でも異次元の音楽を聴かせてくれます。 ギミックの音って相当すごいです。



"SIGRAGI" produced by signo.