RHVoice语音合成引擎配置文件详解
配置文件概述
RHVoice是一款开源的语音合成引擎,其行为可以通过配置文件进行高度定制。配置文件在RHVoice启动时读取,修改后需要重启使用RHVoice的应用程序才能生效。
配置文件位置
Linux系统
配置文件默认路径为/usr/local/etc/RHVoice/RHVoice.conf。编译时可以通过设置sysconfdir变量来修改此路径。
Windows系统
对于SAPI5接口,配置文件位于%APPDATA%\RHVoice\RHVoice.ini;对于NVDA屏幕阅读器,需要将配置文件放在NVDA用户设置目录下的RHVoice-config子文件夹中。
Android系统
配置文件通常位于/storage目录下的某个子目录中,完整路径为Android/data/com.github.olga_yakovleva.rhvoice.android/files/RHVoice.conf。由于权限限制,建议使用应用设置中的导入功能来更新配置文件。
文件格式规范
RHVoice配置文件采用经典的INI格式,但有以下特殊注意事项:
- 文件必须使用UTF-8编码保存
- 使用分号(;)作为注释符号,且只能注释整行
- 小数点使用点号(.)表示
- 特殊字符可以使用数字编码表示,格式为
#数字; - 布尔值可以使用多种表示方式:true/yes/on/1表示启用,false/no/off/0表示禁用
配置项分类
语音参数设置
RHVoice允许调整语音的速率(rate)、音高(pitch)和音量(volume)参数。这些参数可以全局设置,也可以针对特定语言或语音进行设置。
主要参数包括:
| 参数名 | 描述 | 默认值 | 最小值 | 最大值 |
|---|---|---|---|---|
| default_rate | 默认语速 | 1 | 0.5 | 2 |
| min_rate | 最小语速 | 0.5 | 0.2 | 1 |
| max_rate | 最大语速 | 2 | 1 | 5 |
| default_pitch | 默认音高 | 1 | 0.5 | 2 |
| min_pitch | 最小音高 | 0.5 | 0.5 | 1 |
| max_pitch | 最大音高 | 2 | 1 | 2 |
| default_volume | 默认音量 | 1 | 0.25 | 2 |
| min_volume | 最小音量 | 0.25 | 0.25 | 1 |
| max_volume | 最大音量 | 2 | 1 | 4 |
示例配置:
default_volume=0.8
languages.english.default_rate=1.5
voices.alan.default_pitch=0.9
语言切换与语音组合
RHVoice支持自动检测文本语言并切换相应语音的功能,目前仅适用于字母表不重叠的语言。
语音组合配置
语音组合(voice profile)是用户选择的一组语音组合,其中各语音必须使用不同语言。第一个语音作为主语音,决定了主语言。
配置示例:
voice_profiles=anna+slt,aleksandr+alan
语言切换行为
当使用语音组合时,RHVoice会尝试使用与文本语言匹配的语音。如果无法检测语言(如读数字或标点符号时),将使用主语音。
可以通过prefer_primary_language设置控制混合语言文本的朗读方式:
prefer_primary_language=false
语音质量设置
quality参数允许用户在三种语音质量模式中选择:
| 值 | 采样率(kHz) | 优化响应时间 |
|---|---|---|
| max | 24 | 否 |
| standard | 24 | 是 |
| min | 16 | 是 |
默认使用standard模式。
标点符号处理
标点模式
punctuation_mode设置控制标点符号的朗读方式:
| 值 | 描述 |
|---|---|
| none | 不朗读任何标点(默认) |
| some | 选择性朗读 |
| all | 朗读所有标点 |
选择性朗读
当模式设为some时,可以通过punctuation_list指定需要朗读的符号:
punctuation_list=@$/\
大写字母提示
提示模式
indicate_capitals设置控制大写字母的提示方式:
| 值 | 描述 |
|---|---|
| no | 不提示(默认) |
| word | 朗读"capital"前缀 |
| pitch | 改变音高 |
| sound | 播放提示音 |
音高调整
当使用pitch模式时,cap_pitch_factor设置控制音高变化程度:
cap_pitch_factor=1.3
重音标记
俄语等语言支持重音标记。例如,使用"+"作为重音标记:
stress_marker=+
禁用语言或语音
可以禁用不使用的语言或语音:
languages.english.enabled=false
voices.aleksandr.enabled=false
伪英语模式
对于非拉丁字母语言,可以启用伪英语模式,使语音尝试按照英语发音规则朗读英语单词:
languages.russian.use_pseudo_english=no
总结
RHVoice的配置文件提供了丰富的语音合成参数调整选项,用户可以根据个人偏好和使用场景进行细致定制。通过合理配置,可以获得更符合个人需求的语音合成体验。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0117
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
omega-aiOmega-AI:基于java打造的深度学习框架,帮助你快速搭建神经网络,实现模型推理与训练,引擎支持自动求导,多线程与GPU运算,GPU支持CUDA,CUDNN。Java04
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook09