news 2026/5/6 18:46:39

SenseVoice-small-onnx REST API开发手册:curl与Python调用完整示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SenseVoice-small-onnx REST API开发手册:curl与Python调用完整示例

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 jieba

2.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-quant

7.2 支持的音频格式

服务支持绝大多数常见音频格式:

  • 无损格式:wav、flac
  • 有损格式:mp3、m4a、ogg

7.3 ITN功能说明

逆文本正则化(ITN)功能可以将口语化的数字表达转为标准格式:

  • "三点五" → "3.5"
  • "百分之二十" → "20%"
  • "二零二三年" → "2023年"

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 21:03:03

AIGlasses OS Pro与C++高性能视觉算法开发指南

AIGlasses OS Pro与C高性能视觉算法开发指南 如果你对在智能眼镜上开发视觉应用感兴趣,但又觉得从零开始太复杂,那这篇文章就是为你准备的。AIGlasses OS Pro提供了一个强大的平台,让你能用熟悉的C语言,结合OpenCV这样的成熟库&a…

作者头像 李华
网站建设 2026/5/2 11:48:52

ERNIE-4.5-0.3B-PT模型在智能家居中的创新应用

ERNIE-4.5-0.3B-PT模型在智能家居中的创新应用 1. 当语音控制不再只是“开关灯”那么简单 你有没有试过对着智能音箱说“把客厅调成适合看电影的氛围”,结果它只给你关了灯,却忘了调暗窗帘、打开投影仪、把空调温度设到26度?或者想让厨房设…

作者头像 李华
网站建设 2026/4/30 12:48:07

cv_unet_image-colorization模型数据结构解析与性能优化

cv_unet_image-colorization模型数据结构解析与性能优化 1. 为什么数据结构决定着上色效果和速度 你有没有试过给一张老照片上色,等了半分钟才看到结果?或者发现生成的色彩总在边缘处发虚、不自然?这些问题背后,往往不是模型不够…

作者头像 李华
网站建设 2026/5/3 13:54:02

Yi-Coder-1.5B在LaTeX文档生成中的应用

Yi-Coder-1.5B在LaTeX文档生成中的应用 写论文、做报告、整理技术文档,但凡涉及到复杂的数学公式和规范的排版,很多人都会想到LaTeX。它确实能生成非常漂亮的文档,但那个学习曲线也着实让人头疼。光是记住各种复杂的命令和环境就够呛&#x…

作者头像 李华