词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
hermes setup --portal 登录并一次性开启所有 gateway 工具;已有安装可通过 hermes model 或 hermes tools 选择 Nous Subscription 仅启用 TTS。| 提供商 | 质量 | 费用 | API 密钥 |
|---|---|---|---|
| Edge TTS(默认) | 良好 | 免费 | 无需 |
| ElevenLabs | 优秀 | 付费 | ELEVENLABS_API_KEY |
| OpenAI TTS | 良好 | 付费 | VOICE_TOOLS_OPENAI_KEY |
| MiniMax TTS | 优秀 | 付费 | MINIMAX_API_KEY |
| Mistral (Voxtral TTS) | 优秀 | 付费 | MISTRAL_API_KEY |
| Google Gemini TTS | 优秀 | 免费额度 | GEMINI_API_KEY |
| xAI TTS | 优秀 | 付费 | XAI_API_KEY |
| NeuTTS | 良好 | 免费(本地) | 无需 |
| KittenTTS | 良好 | 免费(本地) | 无需 |
| Piper | 良好 | 免费(本地) | 无需 |
| 平台 | 投递方式 | 格式 |
|---|---|---|
| Telegram | 语音气泡(内联播放) | Opus .ogg |
| Discord | 语音气泡(Opus/OGG),回退为文件附件 | Opus/MP3 |
| 音频文件附件 | MP3 | |
| CLI | 保存至 ~/.hermes/audio_cache/ | MP3 |
tts.speed 值默认应用于所有提供商。每个提供商可用自身的 speed 设置覆盖它(例如 tts.openai.speed: 1.5)。提供商级别的速度优先于全局值。默认值为 1.0(正常速度)。| 提供商 | 默认上限(字符数) |
|---|---|
| Edge TTS | 5000 |
| OpenAI | 4096 |
| xAI | 15000 |
| MiniMax | 10000 |
| Mistral | 4000 |
| Google Gemini | 5000 |
| ElevenLabs | 取决于模型(见下文) |
| NeuTTS | 2000 |
| KittenTTS | 2000 |
model_id 选择上限:model_id | 上限(字符数) |
|---|---|
eleven_flash_v2_5 | 40000 |
eleven_flash_v2 | 30000 |
eleven_multilingual_v2(默认)、eleven_multilingual_v1、eleven_english_sts_v2、eleven_english_sts_v1 | 10000 |
eleven_v3、eleven_ttv_v3 | 5000 |
| 未知模型 | 回退至提供商默认值(10000) |
max_text_length::voice_id:hermes tools 安装 → Voice & TTS → Piper — Hermes 会自动为你运行 pip install piper-tts。或手动安装:pip install piper-tts。python -m piper.download_voices <name> 并将模型(约 20-90MB,取决于质量等级)下载至 ~/.hermes/cache/piper-voices/。后续调用将复用已缓存的模型。x_low / low / medium / high 质量等级。可在 rhasspy.github.io/piper-samples 试听声音样本。tts.piper.voice 设置为以 .onnx 结尾的绝对路径:tts.piper.length_scale / noise_scale / noise_w_scale / volume / normalize_audio、use_cuda)与 Piper 的 SynthesisConfig 一一对应。在较旧的 piper-tts 版本上这些参数会被忽略。tts.providers.<name> 下声明一个或多个提供商,并通过 tts.provider: <name> 在它们之间切换——与切换 edge 和 openai 等内置提供商的方式相同。doubao-speech PyPI 包并将其作为命令提供商接入:VOLCENGINE_APP_ID / VOLCENGINE_ACCESS_TOKEN)或 ~/.doubao-speech/config.yaml。通过在命令中添加 --voice zh-female-warm(或 doubao-speech list-voices 中的任何其他别名)来选择声音。doubao-speech 还内置了流式 ASR——有关 Hermes 集成,请参阅下方的 STT 章节。源码和完整文档:github.com/Hypnus-Yuan/doubao-speech。| 占位符 | 含义 |
|---|---|
{input_path} | Hermes 写入的临时 UTF-8 文本文件路径 |
{text_path} | {input_path} 的别名 |
{output_path} | 命令必须写入音频的路径 |
{format} | mp3 / wav / ogg / flac |
{voice} | tts.providers.<name>.voice,未设置时为空 |
{model} | tts.providers.<name>.model |
{speed} | 解析后的速度倍率(提供商级别或全局) |
{{ 和 }} 表示字面大括号。| 键 | 默认值 | 含义 |
|---|---|---|
timeout | 120 | 秒 数;超时后进程树将被终止(Unix killpg,Windows taskkill /T)。 |
output_format | mp3 | mp3 / wav / ogg / flac 之一。若 Hermes 选择路径,则从输出扩展名自动推断。 |
voice_compatible | false | 为 true 时,Hermes 通过 ffmpeg 将 MP3/WAV 输出转换为 Opus/OGG,使 Telegram 渲染语音气泡。 |
max_text_length | 5000 | 渲染命令前,输入将被截断至此长度。 |
voice / model | 空 | 仅作为占位符值传递给命令。 |
tts.providers.openai 条目永远不会覆盖原生 OpenAI 提供商,因此任何用户配置都无法静默替换内置提供商。voice_compatible: true 按提供商选择加入语音气泡投递。command: 时,type: command 为默认值。 显式写出 type: command 是良好实践,但非必须;包含非空 command 字符串的条目会被视为命令提供商。{input_path} / {text_path} 可互换。 使用在你的命令中读起来更自然的那个。ctx.register_tts_provider() 注册 Python 插件。该插件与自定义命令提供商注册表共存(不替换);选择适合你引擎的接入方式。| 你的后端具有… | 使用 |
|---|---|
| 单个 CLI,从文件/stdin 读取文本并将音频写入文件/stdout | 命令提供商(无需 Python) |
| 两三个通过 shell 管道串联的 CLI | 命令提供商 |
| 仅有 Python SDK,没有 CLI | 插件 |
| 你希望分块投递的流式字节(生成中的语音气泡) | 插件(覆盖 stream()) |
hermes setup 使用的声音列表 API | 插件(覆盖 list_voices()) |
| OAuth 刷新流程(非静态 bearer token) | 插件 |
~/.hermes/plugins/my-tts/:plugin.yaml:__init__.py:hermes plugins enable my-tts),将 tts.provider 指向它(在 config.yaml 中设置 tts.provider: my-tts),text_to_speech 工具将通过你的插件路由。list_voices() → 返回 {id, display, language, gender, preview_url} 字典列表,显示在 hermes tools 中。list_models() → 返回 {id, display, languages, max_text_length} 字典列表。get_setup_schema() → 返回 {name, badge, tag, env_vars: [{key, prompt, url}]} 以驱动 hermes tools / hermes setup 中的选择器行。若不提供,插件仍可正常工作,但其在选择器中的行信息会很简略。stream(text, *, voice, model, format, **extra) → 迭代器,产出音频字节用于流式投递(默认抛出 NotImplementedError)。voice_compatible 属性 → 若你的输出与 Opus 兼容且 gateway 应将其作为语音气泡投递,则设为 True(默认 False = 普通音频附件)。agent/tts_provider.py。| 提供商 | 质量 | 费用 | API 密钥 |
|---|---|---|---|
| 本地 Whisper(默认) | 良好 | 免费 | 无需 |
| Groq Whisper API | 良好至最佳 | 免费额度 | GROQ_API_KEY |
| OpenAI Whisper API | 良好至最佳 | 付费 | VOICE_TOOLS_OPENAI_KEY 或 OPENAI_API_KEY |
faster-whisper 后,本地转录即可开箱即用。若不可用,Hermes 也可使用常见安装位置(如 /opt/homebrew/bin)的本地 whisper CLI,或通过 HERMES_LOCAL_STT_COMMAND 指定的自定义命令。| 模型 | 大小 | 速度 | 质量 |
|---|---|---|---|
tiny | ~75 MB | 最快 | 基础 |
base | ~150 MB | 快 | 良好(默认) |
small | ~500 MB | 中等 | 较好 |
medium | ~1.5 GB | 较慢 | 优秀 |
large-v3 | ~3 GB | 最慢 | 最佳 |
GROQ_API_KEY。当你需要免费托管 STT 选项时,是良好的云端备选方案。VOICE_TOOLS_OPENAI_KEY,回退至 OPENAI_API_KEY。支持 whisper-1、gpt-4o-mini-transcribe 和 gpt-4o-transcribe。MISTRAL_API_KEY。使用 Mistral 的 Voxtral Transcribe 模型。支持 13 种语言、说话人分离和词级时间戳。通过 pip install hermes-agent[mistral] 安装。XAI_API_KEY。以 multipart/form-data 格式发送至 https://api.x.ai/v1/stt。如果你已在使用 xAI 进行聊天或 TTS 并希望一个 API 密钥搞定一切,这是个好选择。自动检测顺序将其排在 Groq 之后——显式设置 stt.provider: xai 可强制使用。HERMES_LOCAL_STT_COMMAND。命令模板支持 {input_path}、{output_dir}、{language} 和 {model} 占位符。你的命令必须在 {output_dir} 下某处写入 .txt 转录文件。doubao-speech 进行 Doubao TTS(见上文),同一个包也可通过本地命令 STT 接口处理语音转文字:{input_path},运行命令,并读取 {output_dir} 下生成的 .txt 文件。语言由 Volcengine bigmodel 端点自动检测。whisper CLI 或 HERMES_LOCAL_STT_COMMAND