YM2149というチップがある。 Atari STに載っていた、3声の音源チップである。
このチップには、ノコギリ波を出す発生器が無い。 それなのに、YM2149を積んだ小さなMIDI音源のファームウェアには、ノコギリ波のvoiceがある。 コントロールチェンジの3番に4を送ると、それが鳴る。
名前は「Env-voice Saw」。 エンベロープで作るノコギリ波、という意味である。
チップに無い波形が、楽器には有る。 この食い違いが、古いゲーム音源を楽器にするとはどういうことかを、かなりはっきり示している。
チップは音の素材を決める。 けれど、演奏者の手に何が渡るかは、チップの外側で決まる。
この記事では、YM2149、Game Boy、NES、SID、Mega Driveのチップを積んだ楽器を並べて、その外側で何が決められたのかを読んでいく。
YM2149には、エンベロープが1つしかない
YM2149は、General InstrumentのAY-3-8910をYamahaがライセンス生産したチップである。 二つはほぼ同じもので、違いはクロック分周のピンと、エンベロープの細かさくらいしかない。
中身は単純である。 音程を作る発生器が3つ。 ノイズの発生器が1つ。 そして、音量を時間で動かすエンベロープが1つ。
この最後の1つが、3つのチャンネルで共有されている。 3声あるのに、エンベロープは1基しかない。
エンベロープの形も、のちのシンセサイザーのようなADSRではない。 ゼロから上がるか、最大から下がるか。 それを一度で止めるか、繰り返すか、上下に折り返すか。 選べるのは、ほぼそれだけである。
ここに、よく知られた裏技があった。 このエンベロープを、周期20Hzを超える速さで回すのである。
音量の上げ下げが可聴域に入ると、それ自体が波形になる。 繰り返す上り坂はノコギリ波に、折り返す坂は三角波に似た音になる。 1980年代、このチップを使った音楽家たちは、この方法で太い低音を作っていた。
本来は「音量の動き」を作る回路で、「音そのもの」を鳴らしたわけである。
AYとYMの違いも、ここに効いてくる。 エンベロープの音量の段数は、AY-3-8910が16段、YM2149が32段である。 同じ裏技でも、どちらのチップで鳴らすかで、坂の刻みの細かさが違うことになる。
裏技が、コントロールチェンジの番号になった
Catskull Electronicsが売っていたYM2149 Synthは、YM2149の3声を、MIDIチャンネル1〜3に1声ずつ割り当てた小さな音源である。 設計とコードはtrash80が手がけ、ソースコードは公開されている。
そのREADMEを読むと、コントロールチェンジの3番が「シンセの種類」になっている。
0は矩形波だけ。 1は矩形波とエンベロープのノコギリ波。 2は矩形波とエンベロープの三角波。 3はエンベロープの三角波だけ。 4はエンベロープのノコギリ波だけ。 5と6はソフトウェアでパルス幅を動かす矩形波。 7はノイズ。
かつてはレジスタの値を手で組んで作っていた音が、0から7までの番号に並んでいる。 チップの仕様書のどこにも書かれていない音色が、楽器の側では「種類」の一つとして扱われている。
ここで足されたのは、回路ではない。 裏技を知っているという知識が、ファームウェアとして足されたのである。
この製品には、ブラウザから音色を編集するエディタも用意された。 チップそのものは1980年代のままでも、その手前に置かれる操作は、いまのものになっている。
Game Boyのパルス幅は、4段しかない
Game Boyの音源は4チャンネルある。 パルス波が2つ、自由な波形を書き込めるチャンネルが1つ、ノイズが1つ。
パルス波のチャンネルは、パルス幅を変えられる。 ただし選べるのは、あらかじめ決まった4種類だけである。 シンセサイザーのように、幅を滑らかに動かすことはできない。
mGBは、このGame BoyをMIDI音源として動かすためのプログラムである。 Arduinoboyという変換器を介して、外のシーケンサーからGame Boyを鳴らす。 作者は、YM2149 Synthのコードを書いたのと同じtrash80である。
mGBでは、パルス幅をコントロールチェンジの1番で動かす。 その説明書きは、こうなっている。 値は0、32、64、127。
MIDIのつまみは0から127まで回せる。 けれど、意味のある位置は4つしかない。 つまみを回しても、音は滑らかには変わらず、4段で切り替わる。
これは、楽器の側がチップの制約を隠さなかった例である。 MIDIの規格に合わせて、128段あるふりをすることもできたはずだ。 mGBは、チップが持っている段数をそのまま表に出した。
同じGame Boyには、まったく別の入口もある。 LSDj(Little Sound Dj)は、Game Boyの中で動くシーケンサーである。 曲はGame Boyの画面とボタンで組み、外の機材とはアナログ、Game Boy同士、MIDI、VSTで同期する。
mGBはGame Boyを外の世界の音源にした。 LSDjは、作曲の場をGame Boyの中に置いた。
チップは同じである。 けれど、片方では演奏者はMIDIキーボードの前にいて、もう片方では十字キーの前にいる。
NESのサンプル再生チャンネルは、TR-707のドラムで埋まっていた
NESのファミコン用音源(APU)は5チャンネルある。 パルス波が2つ、三角波が1つ、ノイズが1つ。 そして、DPCMというサンプルを再生するチャンネルが1つ。
MIDINESは、このNESをMIDIで鳴らすためのカートリッジである。 米国版NESのカートリッジからMIDIケーブルが出ていて、キーボードやコンピューターにつなぐ。
2008年のTape Op誌のレビューによれば、MIDINESは5つの音をそれぞれ別のMIDIチャンネルに置いている。 パルス波は旋律に、三角波はベースに、ノイズはリズムに使える。 そしてサンプルのチャンネルには、TR-707などのドラムマシンから採ったらしいドラムキットが1組、丸ごと入っている。
レビューの筆者は、ここで一つだけ不満を書いている。 自分のサンプルを読み込めればよかったのに、と。
5つのチャンネルのうち、いちばん自由度の高いはずのサンプル再生が、この製品では固定されている。 チップには何でも再生できる口があるのに、楽器にした時点で、そこに決まった中身が詰められた。
楽器にするとは、開くことだけを意味しない。 どこを閉じるかを決めることでもある。
MIDINESの作者は、名前を明かしていない。 レビューの時点で、すでに作者は匿名だった。 どこを開いてどこを閉じるかを決めた人の名前は、製品に残っていない。
SIDは、チップごとにフィルターが違う
Commodore 64のSIDは、ゲーム音源の中でも特別な扱いを受けてきたチップである。 3つのオシレーター。 三角波、ノコギリ波、パルス波、ノイズと、その混合。 声ごとに独立したエンベロープ。 シンクとリングモジュレーション。 そして、ローパス、バンドパス、ハイパス、ノッチを切り替えられる12dBのフィルター。
一つのチップの中に、ほとんど小さなアナログシンセサイザーが入っている。
MIDIbox SIDは、このSIDを楽器にするための自作プロジェクトである。 2基のSIDをステレオで使い、全パラメーターにSysExでアクセスできる。 そのうえで、接続したSIDごとにフィルターを較正する機能を持っている。
SIDには6581と、のちの8580(6582)という世代がある。 二つはフィルターの効き方が違う。 MIDIbox SIDの較正機能は、その違いをそろえるために用意されている。
sammichSIDは、このMIDIbox SIDを1枚の基板と最小限のつまみにまとめた完成キットである。 説明には、言い訳のいらないMIDIbox SIDキット、とある。 仕様には、ステレオSID、8580と6582A向けに最適化、6581は任意で対応、と書かれている。 最後のバッチの出荷は、2013年2月に始まった。
ここでは、楽器の側の仕事が少し違う。 チップに何かを足すのでも、閉じるのでもない。 チップの個体差を、楽器の側で吸収しようとしている。
同じ「SIDの音」と言っても、どのSIDが載っているかで、フィルターは同じようには鳴らない。 楽器にするとは、その違いを前提にした上で、同じ操作が同じ意味を持つようにすることでもある。
Mega Driveのチップの欠陥が、選べる音色になった
Mega Drive(Genesis)の音源は、YamahaのYM2612である。 6チャンネル、各4オペレーターのFM音源である。
YM2612は、YamahaのOPNと呼ばれる系列から派生している。 系列の初代YM2203は、FM音源の部分とは別に、SSGと呼ばれる部分を内蔵していた。 そのSSGは、YM2149の3チャンネルとノイズ発生器を、そのまま実装したものである。
つまりYM2149は、Yamahaのその後のFMチップの中に、部品として住み続けていた。
YM2612は、そのSSGを取り除いた。 エンベロープの名残だけを残して、YM2149の部分を外したチップなのである。
YM2612には、もう一つ有名な癖がある。 内蔵のDACの設計上の誤りで、音量が小さいときに量子化が誇張される。 「ladder effect」と呼ばれる歪みである。 本来なら、設計の欠陥と呼ぶべきものだ。
Twisted ElectronsのMEGAfmは、このFMチップを2基積んだシンセサイザーである。 12声、600のプリセット。 そして、FMのオペレーターを直接動かすための32本のスライダー。
FM音源は、パラメーターの多さで知られる音源方式である。 その数の多さを画面の奥へ畳むのではなく、32本のスライダーとして盤面に並べた。 現行のMEGAfm IIでは、ファームウェア5.0で、エディタとの双方向のSysExにも対応した。
面白いのは、このメーカーがソフトウェア版に用意した選択肢である。 ソフトウェアのvMEGAfmでは、チップのモデルを2つから選べる。 MKIはYM2612、MKIIは後継のYM3438である。
説明はこうなっている。 MKIは初代MEGAfmの、ざらついたladderの性格を持つ。 MKIIは、ladderの色づけが少なく、よりクリーンで明るい。
設計の欠陥だったものが、ここでは「性格」として選べるようになっている。 しかも、何も選ばなければ鳴るのは欠陥のある方、MKIのほうである。
チップを楽器にするとき、欠陥を直すという選択肢もある。 このメーカーは、欠陥を残して、名前を付けて、選べるようにした。
チップの外側で、何が決められたのか
並べてみると、それぞれの楽器が、チップの外側で違うことをしている。
YM2149 Synthは、チップに無い波形を足した。 mGBは、チップの4段という制約を、そのまま見せた。 MIDINESは、いちばん自由なチャンネルを、決まったドラムで閉じた。 MIDIbox SIDとsammichSIDは、チップごとの違いを楽器の側で吸収した。 MEGAfmは、チップの欠陥を、選べる音色に変えた。
足す。 見せる。 閉じる。 吸収する。 名前を付ける。
どれも、チップ自体には書かれていない判断である。
これらのチップは、もともと楽器として作られたわけではない。 ゲーム機やコンピューターの中で、プログラムが値を書き込んで鳴らすための部品だった。 人の手で弾かれることは、想定されていなかった。
だから、楽器にするときには、誰かが「演奏者の手に何を渡すか」を決めなければならない。 その判断が、楽器の性格の半分を作っている。
実チップなら正しい、とは限らない
一つ断っておきたいことがある。
ここに並べた楽器の多くは、実際の古いチップを載せている。 そのことは、これらの楽器の大きな魅力である。 けれど、実チップを積んでいることが、そのまま音楽的に上だという意味にはならない。
vMEGAfmはソフトウェアだが、チップの性格の差を選択肢として持っている。 一方で、実チップを積んだsammichSIDは、どのSIDが載っているかで、フィルターの効き方が変わる。 本物のチップは、本物であるがゆえに、個体の違いも一緒に連れてくる。
また、同じMIDIの命令を送って比べることは、公平に見えて、実は公平ではない。 YM2149のエンベロープのノコギリ波も、Game Boyの4段のパルス幅も、それぞれのチップに固有の使い方の中で生きている。 共通の命令だけで比べると、それぞれのいちばん面白いところを削ってしまう。
チップを残すことと、入口を残すこと
古いゲーム音源を楽器として残す。 それは、チップを手元に置くことから始まる。
けれど、チップだけでは楽器にならない。 チップに、つまみやMIDIや画面という入口を付けた人がいて、その人たちが、何を足し、何を見せ、何を閉じるかを決めた。
trash80は、裏技をコントロールチェンジの番号にし、Game Boyのパルス幅を4つの値のまま差し出した。 MIDINESの作者は、名前を残さずに、サンプルのチャンネルをドラムで埋めた。 Twisted Electronsは、Mega Driveのチップの欠陥に、MKIという名前を与えた。
チップは同じでも、入口が違えば、別の楽器になる。 ゲーム音源の楽器を選ぶときは、どのチップが載っているかと一緒に、誰がどんな入口を付けたのかを見てみると面白い。 そこには、80年代のプログラマーが残した裏技や、ゲーム機の制約を見せる誠実さ、欠陥を愛する感覚が、一つずつ形になって残っている。
関連記事
- Gamechanger Audioは、音ではなく演奏を発明したのか。現象・制御・操作の三層で九年分を並べ直す
- Elektronの歪みは、なぜギターの足元に残らなかったのか。同じ年に出た二つの箱の話
- モータライズドノブが記憶していたもの。Yamaha DGとデジタル制御の操作感