見出し画像

レトロPCのPSGシンセサイザーの話 その2

大昔に、PC-6001mkIISRというレトロパソコンで、シーケンサーソフトではなく手打ちで、今で言うDTM的な遊びをしていたという話を書きました。

お役立たない上にマニアック過ぎて、あんまり反響はありませんでしたが、暇つぶし程度にはなることを書く、そして読みたい人が鼻くそほじりながら読むというコンセプトなので、もう少し書くことにしました。

35年くらい前のパソコンによく載っていたシンセサイザー音源のPSG(プログラマブル・サウンド・ジェネレーター)をBASICのプログラムを手打ちして鳴らして、音楽を演奏させていたという話です。

今回は前回書き残したこと、同時発声音数の少なさを補うための工夫っていう、マニアックな中でも特にマニアック、もはや変態みたいな話です。

興味のある人だけ読んでくれれば幸いです。いや、むしろ誰も読まない方がいいまである、それほどまでに変態。

やったことないけど、現代のDTMってきっと、たとえばトラック1はドラム、トラック2はベース、トラック3と4にギター・・・以下略みたいな感じで各トラックに各パートを入れていって最終的にTDして完成みたいな感じでしょう。

それに対して当時のPSGを使った音楽作りは根本からして違ったんです。

PC-6001に載っていたPSGは同時発声3音っていう制約があったんです。3トラックじゃなくて3音ですよ。ここ大事。ドミソのコードを鳴らしたらもうそれで3音ですから、他の音はもう入る余地なし。

ですから、1チャンネル~3チャンネル、どのように振り分けて3音を使うかというのが工夫のしどころだったんです。

速いアルペジオを和音の代わりにする

1チャンネルをノイズを使ったドラムとかパーカッション的な音で使い、もう1チャンネルをベース音に使う。そうすると残りは1チャンネル(1音)しか使えません。

そこで残った1チャンネルで出すウワモノは、和音で出せませんから代わりに速いアルペジオでピロポロさせて豪華感を出す、みたいな。

この感じって、ファミコンゲームのBGMで聞いたことがあると思います。多分、同時発声数の制約があるので、少しでもショボいピコポコ感から脱却するために作曲段階からこの高速アルペジオを使おうと発想したものと思われます。

前のテキストでも紹介した、ファミコンの「バルーンファイト」のBGMなんかはこれを本当に上手いこと使ってます。曲も素晴らしいし、アレンジもPSGの特性を活かした素晴らしいものになっています。

(ちなみに、多分ですけどファミコンのPSGは3音+ノイズ1音の4音同時発声可能だったっぽいです。知らんけど。)


チャンネル内でパートを割り込ませる

言葉でうまいこと説明できないので、まずはサンプル音源を聞いてみてください。突貫で作ったので出来は粗いですけど勘弁な!

ズンチャ・ズンチャっていうフレーズに、ノイズで作ったパーカッション的なパートを重ねたものです。

ボン・ボンっていうベース音で1音、ン・チャ・ン・チャっていうウワモノ部分は2和音で出しています。ということはベース音1+ウワモノ2で既に3音使っていて、パーカッションを入れるチャンネルは余ってないはずです。

ただ、誰でも気づくでしょうがベース音とウワモノは交互になってて、同時に発声してる部分はありませんから、ベースを鳴らしてるチャンネルにウワモノの2音のうち1音を割り込ませて鳴らしていることにより、疑似的に4チャンネル使ってる風にしているんです。

CH1:パーカッション
CH2: ン・チャ・ ン・チャ
CH3:ボン・チャ・ボン・チャ

こんな苦しいことをしないと、和音でウワモノを鳴らすことができないわけで、そうなってくるとベースのフレーズづくりとかアレンジ、あるいは作曲段階でそれを考慮に入れる必要があったんです。大変!

今回のサンプルは素人の私が作ったやつですから低レベルですけど、同じようなことをプロがやるとこうなるというのが「シルフィード」っていうゲームのオープニングのBGMです。

これは高級パソコンのソフトなんで当時金持ちの友達の家で聞いたんですが、パート内の割り込みの上手さにぶったまけました。

ちなみにPC-8801mkIISRという高級パソコンのソフトなんですが、この機種はFM音源3音+PSG3音同時発声可能でした。

曲の冒頭部分はベース音のブー・ブーって音はPSGで鳴らしてるようですが、それ以降はFM音源3音のみになっています。PSGよりも色んな音色が出せるFM音源とは言え、なかなか高度です。

ベースとドラムを1チャンネルで切り替え切り替えで出しているんです。スラップ風の音色のベースと、スネアドラムっぽいバシっていう音、これって同時に鳴ってる部分がありません。

チャンネル内で忙しく音色を切り替えながら鳴らしているんです。そのフレーズもそれを想定した上で作られています。

PSGが3音も余っているんだから使えばいいのにと思いきや、ゲームBGMなのでPSGのチャンネルは、戦闘機が弾を撃つ音とか爆発音みたいな効果音に使うために空けてるんだと思います。


長々と書いてきましたが、当時の手打ちDTMごっこ遊びはかように面倒くさいものだったんです。面倒くさい上にネットもありませんから、公開して褒めてもらうとかそういうこともなく、ひたすら家でひとりで聞いてるだけという。そりゃ変態にもなりますって。

その面倒くささの証明として、今回のサンプルをPC-6001で鳴らすためのプログラム・リスト(ソース)を貼っておきます。いかに私が変態かご理解いただけると思います。(実機がないので走らせて確認できないので、間違いがあるかも)

サンプル1の音源のプログラム・リスト
10 A$="t130v9l32o4bo5df+do4bo5df+do4bo5df+do4bo5df+do4bo5df+do4bo5df+do4bo5df+do4bo5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4ao5df+do4ao5df+do4ao5df+do4ao5df+do4ao5df+do4ao5df+do4ao5df+do4ao5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+do4b-o5df+d"
20 B$="t130o1l16v12bv8br8v12bv8br8v12bv8br8v12bv8br8v12b-v8b-r8v12b-v8b-r8v12b-v8b-r8v12b-v8b-r8v12av8ar8v12av8ar8v12av8ar8v12av8ar8v12b-v8b-r8v12b-v8b-r8v12b-v8b-r8v12b-v8b-r8"
30 C$="t130v12sm100l4cm2000cm100cm2000cm100l4cm2000cm100cm2000cm100l4cm2000cm100cm2000cm100l4cm2000cm100cm2000c"
40 PLAY A$,B$C$
50 END

サンプル2のプログラム・リスト
10 A$="t120l8sm100cm2000cm100cm2000cm100cm2000cm100cm2000cm100cm2000cm100cm2000cm100cm2000cm100cm2000c"
20 B$="t120v12l16r8v12o5ev8er8v12o5ev8er8v12o5ev8er8v12o5ev8er8v12o5f+v8f+r8v12o5f+v8f+r8v12o5f+v8f+r8v12o5f+v8f+"
30 C$="t120l16v12o2av8a o5v12c+v8c+ o2v12ev8e o5v12c+v8c+v12o2av8a o5v12c+v8c+ o2v12ev8e o5v12c+v8c+v12o2dv8d o5v12dv8d v12o1av8a o5v12dv8dv12o2dv8d o5v12dv8d v12o1av8a o5v12dv8d"
40 PLAY A$,B$,C$
50 END

この記事が気に入ったらサポートをしてみませんか?