https://github.com/takunagai/sonicbloom
インタラクティブデジタルアート作品。ペンタトニックスケールと黄金比に基づく音響理論と物理演算パーティクルシステムが融合し、マウス&クリック操作でリアルタイムに美しい視覚・聴覚体験を創出します。
https://github.com/takunagai/sonicbloom
interactive-a interactive-animation p3 vibe-coding
Last synced: 10 months ago
JSON representation
インタラクティブデジタルアート作品。ペンタトニックスケールと黄金比に基づく音響理論と物理演算パーティクルシステムが融合し、マウス&クリック操作でリアルタイムに美しい視覚・聴覚体験を創出します。
- Host: GitHub
- URL: https://github.com/takunagai/sonicbloom
- Owner: takunagai
- Created: 2025-08-16T23:43:32.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-17T00:45:15.000Z (10 months ago)
- Last Synced: 2025-08-17T01:13:03.066Z (10 months ago)
- Topics: interactive-a, interactive-animation, p3, vibe-coding
- Language: JavaScript
- Homepage: https://sonicbloom.autumn-wave-9579.workers.dev
- Size: 115 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🌸 SonicBloom
**音と映像が織りなす美しい調和のインタラクティブアート体験**
[](https://opensource.org/licenses/MIT)
[](https://p5js.org/)
[](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
### 🎮 [今すぐプレイ](https://sonicbloom.autumn-wave-9579.workers.dev)
*音楽理論とビジュアルアートが融合した、感情に響く体験型デジタルアート*
---
## 📖 概要
SonicBloomは、p5.jsとWeb Audio APIを活用して作られた、音と映像が調和したインタラクティブアート作品です。ペンタトニックスケールと黄金比に基づく音響理論と、物理演算によるパーティクルシステムが組み合わさり、ユーザーの操作に応じて美しい視覚・聴覚体験を生み出します。
### 🎯 プロジェクトの特徴
- **🎵 音楽理論に基づく音響システム**: ペンタトニックスケール、黄金比、倍音構造による調和の取れたサウンド
- **⚡ リアルタイム物理演算**: 高度なパーティクルシステムによる自然な動きと相互作用
- **🖱️ 直感的インタラクション**: マウス操作による即座の視覚・聴覚フィードバック
- **🎨 動的ビジュアルエフェクト**: 5種類の異なるエフェクトモードと3秒間のドラッグトレイル
- **🚀 最適化されたパフォーマンス**: オブジェクトプールとメモリ管理による滑らかな体験
- **🔧 設定駆動アーキテクチャ**: カスタマイズ可能な全パラメータと統一されたエラーハンドリング
---
## 🎮 操作方法
### 🖱️ 基本操作
| 操作 | 効果 | 説明 |
|------|------|------|
| **初回クリック** | 🔊 サウンドシステム開始 | Web Audio APIの制限により、最初のクリックで音声を有効化 |
| **クリック** | 💥 爆発エフェクト | クリック位置を中心とした爆発的パーティクル生成 |
| **ドラッグ** | 🌊 パーティクル操作 | マウス軌跡に沿ってパーティクルが引き寄せられ、3秒間の美しい軌跡を表示 |
| **Space** | ⏸️ 一時停止/再開 | アニメーションの停止・再開 |
| **R** | 🔄 リセット | 全パーティクルとエフェクトをリセット |
| **M** | 🔇/🔊 ミュート | サウンドシステムのオン/オフ |
| **D** | 📊 デバッグ情報 | パフォーマンス統計とシステム情報の表示 |
### 💡 遊び方のコツ
- **同時爆発を楽しむ**: Spaceキーで一時停止中に複数箇所をクリックしてパーティクルをセット → 再開すると一斉に爆発!
- **パーティクル誘導**: ドラッグでパーティクルを引き寄せて誘導。素早くドラッグすると、より強力に引き寄せられます!
### 🎨 エフェクトモード
| キー | モード | 視覚効果 | 音響効果 | 特徴 |
|------|--------|----------|----------|------|
| **1** | 🎆 爆発 | 放射状拡散、リバーブ効果 | 低音衝撃 + 高音煌めき | バランスの取れた基本モード |
| **2** | 🌈 トレイル | 軌跡表示、ディレイエコー | ペンタトニック旋律 | 美しい軌跡と余韻のあるサウンド |
| **3** | 🌙 虹色パルス | 色相変化、倍音フィルター | ハーモニック和音 | 色彩豊かな視覚と豊かな音響 |
| **4** | 🌍 重力 | 重力シミュレーション | ピッチベンド | 物理的リアリティのある動き |
| **5** | 🌀 渦巻き | 回転運動、LFO変調 | 空間的パンニング | 動的で立体的な体験 |
### 🎵 サウンドシステム
#### 音響理論に基づく設計
- **基準周波数**: 432Hz(調和の取れた自然周波数)
- **スケール**: ペンタトニック(C-D-E-G-A)による癒しの音階
- **倍音構造**: 黄金比(1.618)に基づく美しい音色
- **空間音響**: ステレオパンニングによる立体音場
#### インタラクティブサウンド
- **位置連動**: マウス位置に応じた音程とパンニング
- **速度感応**: ドラッグ速度による音量とエフェクト強度
- **アンビエント**: 70BPMの心拍リズムによる安らぎ
- **リアルタイム合成**: 全サウンドがリアルタイム生成
---
## 🚀 ローカル開発
### 📥 セットアップ
```bash
# 1. リポジトリをクローン
git clone https://github.com/takunagai/sonicbloom.git
cd sonicbloom
# 2. 依存関係をインストール
npm install
# 3. 開発サーバーを起動
npm run dev # http://localhost:8000
```
**注意**: p5.soundライブラリのCORS制限により、ローカルHTTPサーバーでの実行が必須です。
---
## 🛠️ 開発者向け情報
### 🏗️ 技術スタック
- **p5.js 1.9.0** & **p5.sound**: クリエイティブコーディングフレームワーク(CDN経由)
- **Web Audio API**: リアルタイム音声処理
- **Vanilla JavaScript**: ES6+ モジュラー設計
- **http-server**: 軽量Node.js HTTPサーバー
### 📁 主要ファイル
- `sketch.js` - p5.jsメインループ
- `config.js` - 設定値一元管理
- `soundSystem.js` - 音響システム(Web Audio API)
- `particleSystem.js` - パーティクル管理システム
- `dragTrail.js` - ドラッグ軌跡管理
### ⚙️ カスタマイズ
`config.js` で各種パラメータを調整可能:
```javascript
Config.PARTICLES.MAX_COUNT = 2000; // 最大パーティクル数
Config.CANVAS.TARGET_FPS = 120; // 目標フレームレート
Config.SOUND.DEFAULT_MASTER_VOLUME = 0.8; // 音量設定
```
詳細な開発ガイドラインは [CLAUDE.md](CLAUDE.md) を参照してください。
---
## 🔧 トラブルシューティング
- **音が出ない**: 最初にクリックして音声を初期化してください(Web Audio API制限)
- **動作が重い**: Dキーでデバッグ情報を表示し、パーティクル数を確認(1000個以下推奨)
- **CORSエラー**: `file://`ではなくHTTPサーバー経由でアクセス(`npm run dev`)
---
## 🤝 コントリビューション
Issue報告やPull Requestを歓迎します。詳細な開発ガイドラインは [CLAUDE.md](CLAUDE.md) を参照してください。
---
## 📄 ライセンス
このプロジェクトは **MIT License** の下で公開されています。
---
**✨ 美しい音と映像の調和をお楽しみください ✨**
*SonicBloom - Where Sound Meets Art*