TETORICA-FM2612 · WEB / NODE · v0.2.40
Small examples.
One topic at a time.
機能ごとに小さく分けた音源サンプル集。音源操作、音色ファイル、アプリ・ゲームへの組み込みを試せます。PCM 生成の例は Web / Node、Web Audio の埋め込み例はブラウザ向けです。各例に読み込みから出力まで省略せず記述しています。
npm install
npm run dev
公開済み npm パッケージを import して使います。基本例の Web は WorkletTransport、Node は AudifyTransport で発音します。PCM 生成・WAV 保存は専用例で説明します。各例のコードは共通ヘルパーを使わず、重複も含めて全部載せています。
MegaSynth の Node 例(embedding/06〜10)は 0.2.40 の実験 API を使います。オフラインの WAV 生成と、audify による Worker 内リアルタイム出力を試せます。
チップ別の基本例は npm 0.2.40 の WorkletTransport / AudifyTransport を使用します。Node のリアルタイム再生には npm install audify が必要です。
Mixer プリセットの比較では、FM・Sega PSG・AY・NESを順に鳴らし、従来値とcalibratedの音量を聴き比べられます。
DX7 はブラウザの Playground Runtime で、メロディ・和音・SysEx 音色の選択を試せます。自作バンクを同梱しています。
SNES / SPC は実験的実装です。自作 BRR の演奏と、SPC の再生・WAV 出力を試せます。実ゲームや Tauri での互換性確認は継続中です。
PC Engineは32点・5-bit波形、Noise、ハードウェアLFOの3例。WebはMain / Workerでリアルタイム再生し、Nodeは音声デバイスなしでWAVを生成します。
PC Engine CD-ROM²はCD-DAのトラック操作、MSM5205のサンプル変換・ループ、HuC6280との3系統合奏。自作音声を生成するので外部ファイルなしで試せます。
OPL系は4モデルの基本演奏、OPL2の音作り・Rhythm、OPL3の4-op・Stereoの4例。WebはAudioWorkletで再生し、コードを編集して試せます。NodeはWAVを生成します。
AYのトーン・ノイズ・エンベロープ、Master SystemのOPLL音色・Rhythm、MSX / MSX Audioの合奏を追加しました。Webでコードを編集し、NodeでWAVに保存できます。
WonderSwanは4CHの4-bit波形、Noise・Sweep、時刻付きVoice PCMの3例。Webは汎用AudioWorklet、Nodeはraw PCMのWAV保存です。PCMの各バイトにJavaScriptタイマーは使いません。
POKEYは4CHのメロディ、Noise・結合タイマー、2台で4+4CHを使うDual POKEYの3例。Webでコードを編集して試奏し、Nodeでは同じDC除去処理を通したWAVを保存できます。
C64 SIDは6581/8580 Previewを選び、3ボイスとADSR、共有Filterの音作りを試せます。WebはAudioWorklet、Nodeは音声デバイス不要のWAV生成です。共通factoryの最小例では、model選択・1音の設定からPCM保存までを確認できます。
0.2.33〜0.2.37の追加分として、PS1 SPU、Saturn SCSPのPCM・LFO・slot変調、PCM→BRR/ADPCM-A、Game Boy Waveの実音previewも掲載しています。PCM変換はソフトウェア前処理として、実チップの再生と分けて示します。
PS1 SPUのVAB例では標準バンクからProgram/Toneを選んで試奏し、同じ音色をWAVや標準VABへ書き出せます。自作バンクを同梱し、Tetorica JSONへの変換は不要です。
Loading examples…
フォルダーの読み方
examples/genesis/fm/01-single-note/
├── README.md 説明・実行方法
├── web/
│ ├── index.html この例だけを試すページ
│ └── main.js 読み込み・音源操作・再生・WAV 保存
└── node/
└── main.mjs 読み込み・音源操作・WAV 保存
一覧から Web 版を開くか、repository ルートで Node 版を実行してください。
node examples/genesis/fm/01-single-note/node/main.mjs
# output/genesis-fm-01-single-note.wav に保存
Node.js 22 以降。Node 版で保存した WAV は音声プレイヤーで再生できます。Web 版の音声は Play を押して開始します。
npm run build で静的サイトを dist/ に生成します。JS・WASM・ライセンスを含む npm package も同梱されます。