diff --git a/INTRO_AUDIO_GUIDE.md b/INTRO_AUDIO_GUIDE.md new file mode 100644 index 000000000..5d22b790c --- /dev/null +++ b/INTRO_AUDIO_GUIDE.md @@ -0,0 +1,190 @@ +# ๐ŸŽต INTRO AUDIO GUIDE +## How to Add Voice & Music to Intro Sequence + +**Created:** January 10, 2026 +**Status:** Ready for audio files + +--- + +## ๐Ÿ“ REQUIRED AUDIO FILES + +### **1. AMBIENT SOUNDS (Background Loops)** + +**Location:** `/assets/audio/ambient/` + +**Files needed:** +- `noir_ambience.ogg` - Constant low noir drone (dark atmospheric hum) + - **Length:** Loop (10-20 seconds) + - **Volume:** Low (intro uses 0.15) + - **Style:** Dark, mysterious, bass-heavy ambient + - **Example:** Deep synth pad, noir detective atmosphere + +- `projector_loop.ogg` - Old film projector sound + - **Length:** Loop (5-10 seconds) + - **Volume:** Medium-low (intro uses 0.2) + - **Style:** Mechanical clicking, film reel aesthetic + - **Example:** Vintage film projector, subtle mechanical rhythm + +--- + +### **2. VOICE TRIGGERS (Optional Narration)** + +**Location:** `/assets/audio/voiceover/` + +**Files needed (Kai's voice):** +- `kai_memory_01.mp3` - "Nekoฤ smo imeli barve..." +- `kai_memory_02.mp3` - "Potem je priลกla tema..." +- `kai_memory_03.mp3` - "In ostal sem sam... z luknjo v glavi." + +**Voice specs:** +- **Character:** Kai (young adult male, 25 years old) +- **Emotion:** Melancholic, nostalgic, tired +- **Language:** Slovenian +- **Accent:** Neutral Slovenian +- **Delivery:** Slow, reflective, ADHD energy (slightly rushed at times) + +--- + +## ๐ŸŽ™๏ธ HOW TO GENERATE VOICES + +### **Option A: Edge-TTS (Free, AI)** + +Use Edge-TTS for instant voice generation: + +```bash +# Install Edge-TTS +pip install edge-tts + +# Generate voices +edge-tts --text "Nekoฤ smo imeli barve..." --voice sl-SI-PetraNeural --write-media assets/audio/voiceover/kai_memory_01.mp3 + +edge-tts --text "Potem je priลกla tema..." --voice sl-SI-RokNeural --write-media assets/audio/voiceover/kai_memory_02.mp3 + +edge-tts --text "In ostal sem sam... z luknjo v glavi." --voice sl-SI-RokNeural --write-media assets/audio/voiceover/kai_memory_03.mp3 +``` + +**Best Slovenian voices:** +- `sl-SI-RokNeural` - Male, mature +- `sl-SI-PetraNeural` - Female, clear + +--- + +### **Option B: Manual Recording** + +1. Use Audacity or QuickTime to record +2. Read scripts slowly, emotionally +3. Export as MP3 (128kbps minimum) +4. Place in `/assets/audio/voiceover/` + +--- + +## ๐ŸŽต HOW TO GET AMBIENT AUDIO + +### **Noir Ambience (noir_ambience.ogg)** + +**Option 1: Generate with AI** +- Use: Suno AI, Beatoven.ai, or AIVA +- Prompt: "Dark noir ambient drone, deep bass, mysterious atmosphere, loopable" + +**Option 2: Freesound.org** +- Search: "noir ambient" or "dark drone" +- Filter: CC0 or Attribution license +- Download and convert to .ogg + +**Option 3: Create in DAW** +- Use: Audacity, GarageBand, FL Studio +- Add: Deep bass synth pad (50-100 Hz) +- Add: Subtle noise (brown noise at 10%) +- Export: OGG format + +--- + +### **Projector Loop (projector_loop.ogg)** + +**Option 1: Freesound.org** +- Search: "film projector" or "reel loop" +- Download 8mm or 16mm projector sounds +- Convert to .ogg + +**Option 2: Sample Pack** +- Kenney.nl - Free SFX packs (Mechanical/Vintage) +- BBC Sound Effects Library (Public Domain) + +--- + +## ๐Ÿ”ง CONVERT TO OGG FORMAT + +**Using FFmpeg:** + +```bash +# Install ffmpeg (if needed) +brew install ffmpeg + +# Convert MP3 to OGG +ffmpeg -i input.mp3 -c:a libvorbis -q:a 4 assets/audio/ambient/noir_ambience.ogg + +# Convert WAV to OGG +ffmpeg -i input.wav -c:a libvorbis -q:a 4 assets/audio/ambient/projector_loop.ogg +``` + +--- + +## โœ… TESTING AUDIO + +**After adding files:** + +1. Place audio files in correct folders: + - `/assets/audio/ambient/noir_ambience.ogg` + - `/assets/audio/ambient/projector_loop.ogg` + - `/assets/audio/voiceover/kai_memory_01.mp3` + +2. Run game: + ```bash + npm start + ``` + +3. Watch intro - audio should play automatically! + +4. **If audio doesn't play:** + - Check console for errors + - Verify file names EXACTLY match (case-sensitive!) + - Check file formats (.ogg vs .mp3) + - IntroScene will NOT crash if files missing (safe loading!) + +--- + +## ๐ŸŽฏ QUICK START (Minimal Audio) + +**Don't have time? Start with JUST ambient:** + +1. Download free noir drone: + - https://freesound.org/search/?q=dark+ambient+drone + +2. Convert to OGG and place in `/assets/audio/ambient/noir_ambience.ogg` + +3. Leave voice empty - intro works without it! + +4. Add projector sound later for extra polish + +--- + +## ๐Ÿ“ CURRENT STATUS + +**โœ… Code ready** - IntroScene.js loads all audio +**โŒ Files missing** - Need to add audio files +**โœ… Safe loading** - Game won't crash without audio +**โœ… Folders created** - `/ambient/` and `/voiceover/` exist + +--- + +## ๐Ÿ’ก TIPS + +- **Audio is OPTIONAL** - Intro works visually without it! +- **Start simple** - Add ambient first, voices later +- **Keep files small** - OGG compression is good +- **Loop seamlessly** - Ambient should loop without clicks +- **Match emotion** - Kai's voice should sound tired but determined + +--- + +**Next step:** Add audio files and test! ๐ŸŽฌ๐Ÿ’œ๐ŸŽ†