Simplify Gemini voice options and default to male voice (Charon)

Replace the 8-item Google Cloud TTS voice list with 2 Gemini native
voices: Charon (homme) and Kore (femme). Set Charon as the default
when switching to Gemini engine in all four reel pages.

https://claude.ai/code/session_01QBvwHAMZzVYfWvy1U5paat
This commit is contained in:
Claude committed 2026-05-19 13:19:15 +00:00
1 parent 46c31a1447
commit 50a011ce23
4 files changed
+16 -40

No files matched your search

+4 -10
View File
@@ -61,16 +61,10 @@ export default function MobileNewReel() {
const [ttsEngine, setTtsEngine] = useState<'edge' | 'gemini'>('edge');
const [ttsVoice, setTtsVoice] = useState('fr-FR-VivienneMultilingualNeural');
// French Gemini voices
// Gemini native TTS voices (Charon = homme, Kore = femme)
const geminiVoices = [
{ label: 'Français - Standard A (Femme)', value: 'fr-FR-Standard-A' },
{ label: 'Français - Standard B (Homme)', value: 'fr-FR-Standard-B' },
{ label: 'Français - Standard C (Femme)', value: 'fr-FR-Standard-C' },
{ label: 'Français - Standard D (Homme)', value: 'fr-FR-Standard-D' },
{ label: 'Français - Wavenet A (Femme)', value: 'fr-FR-Wavenet-A' },
{ label: 'Français - Wavenet B (Homme)', value: 'fr-FR-Wavenet-B' },
{ label: 'Français - Wavenet C (Femme)', value: 'fr-FR-Wavenet-C' },
{ label: 'Français - Wavenet D (Homme)', value: 'fr-FR-Wavenet-D' },
{ label: 'Charon - Voix Homme', value: 'fr-FR-Standard-B' },
{ label: 'Kore - Voix Femme', value: 'fr-FR-Standard-A' },
];
// French Edge TTS voices
@@ -498,7 +492,7 @@ export default function MobileNewReel() {
className="h-7 text-xs px-2"
onClick={() => {
setTtsEngine('gemini');
setTtsVoice('fr-FR-Standard-A');
setTtsVoice('fr-FR-Standard-B');
}}
>
Gemini
+4 -10
View File
@@ -34,16 +34,10 @@ export default function MobileRemotionVideoPage() {
const [ttsEngine, setTtsEngine] = useState<'edge' | 'gemini'>('edge');
const [ttsVoice, setTtsVoice] = useState('fr-FR-VivienneMultilingualNeural');
// French Gemini voices
// Gemini native TTS voices (Charon = homme, Kore = femme)
const geminiVoices = [
{ label: 'Français - Standard A (Femme)', value: 'fr-FR-Standard-A' },
{ label: 'Français - Standard B (Homme)', value: 'fr-FR-Standard-B' },
{ label: 'Français - Standard C (Femme)', value: 'fr-FR-Standard-C' },
{ label: 'Français - Standard D (Homme)', value: 'fr-FR-Standard-D' },
{ label: 'Français - Wavenet A (Femme)', value: 'fr-FR-Wavenet-A' },
{ label: 'Français - Wavenet B (Homme)', value: 'fr-FR-Wavenet-B' },
{ label: 'Français - Wavenet C (Femme)', value: 'fr-FR-Wavenet-C' },
{ label: 'Français - Wavenet D (Homme)', value: 'fr-FR-Wavenet-D' },
{ label: 'Charon - Voix Homme', value: 'fr-FR-Standard-B' },
{ label: 'Kore - Voix Femme', value: 'fr-FR-Standard-A' },
];
// French Edge TTS voices
@@ -345,7 +339,7 @@ export default function MobileRemotionVideoPage() {
Edge
</Button>
<Button size="sm" variant={ttsEngine === 'gemini' ? 'default' : 'outline'} className="h-7 text-xs px-2"
onClick={() => { setTtsEngine('gemini'); setTtsVoice('fr-FR-Standard-A'); }}>
onClick={() => { setTtsEngine('gemini'); setTtsVoice('fr-FR-Standard-B'); }}>
Gemini
</Button>
</div>
+4 -10
View File
@@ -82,16 +82,10 @@ export default function NewReel() {
const [ttsEngine, setTtsEngine] = useState<'edge' | 'gemini'>('edge');
const [ttsVoice, setTtsVoice] = useState('fr-FR-VivienneMultilingualNeural');
// French Gemini voices
// Gemini native TTS voices (Charon = homme, Kore = femme)
const geminiVoices = [
{ label: 'Français - Standard A (Femme)', value: 'fr-FR-Standard-A' },
{ label: 'Français - Standard B (Homme)', value: 'fr-FR-Standard-B' },
{ label: 'Français - Standard C (Femme)', value: 'fr-FR-Standard-C' },
{ label: 'Français - Standard D (Homme)', value: 'fr-FR-Standard-D' },
{ label: 'Français - Wavenet A (Femme)', value: 'fr-FR-Wavenet-A' },
{ label: 'Français - Wavenet B (Homme)', value: 'fr-FR-Wavenet-B' },
{ label: 'Français - Wavenet C (Femme)', value: 'fr-FR-Wavenet-C' },
{ label: 'Français - Wavenet D (Homme)', value: 'fr-FR-Wavenet-D' },
{ label: 'Charon - Voix Homme', value: 'fr-FR-Standard-B' },
{ label: 'Kore - Voix Femme', value: 'fr-FR-Standard-A' },
];
// French Edge TTS voices
@@ -812,7 +806,7 @@ export default function NewReel() {
variant={ttsEngine === 'gemini' ? 'default' : 'outline'}
onClick={() => {
setTtsEngine('gemini');
setTtsVoice('fr-FR-Standard-A');
setTtsVoice('fr-FR-Standard-B');
}}
>
Gemini TTS
+4 -10
View File
@@ -35,16 +35,10 @@ export default function RemotionVideoPage() {
const [ttsEngine, setTtsEngine] = useState<'edge' | 'gemini'>('edge');
const [ttsVoice, setTtsVoice] = useState('fr-FR-VivienneMultilingualNeural');
// French Gemini voices
// Gemini native TTS voices (Charon = homme, Kore = femme)
const geminiVoices = [
{ label: 'Français - Standard A (Femme)', value: 'fr-FR-Standard-A' },
{ label: 'Français - Standard B (Homme)', value: 'fr-FR-Standard-B' },
{ label: 'Français - Standard C (Femme)', value: 'fr-FR-Standard-C' },
{ label: 'Français - Standard D (Homme)', value: 'fr-FR-Standard-D' },
{ label: 'Français - Wavenet A (Femme)', value: 'fr-FR-Wavenet-A' },
{ label: 'Français - Wavenet B (Homme)', value: 'fr-FR-Wavenet-B' },
{ label: 'Français - Wavenet C (Femme)', value: 'fr-FR-Wavenet-C' },
{ label: 'Français - Wavenet D (Homme)', value: 'fr-FR-Wavenet-D' },
{ label: 'Charon - Voix Homme', value: 'fr-FR-Standard-B' },
{ label: 'Kore - Voix Femme', value: 'fr-FR-Standard-A' },
];
// French Edge TTS voices
@@ -286,7 +280,7 @@ export default function RemotionVideoPage() {
Edge
</Button>
<Button size="sm" variant={ttsEngine === 'gemini' ? 'default' : 'outline'} className="h-7 text-xs"
onClick={() => { setTtsEngine('gemini'); setTtsVoice('fr-FR-Standard-A'); }}>
onClick={() => { setTtsEngine('gemini'); setTtsVoice('fr-FR-Standard-B'); }}>
Gemini
</Button>
</div>