そのままでは再生できないので wav ファイルから独自フォーマットに変換するツールを用意します。
PC 等で再生できる PCM データから波形メモリチャンネル用に 4bit(2data/1btye)か、他のチャンネル用に 4bit(1data/1byte) にします。
gbpcm_20250801.zip
.NET Frameworkが必要です。Windows Update で入手できます。
「Ref」ボタンでファイルを選択するか、WAVファイルをドラッグ&ドロップすると、選択されたファイルが表示されます。
その状態で出力オプションをチェックし、「Output」ボタンを押すと、GB 用 PCMファイルが出力されます。
Windows で再生できる RIFF WAV のみ対応。
かなりいい加減なので賢い補完とか一切やりません。
ちゃんとした音声波形編集ソフトでノイズリダクションなり補完処理なりを加えた上で、この変換ツールに通した方が良いでしょう。
あと、22050Hz -> 4096Hz などのダウンサンプルは(一応)可能ですが、2048Hz -> 4096Hz などのアップサンプルは無理です。ごめんなさい。
開発者向けです。
これで作ったデータを何かですぐに再生できるというものではなく、加工したデータに合わせて自分でプログラムを書いて再生するためのものです。
そのためのサンプルを↓に置いています。
設定項目は大体わかると思いますが、1data/1byte に設定した場合、サブ項目として「set bit3=1」というのがあります。
これは PCM ドライバがレジスタに 4bit ずつデータを書き込む際、データと同時にエンベロープフラグを立てて書き込むと
プチノイズが多少軽減できるというおまじないのようなテクニックがあり、これをあらかじめデータ側でフラグ立て処理するというものです。
この場合、上位 4bit に PCM データ、bit3 を強制的に 1 にするか 0 にするかを設定できます。
$00 を終了サインにする設定はデータとしての $00 が $01 に置換されます。音質にやや影響します。
1data/1byte かつ bit3=1 設定 ではデータとしての $00 は $08 になる(音質には影響なし)のでこの置換は起こりません。
16byte 揃えのチェックは波形メモリ音源での PCM が 16byte(32データ)単位なので、波形メモリ PCM を使用する場合はチェックするとよいでしょう。
別ページの GBMC で使用する場合、起動直後の状態(4096Hz,2data/1byte,16byte 揃え)のまま変換してください。
「3bit PCM」の項目はこのページの下の「マスターボリュームによる 3bit PCM 再生」を参照のこと。
3bit に変換した場合は L,R で同じデータが出力されます。本来は左右で分けて 2ch PCM やステレオ再生みたいなことも可能なのですが、
あまり使い道が無い(PCM 再生中は他の音が出せない)ので省略しました。
なお、3bit PCM の場合、終端サインは $FF を使うので「$00 を終端にする」項目は無意味です。
以上の設定を弄って出来たデータフォーマットは全て再生プログラムの仕様次第なので、結局は扱いやすいように加工するのがベストです:-)