家用小GIT
2026/5/1 1:02:30
SenseVoice Small是基于阿里通义千问轻量级语音识别模型构建的高性能语音转文字服务。该项目针对原模型部署过程中的常见问题进行了全面优化,提供了WebUI、CLI和移动端API三种部署方式,满足不同场景下的语音识别需求。
核心改进包括:
确保您的系统满足以下最低配置:
git clone https://github.com/example/sensevoice-small.git cd sensevoice-smallpython -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windowspip install -r requirements.txtpython download_model.pyWebUI是项目默认提供的交互界面,基于Streamlit构建:
streamlit run webui/app.py启动后,浏览器会自动打开http://localhost:8501访问界面。
WebUI提供以下核心功能区域:
问题1:端口冲突
# 指定其他端口 streamlit run webui/app.py --server.port 8502问题2:GPU未启用 检查CUDA是否安装:
nvidia-smipython cli/main.py -i input.mp3 -o output.txt -l zh参数说明:
-i/--input: 输入音频文件路径-o/--output: 输出文本文件路径(可选)-l/--language: 识别语言(默认auto)处理目录下所有音频文件:
for file in audio/*.mp3; do python cli/main.py -i "$file" -o "output/${file%.*}.txt" done--batch-size: 批处理大小(GPU优化)--vad-threshold: 语音活动检测阈值--no-cleanup: 保留临时文件uvicorn api.main:app --host 0.0.0.0 --port 8000POST /recognize请求参数:
{ "audio": "base64编码的音频数据", "language": "zh", "format": "mp3" }响应示例:
{ "text": "识别结果文本", "status": "success", "duration": 3.2 }fun recognizeAudio(audioFile: File) { val client = OkHttpClient() val requestBody = MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("audio", audioFile.name, audioFile.asRequestBody("audio/mpeg".toMediaType())) .addFormDataPart("language", "zh") .build() val request = Request.Builder() .url("http://your-server:8000/recognize") .post(requestBody) .build() client.newCall(request).enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { val result = response.body?.string() // 处理识别结果 } override fun onFailure(call: Call, e: IOException) { // 错误处理 } }) }--batch-sizefrom fastapi.security import APIKeyHeader api_key_header = APIKeyHeader(name="X-API-Key")app = FastAPI(max_upload_size=1024*1024*10) # 10MB添加Prometheus监控:
from prometheus_fastapi_instrumentator import Instrumentator Instrumentator().instrument(app).expose(app)日志配置示例:
import logging logging.basicConfig( filename='sensevoice.log', level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' )通过本教程,您已经掌握了SenseVoice Small在WebUI、CLI和移动端API三种场景下的部署和使用方法。这套解决方案具有以下优势:
建议下一步:
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。