news 2026/8/16 23:08:36

Qwen3-ASR-0.6B保姆级教程:Windows WSL2环境部署Qwen3-ASR-0.6B Web服务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qwen3-ASR-0.6B保姆级教程:Windows WSL2环境部署Qwen3-ASR-0.6B Web服务

Qwen3-ASR-0.6B保姆级教程:Windows WSL2环境部署Qwen3-ASR-0.6B Web服务

想不想在Windows电脑上,轻松搭建一个能听懂52种语言和方言的智能语音识别服务?今天,我就带你一步步在Windows WSL2里,把Qwen3-ASR-0.6B这个轻量又强大的语音识别模型跑起来,并部署成一个有Web界面的服务。

整个过程就像搭积木,我会把每一步都拆解得清清楚楚,即使你之前没怎么接触过Linux或者模型部署,也能跟着做下来。学完这篇教程,你就能拥有一个随时可用的语音转文字工具,无论是处理会议录音、整理采访素材,还是想体验多语言识别的乐趣,都能轻松搞定。

1. 准备工作:认识我们的工具

在开始动手之前,我们先花几分钟了解一下今天要用到的核心工具和环境,这样后面操作起来心里更有底。

1.1 Qwen3-ASR-0.6B是什么?

简单来说,Qwen3-ASR-0.6B是一个开源的语音识别模型。你可以把它想象成一个非常聪明的“耳朵”,它能“听”懂你上传的音频文件,然后把里面的说话内容转换成文字。

它有几个特别实用的特点:

  • 听得懂很多话:支持包括中文、英语、日语、法语等在内的30种主要语言,还能识别粤语、四川话等22种中文方言,总共52种。
  • 身材小巧本事大:模型参数只有0.6B(约6亿),对电脑硬件要求比较友好,但在识别准确度上并不含糊。
  • 不用你告诉它是什么语言:它自己能判断音频里说的是哪种语言或方言,当然你也可以手动指定。
  • 抗干扰能力强:即使在有些背景噪音的环境下,也能保持不错的识别效果。

1.2 为什么选择WSL2?

WSL2全称是Windows Subsystem for Linux 2,你可以把它理解成在Windows系统里开了一个“Linux虚拟机”。但它比传统虚拟机更轻量,启动更快,并且能和Windows系统方便地共享文件。

对我们来说,用WSL2来部署这个服务有几个好处:

  1. 环境统一:很多AI模型和工具都是在Linux环境下开发和测试的,在WSL2里运行更稳定,不容易出奇怪的问题。
  2. 资源占用少:相比完整的虚拟机,WSL2更节省内存和CPU。
  3. 使用方便:你可以继续用你熟悉的Windows,同时在需要的时候切换到Linux命令行去操作,两不耽误。

2. 搭建舞台:配置WSL2与基础环境

好了,理论部分了解完毕,现在我们开始动手。第一步就是把我们的“舞台”——WSL2和必要的软件环境给搭建好。

2.1 启用WSL2并安装Ubuntu

首先,我们需要在Windows上开启WSL功能并安装一个Linux发行版,这里我们选择最常用的Ubuntu。

  1. 以管理员身份打开Windows PowerShell。在开始菜单搜索“PowerShell”,右键点击它,选择“以管理员身份运行”。
  2. 在打开的窗口里,输入下面的命令并回车,这会启用WSL所需的Windows功能。
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. 执行完成后,重启你的电脑。这一步很重要,不重启后续步骤可能无法继续。
  4. 电脑重启后,再次以管理员身份打开PowerShell,输入下面的命令,将WSL的默认版本设置为WSL2。
    wsl --set-default-version 2
  5. 现在,打开Microsoft Store(微软商店),搜索“Ubuntu”。选择版本(比如Ubuntu 22.04 LTS),点击“获取”进行安装。
  6. 安装完成后,在开始菜单找到Ubuntu并启动它。第一次启动会需要几分钟来完成初始化,并让你设置一个用户名密码。这个密码在后续使用sudo命令时会用到,请务必记住。

2.2 安装必要的软件包

