mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-21 05:58:12 +02:00
Fix: Switch male TTS voice to Henri and improve fallback logic
This commit is contained in:
1 parent
ff9453a3e4
commit
901c8581f6
3 files changed
+25
-11
No files matched your search
@@ -761,7 +761,7 @@ export default function NewReel() {
|
|||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<div className="font-semibold">Masculine</div>
|
<div className="font-semibold">Masculine</div>
|
||||||
<div className="text-xs text-muted-foreground">Rémy</div>
|
<div className="text-xs text-muted-foreground">Henri</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p className="text-xs text-muted-foreground mt-2">
|
<p className="text-xs text-muted-foreground mt-2">
|
||||||
|
|||||||
+23
-9
@@ -46,19 +46,33 @@ def clean_text_for_tts(text: str) -> str:
|
|||||||
return " ".join(text.split())
|
return " ".join(text.split())
|
||||||
|
|
||||||
|
|
||||||
async def generate_tts_with_subs(
|
def generate_tts_with_subs(
|
||||||
text: str, voice: str, audio_path: Path, vtt_path: Path
|
text: str, voice: str, audio_path: Path, vtt_path: Path
|
||||||
):
|
):
|
||||||
"""Generate TTS audio with subtitles, with retry and fallback voices."""
|
"""Generate TTS audio with subtitles, with retry and fallback voices."""
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
# List of fallback voices to try if the primary fails
|
# Determine gender of requested voice to choose appropriate fallbacks
|
||||||
fallback_voices = [
|
is_male = any(name in voice for name in ["Remy", "Henri", "Paul"])
|
||||||
voice, # Try requested voice first
|
|
||||||
"fr-FR-DeniseNeural", # Alternative female
|
if is_male:
|
||||||
"fr-FR-HenriNeural", # Alternative male
|
fallback_voices = [
|
||||||
"en-US-JennyNeural", # English fallback
|
voice, # Try requested voice first
|
||||||
]
|
"fr-FR-HenriNeural", # Primary Male fallback
|
||||||
|
"fr-FR-PaulNeural", # Secondary Male fallback
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
fallback_voices = [
|
||||||
|
voice, # Try requested voice first
|
||||||
|
"fr-FR-VivienneNeural", # Primary Female fallback
|
||||||
|
"fr-FR-DeniseNeural", # Secondary Female fallback
|
||||||
|
]
|
||||||
|
|
||||||
|
# Always add English fallback as last resort
|
||||||
|
fallback_voices.append("en-US-JennyNeural")
|
||||||
|
|
||||||
|
# Remove duplicates while preserving order
|
||||||
|
fallback_voices = list(dict.fromkeys(fallback_voices))
|
||||||
|
|
||||||
last_error = None
|
last_error = None
|
||||||
|
|
||||||
@@ -212,7 +226,7 @@ async def process_reel(request: ReelRequest, x_api_key: str = Header(None)):
|
|||||||
# Check for male/female voice map
|
# Check for male/female voice map
|
||||||
voice = request.tts_voice
|
voice = request.tts_voice
|
||||||
if voice == "male":
|
if voice == "male":
|
||||||
voice = "fr-FR-RemyNeural"
|
voice = "fr-FR-HenriNeural"
|
||||||
elif voice == "female":
|
elif voice == "female":
|
||||||
voice = "fr-FR-VivienneNeural"
|
voice = "fr-FR-VivienneNeural"
|
||||||
elif not voice or "Neural" not in voice:
|
elif not voice or "Neural" not in voice:
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Ajout d'une fonctionnalité complète de création de Reels Facebook permettant
|
|||||||
- [x] FFmpeg: Nettoyer le texte (No hashtags/emojis) avant TTS
|
- [x] FFmpeg: Nettoyer le texte (No hashtags/emojis) avant TTS
|
||||||
- [x] FFmpeg: Générer fichier VTT pour synchro sous-titres
|
- [x] FFmpeg: Générer fichier VTT pour synchro sous-titres
|
||||||
- [x] FFmpeg: Enlever le son original quand TTS activé
|
- [x] FFmpeg: Enlever le son original quand TTS activé
|
||||||
- [ ] Frontend: Sélecteur de voix (Homme/Femme)
|
- [x] Frontend: Sélecteur de voix (Homme/Femme) - *Switched Male default to Henri*
|
||||||
- [/] Ajouter la valeur 'reel' à l'enum post_type en base de données
|
- [/] Ajouter la valeur 'reel' à l'enum post_type en base de données
|
||||||
- [x] Amélioration UI Musique (Pagination, Preview Audio)
|
- [x] Amélioration UI Musique (Pagination, Preview Audio)
|
||||||
- [x] **Improve Camera Capture Quality** (User Request)
|
- [x] **Improve Camera Capture Quality** (User Request)
|
||||||
|
|||||||
Reference in new issue
Block a user