ギターエフェクターをシミュレートする Web アプリケーション。
ブラウザ上でギターエフェクターを並べ替え、音声ファイルにエフェクトを適用できるアプリです。
https://pedalboard.thiger7.com/
| カテゴリ | エフェクト |
|---|---|
| 歪み系 | Booster, Blues Driver, OverDrive, Distortion, Fuzz, Metal Zone, Heavy Metal |
| モジュレーション系 | Chorus, Dimension, Vibrato |
| 空間系 | Delay |
- React - UI フレームワーク
- TypeScript - 型安全
- Vite - ビルドツール
- Vitest - ユニットテスト
- Playwright - E2E テスト
- Biome - Linter/Formatter
- wavesurfer.js - 波形表示
- dnd-kit - ドラッグ&ドロップ
- FastAPI - Web フレームワーク
- Pedalboard - Spotify の音声処理ライブラリ
- pytest - テストフレームワーク
- ruff - Linter/Formatter
- pyright - 型チェッカー
- pip-audit - 脆弱性チェック
- GitHub Actions - 自動テスト・静的解析
- Renovate - 依存関係の自動更新
- CloudFront - 統一エントリーポイント
/*→ S3 (Frontend) へルーティング/api/*→ API Gateway へルーティング
- S3 (Frontend) - 静的ファイルホスティング
- OAC (Origin Access Control) で CloudFront からのみアクセス可能
- API Gateway (HTTP API) - REST API エンドポイント
- Lambda へのプロキシ統合
- Lambda (Processor) - API ハンドラー
- ECR コンテナイメージ (arm64)
- FastAPI アプリケーション
- Lambda (Worker) - 音声処理ワーカー
- SQS トリガーで起動
- 音声ファイルにエフェクトを適用
- S3 (Audio) - 音声ファイルストレージ
input/- アップロードされた入力ファイルoutput/- エフェクト適用後の出力ファイルoutput/normalized/- 波形表示用の正規化ファイル- ライフサイクルルール: 7日で自動削除
- SQS - 非同期ジョブキュー
- Jobs Queue - 音声処理ジョブ
- Dead Letter Queue - 失敗したジョブ
- DynamoDB - ジョブ管理
- ジョブのステータス管理 (pending → processing → completed/failed)
- TTL: 7日で自動削除
- ECR - Lambda 用コンテナレジストリ
- CloudWatch Logs - ログ管理
/aws/lambda/...- Lambda ログ (Processor, Worker)/aws/apigateway/...- API Gateway ログ
infra/- Terraform による IaCscripts/deploy.sh- デプロイスクリプト
- client/ - React + TypeScript + Vite
- エフェクターボードの UI
- ドラッグ&ドロップでエフェクトの並び替え
- 波形表示 (wavesurfer.js)
- backend/ - FastAPI + Python
- REST API エンドポイント
- 音声処理 (Spotify Pedalboard ライブラリ)
- Lambda 関数としてもデプロイ可能
CONTRIBUTING.md を参照してください。

