吴旭华 发表于 2025-1-21 13:35:26

AI生成字幕模子whisper先容与利用

前言

随着人工智能技术的飞速发展,AI生成字幕模子已成为视频内容创作和传播范畴的告急工具。其中,OpenAI推出的Whisper模子以其卓越的性能和广泛的应用场景,受到了广大用户和研究者的关注。本文将详细先容Whisper模子的根本原理、特点、应用场景以及利用方法,旨在帮助读者更好地了解和运用这一先进技术。
一、whisper先容

Whisper是端到端的语音体系,相比于之前的端到端语音识别,其特点主要是:

[*]多语种:英语为主,支持99种语言,包括中文。
[*]多使命:语音识别为主,支持VAD、语种识别、语言人日志、语音翻译、对齐等。
[*]数据量:68万小时语音数据用于训练,从公开数据集或者网络上获取的多种语言语音数据,远超之前语音识别几百、几千、最多1万小时的数据量。下面会睁开先容。
[*]鲁棒性:主要还是源于海量的训练数据,并在语音数据上进行了常见的增强操纵,比方变速、加噪、谱增强等。
[*]多模子:提供了从tiny到Turbo,得当不同场景。其中Turbo 模子是 Large-V3 的优化版本,可提供更快的转录速度,同时将正确性的降落降至最低。如下图所示:https://i-blog.csdnimg.cn/direct/044271d47e1049df8351d71e19a2c995.png
Whisper模子的性能因语言而异。下表展示了大型-v3和大型-v2模子在不同语言上的性能分解,利用的是在Common Voice 15和Fleurs数据集上评估的WER(单词错误率)或CER(字符错误率,以斜体显示)。
https://i-blog.csdnimg.cn/direct/39cd412b9010445e8a12046871fd981f.png
模子采用了经典的基于Transformer的Encoder-Decoder的布局。模子输入的特征是80维Fbank特征,输出的label是文本ID,在文本ID之前是语种ID、使命范例、时间戳三个特殊标志。如下图所示。
https://i-blog.csdnimg.cn/direct/65e3e28d376a4395ab45e687cb64259c.png
二、预训练模子下载与环境配置

本文作者利用CT-Transformer标点模子 对中文开源数据(AISHELL1 AISHELL2 WENETSPEECH HKUST)加标点,基于Belle-whisper-large-v3-zh进行了Lora微调,得到标点能力提升的Belle-whisper-large-v3-zh-punct,在复杂场景下(wenetspeech_meeting)上有进一步提升。模子已经开源到Huggingface,接待下载:https://i-blog.csdnimg.cn/direct/cf6079988ce3428784920ea9e6eb8461.png
点进想要下载的模子界面点击
https://i-blog.csdnimg.cn/direct/facd420d134346589554dd8fac84b614.png
可以将下面的文件全部下载并移动到一个文件夹下https://i-blog.csdnimg.cn/direct/c7d93bb052984c558028e1d7db025e0e.png
https://i-blog.csdnimg.cn/direct/1f42732606f34e3391931bc325f399b4.png
环境配置:
创建假造环境并安装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 pipeline

transcriber = 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)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: AI生成字幕模子whisper先容与利用