推荐微信扫码登录以获得更好的体验!另:🎉建议更新到最新版,以体验新功能!🎉 版本更新记录→
教程
相关资源
字幕相关
解析字幕

解析字幕

根据音、视频资源和与其相匹配的字幕数据来训练外语听说能力是一字幕浏览器扩展的核心。

而获取音、视频中的字幕数据就成为了核心中的核心

一字幕浏览器扩展目前可以适配 youtube.com (opens in a new tab)bilibili.com (opens in a new tab) 视频站点。后续还会陆续适配其它视频站点,敬请期待。

还好,现在已经步入 AI 时代。并且现在已经有很多利用 AI 技术解析音、视频文件(如:.mp3, .mp4 等等文件)中文本(字幕)的开源技术框架。

下面字幕君就带给大家其中一种开源,免费,快速,高效的解析方法。

whisperX

选择 whisperX https://github.com/m-bain/whisperX (opens in a new tab) 是因为它很好地解决了 OpenAI 的 whisper https://github.com/openai/whisper (opens in a new tab) 解析播放时长大的文件时,字幕时间精度不准和解析速度慢的两大问题。

当然,如果你还有更好的方法,也可以使用您自己的方法。我也一直在寻找更快,更好的方法。

🚫

电脑操作能力、解决问题能力强的同学可以继续往下看。操作水平欠佳的同学请就此打住,可以去网上找找其它的替代方案。

系统要求

  • 最好使用 Windows + Nvidia 显卡的机器。众所周知的原因,英伟达显卡在AI计算上有非常大的优势。没有 Nvidia 显卡,或是使用 Mac 的同学也可以用,但是速度会慢很多。
  • Nvidia 显示的 Windows 机器,需要安装 CUDAcuDNN,以加快解析速度。关于 CUDAcuDNN 的安装可以查看本站提供的简要说明 安装CUDA和cuDNN,也可以自行咨询 AI 和 搜索引擎。

安装

  1. 创建 whisperXconda 虚拟环境,不知道 conda 的同学可以自行搜索了解。 conda 其实是个好东西。 conda 的教程请点击>>>https://conda.io/projects/conda/en/latest/user-guide/getting-started.html (opens in a new tab)(可能需要魔法上网才能打开)。或是查看本站简要说明 关于Conda
conda create --name whisperx python=3.10
 
conda activate whisperx
  1. Install PyTorch, e.g. for Linux and Windows CUDA11.8:

    官方用的是CUDA11.8,而我本机上已经安装了 CUDA11.7,所以,我就没有动。直接把它的命令改了。

  • conda install pytorch==2.0.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia

修改为如下命令

  • conda install pytorch==2.0.0 torchaudio==2.0.0 pytorch-cuda=11.7 -c pytorch -c nvidia

就改了 CUDA 的版本号 11.8 => 11.7

  1. 安装 repo
pip install git+https://github.com/m-bain/whisperx.git
extension popup
  1. 查看帮助信息
whisperx -h
extension popup
  1. 开始解析
whisperx 功夫熊猫2.mp3
whisperx 功夫熊猫2.mp4

解析 mp3mp4 都是可以的。

或者是如下命令:

whisperx --model large-v2 --align_model WAV2VEC2_ASR_LARGE_LV60K_960H  --language en 功夫熊猫2.mp4

可能出现的问题

需要 VPN

安装过程可能会需要魔法(VPN)上网,以下载所需要的必备文件。

whisperxneedvpn
cublas64_12.dll 找不到

出现如下问题: RuntimeError: Library cublas64_12.dll is not found or cannot be loaded

cublas64_12isnotfound

解决办法:

cublas64_12resolved

按上述方法,修改了 bin 目录下的文件名就可以了。我是升高了版本,cublas64_11.dll 修改为 cublas64_12.dll

下载 models 出错
 whisperx --model large-v2 --align_model WAV2VEC2_ASR_LARGE_LV60K_960H  --language en F:\功夫熊猫2.mp3

在运行如上命令时,出现问题:

下载文件时总是出错。网络问题。下载到一半 40% 多时退出,出错。

raise ProtocolError(arg, e) from e
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(1310237429 bytes read, 1776675533 more expected)', IncompleteRead(1310237429 bytes read, 1776675533 more expected))
downloaderror1 downloaderror2

提示缺少文件,需要找到 Systran--faster-whisper-large-v2

解决办法:

huggingface.co 关于huggingface 中可以找到 Systran--faster-whisper-large-v2,链接为: https://huggingface.co/models?sort=trending&search=Systran--faster-whisper-large-v2 (opens in a new tab)

Systran-faster-whisper-large-v2

链接分别为:

Systran-faster-whisper-large-v2-download

下载完成后,把这个文件 model.bin 放在如下文件夹下就可以了。

这个文件 model.bin 使用浏览器下载,中间可能会断好几次。 最终还是成功了。

C:\Users\Administrator\.cache\huggingface\hub\models--Systran--faster-whisper-large-v2\snapshots\f0fe81560cb8b68660e564f55dd99207059c092e

首次运行后,它会下载如下文件:wav2vec2_fairseq_large_lv60k_asr_ls960.pth,如图:

Systran-faster-whisper-large-v2-download

最后生成的字幕文件在命令运行的目录下面,如:f:\ ,而不是在视频所在的目录下,这一点需要注意!

SHA256 不匹配

可能出现如下问题

RuntimeError: Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model.

解决办法 (参考链接:https://github.com/m-bain/whisperX/issues/449 (opens in a new tab)) :

sha256_1

删除如下路径 C:\Users\Administrator\.cache\torch 中的文件:

sha256_2

再次运行即可

sha256_3

huggingface.co

💡
关于 huggingface.co 的介绍,由 AI 生成,仅供参考。

Hugging Face (opens in a new tab) 是一个专注于自然语言处理(NLP)的开源平台。它主要提供以下几个方面的服务和资源:

  1. 预训练模型库:Hugging Face 提供了大量的预训练语言模型,这些模型可以用于各种NLP任务,如文本分类、情感分析、机器翻译、问答系统等。

  2. 模型训练和微调:用户可以使用Hugging Face提供的工具和框架来训练和微调自己的语言模型。

  3. 模型托管:Hugging Face 提供模型托管服务,用户可以将自己的模型托管在平台上,方便进行模型的部署和使用。

  4. 社区支持:Hugging Face 拥有一个活跃的社区,用户可以在社区中分享经验、讨论问题、获取帮助。

  5. 文档和教程:Hugging Face 提供详细的文档和教程,帮助用户了解如何使用平台和模型。

  6. API服务:Hugging Face 提供API服务,允许用户通过API调用模型进行NLP任务处理。

  7. 模型市场:Hugging Face 有一个模型市场,用户可以在这里发现和下载其他用户共享的模型。

  8. 教育和研究:Hugging Face 也支持教育和研究活动,提供资源和工具帮助研究人员和学生进行NLP相关的研究。

总之,Hugging Face 是一个综合性的NLP资源平台,旨在促进自然语言处理技术的发展和应用。

https://huggingface.co/models (opens in a new tab) 你想要的 models 都在里面。

huggingfacemodels

关于解析时间

使用默认参数命令 解析 一整部 功夫熊猫2 的音频,只要 3分16秒

sh
whisperx F:\功夫熊猫2.mp3
time_cost1

使用 参数 large-v2 模型 命令,解析需要的时间是 6分9秒,也非常快了!

sh
whisperx --model large-v2 --align_model WAV2VEC2_ASR_LARGE_LV60K_960H  --language en F:\功夫熊猫2.mp3
time_cost2