Compare commits
2 Commits
bfd0cb01e3
...
94ce7234aa
| Author | SHA1 | Date | |
|---|---|---|---|
| 94ce7234aa | |||
| 6e6f206d87 |
78
BETTER_VOICE_OPTIONS.md
Normal file
78
BETTER_VOICE_OPTIONS.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# 🎤 BETTER VOICE OPTIONS - Testing Guide
|
||||
|
||||
## Current Issue:
|
||||
Voices sound too robotic/AI-generated
|
||||
|
||||
## Solution:
|
||||
Test multiple Edge-TTS voices to find most natural sounding
|
||||
|
||||
---
|
||||
|
||||
## 🎙️ VOICE OPTIONS TO TEST
|
||||
|
||||
### **KAI (Young Male, 14 years old)**
|
||||
|
||||
**Current:** `en-US-GuyNeural` (energetic but robotic)
|
||||
|
||||
**Better alternatives:**
|
||||
1. `en-US-ChristopherNeural` - Young, warm, natural
|
||||
2. `en-US-EricNeural` - Teen friendly, less robotic
|
||||
3. `en-US-RogerNeural` - Mature teen voice
|
||||
4. `en-GB-RyanNeural` - UK teen, authentic
|
||||
|
||||
**Best choice:** `en-US-ChristopherNeural` (most natural for teen)
|
||||
|
||||
---
|
||||
|
||||
### **ANA (Young Female, 14 years old - twin)**
|
||||
|
||||
**Current:** `en-US-JennyNeural` (warm but AI-ish)
|
||||
|
||||
**Better alternatives:**
|
||||
1. `en-US-AriaNeural` - Natural, expressive
|
||||
2. `en-US-SaraNeural` - Youthful, authentic
|
||||
3. `en-GB-SoniaNeural` - UK accent, warm
|
||||
4. `en-US-MichelleNeural` - Soft, emotional
|
||||
|
||||
**Best choice:** `en-US-AriaNeural` (most expressive/natural)
|
||||
|
||||
---
|
||||
|
||||
### **GRONK (Deep UK voice)**
|
||||
|
||||
**Current:** `en-GB-RyanNeural` (good!)
|
||||
|
||||
**Keep or try:**
|
||||
1. `en-GB-ThomasNeural` - Deeper, gruffer
|
||||
2. `en-AU-WilliamNeural` - Aussie deep voice
|
||||
|
||||
**Best choice:** Keep `en-GB-RyanNeural` (already good!)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 GENERATE TEST SAMPLES
|
||||
|
||||
```bash
|
||||
cd /Users/davidkotnik/repos/novafarma/assets/audio/voiceover
|
||||
|
||||
# Test Kai voices
|
||||
python3 -m edge_tts --text "It all started with family. With colors. With hope." --voice en-US-ChristopherNeural --write-media test_kai_christopher.mp3
|
||||
|
||||
python3 -m edge_tts --text "It all started with family. With colors. With hope." --voice en-US-EricNeural --write-media test_kai_eric.mp3
|
||||
|
||||
# Test Ana voices
|
||||
python3 -m edge_tts --text "We were unstoppable. We were immortal." --voice en-US-AriaNeural --write-media test_ana_aria.mp3
|
||||
|
||||
python3 -m edge_tts --text "We were unstoppable. We were immortal." --voice en-US-SaraNeural --write-media test_ana_sara.mp3
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ✅ FINAL RECOMMENDATION
|
||||
|
||||
**Use these voices:**
|
||||
- **Kai:** `en-US-ChristopherNeural` (natural teen voice)
|
||||
- **Ana:** `en-US-AriaNeural` (expressive, emotional)
|
||||
- **Gronk:** `en-GB-RyanNeural` (keep - already good!)
|
||||
|
||||
**Regenerate all 21 files with better voices!**
|
||||
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_01.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_01.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_02.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_02.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_03.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_03.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_04.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_04.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_05.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_05.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_06.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_06.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_07.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_07.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_08.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/ana_en_08.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_01.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_01.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_02.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_02.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_03.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_03.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_04.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_04.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_05.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_05.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_06.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_06.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_07.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_07.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_08.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_08.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_09.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_09.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_10.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_10.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_11.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_11.mp3
Normal file
Binary file not shown.
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_12.mp3
Normal file
BIN
assets/audio/voiceover/_OLD_ROBOTIC/kai_en_12.mp3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -212,7 +212,7 @@ class IntroScene extends Phaser.Scene {
|
||||
// Fade to GameScene
|
||||
this.cameras.main.fadeOut(500, 0, 0, 0);
|
||||
this.cameras.main.once('camerafadeoutcomplete', () => {
|
||||
this.scene.start('GameScene');
|
||||
this.scene.start('StoryScene'); // Main Menu
|
||||
});
|
||||
}
|
||||
|
||||
@@ -437,7 +437,7 @@ class IntroScene extends Phaser.Scene {
|
||||
if (this.ambientAudio) this.ambientAudio.stop();
|
||||
this.cameras.main.fadeOut(1000, 0, 0, 0);
|
||||
this.cameras.main.once('camerafadeoutcomplete', () => {
|
||||
this.scene.start('GameScene');
|
||||
this.scene.start('StoryScene'); // Main Menu
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -524,41 +524,41 @@ class IntroScene extends Phaser.Scene {
|
||||
photo.setTint(0x66ff66);
|
||||
}
|
||||
|
||||
// 2 SECOND FADE-IN
|
||||
// FASTER FADE-IN (less black!)
|
||||
this.tweens.add({
|
||||
targets: [photo, frame],
|
||||
alpha: { from: 0, to: 1 },
|
||||
duration: 2000,
|
||||
duration: 1000, // Was 2000 - now faster!
|
||||
ease: 'Power2.easeOut'
|
||||
});
|
||||
|
||||
// GLITCH-OUT transition
|
||||
this.time.delayedCall(duration - 500, () => {
|
||||
// GLITCH-OUT transition (earlier start!)
|
||||
this.time.delayedCall(duration - 300, () => { // Was 500 - now earlier!
|
||||
if (this.currentPolaroid) {
|
||||
// Frame fades first
|
||||
// Frame fades first (faster!)
|
||||
this.tweens.add({
|
||||
targets: frame,
|
||||
alpha: 0,
|
||||
duration: 100
|
||||
duration: 50 // Was 100 - now faster!
|
||||
});
|
||||
|
||||
// Photo glitches
|
||||
// Photo glitches (faster!)
|
||||
this.tweens.add({
|
||||
targets: photo,
|
||||
x: { from: photo.x - 10, to: photo.x + 10 },
|
||||
duration: 50,
|
||||
duration: 30, // Was 50 - now faster!
|
||||
repeat: 5,
|
||||
yoyo: true,
|
||||
onComplete: () => {
|
||||
// RGB flash
|
||||
// RGB flash (faster!)
|
||||
photo.setTint(0xff0000);
|
||||
this.time.delayedCall(50, () => photo.setTint(0x00ff00));
|
||||
this.time.delayedCall(100, () => photo.setTint(0x0000ff));
|
||||
this.time.delayedCall(150, () => {
|
||||
this.time.delayedCall(30, () => photo.setTint(0x00ff00)); // Was 50
|
||||
this.time.delayedCall(60, () => photo.setTint(0x0000ff)); // Was 100
|
||||
this.time.delayedCall(90, () => { // Was 150
|
||||
this.tweens.add({
|
||||
targets: photo,
|
||||
alpha: 0,
|
||||
duration: 200
|
||||
duration: 100 // Was 200 - faster!
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user