neo-geo/adpcm-a/01-pcm-encode · WEB / NODE
PCM → ADPCM-A → YM2610B
ソフトウェアでADPCM-Aへ変換して、実際のYM2610Bで再生
Software preparation → real sound-chip rendering
自作PCMを8 MHz / 432 ≈ 18,518.5 Hzで生成し、ソフトウェアでADPCM-Aへ変換します。256 byte境界のROM範囲を実チップコアで1回だけ再生します。ADPCM-BやYM2608用データとは別形式で、ADPCM-AにハードウェアのPitch変更・Loopはありません。
Ready.
青:自作PCM / オレンジ:変換結果の比較。BRR・ADPCM-Aでは音源コア出力の抜粋、Game Boyでは4 bit Wave RAM値を表示します。振幅・位相・サンプル数が異なるため、誤差の重ね合わせ表示ではありません。
音源はゲーム機のCPUエミュレーションやゲームプログラムを使わず、公開npmの実WASM coreでオフライン計算します。Web AudioのAudioBufferはその結果を再生するプレイヤーです。Play sourceは変換前の音との比較で、音量正規化は行いません。Stopは準備中も使え、遅れて返った結果は再生しません。
Web — 全コード
Loading…Node — WAV保存
node examples/neo-geo/adpcm-a/01-pcm-encode/node/main.mjs ./converted-chip.wavLoading…