From 6bb8a0aef15657ddd0b80cabfcf00eebe4e4cb85 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 18 Jul 2026 15:25:50 -0700 Subject: [PATCH] =?UTF-8?q?fix(desktop):=20drop=20tts.xai.text=5Fnormaliza?= =?UTF-8?q?tion=20=E2=80=94=20not=20honored=20by=20the=20xAI=20TTS=20backe?= =?UTF-8?q?nd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to the salvaged #56724: the runtime's _generate_xai_tts reads voice_id, language, speed, auto_speech_tags, optimize_streaming_latency, sample_rate, and bit_rate — but never text_normalization, and the xAI /v1/tts payload builder has no such field. Surfacing it in the desktop GUI would be a dead knob, so remove it from DEFAULT_CONFIG, constants.ts (labels/descriptions/SECTIONS), and the ja/zh/zh-hant locale catalogs. The other six xAI keys are all verified against tools/tts_tool.py. --- apps/desktop/src/app/settings/constants.ts | 3 --- apps/desktop/src/i18n/ja.ts | 1 - apps/desktop/src/i18n/zh-hant.ts | 1 - apps/desktop/src/i18n/zh.ts | 1 - hermes_cli/config.py | 1 - 5 files changed, 7 deletions(-) diff --git a/apps/desktop/src/app/settings/constants.ts b/apps/desktop/src/app/settings/constants.ts index 2740b2d3ce8f..00cc65c7f711 100644 --- a/apps/desktop/src/app/settings/constants.ts +++ b/apps/desktop/src/app/settings/constants.ts @@ -387,7 +387,6 @@ export const FIELD_LABELS: Record = defineFieldCopy({ language: 'xAI Language', speed: 'xAI Playback Speed', autoSpeechTags: 'xAI Auto Speech Tags', - textNormalization: 'xAI Text Normalization', optimizeStreamingLatency: 'xAI Streaming Latency Optimization', sampleRate: 'xAI Sample Rate', bitRate: 'xAI Bit Rate' @@ -500,7 +499,6 @@ export const FIELD_DESCRIPTIONS: Record = defineFieldCopy({ language: 'Spoken language code (e.g. en, pt-BR) or "auto" for auto-detection.', speed: 'Playback speed. 0.7 = slower, 1.0 = normal, 1.5 = faster.', autoSpeechTags: 'Let an LLM insert expressive audio tags ([laughing], [sighs]) into the script before synthesis.', - textNormalization: 'Convert numbers, abbreviations, and symbols to spoken form before synthesis.', optimizeStreamingLatency: 'Latency vs. quality trade-off. 0 = best quality, 2 = lowest latency.', sampleRate: 'Audio sample rate in Hz. Higher = better quality, larger files.', bitRate: 'MP3 bitrate in bps. Only applies when codec is mp3.' @@ -606,7 +604,6 @@ export const SECTIONS: DesktopConfigSection[] = [ 'tts.xai.language', 'tts.xai.speed', 'tts.xai.auto_speech_tags', - 'tts.xai.text_normalization', 'tts.xai.optimize_streaming_latency', 'tts.xai.sample_rate', 'tts.xai.bit_rate', diff --git a/apps/desktop/src/i18n/ja.ts b/apps/desktop/src/i18n/ja.ts index 801936738328..d24e33ecff04 100644 --- a/apps/desktop/src/i18n/ja.ts +++ b/apps/desktop/src/i18n/ja.ts @@ -468,7 +468,6 @@ export const ja = defineLocale({ language: 'xAI 言語', speed: '再生速度', autoSpeechTags: '自動音声タグ', - textNormalization: 'テキスト正規化', optimizeStreamingLatency: 'ストリーミング遅延最適化', sampleRate: 'サンプルレート', bitRate: 'ビットレート' diff --git a/apps/desktop/src/i18n/zh-hant.ts b/apps/desktop/src/i18n/zh-hant.ts index 72d43a3b2c24..4439465ad84a 100644 --- a/apps/desktop/src/i18n/zh-hant.ts +++ b/apps/desktop/src/i18n/zh-hant.ts @@ -457,7 +457,6 @@ export const zhHant = defineLocale({ language: 'xAI 語言', speed: '播放速度', autoSpeechTags: '自動語音標籤', - textNormalization: '文字正規化', optimizeStreamingLatency: '串流延遲最佳化', sampleRate: '取樣率', bitRate: '位元率' diff --git a/apps/desktop/src/i18n/zh.ts b/apps/desktop/src/i18n/zh.ts index ec8b2ec58b83..c682cdae57a7 100644 --- a/apps/desktop/src/i18n/zh.ts +++ b/apps/desktop/src/i18n/zh.ts @@ -568,7 +568,6 @@ export const zh: Translations = { language: 'xAI 语言', speed: '播放速度', autoSpeechTags: '自动语音标签', - textNormalization: '文本规范化', optimizeStreamingLatency: '流式延迟优化', sampleRate: '采样率', bitRate: '比特率' diff --git a/hermes_cli/config.py b/hermes_cli/config.py index 4a01be9275cb..3cd431260c0e 100644 --- a/hermes_cli/config.py +++ b/hermes_cli/config.py @@ -2187,7 +2187,6 @@ DEFAULT_CONFIG = { "language": "en", # BCP-47 code ("en", "pt-BR") or "auto" "speed": 1.0, # 0.7–1.5, playback speed "auto_speech_tags": False, # insert expressive audio tags via LLM rewrite - "text_normalization": False, # normalize numbers/abbreviations/symbols to spoken form "optimize_streaming_latency": 0, # 0–2, trades quality for lower latency "sample_rate": 24000, # 22050 / 24000 / 44100 / 48000 "bit_rate": 128000, # MP3 bitrate; only applies when codec=mp3