部署语音识别模型之Whisper
Whisper 是一种自动语音识别 (ASR) 系统,根据从网络收集的 680,000 小时多语言和多任务监督数据进行训练。结果表明,使用这种大规模且多样化的数据集,能够提升模型在口音、背景噪音及专业术语方面的稳健性。此外,该模型还支持多种语言的转录,以及将这些语言翻译成英语。(摘自OpenAI官网。
Whisper 介绍
简介
Whisper 是一种自动语音识别 (ASR) 系统,根据从网络收集的 680,000 小时多语言和多任务监督数据进行训练。结果表明,使用这种大规模且多样化的数据集,能够提升模型在口音、背景噪音及专业术语方面的稳健性。此外,该模型还支持多种语言的转录,以及将这些语言翻译成英语 。
摘自OpenAI官网
核心是一个Encoder–Decoder Transformer模型
-
Encoder:处理 Mel-Spectrogram
-
Decoder:自回归生成文本 token
本质是一个 语音版 Seq2Seq Transformer
Whisper 核心架构图


流程
-
输入:音频 → Mel 频谱
-
Encoder:把语音变成高维表示
-
Decoder:
-
接收一串 特殊 token(Prompt)
-
决定做什么任务
-
这些 token 包括:
-
语言(
<|ko|>) -
任务(
<|transcribe|>/<|translate|>) -
是否输出时间戳
同一个模型,靠 token 控制:
-
语音识别
-
语音翻译
-
语言识别
-
时间对齐
Whisper 部署
Whisper 依赖安装
conda create -n whisper_demo python==3.9
conda activate whisper_demo
conda install ffmpeg -c conda-forge
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 注意自己GPU的CUDA版本,若安装较慢推荐使用阿里源或者清华源
Whisper 安装
pip install -U openai-whisper # pip库安装
pip install git+https://github.com/openai/whisper.git # git安装
# pip库安装与git安装 二选一即可
# 若之前已经安装Whisper,可以使用以下命令更新至最新版本
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
Whisper 模型参数

Multilingual model 为官方提供的不同预训练模型,可以根据自己需要进行选择(注意VRAM适配)
Whisper 终端运行
# 使用 turbo 模型转录音频文件中的语言,--model 指定模型
whisper audio.flac audio.mp3 audio.wav --model turbo
# 转录包含非英语语音的音频文件,-language 可以指定语言
whisper japanese.wav --language Korean
# 要将语音翻译成英语,使用 --task translate
whisper japanese.wav --model medium --language Japanese --task translate
# 注意:默认设置(turbo模型)适用于英语转写任务。但需注意,turbo模型未针对翻译任务进行训练。若需将非英语语音翻译为英语,请使用多语言模型(tiny、base、small、medium、large)替代turbo模型。
更多参数选项查看
whisper --help
Whisper 转录 Python内部实现
import whisper
model = whisper.load_model("small")
result = model.transcribe("demo/Korean_demo1_11s.mp3")
print(result["text"])
韩语转录demo
Korean转录
(whisper) PS D:\A-Study\PythonFiles\LargeModel> whisper demo/Korean_demo1_11s.mp3 --model small --language Korean
[00:00.000 --> 00:04.200] 안녕하세요. 음성 서비스를 제공해 드릴 수 있어서
[00:04.200 --> 00:11.600] 기쁩니다. 마음에 드시는 목소리를 선택하시면 함께 멋진 음성 제작을 시작해 보도록 하겠습니다.
Korean 转录 + 翻译为英文
(whisper) PS D:\A-Study\PythonFiles\LargeModel> whisper demo/Korean_demo1_11s.mp3 --model small --language Korean --task translate
[00:00.000 --> 00:05.560] Hello, I'm happy to be able to provide voice service.
[00:05.560 --> 00:11.600] If you choose your favorite voice, we will start making great voice.
运行同时会生成文件保存转录内容


更多推荐

所有评论(0)