语音识别 & 语音合成

识别:SenseVoiceSmall_hotword(/ws/asr)。合成:Edge-TTS(/api/tts)。经 Nginx 部署时自动使用当前域名。

语音识别

实时听写(SenseVoiceSmall_hotword)

未连接
语音合成

文字转语音(Edge-TTS)

就绪
API 文档

接口说明

单端口统一服务,默认 8090。所有 HTTP 接口支持 CORS。

WS /ws/asr

SenseVoiceSmall_hotword 语音识别(ONNX + 热词)。持续发送 PCM 音频帧,按静音切句返回结果;结束时发送文本 Done 获取尾段结果并关闭。

客户端 → 服务端
类型说明
Binaryfloat32 PCM,单声道,采样率 16000 Hz
Text发送 Done 表示音频结束
服务端 → 客户端(JSON 文本)
{
  "partial": "识别中的中间结果"
}
{
  "text": "一句完整识别结果(端点检测后)"
}
POST /api/tts

Edge-TTS 文字转语音。成功返回 audio/mpeg 二进制流;失败返回 JSON 错误信息。

请求头
Content-Type: application/json
请求体
字段类型必填说明
textstring待合成文本,最长 5000 字符
voicestring发音人 ID,默认 zh-CN-XiaoxiaoNeural
ratestring语速,如 +0%+10%
volumestring音量,如 +0%-10%
请求示例
curl -X POST http://127.0.0.1:8090/api/tts \
  -H "Content-Type: application/json" \
  -d '{"text":"你好","voice":"zh-CN-XiaoxiaoNeural"}' \
  --output speech.mp3
错误响应
{ "error": "text 不能为空" }
GET /api/voices

列出可用的中文发音人及默认 voice ID。

响应示例
{
  "default": "zh-CN-XiaoxiaoNeural",
  "voices": [
    { "id": "zh-CN-XiaoxiaoNeural", "label": "晓晓(女声)" }
  ]
}