crotkazです。
この記事では、PCエンジンの内蔵音源であれこれしていきます。
そもそもPCエンジンとは
PCエンジンはファミコンとスーパーファミコンの間あたりに発売された家庭用ゲーム機です。
今年で30周年になります。めでたい。
当時のゲーム機の中ではスペックが高く、再現度の高いアーケードゲームの移植や、
ボンバーマンや桃太郎電鉄などの人気シリーズを遊ぶことができます。
PCエンジンの音について
PCエンジン内蔵の音源は波形メモリを6音(または4音+ノイズ2音など)を使うことができます。
波形メモリ音源は音の波の形を指定して音色を作るので様々な音を鳴らすことができます。
PCエンジンは途中からCD音源を扱うこともできるようになったのですが、
ここではPCエンジンに内蔵された音源で遊びたいと思います。
音源で遊ぶ
こんなPCエンジンの音源ですがツールを使うことによって簡単に好きなように鳴らすことができます。
今回はWindowsでBouKiCHiさんのHuSICというものを使っていきます。
準備するもの
- HuSIC
- HuSIC WAVE EDITOR
- テキストエディタ(メモ帳でも可)
- hes再生プレイヤー
HuSICはここからClone or download→Download ZIPと進んで入手します。
HuSIC WAVE EDITORはここからheswave001を選択して入手します。
hes再生プレイヤーはKbMedia Playerなどがあります。
とりあえず鳴らす
テキストエディタで下記のように入力し「test.mml」で保存します。
@WT0={
$02,$04,$06,$09,$0c,$0f,$11,$14,$16,$18,$1a,$1b,$1d,$1f,$1e,$1c,$19,$18,$16,$14,$13,$10,$0f,$0d,$0b,$0a,$08,$07,$05,$02,$01,$00
}
A t120 W0 o4 v31
A cdefgab > c
このファイルをHuSIC内のsongsにあるmake_hes.batにドラッグアンドドロップすると、
test.mmlがある場所と同じ場所にtest.hesというファイルができます。
これがPCエンジンの音楽ファイルになります。
そしてこのtest.hesをhesファイルが再生できるプレイヤーで読み込むと...
音が鳴ります!!!
記入した内容について解説します。
@WT0={$...} は波形メモリ音源の波の形を指定している部分です。中身を変えることで音色を変えることができます。
A はトラック記号でA~Fまで存在します。行の最初に書くことでその行がどのトラックの情報なのかを示します。
Aの1行目の t120 はテンポが120、W0 は WT0 で設定した音を鳴らす、
o4 はオクターブ、v31 は音量を示します。
Aの2行目はどの高さの音をどの長さで流すかを指定している部分です。
cから順にドレミファソラシと対応しています。途中の > でオクターブを1つ上げて次のcが高いドになるようにしています。
音色を変えて遊ぶ
とりあえず鳴らすことはできたので今度は @WT の中身をいじっていろんな音を出していきます。
と言ってもあの数字の羅列をいちいち入力するのも面倒なので HuSIC WAVE EDITOR を使っていきます。
heswav001 の中にある wavlist.zip を解凍して heswav001/wavlist/ に.dat ファイルが入った状態にしてから heswav001.exe を起動します。
すると左側に緑のグラフのようなものが出ます。
これが先の test.hes で出た音の波形です。
右のメニューから 000001.dat を選択すると波形の表示が変わります。
今度はこの波形を鳴らしてみます。
000001.dat を選択した状態で 「Clipboard」 を押し、
先の test.mmlの @WT0 の下に貼り付けて @WTx の x を 1 に書き換えます。
そして A のトラックに W1 と追加して再び音符を並べていきます。
@WT0={
$02,$04,$06,$09,$0c,$0f,$11,$14,$16,$18,$1a,$1b,$1d,$1f,$1e,$1c,$19,$18,$16,$14,$13,$10,$0f,$0d,$0b,$0a,$08,$07,$05,$02,$01,$00
}
@WT1={
$02,$02,$03,$04,$05,$06,$06,$07,$08,$09,$0a,$0a,$0b,$0c,$0d,$0f,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f
}
A t120 W0 o4 v31
A cdefgab > c < A W1 A cdefgab > c <
保存した後、同じように make_hes.bat にドラッグし、できた.hesファイルをプレイヤーで再生すると、
先ほどの音の後に別の音色の音が鳴りました!!!
最後に
今回はPCエンジンの音源を鳴らしたり、音を変えることができました。
もちろんこれはできることのほんの一部でしかありません。
もしこれをきっかけに興味を持ったら下記のサイトでいろいろ調べてみてください。
- HuSIC Technical Document
ここで紹介した以外のHuSICで使うことができるコマンドがのっています。 - MCK wiki
似たような方法でファミコン音源で遊ぶことができます。 - FMP7
似たような方法でFM音源などを扱うことができます。
明日のブログリレーはkazさんの「部内のサーバ/システムについて」とninjaさんの「ドット絵体験会のゲームの解説」です。お楽しみに。