Qwen3-ASR-0.6B在Ubuntu 20.04上的完整安装教程

想在自己的电脑上跑一个能听懂几十种语言和方言的语音识别模型吗?Qwen3-ASR-0.6B就是个不错的选择。它体积不大,但能力不小,支持中文、英文、粤语等52种语言和方言的识别,还能处理带背景音乐的人声。最关键的是,它能在本地运行,不联网、不传音,隐私有保障。

今天我就带你一步步在Ubuntu 20.04系统上把这个模型装起来,从环境准备到实际使用,每个环节都讲清楚。就算你之前没怎么接触过AI模型部署,跟着做也能搞定。

1. 安装前的准备工作

在开始安装模型之前,咱们得先把系统环境准备好。Ubuntu 20.04是个比较稳定的系统版本,但有些基础组件需要更新一下。

首先打开终端,更新一下系统包列表:

sudo apt update
sudo apt upgrade -y

语音识别模型需要处理音频文件,所以得安装一些音频处理相关的库:

sudo apt install -y ffmpeg libsndfile1 python3-dev python3-pip

如果你打算用GPU来加速推理(这样速度会快很多),还需要安装NVIDIA的驱动和CUDA工具包。可以用下面这个命令检查一下你的显卡驱动是否已经装好:

nvidia-smi

如果看到显卡信息,说明驱动已经就绪。如果没看到,可以去NVIDIA官网下载对应你显卡的驱动安装。对于Ubuntu 20.04,CUDA 11.8是个比较兼容的选择。

2. 创建独立的Python环境

我强烈建议你创建一个独立的Python环境来安装Qwen3-ASR。这样能避免和你系统里已有的Python包产生冲突,以后想卸载也干净利落。

可以用conda或者venv来创建环境。这里我用venv,因为它是Python自带的,不用额外安装:

# 创建环境目录
python3 -m venv qwen3-asr-env

# 激活环境
source qwen3-asr-env/bin/activate

激活后,你的命令行前面应该会出现(qwen3-asr-env)的提示,这说明你现在就在这个独立环境里操作了。接下来所有安装的包都只会在这个环境里生效。

3. 安装Qwen3-ASR核心包

现在可以安装Qwen3-ASR的Python包了。官方提供了两种后端选择:Transformers后端和vLLM后端。

如果你只是想快速体验一下,用Transformers后端就够了,安装简单:

pip install -U qwen-asr

但如果你想要更快的推理速度,特别是处理批量音频或者长音频的时候,我推荐用vLLM后端。它的安装命令稍微复杂一点:

pip install -U qwen-asr[vllm]

这里有个小提示:vLLM对PyTorch的版本有要求。如果你在安装过程中遇到兼容性问题,可以试试先指定PyTorch版本:

pip install torch==2.3.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -U qwen-asr[vllm]

安装过程可能会花几分钟时间,因为要下载不少依赖包。耐心等待一下就好。

4. 下载模型文件

模型包安装好后,还需要下载实际的模型权重文件。Qwen3-ASR-0.6B大概1.8GB左右,不算特别大。

你可以从Hugging Face或者ModelScope下载。如果你在国内,用ModelScope下载速度会快一些:

# 安装ModelScope工具
pip install -U modelscope

# 下载模型
modelscope download --model Qwen/Qwen3-ASR-0.6B --local_dir ./Qwen3-ASR-0.6B

如果你更喜欢用Hugging Face,也可以用这个命令:

pip install -U "huggingface_hub[cli]"
huggingface-cli download Qwen/Qwen3-ASR-0.6B --local-dir ./Qwen3-ASR-0.6B

下载时间取决于你的网速,一般十几分钟到半小时能搞定。下载完成后,你会在当前目录下看到一个Qwen3-ASR-0.6B的文件夹,里面就是模型文件了。

5. 第一次运行测试

模型下载好了,咱们写个简单的测试脚本,看看一切是否正常。

创建一个叫test_asr.py的文件,把下面的代码复制进去:

import torch
from qwen_asr import Qwen3ASRModel

# 加载模型
model = Qwen3ASRModel.from_pretrained(
    "./Qwen3-ASR-0.6B",  # 如果你下载到了其他位置,修改这个路径
    dtype=torch.bfloat16,
    device_map="cuda:0" if torch.cuda.is_available() else "cpu",
    max_inference_batch_size=32,
    max_new_tokens=256,
)

# 识别一个在线音频示例
results = model.transcribe(
    audio="https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-ASR-Repo/asr_en.wav",
    language=None,  # 设置为None让模型自动检测语言
)

print(f"检测到的语言: {results[0].language}")
print(f"识别结果: {results[0].text}")

保存文件后,在终端里运行:

python test_asr.py

如果一切顺利,你会看到类似这样的输出:

检测到的语言: English
识别结果: Even in the face of great adversity, the human spirit has an incredible ability to adapt and overcome.

这说明模型已经成功加载并且能正常工作了!第一次运行可能会稍微慢一点,因为模型需要初始化。

6. 处理本地音频文件

识别在线音频没问题了,但更多时候我们是想处理自己电脑上的音频文件。方法也很简单:

import torch
from qwen_asr import Qwen3ASRModel

