SenseVoice-small-onnx多语言ASR入门教程:Gradio Web UI零代码体验语音识别
本文介绍了如何在星图GPU平台上自动化部署sensevoice-small-语音识别-onnx模型(带量化后),实现多语言语音识别。用户可通过该平台快速搭建服务,并利用其Gradio Web界面,轻松将中文、英语、日语等语音转换为文字,适用于会议记录、音频转字幕等场景。
SenseVoice-small-onnx多语言ASR入门教程:Gradio Web UI零代码体验语音识别
想体验多语言语音识别,但被复杂的代码和部署流程劝退?今天,我来带你用最简单的方式,零代码上手SenseVoice-small-onnx模型。这是一个基于ONNX量化的多语言语音识别服务,你不需要懂深度学习,也不需要写复杂的Python脚本,通过一个直观的Web界面,就能轻松将中文、粤语、英语、日语、韩语的语音转换成文字。
整个过程就像使用一个在线工具,点击上传、自动识别、查看结果。无论你是开发者想快速集成语音功能,还是普通用户想体验AI语音识别的魅力,这篇教程都能让你在10分钟内看到实际效果。
1. 快速了解:SenseVoice-small-onnx能做什么?
在开始动手之前,我们先花两分钟了解一下这个工具的核心能力。知道它能做什么,你才能更好地用它。
SenseVoice-small-onnx是一个轻量级的语音识别模型。简单来说,你给它一段录音,它就能把里面说的话转成文字。它的特别之处在于“小”和“多”。
“小”指的是模型体积和速度快。它经过了ONNX格式的量化处理,模型文件只有230MB左右,对电脑配置要求很低。推理速度非常快,处理10秒钟的音频,大概只需要70毫秒,几乎是瞬间完成。
“多”指的是支持的语言多。它最擅长处理以下五种语言:
- 中文(普通话):识别日常对话、会议记录、音频转字幕。
- 粤语:专门优化了粤语识别,对于粤语使用者非常友好。
- 英语:支持英文语音转写。
- 日语:可以识别日语语音。
- 韩语:同样支持韩语识别。
更厉害的是,它支持自动语言检测。你上传一段音频,不用告诉它是什么语言,它能自己判断并选择对应的模型进行识别,目前支持超过50种语言的自动检测。
除了基本的转写,它还有一些实用功能:
- 富文本输出:不仅能转文字,还能尝试识别语音中的情感(比如高兴、生气)和音频事件(比如笑声、掌声)。
- 逆文本正则化(ITN):这是一个很贴心的功能。比如,你把“下午三点”说成“下午3点”,它会把“三”自动转成“3”;说“百分之二十”,它会输出“20%”。这让转写结果更符合书面阅读习惯。
接下来,我们就一步步把它跑起来。
2. 环境准备:一行命令安装所有依赖
这个服务基于Python,我们需要先准备好运行环境。别担心,步骤非常简单。
首先,确保你的电脑上已经安装了Python 3.8或更高版本。你可以打开命令行终端(Windows上是CMD或PowerShell,Mac/Linux上是Terminal),输入以下命令检查:
python3 --version
如果显示了Python版本号(比如 Python 3.10.12),说明环境没问题。如果没有,你需要先去Python官网下载并安装。
接下来,安装项目运行所需要的所有软件包。我们只需要执行一条安装命令:
pip install funasr-onnx gradio fastapi uvicorn soundfile jieba
这条命令会安装五个核心的包:
funasr-onnx: 这是核心的语音识别推理库,SenseVoice模型就靠它来运行。gradio: 用来构建我们即将使用的那个可视化Web界面,让你能通过网页上传音频和查看结果。fastapi和uvicorn: 这是创建高效API服务的框架,Gradio界面背后调用的就是它。soundfile: 用来读取和处理音频文件。jieba: 中文分词库,帮助提升中文识别的准确性。
通常,这条命令会在几秒到一分钟内完成。安装成功后,我们的基础环境就准备好了。
3. 启动服务:运行脚本,打开浏览器
环境准备好后,启动服务就是一瞬间的事。我们需要先获取服务启动的脚本。
假设你已经从CSDN星图镜像广场或其他地方获得了这个服务的代码包,里面应该会有一个名为 app.py 的主程序文件。我们只需要在终端里,进入到这个文件所在的目录。
例如,如果你的 app.py 文件放在桌面的一个叫 sensevoice-demo 的文件夹里,你可以这样操作:
# 切换到文件所在目录 (请将路径替换成你自己的实际路径)
cd ~/Desktop/sensevoice-demo
# 启动服务
python3 app.py --host 0.0.0.0 --port 7860
执行 python3 app.py 命令后,你会看到终端开始输出一些信息。服务启动时,它会自动检查并下载所需的模型文件。这里有一个好消息:如果你使用的是CSDN星图镜像,模型很可能已经预下载好了,路径在 /root/ai-models/danieldong/sensevoice-small-onnx-quant,服务会优先使用这个缓存模型,无需等待漫长的下载,几乎是秒启动。
当你看到类似下面的输出时,说明服务已经成功启动了:
Running on local URL: http://0.0.0.0:7860
现在,打开你电脑上的浏览器(Chrome、Firefox、Edge等都可以),在地址栏输入 http://localhost:7860,然后按下回车。
一个简洁、直观的Web界面就会出现在你面前!这意味着最复杂的部分已经完成了,接下来就是愉快的体验时间。
4. 零代码体验:使用Gradio Web界面
Gradio界面设计得非常人性化,主要功能区域一目了然。我们来熟悉一下怎么使用它。
界面通常包含以下几个部分:
- 音频上传区域:这里有一个文件选择按钮,点击它就可以从你的电脑里选择音频文件(支持mp3, wav, m4a, flac等常见格式)。
- 语言选择下拉框:你可以在这里指定音频的语言。如果你不确定,或者音频里可能混有多种语言,强烈建议选择
auto(自动检测),让模型自己判断,这是最省心且准确率很高的方式。 - 功能开关:可能会有一个“启用ITN(逆文本正则化)”的复选框,勾选它,可以让转写结果中的数字、百分比等更规范。
- “提交”或“转写”按钮:上传好文件,选好设置后,点击这个按钮开始识别。
- 结果显示区域:识别完成后,转写的文字会显示在这里。
我们来做一个完整的测试:
- 第一步:点击“上传音频”按钮,从你的电脑里选择一个音频文件。比如,你可以用手机录一段自己说“今天天气真好,我们去公园散步吧”的录音,保存为MP3格式传上来。
- 第二步:在语言选择里,保持默认的
auto。 - 第三步:确保“使用ITN”是勾选状态。
- 第四步:点击“提交”按钮。
稍等片刻(对于短音频就是一瞬间),下方的结果框里就会显示出识别出的文字:“今天天气真好,我们去公园散步吧。”。整个过程,你没有写任何代码,只是点了几下鼠标。
你可以多尝试几种情况:
- 上传一段英文播客片段。
- 找一段粤语歌曲的音频前奏说话部分试试。
- 测试一下包含数字的句子,比如“请拨打12345678联系我”,看看ITN功能是否将其转为“请拨打12345678联系我”。
这种交互方式,非常适合快速测试模型效果、处理单个音频文件,或者给非技术人员演示语音识别的能力。
5. 进阶使用:了解API接口
Web界面很方便,但如果你是一名开发者,想要把这个语音识别功能集成到你自己的程序、网站或APP里,该怎么办呢?这就需要用到它提供的REST API接口了。
这个服务在启动后,除了Web界面(http://localhost:7860),还自动提供了一个API文档页面(http://localhost:7860/docs)和一套可编程调用的接口。这意味着你可以用任何能发送HTTP请求的工具或编程语言来调用它。
最常用的接口是转录接口。你可以使用像 curl 这样的命令行工具来快速测试API:
curl -X POST "http://localhost:7860/api/transcribe" \
-F "file=@/你的路径/audio.wav" \
-F "language=auto" \
-F "use_itn=true"
把 /你的路径/audio.wav 换成你电脑上真实的音频文件路径。执行命令后,服务器会返回一个JSON格式的结果,里面就包含了转写好的文本。
如果你更喜欢用Python,可以这样写:
import requests
# API地址
url = "http://localhost:7860/api/transcribe"
# 准备要上传的文件
files = {'file': open('你的音频文件.mp3', 'rb')}
# 设置参数
data = {'language': 'auto', 'use_itn': True}
# 发送请求
response = requests.post(url, files=files, data=data)
# 打印结果
print(response.json())
通过API,你可以实现批量处理音频、将语音识别嵌入自动化流程等更高级的功能。API的响应速度同样非常快,能满足大多数应用场景的需求。
6. 总结
回顾一下,我们完成了从零开始体验SenseVoice-small-onnx多语言语音识别的全过程:
- 一分钟理解核心价值:我们了解到它是一个快速、轻量、支持中英日韩粤五种语言并能自动检测的语音识别工具,还具备ITN等贴心功能。
- 一行命令搭建环境:通过
pip install安装了所有必需的Python包。 - 一条指令启动服务:运行
python3 app.py启动了本地服务,并利用镜像预下载的模型实现了快速启动。 - 零代码交互体验:在浏览器中打开Gradio提供的友好界面,通过上传文件、点击按钮完成了语音转文字,直观地感受到了识别效果和速度。
- 探索集成可能性:了解了如何通过标准的REST API接口,用命令行或Python代码调用该服务,为后续集成开发打下了基础。
这个教程展示了如何以最便捷的方式“用起来”一个AI模型。SenseVoice-small-onnx凭借其优秀的量化技术,在保持高精度的同时,大大降低了使用门槛和资源消耗。无论是用于学习体验、快速原型验证,还是作为大型应用中的一个组件,它都是一个非常出色的选择。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐
所有评论(0)