Ubuntu系统装好了,我们还需要安装一些运行模型所必需的软件,比如Python、Git和CUDA驱动(如果你有NVIDIA显卡的话)。

  1. 在Ubuntu终端里,首先更新一下软件包列表:
    sudo apt update
  2. 安装Python、pip(Python包管理工具)、Git和一些基础开发工具:
    sudo apt install -y python3 python3-pip git wget curl build-essential
  3. (可选但推荐)安装CUDA Toolkit:如果你的电脑有NVIDIA独立显卡(比如GTX/RTX系列),安装CUDA可以极大加速模型推理。
    • 访问NVIDIA官网的CUDA Toolkit下载页面,选择适合的版本(例如12.1)。
    • 按照官网给出的Linux -> x86_64 -> Ubuntu -> 22.04 -> deb (network)的安装指引,在Ubuntu终端里执行对应的命令即可。

3. 主角登场:获取与准备Qwen3-ASR模型

环境准备好了,接下来请出我们今天的主角——Qwen3-ASR-0.6B模型。

3.1 下载模型文件

通义千问的模型托管在ModelScope社区。我们可以用git命令来下载,但模型文件比较大,使用git lfs(大文件存储)会更方便。

  1. 首先安装git-lfs
    sudo apt install -y git-lfs git lfs install
  2. 创建一个专门的目录来存放我们的项目,然后进入该目录:
    mkdir -p ~/ai-projects/qwen-asr cd ~/ai-projects/qwen-asr
  3. 从ModelScope克隆模型仓库:
    git clone https://www.modelscope.cn/qwen/Qwen3-ASR-0.6B.git
    这个命令会下载模型的所有文件,包括配置文件、模型权重等。由于模型文件较大,下载可能需要一些时间,请耐心等待。

3.2 安装Python依赖包

模型下载好后,它需要一些特定的Python库才能运行。我们用一个requirements.txt文件来管理这些依赖。

  1. 在项目根目录(~/ai-projects/qwen-asr)下,创建一个名为requirements.txt的文件:
    nano requirements.txt
  2. 将以下内容复制进去。这些是运行Qwen3-ASR模型和后续Web服务所需的核心库。
    torch>=2.0.0 transformers>=4.35.0 modelscope>=1.11.0 gradio>=4.0.0 soundfile>=0.12.1 librosa>=0.10.0 pydub>=0.25.1
  3. Ctrl+X,然后按Y,再回车,保存并退出编辑器。
  4. 使用pip安装这些依赖:
    pip3 install -r requirements.txt
    安装过程可能需要几分钟,取决于你的网络速度。

4. 构建服务:创建Web应用与启动脚本

现在模型和环境都齐了,我们来创建一个简单的Web界面,让它用起来更方便。我们将使用Gradio这个库,它能快速为机器学习模型构建友好的Web界面。

4.1 编写Web应用主程序

在项目根目录下,创建一个名为app.py的Python文件。

nano app.py

将下面的代码复制进去。这段代码做了几件事:加载模型、创建一个上传音频的网页、处理用户上传的音频并调用模型识别、最后把结果显示在网页上。

import gradio as gr from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks import tempfile import os # 1. 加载语音识别模型管道 print("正在加载Qwen3-ASR-0.6B模型,首次加载可能需要几分钟...") # 指定模型本地路径 model_dir = "./Qwen3-ASR-0.6B" asr_pipeline = pipeline( task=Tasks.auto_speech_recognition, model=model_dir, device="cuda:0" # 如果使用GPU,改为 "cuda:0";如果使用CPU,改为 "cpu" ) print("模型加载完成!") # 2. 定义核心识别函数 def transcribe_audio(audio_file, language="auto"): """ 处理音频文件并转写成文字 audio_file: Gradio上传的音频文件对象 language: 语言代码,如 'zh' (中文), 'en' (英文),默认 'auto' 自动检测 """ if audio_file is None: return "请先上传一个音频文件。", "未检测" try: # 调用模型进行识别 # 如果指定了语言,则传入language参数;如果为auto,则让模型自动检测 if language != "auto": rec_result = asr_pipeline(audio_file.name, language=language) else: rec_result = asr_pipeline(audio_file.name) # 提取识别结果 # 结果通常是一个字典,包含'text'和可能的'language'信息 text = rec_result.get('text', '') detected_lang = rec_result.get('language', '自动检测') return text, detected_lang except Exception as e: # 如果出错,返回错误信息 return f"识别过程中出现错误:{str(e)}", "错误" # 3. 构建Gradio网页界面 demo = gr.Blocks(title="Qwen3-ASR-0.6B 语音识别服务") with demo: gr.Markdown("# 🎤 Qwen3-ASR-0.6B 语音识别服务") gr.Markdown("上传音频文件,自动识别其中的语音内容。支持52种语言和方言。") with gr.Row(): with gr.Column(): # 音频文件上传组件 audio_input = gr.Audio( label="上传或录制音频", type="filepath", sources=["upload", "microphone"] ) # 语言选择下拉框 language_dropdown = gr.Dropdown( choices=[ "auto", "zh", "en", "ja", "ko", "fr", "de", "es", "ru", "ar" ], value="auto", label="选择识别语言", info="'auto' 为自动检测语言。手动指定可能提高特定语言准确率。" ) # 识别按钮 transcribe_btn = gr.Button("开始识别", variant="primary") with gr.Column(): # 识别结果显示框 text_output = gr.Textbox( label="识别文本", placeholder="识别结果将显示在这里...", lines=10 ) language_output = gr.Textbox( label="检测到的语言", placeholder="检测到的语言类型将显示在这里..." ) # 示例音频,方便用户快速测试 gr.Examples( examples=[ ["./example_zh.wav", "zh"], ["./example_en.wav", "en"], ], inputs=[audio_input, language_dropdown], outputs=[text_output, language_output], fn=transcribe_audio, cache_examples=False, label="点击下方示例快速尝试:" ) # 将按钮点击事件绑定到处理函数 transcribe_btn.click( fn=transcribe_audio, inputs=[audio_input, language_dropdown], outputs=[text_output, language_output] ) # 页脚信息 gr.Markdown("---") gr.Markdown("**技术支持** | 使用 Qwen3-ASR-0.6B 模型 | 部署于 WSL2 环境") # 4. 启动服务 if __name__ == "__main__": # 设置服务器名称和端口,允许外部访问(从Windows浏览器访问) demo.launch( server_name="0.0.0.0", server_port=7860, share=False # 在本地WSL2运行,无需生成公网链接 )

Ctrl+X,然后按Y,再回车保存。

4.2 创建启动脚本

为了更方便地启动服务,我们创建一个启动脚本start.sh

nano start.sh

将以下内容复制进去。这个脚本会检查必要的文件,然后启动我们的Web应用。

#!/bin/bash # Qwen3-ASR-0.6B Web服务启动脚本 echo "=== 启动 Qwen3-ASR-0.6B Web服务 ===" # 检查模型目录是否存在 MODEL_DIR="./Qwen3-ASR-0.6B" if [ ! -d "$MODEL_DIR" ]; then echo "错误:未找到模型目录 $MODEL_DIR" echo "请确保已从ModelScope克隆模型仓库。" exit 1 fi # 检查app.py是否存在 if [ ! -f "app.py" ]; then echo "错误:未找到 app.py 文件" exit 1 fi echo "1. 模型目录检查通过。" echo "2. 应用文件检查通过。" # 设置Python路径(可选,确保使用正确的环境) # export PYTHONPATH=/path/to/your/virtualenv/lib/python3.x/site-packages:$PYTHONPATH echo "3. 正在启动Gradio Web服务..." echo "服务将在 http://0.0.0.0:7860 启动" echo "在Windows浏览器中访问:http://localhost:7860" echo "" echo "按 Ctrl+C 可停止服务。" # 启动Python应用 python3 app.py

保存后,给这个脚本加上可执行权限:

chmod +x start.sh

5. 运行与访问:启动你的语音识别服务

激动人心的时刻到了!我们现在要启动服务,并在Windows的浏览器里访问它。

5.1 启动Web服务

在项目根目录下,运行我们刚才创建的启动脚本:

./start.sh

