mcpField
T
threejs-audio-generator

threejs-audio-generator

github.com/majidmanzarpourクリエイティブ・メディア2.6k3.0k 回インストール4 週間前に更新
リポジトリ

threejs-audio-generator について

Three.js ゲーム向けに音声素材を作成・統合するスキルです。ElevenLabs による効果音、音楽、音声の生成や、Web Audio での再生設定を扱います。

主な機能

  1. 01効果音と環境音の生成
  2. 02音楽と音声台詞の作成
  3. 03音声録音の変換とクリーンアップ
  4. 04Web Audio による再生統合

活用シーン

  1. 01アイテム取得音やゲーム環境音の作成
  2. 02メニューやゲーム内音楽の生成
  3. 03仮収録から音声台詞への変換
  4. 04ループ再生と音量グループの設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/majidmanzarpour/threejs-game-skills --skill threejs-audio-generator

インストール後、Claude Code で/threejs-audio-generatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
audio-workflows.md
scripts/
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_plan JSON を含む --plan FILE(--seed が機能するのはプランを使う場合のみ)。API にループ用フラグはありません。長さ、ループ、レイヤーについては、リファレンスの音楽の方針を参照してください。
  • ボイス:明瞭な生成音声には TTS を使用します。仮録音のタイミングや演技が重要な場合は voice-change を使用します。ノイズの多い音声は、先に分離してください。
  • ランタイム:ゲームプロジェクト内に生成し、Web Audio 経由で読み込みます。プロジェクトのアセット/バージョン管理ポリシーに従ってください。依頼がない限り、コミットや公開はしないでください。ブラウザーのコードに API キーを記載しないでください。

復旧と連携

連携してゲームを開発する場合は、ディレクターの references/asset-recovery.md を使用してください。作業を再試行する前に、出力とオーディオのトリガーマッピングを保持してください。認証情報の不足、権限、クレジットの枯渇、無効な入力、一時的なサービス障害を区別してください。課金の可能性があるリクエストの結果が不確かな場合は、再送信する前に状況を確認してください。これらの単発コマンドでは、Tripo のタスク再開は実装されていません。独立して進められるゲーム開発作業は継続し、実際にブロックされている場合は、制約を正確に伝えたうえでローカル生成または合成による代替手段を用意してください。

まとめて生成する前に、代表的な効果音またはセリフを聴いてください。実際のゲームイベントでテストした後、1 回にまとめて QA を実施できるよう、リード担当者にファイルパスとローカル再生の確認結果を共有してください。

レポート

生成および処理したファイルのパス、それらに使用したプロンプト、作曲プラン、テキスト、ソースファイル、ボイス ID、長さ、ループフラグ、ループポイント、形式、ランタイムのトリガーマッピングとオーディオグループ、残っている不足事項やプラン上の制約を報告してください。

コメント