Skip to content

语音模式

Hermes Agent 支持完整的语音交互能力,包括语音识别(STT)和语音合成(TTS),让您可以用自然语言与智能体进行口语对话。

语音识别(STT)

Hermes 支持三种语音转文字提供商:

Local — faster-whisper(本地,免费)

使用 OpenAI Whisper 的高效本地实现,完全在本地运行,无需网络请求,数据不离开设备。

  • 引擎: faster-whisper(CTranslate2 加速)
  • 费用: 完全免费
  • 隐私: 最高(数据不出本地)
  • 延迟: 取决于本地硬件(GPU 加速时极快)
  • 模型选项: tiny, base, small, medium, large-v2, large-v3
yaml
# ~/.hermes/config.yaml
stt:
  provider: local
  model: base        # 平衡速度与精度
  device: cpu        # 或 cuda(需要 NVIDIA GPU)
  compute_type: int8 # 量化类型,节省内存
  language: zh       # 指定语言提高精度

安装依赖

bash
pip install faster-whisper
# GPU 加速(可选)
pip install faster-whisper[cuda]

Groq — whisper-large-v3-turbo(云端,免费额度)

使用 Groq 的超高速推理平台运行 Whisper Large v3 Turbo 模型,提供接近实时的转录速度。

  • 模型: whisper-large-v3-turbo
  • 费用: 免费额度(每天限量),超出后按量计费
  • 延迟: 极低(Groq 的 LPU 芯片优化)
  • 精度: 高(大型模型)
yaml
stt:
  provider: groq
  api_key: "gsk_your_groq_api_key"
  model: whisper-large-v3-turbo
  language: zh  # 可选,自动检测时留空

获取 Groq API Key:访问 console.groq.com

OpenAI — whisper-1(云端,付费)

使用 OpenAI 官方 Whisper API,稳定可靠,支持多种音频格式。

  • 模型: whisper-1
  • 费用: $0.006 / 分钟
  • 格式支持: mp3, mp4, mpeg, mpga, m4a, wav, webm
  • 文件限制: 最大 25MB
yaml
stt:
  provider: openai
  api_key: "sk-your-openai-api-key"
  model: whisper-1
  language: zh  # 可选
  response_format: text  # 或 json, srt, vtt

语音合成(TTS)

Hermes 支持四种文字转语音提供商:

Edge TTS(免费)

微软 Edge 浏览器的在线 TTS 服务,支持中文、英文等多种语言,无需 API Key。

  • 费用: 完全免费
  • 声音选项: 400+ 种声音,支持多种中文方言
  • 质量: 高(神经网络 TTS)

常用中文声音:

声音 ID说明
zh-CN-XiaoxiaoNeural女声,亲切自然(默认推荐)
zh-CN-YunxiNeural男声,清晰稳重
zh-CN-XiaoyiNeural女声,活泼年轻
zh-TW-HsiaoChenNeural台湾普通话,女声
zh-HK-HiuMaanNeural粤语,女声
yaml
tts:
  provider: edge_tts
  voice: zh-CN-XiaoxiaoNeural
  rate: "+0%"    # 语速调整,范围 -50% ~ +50%
  volume: "+0%"  # 音量调整
  pitch: "+0Hz"  # 音调调整

ElevenLabs(付费)

业界领先的语音合成服务,提供极其自然的语音效果和声音克隆功能。

  • 费用: 按字符计费,有免费额度(10,000 字符/月)
  • 特色: 声音克隆、情感控制、多语言
  • 质量: 极高
yaml
tts:
  provider: elevenlabs
  api_key: "your-elevenlabs-api-key"
  voice_id: "21m00Tcm4TlvDq8ikWAM"  # Rachel(英文)
  model: eleven_multilingual_v2      # 支持中文
  stability: 0.5
  similarity_boost: 0.75

OpenAI TTS(付费)

