docs: add xAI TTS params to cli-config.yaml.example and tts.md

This commit is contained in:
Carlos Diosdado 2026-07-01 18:12:41 -06:00 committed by Teknium
parent d1e9344716
commit ce4e2e6102
2 changed files with 19 additions and 3 deletions

View file

@ -1109,11 +1109,21 @@ platform_toolsets:
#
# tts:
# provider: "gemini"
# speed: 1.0 # global speed multiplier (provider-specific overrides this)
# gemini:
# model: "gemini-3.1-flash-tts-preview"
# voice: "Kore"
# audio_tags: false
# persona_prompt_file: "" # e.g. ~/.hermes/tts/radio-host.md
# xai:
# voice_id: "eve" # built-in or custom voice ID from xAI Console
# 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
# optimize_streaming_latency: 0 # 0-2, trades quality for lower latency
# sample_rate: 24000 # 22050 / 24000 / 44100 / 48000
# bit_rate: 128000 # MP3 bitrate (codec=mp3 only)
# =============================================================================
# Voice Transcription (Speech-to-Text)

View file

@ -72,7 +72,11 @@ tts:
persona_prompt_file: "" # Optional Markdown/text file with Gemini voice direction
xai:
voice_id: "eve" # or a custom voice ID — see docs below
language: "en" # ISO 639-1 code
language: "en" # BCP-47 code (e.g. "en", "pt-BR") or "auto" for detection
speed: 1.0 # 0.71.5, playback speed (default: 1.0)
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 # 02, trades quality for lower latency (default: 0)
sample_rate: 24000 # 22050 / 24000 (default) / 44100 / 48000
bit_rate: 128000 # MP3 bitrate; only applies when codec=mp3
# base_url: "https://api.x.ai/v1" # Override via XAI_BASE_URL env var
@ -113,9 +117,9 @@ tts:
persona_prompt_file: ~/.hermes/tts/butler-voice.md
```
### Gemini Audio Tags
### Audio Tags (Gemini, xAI)
Gemini 3.1 Flash TTS supports freeform square-bracket audio tags such as `[whispers]`, `[excitedly]`, `[very slow]`, `[laughs]`, and other expressive delivery notes. Enable `tts.gemini.audio_tags` to have Hermes run a hidden rewrite pass before Gemini TTS. The rewrite inserts inline tags into the TTS script only; the visible chat reply stays unchanged.
Google's Gemini 3.1 Flash TTS and xAI's Grok TTS support freeform square-bracket audio tags such as `[whispers]`, `[excitedly]`, `[very slow]`, `[laughs]`, and other expressive delivery notes. Enable `tts.gemini.audio_tags` or `tts.xai.auto_speech_tags` to have Hermes run a hidden rewrite pass before TTS. The rewrite inserts inline tags into the TTS script only; the visible chat reply stays unchanged.
```yaml
tts:
@ -123,6 +127,8 @@ tts:
gemini:
model: gemini-3.1-flash-tts-preview
audio_tags: true
xai:
auto_speech_tags: true
```
The rewrite uses `auxiliary.tts_audio_tags` and defaults to your main chat model. Override that auxiliary task if you want tag insertion handled by a cheaper or faster model.