[WEB App] SynthRackGenerator v1.0 — レトロシンセサイザー & FXエンジン(ブラウザ完結型)
SynthRackGenerator v1.0
外部ライブラリを一切使わず、ブラウザ標準の Web Audio API と Canvas2D のみで構築されたレトロサウンドジェネレーター&エフェクトエンジン。
主オシレーターとFM変調用副オシレーターによる合成、ADSR エンベロープ、Biquad Filter、Bitcrusher や Stereo Delay といった DSP エフェクト、さらに 8 ステップのアルペジエーターや Canvas2D ビジュアライザーを備えたオールインワンのモジュラー・サウンドモジュールです。
作成したパッチは LocalStorage への名前付き保存・呼び出しが可能なほか、JSON や URL Hash による共有、および OfflineAudioContext を利用した 16-bit PCM WAV ファイルの即時書き出しに対応しています。
SynthRackGenerator v1.0
Web Audio API で構築するブラウザ完結型レトロシンセサイザー & FXエンジン。8ステップアルペジエーター、Canvasビジュアライザー、LocalStorageプリセット保存、WAV書き出し対応。
lain-lab.comスクリーンショット
メインラック UI
動画(GIF)
特徴
- 完全ブラウザ完結処理:
外部ライブラリ(Tone.js や Howler.js 等)に依存せず、ブラウザの Web Audio API のみでリアルタイム音響合成と DSP エフェクトを実現。 - 豊富な音声パラメータ:
OSC(波形4種 / Detune / FM Depth)、ADSR エンベロープ、Pitch Sweep、Biquad Filter、Bitcrusher (WaveShaperNode)、Stereo Delay などを搭載。 - 8ステップ・シーケンサー:
BPM 調整と 4 種類のスケールクオンタイズ(Chromatic / Major / Minor / Pentatonic)に対応したアルペジエーター。 - リアルタイム Canvas2D ビジュアライザー:
60fps で動く波形表示(オシロスコープ)と周波数解析(FFT スペクトラムアナライザー)のワンタップ切り替え。 - LocalStorage パッチ管理スロット:
ブラウザ内部に名前付きでパッチを複数保存・ロード・削除できるユーザー保存スロット機能。 - 多彩なデータ入出力 & WAV 書き出し:
OfflineAudioContextによる 16-bit PCM WAV ダウンロード、JSON ファイル書き出し・読み込み、Base64 URL Hash パッチ共有、SFX ランダマイザーを搭載。
モジュール構成
| モジュール名 | 主要機能・パラメータ |
|---|---|
| 1. OSCILLATORS & FM | 主/副オシレーター(Square / Saw / Sine / Triangle, Freq)、Detune、FM Modulation、ノイズジェネレーター |
| 2. ENVELOPES | AMP ADSR(Attack, Decay, Sustain, Release)、Pitch Envelope(Pitch Sweep, Sweep Time) |
| 3. FILTER & LFO | Biquad Filter(Lowpass / Highpass / Bandpass, Cutoff, Resonance)、Pitch / Filter LFO(Rate, Depth) |
| 4. DSP EFFECTS & MASTER | Bitcrusher(Bit Depth 2-16bit, Drive)、Stereo Delay(Time, Feedback)、Master Output Volume |
| Visualizer & Trigger Deck | オシロスコープ ↔ スペクトラムアナライザー切替描画、SPACEキー / トリガーボタン発音 |
| 5. ARPEGGIATOR / SEQUENCER | 8ステップ・シーケンサー、BPM制御、スケールクオンタイズ(Chromatic / Major / Minor / Pentatonic) |
| Preset & Export | LocalStorage スロット保存/呼び出し/削除、JSON Import/Export、URL Hash 共有、Offline WAV レンダリング |
使い方
1. 音色の構築・調整
モジュール 1〜4 の各種スライダーを操作して音色を作成します。
TRIGGER SOUND (SPACE) ボタンまたは PC キーボードを押すことでリアルタイムに発音確認ができます。Randomize ボタンを押すと、ランダムな効果音パラメータを生成できます。
2. シーケンサーでの自動演奏
モジュール 5(8-STEP ARPEGGIATOR / SEQUENCER)で START SEQ をクリックすると 8 ステップの自動演奏が始まります。
各ステップの ON/OFF と半音(St)オフセット値、BPM、スケール形式を変更することで多彩なフレーズを作成できます。
3. LocalStorage パッチ管理
トップバーのパッチ管理エリアでパッチ名(例: My Patch 1)を入力し Save Slot を押すと、ブラウザ内に音色パラメータが保存されます。
保存したパッチはドロップダウンから選択して Load でいつでも呼び出せます。
4. パッチ共有と WAV ファイルエクスポート
- Download WAV:
OfflineAudioContextを使用して現在の設定の音声を 16-bit 44.1kHz PCM WAV ファイルとしてレンダリングしダウンロード。 - Export / Import JSON: 設定値を構造化 JSON ファイルとして保存・復元。
- Copy URL: パッチ設定を Base64 化して URL ハッシュに埋め込み、リンク共有が可能。
キーボード操作 (DAWモード)
| キー | 操作内容 |
|---|---|
| Z ~ M | ノート演奏 (C4 〜 B4) |
| Q ~ U | ノート演奏 (C5 〜 B5) |
| SPACE | 音声トリガー発音 |
| ESC | サウンド停止 / 画面フォーカスリセット |
技術スタック
- Web Audio API (AudioContext / OfflineAudioContext / AudioNode) — リアルタイム音源合成・エフェクト処理・WAV生成
- Canvas2D API — 60fps オシロスコープ / FFT 周波数アナライザー描画
- JavaScript (ES6+) — パラメータ状態管理・シーケンサータイマー・LocalStorage 制御
- Astro — Webアプリケーション基盤
技術記事
[Astro] #142 Web Audio API で構築するブラウザ完結型レトロシンセサイザー & FXエンジン — SynthRackGenerator v1.0 の実装記録
Web Audio API をフル活用し、OSC・ADSR・Filter・Bitcrusher・Sequencer・Visualizer・LocalStorage プリセット管理を備えた 8-bit サウンドジェネレーター SynthRackGenerator v1.0 のアーキテクチャと実装詳細。
lain-lab.com更新履歴
- [2026-09-11]: v1.0 初回公開。
- Web Audio API による基本音響パイプライン(OSC/ADSR/Filter/Bitcrusher/Delay)構築
- 8ステップ・シーケンサーおよび 4 種スケールクオンタイズ機能
- Canvas2D 波形(オシロスコープ)/ スペクトラムアナライザー切替表示
- LocalStorage によるブラウザ内ユーザープリセット保存スロット搭載
- OfflineAudioContext による WAV ファイルエクスポート
- JSON インポート/エクスポートおよび URL Hash パッチ共有機能対応