VOICEVOX引擎API接口详解:从语音合成到高级功能全解析
2025-07-10 06:29:17作者:温玫谨Lighthearted
概述
VOICEVOX是一款开源的日语语音合成引擎,其提供的REST API接口让开发者能够轻松集成语音合成功能到各类应用中。本文将深入解析VOICEVOX引擎的API接口,帮助开发者全面了解其功能和使用方法。
核心API功能分类
VOICEVOX的API接口可分为以下几大类:
1. 查询创建类接口
/audio_query
- 创建语音合成查询
- 功能:为给定文本生成初始语音合成查询
- 参数:
text
:要合成的文本内容(必需)speaker
:说话人ID(必需)enable_katakana_english
:是否将英文转换为片假名(默认true)core_version
:核心引擎版本(可选)
/audio_query_from_preset
- 使用预设创建查询
- 功能:使用预设配置生成语音合成查询
- 参数:除
preset_id
替代speaker
外,其余与/audio_query
相同
/sing_frame_audio_query
- 创建歌唱语音合成查询
- 功能:为歌唱语音合成生成初始查询
- 参数:需要提供乐谱数据作为请求体
2. 查询编辑类接口
/accent_phrases
- 获取重音短语
- 功能:将文本分解为重音短语
- 特色:支持AquesTalk风格记法解析(
is_kana
参数)
/mora_data
- 获取音素数据
- 功能:从重音短语中提取音素长度和音高
- 应用场景:精细调整语音合成效果
/mora_length
和/mora_pitch
- 分别获取音素长度和音高
- 功能:单独获取音素的时间长度或音高数据
3. 语音合成类接口
/synthesis
- 标准语音合成
- 功能:将查询转换为语音波形
- 参数:
speaker
:说话人IDenable_interrogative_upspeak
:是否自动调整疑问句尾音(默认true)
/cancellable_synthesis
- 可取消的语音合成
- 功能:与标准合成相同,但支持取消操作
/multi_synthesis
- 批量语音合成
- 功能:一次性合成多个查询,返回ZIP压缩包
/frame_synthesis
- 歌唱语音合成
- 功能:专门用于歌唱语音的合成
4. 高级功能接口
/synthesis_morphing
- 语音变形合成
- 功能:在两个说话人风格之间进行变形合成
- 参数:
base_speaker
和target_speaker
:基础和目标说话人morph_rate
:变形比例(0.0-1.0)
/morphable_targets
- 可变形目标查询
- 功能:查询哪些说话人支持语音变形
5. 实用工具接口
/connect_waves
- 波形连接
- 功能:将多个base64编码的WAV文件合并为一个
/validate_kana
- 假名验证
- 功能:验证文本是否符合AquesTalk风格记法
/initialize_speaker
- 说话人初始化
- 功能:预初始化说话人模型以减少首次合成延迟
技术细节解析
AquesTalk风格记法
当is_kana
参数设为true时,文本将按照AquesTalk风格记法解析:
- 所有假名必须用片假名书写
- 重音短语用
/
或、
分隔 - 假名前加
_
表示无声化 - 用
'
指定重音位置 - 句末加
?
可生成疑问语气
错误处理
API使用标准的HTTP状态码:
- 200:成功
- 400:客户端错误(如假名解析失败)
- 422:参数验证错误
最佳实践建议
- 性能优化:对于常用说话人,提前调用
/initialize_speaker
进行初始化 - 批量处理:多个文本合成时使用
/multi_synthesis
接口提高效率 - 精细控制:通过查询编辑类接口微调语音效果
- 错误处理:特别注意处理400和422错误,确保参数格式正确
总结
VOICEVOX引擎提供了丰富而强大的API接口,从基础的语音合成到高级的语音变形功能一应俱全。通过合理利用这些接口,开发者可以创建出高度定制化的语音合成应用,满足各种场景需求。无论是简单的文本转语音,还是复杂的歌唱合成,VOICEVOX都能提供专业级的解决方案。