majidmanzarpour/threejs-game-skills

threejs-audio-generator

Generate, convert, clean, and integrate audio for Three.js browser games with ElevenLabs: sound effects, looping ambience, UI sounds, impact/weapon/vehicle audio, creature and boss stingers, announcer and dialogue TTS, voice conversion from a scratch perfor…

Vedi sorgente
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

Three.js Audio Generator

Game-ready audio for Three.js projects: generation, voice work, cleanup, and runtime integration. Provider: ElevenLabs.

Resolve <this-skill-dir> from the actual loaded skill file. Resolve sibling skills beside it first, then use the runner's discovered paths. Do not mix installed versions or assume a particular home directory.

Reference

references/audio-workflows.md — the audio matrix, prompt patterns, generation and voice strategy, Web Audio manager shape, and runtime failure modes. Read it before planning a game's audio, generating a batch, wiring runtime playback, or converting voices.

When to use

SFX (jumps, hits, weapons, explosions, pickups, collisions, UI clicks) · ambience (wind, rain, city bed, engine hum, room tone, arena beds) · voice (announcer barks, boss lines, tutorial prompts, menu narration) · voice conversion from a scratch performance when timing and acting matter · cleanup and isolation before conversion or final use · Web Audio integration with loading, looping, manifests, volume groups, pause/resume, and gesture unlock.

Audio is not cosmetic for a premium game. Build an audio matrix from the events the game actually has; do not add dialogue, weapons, or ambience layers just to fill categories. Respect explicit silent, procedural-audio, accessibility, and external-service constraints. A narrow sound fix does not need a new soundtrack.

API key

The script reads --api-key or ELEVENLABS_API_KEY. Keys never go in skill files, game code, or reports.

bash
python3 <this-skill-dir>/scripts/threejs_audio_asset.py probe   # ELEVENLABS_API_KEY=SET|MISSING

Keys defined only in a shell profile can be absent from the process env; threejs-game-director/scripts/probe_asset_credentials.sh sources the profile and probes all three providers.

Add --validate to call GET /user and confirm the key actually works (prints VALID_USER=...) when a key is present but generation fails. A valid key can still be blocked by credit or plan limits, which surface as an HTTP 4xx from a real generation attempt — report that as a plan blocker rather than a missing key.

Commands

Run from the game project directory:

bash
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 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

Defaults

  • SFX: mp3_44100_128, 0.5–2.5s, prompt influence 0.55–0.8.
  • UI: 0.15–0.8s, high prompt influence, transients kept clear.
  • Ambience: 8–30s with --loop, prompt influence 0.3–0.55.
  • Voice: TTS for clean generated lines; voice-change when timing and acting from a scratch performance matter. Isolate noisy speech first.
  • Runtime: generate into the game project and load through Web Audio. Follow the project's asset/version-control policy; do not commit or publish unless asked. No API keys in browser code.

Recovery and Coordination

For coordinated games use the director's references/asset-recovery.md. Preserve outputs and the audio trigger mapping before retrying work. Distinguish missing credentials, permissions, exhausted credits, invalid input, and transient service failures. Reconcile an uncertain paid request before resubmitting; these one-shot commands do not implement Tripo task resume. Keep independent gameplay work moving and provide a local/synthesized fallback with honest limitations when genuinely blocked.

Listen to a representative effect or line before generating a batch. Test it through its real game event, then give the lead paths and local playback findings for one consolidated QA pass.

Report

Generated and processed file paths, the prompts, text, source files, voice IDs, durations, loop flags and formats behind them, the runtime trigger mapping and audio groups, and any remaining gaps or plan limits.

dallo stesso repository

Altri Skills

Tutti gli Skills
majidmanzarpour
Community

threejs-3d-generator

Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API. Use for text-to-3D, image-to-3D, game-ready GLB/FBX, characters, creatures, buildings, props, weapons, terrain, auto-rigging, animation retargeting, model texturing, voxel/LEGO stylization, and low-poly conversion. Pair with threejs-image-generator for concept and texture references first.

installazioni
5
GitHub Stars
1,8K
Aggiornato
5 set
majidmanzarpour
Community

threejs-aaa-graphics-builder

Upgrade Three.js games from prototype visuals to premium browser graphics: art-direction critique, procedural model building, material and texture libraries, world prop kits, shaders, VFX, lighting and render pipeline, LOD and instancing, render budgets, and a 10-category visual scorecard. Use when screenshots still look basic or the user asks for premium, AAA, high-fidelity, showcase, or less-basic graphics.

installazioni
5
GitHub Stars
1,8K
Aggiornato
5 set
majidmanzarpour
Community

threejs-debug-profiler

Debug and profile Three.js browser games: blank canvases, render and runtime bugs, asset and audio loading, animation, resize, mobile input, plus performance profiling of draw calls, triangles, textures, memory, shader and post-processing cost, and bundle size.

installazioni
5
GitHub Stars
1,8K
Aggiornato
5 set
majidmanzarpour
Community

threejs-game-director

Entrypoint for building, upgrading, and finishing Three.js browser games. Routes work across the sibling threejs- skills for gameplay, graphics, UI, 3D/image/audio asset generation, debugging, and release. Use for build-a-game, upgrade, polish, premium, AAA, high-fidelity, showcase, from-scratch, endless runner, arcade, action, and release-ready requests.

installazioni
5
GitHub Stars
1,8K
Aggiornato
5 set