OpenAI 的高质量语音合成服务,提供 6 种内置声音。

  • 费用: $0.015 / 1000 字符(tts-1);$0.030 / 1000 字符(tts-1-hd)
  • 声音选项: alloy, echo, fable, onyx, nova, shimmer
  • 格式: mp3, opus, aac, flac
yaml
tts:
  provider: openai
  api_key: "sk-your-openai-api-key"
  model: tts-1          # 或 tts-1-hd(更高质量)
  voice: nova           # 6种声音之一
  speed: 1.0            # 语速,范围 0.25 ~ 4.0
  output_format: mp3

NeuTTS(免费)

轻量级开源 TTS 方案,适合自托管场景。

  • 费用: 完全免费(自托管)
  • 部署: 需要自行部署服务
yaml
tts:
  provider: neutts
  endpoint: "http://localhost:8080"
  voice: "zh-cn-standard"

语音录制控制

快捷键操作

在 CLI 模式下使用键盘快捷键控制录音:

快捷键操作
Ctrl+B开始录音
Ctrl+B(再次按下)停止录音并发送

静音检测

Hermes 内置 3 秒静音检测机制:当麦克风检测到连续 3 秒静音时,自动停止录音并开始转录。这让您无需手动停止,说完后等待片刻即可。

yaml
# 调整静音检测参数
voice:
  silence_threshold: 3.0    # 静音检测时长(秒)
  silence_db: -40           # 静音音量阈值(dB)
  min_recording_length: 0.5 # 最短录音时长(秒)

启动语音模式

bash
# 启动带语音功能的会话
hermes chat --voice

# 指定 STT 和 TTS 提供商
hermes chat --voice --stt-provider groq --tts-provider edge_tts

Discord 语音频道

Hermes 支持在 Discord 语音频道中进行实时语音交互,让您可以在语音通话中直接与智能体对话。

加入语音频道

/voice join

Hermes 机器人将加入您当前所在的 Discord 语音频道。

离开语音频道

/voice leave

查看语音状态

/voice status

显示当前语音连接状态,包括:

  • 连接的服务器和频道
  • 活跃用户列表
  • STT/TTS 提供商信息
  • 延迟统计

Discord 语音配置

yaml
# ~/.hermes/config.yaml
discord:
  token: "your-discord-bot-token"
  voice:
    stt_provider: groq          # 推荐:低延迟
    tts_provider: edge_tts      # 推荐:免费且质量好
    auto_join: false            # 是否自动加入频道
    wake_word: "hey hermes"     # 唤醒词(可选)
    response_timeout: 30        # 响应超时(秒)

完整配置示例

以下是一个完整的 TTS/STT 配置示例,适合中文用户:

yaml
# ~/.hermes/config.yaml

# 语音识别
stt:
  provider: groq              # 免费且快速
  api_key: "${GROQ_API_KEY}"  # 从环境变量读取
  model: whisper-large-v3-turbo
  language: zh
  auto_detect: true           # 允许自动语言检测

# 语音合成
tts:
  provider: edge_tts          # 免费,中文支持好
  voice: zh-CN-XiaoxiaoNeural
  rate: "+10%"                # 稍微加快语速
  auto_play: true             # 自动播放合成语音
  save_audio: false           # 不保存音频文件

# 录音设置
voice:
  silence_threshold: 3.0
  silence_db: -40
  input_device: default       # 默认麦克风
  output_device: default      # 默认扬声器
  sample_rate: 16000          # 采样率(Hz)

# 语音模式全局开关
voice_mode:
  enabled: false              # 默认关闭,--voice 参数启用
  push_to_talk: true          # true=按键录音;false=持续监听

使用建议

  • 日常对话:Edge TTS(免费)+ Groq STT(免费额度足够)
  • 高质量播客/演示:ElevenLabs TTS + OpenAI STT
  • 隐私敏感场景:faster-whisper(本地)+ Edge TTS
  • Discord 机器人:Groq STT + Edge TTS(低延迟组合)

基于 MIT 许可发布 | 由 Nous Research 开发