基于 Sherpa-ONNX 的本地语音识别 API 服务,支持多语言、VAD 分段、ITN 数字规整。
- ✅ 完全本地化运行,无需联网
- ✅ 支持 Web 界面和 REST API
- ✅ 多语言支持(中/英/日/韩)
- ✅ 语音活动检测(VAD)自动分段
- ✅ 音频降噪与预处理
- ✅ Docker 一键部署
注意:models/ 目录内容已被 Git 忽略,需要自行下载模型文件。
从 Sherpa-ONNX Releases 下载以下文件到 models/ 目录:
models/
├── model.int8.onnx
├── tokens.txt
└── silero_vad.onnx
pip install -r requirements_api.txtpython main_api.py \
--sense-voice models/model.int8.onnx \
--tokens models/tokens.txt \
--silero-vad-model models/silero_vad.onnximport requests
with open("audio.mp3", "rb") as f:
response = requests.post(
"http://localhost:8000/transcribe_file",
files={"file": f}
)
result = response.json()
print(result["text"])项目提供两个独立架构的镜像版本:
AMD64 版本 (Intel/AMD 处理器)
docker pull lunare/sense-sherpa-api:amd64
docker run -d \
--name sensevoice-asr \
-p 8000:8000 \
-v $(pwd)/models:/app/models \
lunare/sense-sherpa-api:amd64ARM64 版本 (Apple Silicon/树莓派)
docker pull lunare/sense-sherpa-api:arm64
docker run -d \
--name sensevoice-asr \
-p 8000:8000 \
-v $(pwd)/models:/app/models \
lunare/sense-sherpa-api:arm64# 启动服务
docker-compose up -d
# 访问 API 文档
curl http://localhost:8022/docs| 参数 | 说明 | 默认值 |
|---|---|---|
--language |
语言 (zh/en/ja/ko/auto) | auto |
--use-itn |
ITN 数字规整 | 1 |
--port |
服务端口 | 8000 |
--vad-max-speech |
最大语音时长(秒) | 5.0 |
完整参数见 API 文档:http://localhost:8000/docs
- sherpa-onnx - 语音识别引擎
- FastAPI - API 服务框架
- FFmpeg - 音频处理
- Docker - 容器化部署
HeGenAI - 老何的AIGC研究室 微信: hlsaig
MIT License