SenseVoice-small轻量部署:Windows Subsystem for Linux (WSL2) 全流程
想在自己的Windows电脑上搭建一个本地语音识别服务,但又不想折腾复杂的Linux环境?今天,我就带你用WSL2,在Windows系统里轻松部署SenseVoice-small语音识别模型。这是一个轻量级、多任务、支持ONNX量化的语音模型,部署完成后,你就能在浏览器里直接上传音频或录音,实时转换成文字,支持50多种语言,还能识别说话人的情绪。
整个过程就像搭积木,跟着步骤走,半小时内你就能拥有一个私人的、离线的语音识别助手。无论是用来整理会议录音、给视频加字幕,还是单纯想体验一下本地AI的能力,这个教程都能帮到你。
1. 准备工作:认识我们的工具
在开始动手之前,我们先花两分钟了解一下今天要用到的几个核心工具。理解了它们,后面的操作就会清晰很多。
1.1 主角:SenseVoice-small是什么?
SenseVoice-small是一个“小而强”的语音识别模型。你可以把它想象成一个耳朵特别灵、懂得语言特别多的智能助手。
- 轻量级:它的“身材”比较小,对电脑硬件要求不高,普通电脑也能跑起来,特别适合我们这种个人用户在本地部署。
- 多任务:它不止能听写文字。它还能做两件很酷的事:一是识别说话人的情绪(比如开心、生气、平静),二是把口语化的数字自动转换成书面格式(比如把“一百二十”转成“120”)。
- ONNX量化版:这是技术上的优化,简单理解就是让这个模型跑得更快、占用的内存更少,在我们个人的电脑上体验会更流畅。
- WebUI V1.0:它自带一个网页界面。部署好后,你不需要敲命令,直接在浏览器里点一点、拖一拖就能用,非常方便。
1.2 舞台:为什么用WSL2?
WSL2(Windows Subsystem for Linux 2)是微软官方推出的功能,它允许你在Windows系统内部无缝地运行一个完整的Linux系统。
对我们来说,它的好处显而易见:
- 免去双系统烦恼:不需要单独给电脑装一个Linux系统,所有操作都在Windows里完成。
- 直接使用Linux环境:很多优秀的AI项目和工具(包括我们今天要部署的SenseVoice)原生就是在Linux环境下开发和测试的。用WSL2可以确保环境和依赖完全匹配,避免各种奇怪的兼容性问题。
- 文件互通:Windows和WSL里的Linux可以互相访问对方的文件,传个音频文件、导个识别结果都非常方便。
1.3 它能用在哪儿?
部署好后,这个本地语音识别服务能帮你做很多事:
- 个人效率工具:快速整理会议录音、访谈记录,将灵感语音备忘录转成文字。
- 内容创作助手:为自制的视频、播客节目自动生成字幕文件。
- 多语言学习:识别外语学习材料的音频,检查自己的发音和语调对应的文字。
- 隐私敏感场景:所有语音数据都在你自己的电脑上处理,不会上传到任何云端,适合处理涉及个人隐私、商业机密或敏感信息的音频。
好了,工具介绍完毕,我们开始动手搭建!
2. 第一步:启用WSL2并安装Ubuntu
这是搭建基础舞台的步骤。请确保你的Windows 10版本在2004以上,或Windows 11。
2.1 启用WSL功能
以管理员身份打开Windows PowerShell(在开始菜单搜索“PowerShell”,右键选择“以管理员身份运行”),然后输入以下命令:
wsl --install这个命令会一次性完成几件事:启用“适用于Linux的Windows子系统”和“虚拟机平台”这两个必需的Windows功能,并默认安装Ubuntu Linux发行版。执行后,系统会提示你重启电脑。
如果上述命令不成功,可以手动启用功能:
- 搜索打开“启用或关闭Windows功能”。
- 勾选“适用于Linux的Windows子系统”和“虚拟机平台”。
- 点击确定,重启电脑。
2.2 安装并设置Ubuntu
重启后,一个Ubuntu的终端窗口可能会自动弹出。如果没有,在开始菜单找到“Ubuntu”并打开。
首次运行需要完成初始化:
- 等待终端完成解压和安装。
- 根据提示,设置一个UNIX用户名(建议用小写英文,如
ai_user)和密码(输入时不会显示,输完按回车即可)。这个密码在后续使用sudo命令时会用到,请记住。 - 安装完成,你会看到类似
ai_user@DESKTOP-XXXX:~$的提示符,说明Linux环境已经就绪。
2.3 验证WSL版本并更新
在Ubuntu终端里,我们首先确认WSL版本是2,并更新系统软件包。
# 在Windows PowerShell中查看WSL版本 wsl -l -v # 应该看到你安装的发行版(如Ubuntu)后面跟着“2”。如果是“1”,需要转换。 # 在Ubuntu终端中,更新软件包列表并升级现有软件 sudo apt update && sudo apt upgrade -y至此,你的Windows电脑里已经拥有了一个完整的Linux系统,我们的舞台搭建完毕。
3. 第二步:在WSL中部署SenseVoice-small
现在,我们进入Linux环境,开始部署语音识别服务。
3.1 获取部署脚本
SenseVoice-small提供了一个非常方便的一键部署脚本。我们在用户主目录下操作。
# 确保在用户主目录 cd ~ # 下载部署脚本 wget https://github.com/modelscope/ms-swift/blob/main/examples/sensevoice/sensevoice_small_onnx_quant_deploy.sh # 给脚本添加执行权限 chmod +x sensevoice_small_onnx_quant_deploy.sh3.2 运行部署脚本
运行这个脚本,它会自动完成所有繁重的工作:创建Python虚拟环境、安装PyTorch等依赖、下载模型文件、配置Web服务。
# 执行部署脚本 ./sensevoice_small_onnx_quant_deploy.sh这个过程需要一些时间,具体取决于你的网速。脚本会输出大量信息,只要没有报错(红色ERROR)中断,就让它自己运行。它会:
- 安装Miniconda(一个Python环境管理工具)。
- 创建一个名为
torch29的独立Python环境。 - 在这个环境里安装PyTorch、Gradio(用于创建Web界面)等所有必需的库。
- 从ModelScope社区下载预量化好的SenseVoice-small模型文件。
- 配置Supervisor(一个进程管理工具)来托管Web服务,并设置开机自启动。
3.3 检查部署状态
脚本运行完毕后,我们需要确认服务是否正常启动。
# 检查Supervisor管理的服务状态 supervisorctl status如果看到sensevoice:sensevoice-webui RUNNING的字样,恭喜你,核心服务已经跑起来了!
4. 第三步:在Windows中访问并使用Web界面
服务在WSL的Linux里运行,但我们可以在Windows的浏览器里直接使用它。
4.1 找到访问地址
在WSL2中,服务通常监听在0.0.0.0:7860这个地址。我们需要找到WSL2虚拟机的IP地址。
在Ubuntu终端里输入:
# 获取WSL2的IP地址 hostname -I你会看到一个IP地址,通常是172.x.x.x这种格式。记下它,比如是172.25.123.45。
4.2 在浏览器中打开
打开你Windows上的Chrome、Edge等浏览器,在地址栏输入:
http://172.25.123.45:7860请将172.25.123.45替换为你刚才记下的实际IP地址。
如果一切顺利,你将看到一个简洁的Web界面,标题是“SenseVoice 语音识别”。
4.3 界面功能速览
这个界面设计得很直观:
- 上传音频:点击上传区域,可以选择你Windows电脑或WSL里的音频文件(MP3、WAV等格式)。
- 实时录音:点击麦克风图标,授权浏览器使用麦克风后,可以直接说话录音。
- 语言选择:默认是“auto”(自动检测),你也可以手动指定中文、英文、日语、粤语等。
- 逆文本标准化:建议保持开启,它会智能地把“一百二十”转换成“120”。
- 识别按钮:点击“🚀 开始识别”,稍等片刻,结果就会显示在下方的框里。
4.4 进行第一次识别测试
我们来做个快速测试,确保一切工作正常:
- 在界面上点击“🎤 点击录音”。
- 对着麦克风清晰地说一句:“今天天气真好,这是一个语音识别测试。”
- 再次点击麦克风图标停止录音。
- 点击“🚀 开始识别”。
- 观察结果框,你应该能看到识别出的文字,以及检测到的语言(zh)、情感(可能是“中性”)和识别耗时。
成功了!你的本地语音识别工坊正式开业。
5. 第四步:日常使用与管理技巧
部署只是开始,掌握以下技巧能让它更好地为你服务。
5.1 文件互通:如何在WSL和Windows间传文件
WSL2的一个巨大优势是文件系统互通。
- 在WSL中访问Windows文件:你的Windows的C盘、D盘等,在WSL里位于
/mnt/c/,/mnt/d/目录下。例如,你想识别C:\Users\YourName\Downloads\meeting.mp3这个文件,在Web界面上传时,理论上你可以从/mnt/c/Users/YourName/Downloads/路径找到它。但更简单的方法是: - 在Windows中访问WSL文件:在Windows文件资源管理器的地址栏直接输入
\\wsl$\Ubuntu(如果你安装的是Ubuntu),回车后就能像访问网络驱动器一样访问WSL里的家目录(/home/你的用户名/)。你可以把要识别的音频文件直接复制进去。
最推荐的实践:在WSL里创建一个专门放音频的文件夹,然后通过Windows资源管理器把文件拖进去。
# 在WSL中创建文件夹 mkdir -p ~/audio_files以后你就可以把音频文件拖到Windows资源管理器的\\wsl$\Ubuntu\home\ai_user\audio_files里,然后在Web界面上传~/audio_files/下的文件。
5.2 服务管理命令
如果Web页面打不开,或者你想重启服务,可以回到Ubuntu终端操作:
# 查看服务状态 supervisorctl status # 重启Web服务(修改配置后常用) supervisorctl restart sensevoice:sensevoice-webui # 停止服务 supervisorctl stop sensevoice:sensevoice-webui # 启动服务 supervisorctl start sensevoice:sensevoice-webui5.3 查看运行日志
如果识别出错或服务异常,查看日志是排查问题的第一步。
# 实时查看最新的日志输出(按Ctrl+C退出) tail -f ~/sensevoice-small-语音识别-onnx/logs/webui.log # 查看最近100行日志 tail -n 100 ~/sensevoice-small-语音识别-onnx/logs/webui.log6. 总结
回顾一下,我们完成了从零开始,在Windows系统上利用WSL2搭建本地SenseVoice-small语音识别服务的全过程。你获得了一个:
- 完全本地化的语音处理工具,无需网络,隐私无忧。
- 功能全面的助手,支持转写、情感识别、多语言。
- 使用便捷的Web应用,通过浏览器即可轻松操作。
这个轻量级部署方案,完美契合了文章开头提到的多种场景:个人离线助手、边缘计算原型、隐私敏感应用的开发测试环境。它为你打开了一扇门,让你能以极低的成本,在熟悉的Windows环境下探索和集成先进的语音AI能力。
下次当你需要处理一段音频时,不必再寻找在线的、可能有隐私顾虑的服务。打开浏览器,访问本地的http://172.x.x.x:7860,你私人的、高效的语音识别专家随时待命。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。