首页
/ VOICEVOX引擎API接口详解:从语音合成到高级功能全解析

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:说话人ID
    • enable_interrogative_upspeak:是否自动调整疑问句尾音(默认true)

/cancellable_synthesis - 可取消的语音合成

  • 功能:与标准合成相同,但支持取消操作

/multi_synthesis - 批量语音合成

  • 功能:一次性合成多个查询,返回ZIP压缩包

/frame_synthesis - 歌唱语音合成

  • 功能:专门用于歌唱语音的合成

4. 高级功能接口

/synthesis_morphing - 语音变形合成

  • 功能:在两个说话人风格之间进行变形合成
  • 参数
    • base_speakertarget_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:参数验证错误

最佳实践建议

  1. 性能优化:对于常用说话人,提前调用/initialize_speaker进行初始化
  2. 批量处理:多个文本合成时使用/multi_synthesis接口提高效率
  3. 精细控制:通过查询编辑类接口微调语音效果
  4. 错误处理:特别注意处理400和422错误,确保参数格式正确

总结

VOICEVOX引擎提供了丰富而强大的API接口,从基础的语音合成到高级的语音变形功能一应俱全。通过合理利用这些接口,开发者可以创建出高度定制化的语音合成应用,满足各种场景需求。无论是简单的文本转语音,还是复杂的歌唱合成,VOICEVOX都能提供专业级的解决方案。