Programmable Sound Generator
出典: フリー百科事典『ウィキペディア(Wikipedia)』
PSG(Programmable Sound Generator)は、音を作り出す音源チップの一種。1980年代のアーケードゲームやパソコン、携帯用ゲーム機に採用されている。
目次 |
[編集] 概要
代表的なものとしてゼネラル・インスツルメンツ(GI)社(後期はGIからスピンオフしたMicrochip社)のAY-3-8910/AY-3-8912/AY-3-8913相当品を指すが、テキサス・インスツルメンツ(TI)社のSN76489も同様に扱われることが多い(しかし仕様は全く異なっており、本来は区別しなければならない。SN76489は厳密にはPSGではなくDCSGである)。
また、ヤマハの一部のFM音源チップ(YM2203/YM2608など)には、SSG (Software-Controlled Sound Generator) と呼ばれるAY-3-8910互換機能が搭載されている。同社はこのSSG部分の単体チップであるYM2149を製品化しており、これはAY-3-8910相当機能に加え、AY-3-8910のTEST2端子(26番ピン)をSEL#(#はローアクティブを示す)に変更し、この端子をLowレベルにすることによって、発音基準周波数を外部入力周波数の2分周に設定できるように変更したものである。さらに内部的な音量が32段階(AY-3-8910は15段階)になっており、ハードウェアエンベロープが滑らかになっている。
東芝もSSG互換品をPSC(Programmable Sound Controller)という名称で設計しており、ゲートアレイなどの特定用途向けLSIに組み込まれて使用された(MSX-ENGINE,MSX-ENGINE2などがこれにあたる)。
広義では、矩形波の出る安価なチップ音源をまとめて「PSG」と呼ぶことがある。
[編集] AY-3-8910の仕様
代表的なPSGチップであるAY-3-8910は次のような仕様である。
- 矩形波発生装置 3系統(音量16段階、周波数4096段階8オクターブ、デューティー比1:1固定)
- ノイズ発生装置 1系統
- エンベロープ発生装置 1系統
- ミキサー
- 8bit汎用入出力ポート×2(ジョイスティック、タッチパネルなど)
- ATARI仕様の台形9ピン(D-Sub)インターフェース実装に用いられることが多かった。
- AY-3-8913では、この入出力ポートが省略されている。
- 備考
- チャンネルごとに、出力のモードを「ミュート」「矩形波を出力」「ノイズを出力」「矩形波とノイズをmix出力」から選べる。
- mix出力モードでは音に濁りが出る。
- なぜ濁るのかというと、じつは同時に鳴っているのではなく、内部で高速にトーンとノイズが切り替えられているためである。
- mix出力時、矩形波とノイズの音量は独立制御できない。音量はあくまで3系統であり4系統ではない。
- チャンネルごとに、出力のモードを「ミュート」「矩形波を出力」「ノイズを出力」「矩形波とノイズをmix出力」から選べる。
[編集] AY-3-8910相当品を搭載した主なコンピュータ
- PC-6001
- X1シリーズ(X1F以降のモデルからYM2149)
- X1で使用されたFM音源はYM2151で、PSGを含まない
- FM-7
- FM-77(一部はFM音源:YM2203(OPN)
- FM-7・77はAY-3-8913(8bit汎用入出力ポートなし)。
- MSX
[編集] SSGを搭載した主なコンピュータ
FM音源:YM2203(OPN)/YM2608(OPNA)を搭載
- MZ-2500
- FM77AV
- PC-8801mkIISR
- PC-9801(オプション)
- MSX MSX2以降の多くのモデルでは統合チップMSX-SYSTEMやMSX-SYSTEM2、MSX-ENGINE2にSSG相当品が内蔵されている
[編集] SN76489の仕様
SN76489(DCSGとも呼ばれる)のPSGとの大きな違いは、矩形波チャンネル3つ+ノイズ発生チャンネル1の合計4チャンネルで構成されているところである。PSG(SSG)はその構造上ノイズの音量制御が3つのチャンネルのどれかに依存してしまうが、SN76489(やpAPU)にはこの制限はなく、独立したノイズチャンネル単体で自由に音量制御できる。
[編集] SN76489を搭載した主なコンピュータ
- MZ-1500 (同時6音) : SN76489×2
- セガ (初代~マスターシステム、メガドライブ、ゲームギア) : SN76489
- M5 (ゲームパソコンM5) : SN76489A
- パソピア : SN76489A
- パソピア7 (同時6音) : SN76489A×2
- SMC-777 : SN76489
[編集] ファミコン音源(pAPU)の仕様
ファミコンに搭載されている音源は次のような仕様である。
- パルス波(矩形波)発生装置 2系統(デューティー比3:1、1:1、1:3、1:7切り替え)
- 三角波発生装置 1系統 (4bit波形、音量は仕様上固定だが、DPCMと絡んだバグに近い挙動が存在し、これを利用するといじることが出来る。)
- ノイズ発生装置 1系統(擬似ホワイトノイズ・短周期ノイズ切り替え、周波数変更が可能。ただし、最初期型(コントローラのボタンが四角いゴム)のファミコンでは短周期ノイズは出せない)
- DPCM 1系統
- ミキサー
この音源はファミコンのCPU RP2A03(6502カスタム)に組み込まれた機能の一つであり、 pAPU(pseudo Audio Processing Unit)と呼ばれている。
pAPUのパルス波発生装置はゲームボーイ、ゲームボーイアドバンスにも搭載され、 矩形波だけでなくデューティー比1:7パルス波などの独特な音色も出せる表情の豊かさがPSGの矩形波との大きな違いである。
[編集] PSGと誤解されやすいその他の音源
日本電気ホームエレクトロニクスから発売された家庭用ゲーム機PCエンジンではスペック表にPSGとの記載されることがあるが、実際に使われているのは波形メモリ音源(変調機能つき)であり、一般的に言われる本項で説明のPSGとは異なるものである。
また、ナムコの初期アーケード作品で使われている音源も「ナムコPSG」という俗称が広まっているが、これも正しくは波形メモリ音源であるため、PSGではない。
[編集] PSGによるPCM再生
PSGによってPCMを再生する技法が存在し、PSGPCMやSSGPCM等と呼ぶ。デジタル-アナログ変換回路を持たないパソコン向けのソフトウェアで使われることがあった。
ただし、PSGPCMによって得られる出力は線形ではなく指数関数であるため、この技法によるPCM再生で美しい音声出力を実現できたものはほぼ皆無に等しい。 再生音声に激しいノイズが乗るため、「無線による交信を演出する」といった苦肉の策が取られるなどした。
[編集] PSGPCMの原理
PSGで発声されるのは矩形波である。これはロー(=0)とハイ(=1)の2値しかとらない。これに音量レジスタ(4bit)の値を掛けたものが1チャンネル分の出力である。
さて、あるチャンネルの発声を停止すると、AY-3-8910相当品では矩形波出力はハイ(=1)で固定される。従って、そのチャンネルの出力は、音量レジスタそのものとなる。(1×音量レジスタ=音量レジスタ)
つまり、発声を停止して、そのチャンネルの音量を操作することで、PSGをDACとして使用できる。