当前位置:首页|资讯|OpenAI|Whisper

音视频字幕生成:基于 openai-whisper 提取音视频文件文字

作者:任侠001发布时间:2023-07-12

1 whisper 简介

Whisper 由 OpenAI 在2022年9月21日开源,号称其英文语音辨识能力已达到人类水准。Whisper 是一种通用的语音识别模型,它是在不同音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。

2 whisper 环境配置

2.1 安装 whisper

首先需要安装 python 环境。这里需要特别注意版本问题,Whisper 当前支持的版本范围为 python 3.8~3.10,版本过高会导致版本检测失败,过低则安装脚本执行过程各种报错。官方当前使用的是 3.9.9 版本。

  • • python@3.9.9下载(阿里云镜像)[1]

  • • Macbook 安装和配置 Python3[2]

2.2 安装 ffmpeg

whisper 在视频和语音处理上依赖于 ffmpeg,所以需要安装 ffmpeg 并设置到环境变量中。

ffmpeg 作为一款开源基础工具,官方的 release 文件都在 github releases 上自动构建和发布,国内下载很容易失败。可以通过使用包管理工具等方式进行安装。示例:

  • • FFmpeg releases[3]

  • • https://lzw.me/search/ffmpeg

2.3 安装 rust(按需可选)

如果是非常见的机型和操作系统(如信创类机型),可能官方没有直接提供基于 rust 开发分词器的预构建文件,此时就需要实时编译了,那么则安装 rust 编译环境,具体步骤请参考 rust 文档:

https://www.rust-lang.org/learn/get-started

3 Whisper 的使用

3.1 语言模型

SizeParametersEnglish-only modelMultilingual modelRequired VRAMRelative speed tiny39 Mtiny.entiny~1 GB~32x base74 Mbase.enbase~1 GB~16x small244 Msmall.ensmall~2 GB~6x medium769 Mmedium.enmedium~5 GB~2x large1550 MN/Alarge~10 GB1x

默认会使用 small 模型,可使用 --model <size> 指定。若模型数据不存在,则会先自动下载并保存在缓存目录下。缓存目录的默认位置为 ~/.cache/whisper,也可以通过参数 --model_dir 指定。

3.2 命令行中使用 whisper 示例

whisper

对于英文类音视频输出的结果会是英文,可以借助在线工具或开源库、商业 API 等方式,将英文字幕翻译为中文,从而实现为无字幕视频自动生成字幕。一些相关参考:

  • • https://www.nikse.dk/subtitleedit/online

  • • https://github.com/argosopentech/argos-translate

  • • https://github.com/Helsinki-NLP/Opus-MT

对于中文资源可能会包含繁体字,这是没有参数可以支持调整的。我们可以借助第三方简繁体转换工具做一些转换。一些参考:

  • • 简体、繁体、火星文在线互相转换工具[4]

  • • OpenCC: 中文簡繁轉換開源項目[5]

  • • 功能全面的汉字工具库[6]

3.3 在 python 程序中使用 whisper

3.4 在 Node.js 等其他语言中使用 whisper

由于 whisper 安装配置完成后在全局环境变量中可用,可以直接以 shell 程序调用的方式在所有编程语言中使用。以 Node.js 为例:

4 总结与参考

由于 whisper 能够提供比较准确的音视频语言识别与提取支持,它给音视频资源提供了程序化处理的支持。在此基础上,可以实现一些音视频资源处理的上层应用。

例如实现各种语言类型音视频资源的字幕生成。基于 whisper 翻译输出其原始语言或英文的字幕,再使用其他三方工具翻译为目标语言即可。

再例如实现对音频和视频的程序化检索。对于一些历史保存的没有文本介绍、文本介绍较少或错误的语音资料,都可以对其做程序化处理提取文本信息并归档入库,进而实现实时检索功能。

扩展参考:

  • • https://github.com/openai/whisper

  • • https://github.com/chidiwilliams/buzz

  • • https://www.npmjs.com/package/whisper-node

  • • python@3.9.9下载(阿里云镜像)[7]

  • • Macbook 安装和配置 Python3[8]

  • • https://www.nikse.dk/subtitleedit/online

  • • https://github.com/argosopentech/argos-translate

  • • https://github.com/Helsinki-NLP/Opus-MT

  • • https://blog.csdn.net/nikolay/article/details/128951413

  • • https://techpro.ninja/whisper-openai-tutorial-with-python-nodejs/

  • • https://zhuanlan.zhihu.com/p/617770448

引用链接

[1] python@3.9.9下载(阿里云镜像): https://registry.npmmirror.com/binary.html?path=python/3.9.9/
[2] Macbook 安装和配置 Python3: https://lzw.me/a/mac-book-install-python3.html
[3] FFmpeg releases: https://github.com/BtbN/FFmpeg-Builds/releases
[4] 简体、繁体、火星文在线互相转换工具: https://lzw.me/x/s2t/
[5] OpenCC: 中文簡繁轉換開源項目: https://github.com/BYVoid/OpenCC
[6] 功能全面的汉字工具库: https://github.com/theajack/cnchar
[7] python@3.9.9下载(阿里云镜像): https://registry.npmmirror.com/binary.html?path=python/3.9.9/
[8] Macbook 安装和配置 Python3: https://lzw.me/a/mac-book-install-python3.html



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1