threejs-audio-generator について
Three.js ゲーム向けに音声素材を作成・統合するスキルです。ElevenLabs による効果音、音楽、音声の生成や、Web Audio での再生設定を扱います。
主な機能
- 01効果音と環境音の生成
- 02音楽と音声台詞の作成
- 03音声録音の変換とクリーンアップ
- 04Web Audio による再生統合
活用シーン
- 01アイテム取得音やゲーム環境音の作成
- 02メニューやゲーム内音楽の生成
- 03仮収録から音声台詞への変換
- 04ループ再生と音量グループの設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ majidmanzarpour/ threejs-game-skills --skill threejs-audio-generatorインストール後、Claude Code で/threejs-audio-generatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/audio-workflows.mdscripts/threejs_audio_asset.py詳細
Three.js オーディオジェネレーター
Three.js プロジェクト向けのゲーム対応オーディオ:効果音、音楽、ボイス、ノイズ除去、ランタイム統合。プロバイダー:ElevenLabs。
実際に読み込まれたスキルファイルから <this-skill-dir> を特定してください。まず隣接するスキルをその場所から探し、次にランナーが検出したパスを使用してください。インストール済みの異なるバージョンを混在させたり、特定のホームディレクトリを前提にしたりしないでください。
リファレンス
references/audio-workflows.md — オーディオの一覧、プロンプトのパターン、生成、音楽、ボイスの方針、Web Audio マネージャーの構成、ランタイムでの障害モードを記載しています。ゲームのオーディオを計画する、まとめて生成する、ランタイム再生を組み込む、またはボイスを変換する前に読んでください。
使用する状況
効果音(ジャンプ、ヒット、武器、爆発、アイテム取得、衝突、UI クリック) · 音楽(メニューやゲームプレイのループ、ボスのテーマ、強度レイヤー、勝利/敗北の短いジングル) · 環境音(風、雨、街の背景音、エンジン音、室内の環境音、アリーナの環境音) · ボイス(アナウンサーの短いセリフ、ボスのセリフ、チュートリアルのプロンプト、メニューのナレーション) · タイミングや演技が重要な場合の仮録音からのボイス変換 · 変換や最終使用前のノイズ除去と音声分離 · 読み込み、ループ再生、マニフェスト、音量グループ、一時停止/再開、ユーザー操作による再生解除を備えた Web Audio 統合。
高品質なゲームでは、オーディオは単なる装飾ではありません。ゲームに実際にあるイベントに基づいてオーディオの一覧を作成してください。カテゴリーを埋めるためだけに、会話、武器、音楽、環境音のレイヤーを追加しないでください。無音、プロシージャルオーディオ、アクセシビリティ、外部サービスに関する明示的な制約を守ってください。限定的なサウンドの修正に、新しいサウンドトラックは必要ありません。
API キー
スクリプトは --api-key または ELEVENLABS_API_KEY を読み取ります。キーをスキルファイル、ゲームコード、レポートに記載しないでください。
python3 <this-skill-dir>/scripts/threejs_audio_asset.py probe # ELEVENLABS_API_KEY=SET|MISSING
シェルプロファイルでのみ定義されたキーは、プロセスの環境変数に存在しないことがあります。threejs-game-director/scripts/probe_asset_credentials.sh はプロファイルを読み込み、3 つのプロバイダーすべてを確認します。
キーが存在するのに生成に失敗する場合は、--validate を追加して GET /user を呼び出し、キーが実際に機能することを確認してください(VALID_USER=... を出力します)。有効なキーでも、クレジットやプランの上限によってブロックされる場合があり、実際の生成時に HTTP 4xx として表れます。その場合はキー不足ではなく、プランによる制約として報告してください。
コマンド
ゲームプロジェクトのディレクトリから実行します。
python3 <this-skill-dir>/scripts/threejs_audio_asset.py sfx \
--prompt "tight futuristic boost pickup, bright transient, short sparkling tail, arcade racing game" \
--duration 1.2 --prompt-influence 0.65 --out assets/audio/sfx/boost-pickup.mp3
python3 <this-skill-dir>/scripts/threejs_audio_asset.py sfx \
--prompt "seamless cyber resort ambience, distant surf, soft neon transformer hum, gentle crowd bed" \
--duration 12 --loop --prompt-influence 0.45 --out assets/audio/ambience/cyber-resort-loop.mp3
python3 <this-skill-dir>/scripts/threejs_audio_asset.py music \
--prompt "driving synthwave race loop, 128 BPM, punchy analog bass, bright arpeggios, steady energy with no intro or fade-out, designed to loop" \
--duration 60 --instrumental --out assets/audio/music/race-loop.mp3
python3 <this-skill-dir>/scripts/threejs_audio_asset.py tts \
--text "Perfect shot." --voice-id JBFqnCBsd6RMkjVDRZzb --out assets/audio/voice/perfect-shot.mp3
python3 <this-skill-dir>/scripts/threejs_audio_asset.py isolate \
--input assets/audio/source/noisy-boss-line.wav --out assets/audio/voice/boss-line-clean.mp3
python3 <this-skill-dir>/scripts/threejs_audio_asset.py voice-change \
--input assets/audio/source/scratch-boss-line.wav --voice-id JBFqnCBsd6RMkjVDRZzb \
--remove-background-noise --out assets/audio/voice/boss-line-final.mp3
デフォルト設定
- 効果音:
mp3_44100_128、0.5~2.5 秒、プロンプトの影響度 0.55~0.8。 - UI:0.15~0.8 秒、高いプロンプトの影響度、明瞭なトランジェントを維持。
- 環境音:
--loopを指定して 8~30 秒、プロンプトの影響度 0.3~0.55。 - 音楽:
music --prompt(--durationは 3~600 秒、--instrumental)または、セクション分けしたトラック用のcomposition_planJSON を含む--plan FILE(--seedが機能するのはプランを使う場合のみ)。API にループ用フラグはありません。長さ、ループ、レイヤーについては、リファレンスの音楽の方針を参照してください。 - ボイス:明瞭な生成音声には TTS を使用します。仮録音のタイミングや演技が重要な場合は
voice-changeを使用します。ノイズの多い音声は、先に分離してください。 - ランタイム:ゲームプロジェクト内に生成し、Web Audio 経由で読み込みます。プロジェクトのアセット/バージョン管理ポリシーに従ってください。依頼がない限り、コミットや公開はしないでください。ブラウザーのコードに API キーを記載しないでください。
復旧と連携
連携してゲームを開発する場合は、ディレクターの references/asset-recovery.md を使用してください。作業を再試行する前に、出力とオーディオのトリガーマッピングを保持してください。認証情報の不足、権限、クレジットの枯渇、無効な入力、一時的なサービス障害を区別してください。課金の可能性があるリクエストの結果が不確かな場合は、再送信する前に状況を確認してください。これらの単発コマンドでは、Tripo のタスク再開は実装されていません。独立して進められるゲーム開発作業は継続し、実際にブロックされている場合は、制約を正確に伝えたうえでローカル生成または合成による代替手段を用意してください。
まとめて生成する前に、代表的な効果音またはセリフを聴いてください。実際のゲームイベントでテストした後、1 回にまとめて QA を実施できるよう、リード担当者にファイルパスとローカル再生の確認結果を共有してください。
レポート
生成および処理したファイルのパス、それらに使用したプロンプト、作曲プラン、テキスト、ソースファイル、ボイス ID、長さ、ループフラグ、ループポイント、形式、ランタイムのトリガーマッピングとオーディオグループ、残っている不足事項やプラン上の制約を報告してください。