diff --git a/apps/desktop/src/app/settings/helpers.ts b/apps/desktop/src/app/settings/helpers.ts index 548a481c39..a8b9b8df7f 100644 --- a/apps/desktop/src/app/settings/helpers.ts +++ b/apps/desktop/src/app/settings/helpers.ts @@ -177,7 +177,8 @@ export function voiceFieldVisible(key: string, config: HermesConfigRecord): bool const selected = String(getNested(config, `${domain}.provider`) ?? '') // Backend defaults when the key is unset: TTS → edge, STT → local. // An empty string used to hide every nested model field. - const fallback = domain === 'tts' ? 'edge' : domain === 'stt' ? 'local' : '' + const fallback = domain === 'tts' ? 'edge' : 'local' + return provider === (selected || fallback) } diff --git a/apps/desktop/src/app/settings/voice-provider-fields.test.ts b/apps/desktop/src/app/settings/voice-provider-fields.test.ts index 27f5aafbae..0885d498bd 100644 --- a/apps/desktop/src/app/settings/voice-provider-fields.test.ts +++ b/apps/desktop/src/app/settings/voice-provider-fields.test.ts @@ -62,24 +62,9 @@ describe('voice field option coverage', () => { } }) - it('suggests ElevenLabs v3 and current flash/turbo ids, not just multilingual v2', () => { - const models = ENUM_OPTIONS['tts.elevenlabs.model_id'] - - for (const model of [ - 'eleven_v3', - 'eleven_ttv_v3', - 'eleven_multilingual_v2', - 'eleven_turbo_v2', - 'eleven_turbo_v2_5', - 'eleven_flash_v2', - 'eleven_flash_v2_5' - ]) { - expect(models).toContain(model) - } - }) - - it('suggests gpt-transcribe as an OpenAI STT model', () => { - expect(ENUM_OPTIONS['stt.openai.model']).toContain('gpt-transcribe') + it('suggests the current ElevenLabs v3 model, not just the v2 trio', () => { + // Mirrors tools/tts_tool_delivery.py::ELEVENLABS_MODEL_MAX_TEXT_LENGTH. + expect(ENUM_OPTIONS['tts.elevenlabs.model_id']).toContain('eleven_v3') }) it('keeps closed enums (devices, providers) out of the free-input set', () => { diff --git a/contributors/emails/ramarivera@gmail.com b/contributors/emails/ramarivera@gmail.com new file mode 100644 index 0000000000..92aade5771 --- /dev/null +++ b/contributors/emails/ramarivera@gmail.com @@ -0,0 +1 @@ +ramarivera diff --git a/website/docs/user-guide/features/voice-mode.md b/website/docs/user-guide/features/voice-mode.md index 4076c1e254..a33f6dde88 100644 --- a/website/docs/user-guide/features/voice-mode.md +++ b/website/docs/user-guide/features/voice-mode.md @@ -484,7 +484,7 @@ tts: voice: "en-US-AriaNeural" # 322 voices, 74 languages elevenlabs: voice_id: "pNInz6obpgDQGcFmaJgB" # Adam - model_id: "eleven_multilingual_v2" + model_id: "eleven_multilingual_v2" # or eleven_v3, eleven_flash_v2_5, ... (Desktop Settings → Voice accepts any model id) openai: model: "gpt-4o-mini-tts" voice: "alloy" # alloy, echo, fable, onyx, nova, shimmer