你会看到终端开始输出信息。第一次运行时会显示“正在加载Qwen3-ASR-0.6B模型,首次加载可能需要几分钟...”,这是因为需要将模型加载到内存(或GPU显存)中。请耐心等待一两分钟。

当看到类似下面的输出时,说明服务启动成功了:

Running on local URL: http://0.0.0.0:7860

注意:服务启动后,这个终端窗口会一直处于运行状态,不要关闭它。关闭终端就意味着停止了服务。

5.2 从Windows浏览器访问

服务在WSL2的Ubuntu系统里运行,监听7860端口。我们需要在Windows的浏览器中访问它。

  1. 打开你Windows系统上的浏览器(Chrome、Edge等)。
  2. 在地址栏输入:http://localhost:7860
  3. 回车。

如果一切顺利,你应该能看到一个简洁的Web界面,标题是“Qwen3-ASR-0.6B 语音识别服务”。

5.3 首次使用测试

为了测试服务是否正常工作,我们需要一个音频文件。你可以用手机录一段简短的说话音频(比如“今天天气不错”),通过微信文件传输助手发送到电脑,或者使用任何已有的.wav.mp3文件。

在Web界面中:

  1. 点击“上传或录制音频”区域,选择你的测试音频文件。
  2. 语言选择可以先保持“auto”(自动检测)。
  3. 点击蓝色的“开始识别”按钮。

稍等片刻,识别结果就会显示在右边的“识别文本”框里,并且“检测到的语言”会显示模型判断的语言类型。

恭喜你!你的个人语音识别服务已经成功运行了。

6. 总结与后续

跟着上面的步骤走下来,你应该已经在Windows WSL2环境下成功部署了Qwen3-ASR-0.6B的Web服务。让我们回顾一下都做了什么:

  1. 搭建环境:启用了WSL2并安装了Ubuntu,配置了基础的Python和CUDA环境。
  2. 获取模型:从ModelScope社区下载了Qwen3-ASR-0.6B模型。
  3. 创建应用:编写了一个基于Gradio的Web应用,提供了上传音频和展示结果的界面。
  4. 运行服务:启动了服务,并通过Windows浏览器成功访问和测试。

这个服务现在完全在你的本地电脑上运行,音频数据不会上传到任何外部服务器,对于处理一些敏感或私人的音频内容很有优势。

你可以进一步探索

  • 尝试不同语言:找一些英语、日语或其他语言的音频,测试它的多语言识别能力。
  • 测试方言:如果你会说粤语、四川话等,录一段试试看。
  • 处理长音频:模型对长音频的支持也不错,可以尝试上传更长的会议录音。
  • 集成到其他应用:这个app.py的核心识别函数transcribe_audio,你也可以把它拿出来,集成到你自己的Python脚本或项目中去。

如果在使用过程中遇到问题,可以回头检查一下模型是否下载完整、依赖包是否安装成功、以及WSL2的网络配置。大多数问题都能通过仔细核对上述步骤来解决。现在,就去享受你的智能语音识别工具吧!


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/16 23:08:36

Elsevier-Tracker:重构科研投稿管理的浏览器扩展解决方案

Elsevier-Tracker:重构科研投稿管理的浏览器扩展解决方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 面向学术研究者的投稿状态全周期管理指南 揭示科研投稿的隐形时间成本 清晨7点,神…

作者头像 李华
网站建设 2026/7/14 16:10:08

利用UNIT-00辅助Keil5 MDK进行STM32F103C8T6项目开发

利用UNIT-00辅助Keil5 MDK进行STM32F103C8T6项目开发 如果你正在用Keil5 MDK捣鼓那块经典的STM32F103C8T6最小系统板,那你肯定对下面这些场景不陌生:面对几百页的芯片手册,想找个寄存器配置说明得翻半天;写外设初始化代码时&…

作者头像 李华
网站建设 2026/7/14 16:10:09

ncmdump终极指南:3分钟解决NCM转MP3全流程,告别格式兼容性难题

ncmdump终极指南:3分钟解决NCM转MP3全流程,告别格式兼容性难题 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 当你准备在车载音响播放下载的网易云音乐时,却发现所有文件都是无法识别的.ncm格式&…

作者头像 李华