文章目录
- 前言
- 一、whisper介绍
- 二、预训练模型下载与环境配置
- 三、推理
前言
随着人工智能技术的飞速发展,AI生成字幕模型已成为视频内容创作和传播领域的重要工具。其中,OpenAI推出的Whisper模型以其卓越的性能和广泛的应用场景,受到了广大用户和研究者的关注。本文将详细介绍Whisper模型的基本原理、特点、应用场景以及使用方法,旨在帮助读者更好地了解和运用这一先进技术。
一、whisper介绍
Whisper是端到端的语音系统,相比于之前的端到端语音识别,其特点主要是:
- 多语种:英语为主,支持99种语言,包括中文。
- 多任务:语音识别为主,支持VAD、语种识别、说话人日志、语音翻译、对齐等。
- 数据量:68万小时语音数据用于训练,从公开数据集或者网络上获取的多种语言语音数据,远超之前语音识别几百、几千、最多1万小时的数据量。下面会展开介绍。
- 鲁棒性:主要还是源于海量的训练数据,并在语音数据上进行了常见的增强操作,例如变速[1]、加噪、谱增强[2]等。
- 多模型:提供了从tiny到Turbo,适合不同场景。其中Turbo 模型是 Large-V3 的优化版本,可提供更快的转录速度,同时将准确性的下降降至最低。如下图所示:
Whisper模型的性能因语言而异。下表展示了大型-v3和大型-v2模型在不同语言上的性能分解,使用的是在Common Voice 15和Fleurs数据集上评估的WER(单词错误率)或CER(字符错误率,以斜体显示)。
模型采用了经典的基于Transformer的Encoder-Decoder的结构。模型输入的特征是80维Fbank特征,输出的label是文本ID,在文本ID之前是语种ID、任务类型、时间戳三个特殊标记。如下图所示。
二、预训练模型下载与环境配置
本文作者利用CT-Transformer标点模型 对中文开源数据(AISHELL1 AISHELL2 WENETSPEECH HKUST)加标点,基于Belle-whisper-large-v3-zh进行了Lora微调,得到标点能力提升的Belle-whisper-large-v3-zh-punct,在复杂场景下(wenetspeech_meeting)上有进一步提升。模型已经开源到Huggingface,欢迎下载:
点进想要下载的模型界面点击
可以将下面的文件全部下载并移动到一个文件夹下
环境配置:
创建虚拟环境并安装pytorch:
conda create -n whisper python=3.9
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
下载whisper项目:
cd到下载好的项目路径中
执行:
pip install -r requirement.txt
三、推理
运行下面代码:
model的路径就是刚才下载好的文件夹,transcriber是你准备识别的音频文件
from transformers import pipelinetranscriber = pipeline("automatic-speech-recognition",model=r"F:\whisper-main\cccc/",return_timestamps=True
)transcriber.model.config.forced_decoder_ids = (transcriber.tokenizer.get_decoder_prompt_ids(language="zh",task="transcribe")
)transcription = transcriber("D:\ApowerREC/1~1.mp3")
print(transcription)