Skip to content

msola-ht/Sense-Sherpa-API

Repository files navigation

SenseVoice ASR API

基于 Sherpa-ONNX 的本地语音识别 API 服务,支持多语言、VAD 分段、ITN 数字规整。

主要功能

  • ✅ 完全本地化运行,无需联网
  • ✅ 支持 Web 界面和 REST API
  • ✅ 多语言支持(中/英/日/韩)
  • ✅ 语音活动检测(VAD)自动分段
  • ✅ 音频降噪与预处理
  • ✅ Docker 一键部署

快速开始

1. 准备模型文件

注意models/ 目录内容已被 Git 忽略,需要自行下载模型文件。

Sherpa-ONNX Releases 下载以下文件到 models/ 目录:

models/
  ├── model.int8.onnx
  ├── tokens.txt
  └── silero_vad.onnx

2. 安装依赖

pip install -r requirements_api.txt

3. 启动服务

python main_api.py \
  --sense-voice models/model.int8.onnx \
  --tokens models/tokens.txt \
  --silero-vad-model models/silero_vad.onnx

4. API 调用

import 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"])

Docker 部署

使用预构建镜像(推荐)

项目提供两个独立架构的镜像版本:

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:amd64

ARM64 版本 (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

# 启动服务
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

技术栈

作者

HeGenAI - 老何的AIGC研究室 微信: hlsaig

许可证

MIT License

About

基于 Sherpa-ONNX 的本地语音识别系统,支持 Gradio Web 界面和 FastAPI REST API 服务

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors