hermes agent语音功能需配置edge tts并清理缓存:修改config.yaml设tts.provider为edge、安装msedge/edge-tts/ffmpeg、删除~/.hermes/cache/tts/、执行hermes tts --clear-state后测试。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已部署Hermes Agent但语音合成(TTS)功能未生效或播放异常,则可能是由于TTS提供者未正确配置、依赖缺失或音频缓存污染所致。以下是开启Hermes Agent声音功能并完成TTS语音合成配置与音频缓存清理的具体操作路径:
一、确认并启用Edge TTS作为默认语音提供者
Edge TTS是Hermes Agent推荐的本地化TTS方案,无需网络调用、支持多语言且延迟低。启用前需确保其在全局配置中被显式指定为provider,否则系统将跳过TTS初始化流程。
1、使用文本编辑器打开~/.hermes/config.yaml文件。
2、定位到tts:配置节,在provider:字段后填入edge(注意保留缩进,不可使用Tab混排)。
3、在同一层级添加edge_config:区块,并设置合法语音ID,例如:voice: zh-CN-XiaoxiaoNeural。
4、保存文件后,在终端执行hermes configset tts.provider edge强制同步运行时配置。
二、验证并安装必需依赖组件
Edge TTS通过Python子进程调用Microsoft Edge浏览器内置引擎,依赖msedge可执行文件、edge-tts Python包及FFmpeg音频处理工具。任一缺失都将导致synthesize方法静默失败。
1、在终端运行msedge --version,确认输出版本号≥116;若提示命令未找到,需前往Microsoft官网下载并安装Edge稳定版。
2、运行pip show edge-tts检查包是否已安装;若无输出,执行pip install edge-tts==8.1.0(必须指定兼容版本)。
3、运行ffmpeg -version验证FFmpeg可用性;若失败,需将FFmpeg二进制路径加入$PATH环境变量。
4、进入Hermes Agent项目根目录,确认tools/tts_tool.py中存在EdgeTTSTool类且继承自BaseTTSTool。
三、清理TTS音频缓存目录
Hermes Agent默认将合成后的音频片段缓存至~/.hermes/cache/tts/,当缓存文件损坏或格式不兼容时,会导致后续语音播放卡顿、无声或报错Audio decode error。
1、执行rm -rf ~/.hermes/cache/tts/彻底删除当前缓存目录。
2、手动重建目录结构:mkdir -p ~/.hermes/cache/tts/。
3、将目录权限设为当前用户可读写:chmod 700 ~/.hermes/cache/tts/。
4、重启Hermes Agent服务以触发新缓存路径注册:hermes serve --reload。
四、强制刷新TTS工具实例并测试输出
TTS工具类在首次调用后会驻留内存实例,若配置变更未触发重载,旧实例仍沿用失效参数。需通过CLI命令强制销毁并重建TTS上下文。
1、在任意终端窗口中输入hermes tts --clear-state,清除运行时TTS状态缓存。
2、执行测试指令:hermes tts --text "你好,Hermes Agent已就绪" --lang zh-CN。
3、观察终端是否输出[INFO] Audio stream started及后续PCM帧日志。
4、若返回Failed to spawn msedge process,请检查~/.hermes/.env中是否存在干扰项EDGE_PATH,如有则注释该行。
五、替换为备用TTS方案(Orpheus-TTS本地模型)
当Edge环境不可用或需更高自然度时,可切换至基于Unsloth微调的Orpheus-TTS模型。该方案完全离线、支持情感标签,但需额外加载3B参数量模型。
1、确认skills/mlops/unsloth/目录下存在orpheus-tts-fp16.safetensors权重文件。
2、修改~/.hermes/config.yaml中tts.provider:值为orpheus。
3、在tts:节下新增orpheus_config:区块,指定model_path: ./skills/mlops/unsloth/orpheus-tts-fp16.safetensors。
4、运行hermes model load orpheus预热模型,等待控制台输出Model loaded on cuda:0。
5、执行hermes tts --text "<laugh>测试成功!</laugh>" --lang zh-CN验证情感语音能力。