model = Qwen3ASRModel.from_pretrained(
    "./Qwen3-ASR-0.6B",
    dtype=torch.bfloat16,
    device_map="cuda:0" if torch.cuda.is_available() else "cpu",
)

# 识别本地音频文件
results = model.transcribe(
    audio="/path/to/your/audio.wav",  # 换成你的音频文件路径
    language="Chinese",  # 如果你知道是什么语言,可以指定,识别会更准
)

print(f"识别结果: {results[0].text}")

支持的音频格式包括WAV、MP3、FLAC等常见格式。如果遇到不支持的格式,可以用ffmpeg先转换一下:

ffmpeg -i input.mp3 -ar 16000 -ac 1 output.wav

这个命令把MP3转换成16kHz采样率的单声道WAV文件,这是语音识别比较喜欢的格式。

7. 使用vLLM后端提升性能

如果你安装的是vLLM后端,可以用下面这种方式加载模型,速度会快不少:

import torch
from qwen_asr import Qwen3ASRModel

if __name__ == '__main__':
    model = Qwen3ASRModel.LLM(
        model="./Qwen3-ASR-0.6B",
        gpu_memory_utilization=0.7,  # GPU内存使用率,根据你的显卡调整
        max_inference_batch_size=128,  # 批量处理大小
    )
    
    # 批量识别多个音频
    results = model.transcribe(
        audio=[
            "/path/to/audio1.wav",
            "/path/to/audio2.wav",
            "/path/to/audio3.wav",
        ],
        language=None,  # 自动检测语言
    )
    
    for i, r in enumerate(results):
        print(f"音频{i+1}: {r.language} - {r.text}")

vLLM后端特别适合需要处理大量音频文件的场景,比如批量转写会议录音、处理语音数据集等。

8. 启动Web界面演示

如果你想要一个图形化的界面来使用这个语音识别模型,Qwen3-ASR还提供了一个Web演示界面。启动起来很简单:

qwen-asr-demo \
  --asr-checkpoint ./Qwen3-ASR-0.6B \
  --backend transformers \
  --cuda-visible-devices 0 \
  --ip 0.0.0.0 --port 8000

然后在浏览器里打开http://你的服务器IP:8000,就能看到一个简洁的Web界面。你可以上传音频文件,或者直接录音,然后点击识别按钮,结果就会显示在页面上。

这个功能挺实用的,特别是当你需要给不太懂技术的同事或朋友演示的时候,有个界面会直观很多。

9. 可能遇到的问题和解决方法

在实际安装和使用过程中,你可能会遇到一些小问题。这里我整理了几个常见的:

问题1:内存不足 如果遇到内存不足的错误,可以尝试减小批量处理的大小:

model = Qwen3ASRModel.from_pretrained(
    "./Qwen3-ASR-0.6B",
    max_inference_batch_size=8,  # 从32减小到8
    # ... 其他参数
)

问题2:音频太长识别不全 对于很长的音频,需要增加生成的最大token数:

model = Qwen3ASRModel.from_pretrained(
    "./Qwen3-ASR-0.6B",
    max_new_tokens=1024,  # 增加到1024
    # ... 其他参数
)

问题3:下载模型太慢 如果你在国内,下载Hugging Face的模型可能会很慢。除了用ModelScope,还可以设置镜像:

export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download Qwen/Qwen3-ASR-0.6B --local-dir ./Qwen3-ASR-0.6B

问题4:GPU显存不够 如果你的显卡显存比较小(比如只有4GB或6GB),可以尝试用CPU运行,或者使用更低精度的数据类型:

model = Qwen3ASRModel.from_pretrained(
    "./Qwen3-ASR-0.6B",
    dtype=torch.float16,  # 用float16代替bfloat16
    device_map="cpu",  # 用CPU运行
)

10. 实际应用建议

装好之后,这个模型能用来做什么呢?我分享几个实际的使用场景:

会议记录转写:把会议录音文件拖进去,自动生成文字记录,比人工听写快多了。

视频字幕生成:先提取视频中的音频,然后用模型转写成文字,再做成字幕文件。

语音笔记整理:平时用手机录的语音备忘录,批量转成文字,方便搜索和整理。

多语言内容处理:如果你有不同语言的音频材料,它能自动识别语言并转写,不用一个个手动设置。

对于长音频文件,我建议先切成小段(比如每10分钟一段)再处理,这样不容易出问题。可以用ffmpeg来切分:

ffmpeg -i long_audio.wav -f segment -segment_time 600 -c copy output_%03d.wav

总结

整体走下来,在Ubuntu 20.04上安装Qwen3-ASR-0.6B其实不算复杂。关键是要按步骤来:先准备好系统环境,创建独立的Python环境,安装核心包,下载模型文件,然后从简单的测试开始,逐步尝试更复杂的功能。

这个模型用起来感觉还不错,识别准确度在开源模型里算是挺高的,特别是对中文和英文的支持很好。速度方面,如果有GPU加速,实时转写都没什么问题。如果只用CPU,短音频也能接受,长音频可能就得等一等了。

如果你刚开始接触语音识别,建议先从简单的单个文件识别开始,熟悉了再尝试批量处理或者Web界面。遇到问题不用急,大部分都是环境配置或者参数设置的小问题,调整一下就能解决。


获取更多AI镜像

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