SenseVoice-small-onnx REST API开发手册:curl与Python调用完整示例
1. 服务概述
SenseVoice-small-onnx是一款基于ONNX量化的多语言语音识别服务,支持中文、粤语、英语、日语和韩语等多种语言的语音转写。该服务通过REST API提供高效的语音识别能力,特别适合需要快速集成语音识别功能的开发者。
核心优势:
- 轻量级量化模型,仅230MB大小
- 支持50+种语言的自动检测
- 单条10秒音频推理仅需70毫秒
- 提供富文本转写功能(含情感识别和音频事件检测)
2. 环境准备
2.1 安装依赖
在开始使用前,需要安装必要的Python依赖包:
pip install funasr-onnx gradio fastapi uvicorn soundfile jieba2.2 服务启动
安装完成后,可以通过以下命令启动服务:
python3 app.py --host 0.0.0.0 --port 7860服务启动后,可以通过以下地址访问:
- Web界面:http://localhost:7860
- API文档:http://localhost:7860/docs
- 健康检查:http://localhost:7860/health
3. REST API调用方法
3.1 使用curl调用API
最基本的调用方式是使用curl命令发送POST请求:
curl -X POST "http://localhost:7860/api/transcribe" \ -F "file=@audio.wav" \ -F "language=auto" \ -F "use_itn=true"参数说明:
file: 音频文件路径(支持wav、mp3、m4a、flac等格式)language: 语言代码(auto为自动检测)use_itn: 是否启用逆文本正则化(将口语化数字转为标准格式)
3.2 常见语言代码
| 语言代码 | 对应语言 |
|---|---|
| auto | 自动检测 |
| zh | 中文 |
| en | 英语 |
| yue | 粤语 |
| ja | 日语 |
| ko | 韩语 |
4. Python SDK调用方法
4.1 基本调用示例
对于Python开发者,可以使用funasr-onnx库直接调用模型:
from funasr_onnx import SenseVoiceSmall # 初始化模型(会自动使用缓存模型) model = SenseVoiceSmall( "/root/ai-models/danieldong/sensevoice-small-onnx-quant", batch_size=10, quantize=True ) # 单文件转写 result = model(["audio.wav"], language="auto", use_itn=True) print(result[0])4.2 批量处理示例
模型支持批量处理音频文件,提高处理效率:
# 批量处理多个文件 audio_files = ["audio1.wav", "audio2.mp3", "audio3.m4a"] results = model(audio_files, language="zh", use_itn=False) for i, result in enumerate(results): print(f"文件 {audio_files[i]} 的转写结果:") print(result)5. 高级功能使用
5.1 情感识别
服务可以识别语音中的情感倾向:
result = model(["audio.wav"], language="auto", return_emotion=True) print(result[0]["text"]) # 转写文本 print(result[0]["emotion"]) # 情感分析结果5.2 音频事件检测
可以检测音频中的特殊事件(如笑声、掌声等):
result = model(["audio.wav"], language="auto", return_audio_events=True) print(result[0]["audio_events"]) # 音频事件列表6. 性能优化建议
6.1 批量处理
对于大量音频文件,建议使用批量处理模式:
# 最佳批量大小取决于硬件配置,通常8-16效果较好 model = SenseVoiceSmall(batch_size=16, quantize=True)6.2 内存管理
长时间运行的服务器应用,可以启用自动内存清理:
model = SenseVoiceSmall(auto_cleanup=True)7. 常见问题解答
7.1 模型缓存位置
服务会自动检测并使用缓存模型,默认路径为:
/root/ai-models/danieldong/sensevoice-small-onnx-quant7.2 支持的音频格式
服务支持绝大多数常见音频格式:
- 无损格式:wav、flac
- 有损格式:mp3、m4a、ogg
7.3 ITN功能说明
逆文本正则化(ITN)功能可以将口语化的数字表达转为标准格式:
- "三点五" → "3.5"
- "百分之二十" → "20%"
- "二零二三年" → "2023年"
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。