Lab/Howler.js Playground

Webオーディオ・ショーケース公開中2026

Webオーディオライブラリ Howler.js のドラム・スプライト・BGM・3D空間音響を、読むのではなく実際に鳴らして体感できるインタラクティブ・ショーケース。

サイトを開く
Howler.js Playground(鳴らして触るWebオーディオ)

Screenshots

Howler.js Playground(鳴らして触るWebオーディオ) スクリーンショット 1
Howler.js Playground(鳴らして触るWebオーディオ) スクリーンショット 2
Howler.js Playground(鳴らして触るWebオーディオ) スクリーンショット 3

Overview

概要

Howler.js の主要機能を5つのデモと録音機能に落とし込んだ体験型サイトです。ページ上で鳴る音はすべて Howler.js が再生し、その出力を AnalyserNode でリアルタイム解析・可視化しています。音声素材は外部ファイルを使わず、すべてコードで合成しています。

How to use

遊び方・使い方

上部のグローバルバーで全体音量・ミュートと同時発音数を確認できます。01のドラムパッドはクリック/タップ/キー(A〜K)で叩け、連打で同じ音が重なるプール再生を体感できます。02はスプライト、03はBGMをフェード・再生速度・シーク・ループで操作し周波数スペクトラムを表示、04は2トラックのクロスフェード。05ではレーダー上のパックをドラッグまたは矢印キーで動かし、左右定位と距離減衰を聴き分けられます(ヘッドフォン推奨)。全デモの共通出力は録音してwebmで書き出せます。

Tech stack

技術スタック

howler.js 2.2Web Audio APINext.js 16React 19TypeScriptTailwind CSS v4

lib/audioBus の ensureAnalyser() が初回再生時に Howler.masterGain → AnalyserNode → destination へ繋ぎ替え、全デモの音を一括解析。録音はマイクを使わず MediaStreamDestination+MediaRecorder で内部音声グラフを直接キャプチャします。3D音響は pannerAttr(HRTF/逆二乗距離モデル)で定位と距離減衰を自動計算。

Highlights

工夫した点

  • 全デモが共通の Howler.masterGain を通る単一のWeb Audioグラフを流れる設計にし、AnalyserNodeを一度だけ挿入してどのデモの音も同じ可視化・録音に集約
  • 音声素材を外部ファイルに頼らず固定シードの決定論的WAV合成で生成し、毎回同じ音が鳴るよう再現性を確保
  • キーボード操作・focus-visible・prefers-reduced-motion・aria-liveなど、音中心のUIでもアクセシビリティに配慮

To improve

改善したい点

  • デモが5種+録音と多く、初見ではどこから触ればよいか導線がやや分かりにくい
  • 録音書き出しがwebm依存のため、Safari系などブラウザ間の挙動差を埋めたい
  • 合成音源が中心で、ユーザー自身の音源を読み込んで試す余地がある

What's next

今後の展望

  • 任意の音源やスプライトをアップロードして試せる入力機能の追加
  • 各デモに対応する Howler.js のコードスニペット併記で学習教材化
  • 可視化プリセット(スペクトラム/波形/パーティクル等)の拡充

Category

音楽・サウンド

Genre

Webオーディオ・ショーケース

Year

2026

Status

公開中