2005,06,26, Sunday
仮想PSGを妄想する(第1回)
PSG(Programmable Sound Generator)とは、一昔前にゲームやPCでよく使われた
「ピコピコ音」発生器。
これを仮想的にPC上で再現してみたいと思います。
「ピコピコ音」発生器。
これを仮想的にPC上で再現してみたいと思います。
世の中には、8ビットPCやゲーム機などの高性能なエミュレータが数多くあり、
PSGの実装については、既に様々な方法で実現されていると思いますが、
趣味の領域なら車輪の再発明も悪いモノではありません。
むしろ、自分の技術力向上のためのトレーニングの一環として、ここは敢えて
一から作ってみようと思います。 そのほうが好き勝手も出来るし(笑)
というわけで、仕様の妄想:
PSGと言えば、3和音(+ノイズ)が一般的ですが、特にそれにこだわる必要も無いので、
任意チャンネル数とします。
(と言っても、単純な方形波のミキシングには限界があると思いますが。。)
また、ステレオ化と、左右数十段階程度のパンは出来るようにしようと思います。
エンベロープ発生器については、ひとまず棚上げです。
最終的にはシーケンサまで作れたらイイナと思っています。
(と言うか、そこまで作らないと意味無いですね……)
さて、まずは方形波の出力。
単純に、
を出力すれば良いだけなので、これは簡単。。とばかりに、勢いだけで作ってみました。
……まだ何の面白みも無いですが
第2回に続く
PSGの実装については、既に様々な方法で実現されていると思いますが、
趣味の領域なら車輪の再発明も悪いモノではありません。
むしろ、自分の技術力向上のためのトレーニングの一環として、ここは敢えて
一から作ってみようと思います。 そのほうが好き勝手も出来るし(笑)
というわけで、仕様の妄想:
・方形波の出力(周波数はアプリケーションで任意に指定)
・ノイズの出力(周波数はアプリケーションで任意に指定)
・チャンネル数は任意(アプリケーションで指定)
・ステレオ出力(左右の出力位置はチャンネル毎に設定可能)
・ボリウム指定(左右のマスター音量に加えて、チャンネル毎に設定可能)
PSGと言えば、3和音(+ノイズ)が一般的ですが、特にそれにこだわる必要も無いので、
任意チャンネル数とします。
(と言っても、単純な方形波のミキシングには限界があると思いますが。。)
また、ステレオ化と、左右数十段階程度のパンは出来るようにしようと思います。
エンベロープ発生器については、ひとまず棚上げです。
最終的にはシーケンサまで作れたらイイナと思っています。
(と言うか、そこまで作らないと意味無いですね……)
さて、まずは方形波の出力。
単純に、
- _| ̄|_| ̄|_
を出力すれば良いだけなので、これは簡単。。とばかりに、勢いだけで作ってみました。
- 出力サンプル[sq_440.mp3] (440Hzの単音発生/1秒)
……まだ何の面白みも無いですが
第2回に続く
| 実験::ソフトウェア | 05:00 AM | comments (2) | trackback (x) |
コメント
便利な世の中「ありもので済ます」が当たり前になっていますからねぇ~……
しかし、MSXで育った人々のハングリー精神には期待しています(^^)
しかし、MSXで育った人々のハングリー精神には期待しています(^^)
| ぴろやん | EMAIL | URL | 2005/06/30 07:07 PM | fXATcWv2 |
>PSGの実装については、既に様々な方法で実現されていると思いますが、
> :
>一から作ってみようと思います。 そのほうが好き勝手も出来るし(笑)
この感覚が1ChipMSXの方面にも伝染するといいんだけどなぁ~・・
> :
>一から作ってみようと思います。 そのほうが好き勝手も出来るし(笑)
この感覚が1ChipMSXの方面にも伝染するといいんだけどなぁ~・・
| IKATEN | EMAIL | URL | 2005/06/30 01:04 PM | PiHTMnxI |