【实时AI字幕】基于whisper的直播语音转字幕软件的安装与使用

您所在的位置:网站首页 小米实时字幕闪退 【实时AI字幕】基于whisper的直播语音转字幕软件的安装与使用

【实时AI字幕】基于whisper的直播语音转字幕软件的安装与使用

2024-07-01 00:58| 来源: 网络整理| 查看: 265

写在前面:

本人非专业程序员,计算机技术为业余爱好。所以文中有关语音识别原理部分恕我无法讲解,只能对软件使用部分提出解决方案,欢迎阅读此篇文章的人提出修改意见。

这篇文章写于2022年10月15日,文中提到的工具还在持续开发中,不保证文章内容一直有效。

推荐直接跳到colab云端运行部分,快速上手体验whisper的神奇

方法简介:

Whisper(https://github.com/openai/whisper)是OpenAi最近公开的一个开源语音识别项目,依靠大量的数据学习有着媲美商业级的音频转录效果。本地化、可调节精度、多语种支持都是它的优点,而且因为主体使用的python也可以直接作为模块导入进行拓展开发,上线不到一个月已经快有上百个相关项目产生了。

Whisper可以用CPU和GPU(CUDA)两种方式来跑模型,具体显存需求可见如下:

模型大小与显存需求

有关whisper的原理讲解可见官方博客:

https://openai.com/blog/whisper/

今天要介绍的stream-translator(https://github.com/fortypercnt/stream-translator)就是基于Whisper和streamlink开发的,可以将直播源导入并实时输出字幕的工具。

安装Whisper:

虽然stream-translator有自动安装whisper的设计,但我还是建议先安装Whisper测试可用,这样会减少很多麻烦。

1、 环境与依赖

Whisper使用python编写,用PyTorch训练模型,转录部分要利用到ffmpeg处理音视频。

所以这部分主要介绍这三个工具的安装,其余依赖numpy、transformers等一般不会有坑,跑官方脚本即可。

Python:

进入下载页(https://www.python.org/downloads/),点击那个大大的黄色按钮Download Python 3.10.8下载并按照步骤安装即可,现在的Python安装已经自带添加到环境变量的功能,安装的时候留意Add Python 3.10.8 to PATH就行。

非windows系统的按照官方的指引界面下载。

在下载过程中速度没速度或者太慢,可以选择国内镜像站,我一般用华为的:

https://repo.huaweicloud.com/python/

不知道下载那个文件可以对比你在官网下载的文件名。

PyTorch:

这里是第一个坑,按照官方的一键安装脚本很可能安装不到正确版本的torch,导致运行时报错或者出现CPU跑冒烟而GPU不工作的情况。

本部分教程来自于:https://github.com/pytorch/pytorch/issues/30664#issuecomment-757431613

如果已经安装了torch,请先卸载掉

清除pip缓存

安装支持CUDA版本的torch

ffmpeg:

官方给出的引导是使用包管理器,windows平台使用的Chocolatey和Scoop。但我实测中发现安装这两个工具的时候出现的问题可能比安装whisper还多,所以我推荐使用传统方式,下载编译好的包并手动设置环境变量。

官方给出的windows下载有两个,以https://www.gyan.dev/ffmpeg/builds/ 为例,找到ffmpeg-release-essentials.zip下载并解压即可,你应该可以在bin文件夹下找到编译好的ffmpeg.exe,如果没有说明你可能下载到了没做编译的开发版。

配置到环境变量这一步可以参考各种其他教学,这里主要说三点容易出问题的步骤。

注意是系统变量里的Path而不是用户变量里的。

文件夹路径要写到文件所在路径,也就是bin文件夹。

环境变量配置好后要重启命令提示符/终端才可生效。

2、 主程序安装

一键安装项目。

安装过程中可能遇到的问题大多都和网络有关,请查阅修复连接github的方法。

或者是在github上选择Download Zip之后,解压运行如下指令手动安装:

如果电脑上使用了代理软件,可以用输入如下配置可以让命令行窗口临时走代理。我用的clash默认端口是7890,读者请根据实际情况修改。

使用Whisper:

whisper提供了两种两种方式:命令行和作为模块在python文件中调用。这里面对非专业读者主要讲一下在命令行的使用。

有关命令行:

windows在项目所在文件夹的地址栏里直接输入cmd,会在当前文件夹下打开命令行

输入部分文件名后可以点击TAB键自动补全

命令行遇到的各种网络问题可以看

指令格式:

正常转录出来的输出信息

常见报错:

UserWarning: FP16 is not supported on CPU; using FP32 instead

这句提示的意思是现在在用CPU跑模型,如果你用的电脑没有显卡或者是显卡不支持CUDA/CUDA版本过低那么这个提示是正常的。否则请返回PyTorch的安装步骤,安装支持CUDA版本的torch。

FileNotFoundError: [WinError 2] The system cannot find the file specified

环境问题调用ffmpeg的部分出错了,可能的原因有两种:

没有安装ffmpeg

没有安装ffmpeg-python

如果已经安装请确认环境变量的配置是否正确,在命令提示符中输入ffmpeg测试一下。

ModuleNotFoundError: No module named 'torch._C'

依旧是PyTorch的问题,卸载重装八成有效

RuntimeError: CUDA out of memory.

你的显卡干不了这么多,换一个小点的模型吧(参考模型与显存需求对照表)

No module named 'setuptools_rust'

按照提示安装就行

stream-translator的使用:

对于完全新手/网络状况一般的朋友,非常推荐在colab云端运行。具体的操作方法我也写在了ipynb文档里,按照步骤进行基本都能运行成功

https://colab.research.google.com/drive/1SEhfzUSm07IUjMd5_HrbmXd9cyh0N-wW?usp=sharing

安装方式:

stream-translator的主要额外依赖是streamlink,此外还有一些优化显示效果的库

使用方法:

优化配置:

如果在国内使用需要设置一下代理,每次配置太过麻烦,可以直接把以下代码加入translator.py文件开头部分

此外有关其他优化可见我ipynb里所写。

搭配go-cqhttp制作的同传机器人(后续尝试调用翻译api)

需要注意的是,Whisper本身没有提供实时转录的接口,这个工具的实现原理其实是指定秒数的切片并调用Whisper,对上下文调整功能的支持并不算太好。作者的解释见:

https://github.com/openai/whisper/discussions/225



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3