whisper
简介Whisper
由 OpenAI 在2022年9月21日开源,号称其英文语音辨识能力已达到人类水准。Whisper
是一种通用的语音识别模型,它是在不同音频的大型数据集上训练的,也是一个多任务模型,可以执行多语言语音识别、语音翻译和语言识别。
whisper
环境配置whisper
首先需要安装 python
环境。这里需要特别注意版本问题,Whisper
当前支持的版本范围为 python 3.8~3.10
,版本过高会导致版本检测失败,过低则安装脚本执行过程各种报错。官方当前使用的是 3.9.9
版本。
• python@3.9.9下载(阿里云镜像)[1]
• Macbook 安装和配置 Python3[2]
ffmpeg
whisper
在视频和语音处理上依赖于 ffmpeg
,所以需要安装 ffmpeg
并设置到环境变量中。
ffmpeg
作为一款开源基础工具,官方的 release 文件都在 github releases
上自动构建和发布,国内下载很容易失败。可以通过使用包管理工具等方式进行安装。示例:
• FFmpeg releases[3]
• https://lzw.me/search/ffmpeg
rust
(按需可选)如果是非常见的机型和操作系统(如信创类机型),可能官方没有直接提供基于 rust
开发分词器的预构建文件,此时就需要实时编译了,那么则安装 rust
编译环境,具体步骤请参考 rust
文档:
https://www.rust-lang.org/learn/get-started
Whisper
的使用SizeParametersEnglish-only modelMultilingual modelRequired VRAMRelative speed
tiny39 Mtiny.en
tiny
~1 GB~32x
base74 Mbase.en
base
~1 GB~16x
small244 Msmall.en
small
~2 GB~6x
medium769 Mmedium.en
medium
~5 GB~2x
large1550 MN/Alarge
~10 GB1x
默认会使用 small
模型,可使用 --model <size>
指定。若模型数据不存在,则会先自动下载并保存在缓存目录下。缓存目录的默认位置为 ~/.cache/whisper
,也可以通过参数 --model_dir
指定。
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]
python
程序中使用 whisper
whisper
由于 whisper
安装配置完成后在全局环境变量中可用,可以直接以 shell
程序调用的方式在所有编程语言中使用。以 Node.js
为例:
由于 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