プログラマブル・サウンド・ジェネレーター(PSG)の深淵:歴史、技術、そしてその可能性
プログラマブル・サウンド・ジェネレーター(PSG)は、80年代のゲーム機やパソコンに搭載され、多くの懐かしいゲームサウンドを生み出した
電子回路です。矩形波やノイズを組み合わせ、独特のサウンドを生み出すその仕組み、そして発展形や関連技術について掘り下げて解説します。
PSGとは何か?
狭義には、ゼネラル・インスツルメンツ(GI)社のAY-3-8910とその互換チップを指しますが、広義には複数の矩形波とノイズを組み合わせ、音色を生成するチップの総称です。複数の基本波形を合成し、エンベロープ・ジェネレーターによって音量変化(ADSR)を制御することで、多様な音作りを可能にしました。
AY-3-8910:PSGの代名詞
AY-3-8910は、3つの矩形波発生器、1つのノイズ発生器、そして1つのエンベロープ発生器を搭載しています。各矩形波は16段階の音量と4095段階の周波数、固定のデューティ比で発音します。ノイズ発生器はホワイトノイズを生成し、エンベロープ発生器は8種類の波形パターンで音量変化を制御します。また、2つの8bit汎用入出力ポートを備え、
ジョイスティックなどの周辺機器接続にも対応していました。
AY-3-8910の仕様詳細
矩形波発生装置: 3系統(音量16段階、周波数4095段階、デューティ比1:1固定)
ノイズ発生装置: 1系統(ホワイトノイズ、周期31段階)
エンベロープ発生装置: 1系統(パターン8種類、周波数65535段階)
ミキサー: 3チャンネルの音をミックスして出力
*
入出力ポート: 8bit汎用入出力ポート×2
AY-3-8910は、PC-6001、X1、
MSXなど、多くの機種に搭載されました。後継チップとして、AY-3-8912やAY-3-8913も存在しますが、入出力ポートの有無などに違いがあります。
YAMAHAのSSG:AY-3-8910の進化形
ヤマハはAY-3-8910互換チップYM2149を開発しました。これはAY-3-8910の機能を拡張し、音量段階を32段階に増加、ハードウェアエンベロープをより滑らかにするなど、改良が加えられています。YM2149は、
MSXマシンを中心に広く採用されました。さらに、YM3439(CMOS版)、YMZ284(小型版)など、様々な派生チップが登場しました。これらの
ヤマハ製のPSG互換機能は、SSG(Software-controlled Sound Generator)と呼ばれています。
その他のPSG関連チップ
テキサス・インスツルメンツのSN76489は、3つの矩形波発生器と1つのノイズ発生器を搭載し、独立して制御が可能なPSG互換チップです。MZ-1500や
セガのゲーム機などに搭載されました。
SAA1099は、6チャンネルのステレオ出力と2セットのエンベロープ/ノイズジェネレーターを搭載する、より高機能なチップです。ハードウェアエンベロープの波形を三角波や鋸歯状波に設定できるため、PSGでは困難だったメロディー演奏が可能になりました。
ファミコン音源:pAPU
ファミコンの音源であるpAPU(pseudo Audio Processing Unit)は、2系統のパルス波発生器、1系統の三角波発生器、1系統のノイズ発生器、そして1系統のDPCM(デジタル音声信号処理)を搭載しています。パルス波発生器はデューティ比の変更が可能で、PSGよりも多彩な音色を生成できます。
PSGとPCM再生
PSGには、DACを持たない環境でもPCM音声を再生する技術、PSGPCMが存在します。PSGの音量レジスタを制御することで、デジタル信号をアナログ信号に変換し、音声を再生します。音質は低く限られた用途ですが、当時の技術水準では画期的なものでした。
ハードウェアエンベロープとソフトウェアエンベロープ
PSGのハードウェアエンベロープは、音量の変化を自動的に制御する機能です。しかし、1系統しかないため、複数のチャンネルを同時に使用すると同期してしまい、不自然な音になってしまいます。そのため、ソフトウェアで音量を制御する「ソフトウェアエンベロープ」という技術も用いられていました。さらに、ハードウェアエンベロープを波形として利用することで、三角波や鋸歯状波なども生成できますが、音程の精度が低くなるという欠点がありました。
まとめ
PSGは、そのシンプルな構成でありながら、多くのゲームや音楽を生み出した重要な音源です。その歴史、技術、そして関連技術を知ることで、レトロゲームや8bit音楽への理解が深まるでしょう。今後のレトロゲーム開発や音楽制作においても、PSGは独自のサウンドを生み出す魅力的な選択肢として注目に値します。