ChatGPT开源的whisper音频生成字幕

1、前言

好了,那接下来看一下whisper开源库的介绍

image.png

有五种模型大小,其中四种仅支持英语,提供速度和准确性的权衡。上面便是可用模型的名称、大致的内存需求和相对速度。如果是英文版的语音,直接想转换为英文。

本来我是想直接在我的本地电脑上安装环境的,也就是无非安装python、ffmpeg、以及whisper,但是发现电脑配置太低了,而且我想测试一下large模型,CPU 肯定是不行,但是如果用本机的 GPU也是快不到哪里去的。 所以这里我想到谷歌的colab.research.google.com 免费在线运行,而且我可以启用GPU硬件加速,感觉上还是非常快的,当然如果需要你还可以购买。

image.png

下面是我的免费配置 colab.research.google.com

image.png

运行起来还是非常流畅,真的香喷喷,如果需要我都想付费了。

可以应用于那些场景

  • 会议记录: 直接将录音转换为文字

  • 个人视频制作: 很多时候都希望有字幕的效果,听说剪映的效果都没有这个好

  • 课堂记录转写:将课堂上的内容记录下来,这样后面直接查看文字版本也是非常方便

  • 通话记录:有些重要的电话可将其录音,转换为文字以备后面查询也是非常不错的

  • 字幕组:这个就不用说了 有可能还涉及到多语言,准备率很高的话 可以省很多事情

  • 实时语音翻译:这个服务器配置够高的话,理论上就非常快速

2、开始实践

2.1、检查colab环境

!nvidia-smi -L
!nvidia-smi

运行两个指令结果如下:

image.png

1.!nvidia-smi -L-L 参数用于列出系统上安装的所有 NVIDIA GPU 设备。运行此命令后,您将看到关于可用 GPU 的信息,包括其型号和 UUID。

2.!nvidia-smi:不带任何参数运行 nvidia-smi 会显示有关 NVIDIA GPU 的详细信息,包括:

    • GPU 设备的编号、名称、总内存和温度。
    • GPU 使用率(如计算、内存和显存使用率)。
    • 运行在 GPU 上的进程以及它们的相关信息(如进程 ID、显存占用等)。

只不过这里我还没开始使用GPU而已,所以显示的是空的。

2.2、安装whisper

!pip install requests beautifulsoup4
!pip install git+https://github.com/openai/whisper.git
import torch
import sys
device = torch.device('cuda:0')
print('正在使用的设备:', device, file=sys.stderr)
print('Whisper已经被安装请执行下一个单元')

这里主要就是安装whisper

image.png

2.3、 whisper模型选择

#@markdown # ** whisper Model选择** 🧠
Model = 'large-v2' #@param ['tiny.en', 'tiny', 'base.en', 'base', 'small.en', 'small', 'medium.en', 'medium', 'large', 'large-v2']
import whisper
from IPython.display import Markdown
whisper_model = whisper.load_model(Model)
if Model in whisper.available_models():display(Markdown(f"**{Model} model is selected.**"))
else:display(Markdown(f"**{Model} model is no longer available.** Please select one of the following: - {' - '.join(whisper.available_models())}"))

这里我选择的是最大的模型 large-v2,因为我要转换中文字幕,前面四个都只支持英文,这个在文章开头也说了的。

2.4、 开始音频转字幕

audio_path = "/content/downloads/test1.m4a"
audio_path_local = Path(audio_path).resolve()
transcription = whisper.transcribe(whisper_model,str(audio_path_local),temperature=temperature,**args,
)
# Save output
whisper.utils.get_writer(output_format=output_format,output_dir=audio_path_local.parent
)(transcription,title
)

我首先要准备一个m4a的音频文件,这里可以直接上传到colab

image.png

左侧当前目录是 content,然后右键新建文件夹downloads,然后在downloads文件夹上点击上传m4a文件

image.png

上传完毕后可以看到m4a文件已经在目录下了。

whisper.transcribe 方法有好多的参数

  • whisper_model主要是设置model模型
  • output_format 主要是设置字幕输出的文件格式
  • temperature 值设置的较低,那么表述相对精准一些,值越大表述可能更加抽象一点
  • args中有一个language语言,比如这里我要将音频转换为中文字幕 设置为cn 或者chinese这里主要可以查看 whisper/tokenizer.py at main · openai/whisper · GitHub

image.png

2.4、运行查看效果

点击运行后可以看到一段一段的在执行转换了,整体感觉运行还是非常流畅了,这比看别人在本地运行速度可是快多了

image.png

最后可以看到srt字幕文件也已经生成了,可以直接点击左侧文件点击下载即可。 生成的srt文件如下

image.png

3、总结

这个whisper相当于离线版本,可以自己部署到本地或者服务器提供给自己使用,相信后续OpenAI应该还会有更新,提供更多精彩的功能使用。

from:

5、ChatGPT开源的whisper音频生成字幕,可本地搭建环境运行,效果质量很棒-阿里云开发者社区

kkview远程控制 手机电脑看屏幕和摄像头

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/9426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

魔法程序员的奥妙指南:Java基本语法

作为一名魔法程序员,精通Java语言是至关重要的。Java作为一种强大的编程语言,在编写优质代码和开发强大应用程序时发挥着重要作用。让我们深入探讨Java基本语法的关键要点,从注释到变量,无所不包! Java基本语法的神秘魔…

Linux网络编程:TCP并发服务器实现

目录 1、前言 2、多进程代码实现 2.1 创建新的进程 2.2 客户端接收响应函数 2.3 僵尸进程处理 2.4 完整代码 2.5 代码测试 3、多线程代码实现 3.1 创建新的线程 3.2 线程函数定义 3.3 完整代码 3.4 代码测试 4、总结 1、前言 前面实现了基本的TCP编程&#xf…

一文了解美国洛杉矶私有云的亮点优势

美国洛杉矶作为全球科技与经济的重要中心,其私有云服务的亮点优势备受瞩目。以下是对洛杉矶私有云优势的科普介绍。 首先,洛杉矶私有云的核心优势在于其安全性。在私有云环境中,数据被存储在专有的、隔离的服务器上,这意味着只有授…

同创优配正规炒股A股三大指数集体收涨 创指重回1900点关口

查查配5月9日电 周四,A股三大指数震荡上扬。截至收盘,上证指数涨0.83%,报3154.32点;深证成指涨1.55%,报9788.07点;创业板指涨1.87%,报1900.01点。总体上个股涨多跌少,全市场超4200只个股上涨。沪深两市今日成交额9011亿元,较上个交易日放量367亿元。 同创优配是AAA 级诚信经营…

【win10 文件夹数量和看到不一致查看隐藏文件已经打开,Thumb文件作妖】

目录 任务介绍:重命名规则修改前修改后 实现思路VB代码实现BUG犯罪现场(眼见不一定为实)破案1:抓顶风作案的反贼!!!破案2:破隐身抓刺客!!!杀器&am…

机器人系统ros2-开发实践08-了解如何使用 tf2 来访问坐标帧转换(Python)

tf2 库允许你在 ROS 节点中查询两个帧之间的转换。这个查询可以是阻塞的,也可以是非阻塞的,取决于你的需求。下面是一个基本的 Python 示例,展示如何在 ROS 节点中使用 tf2 查询帧转换。 本教程假设您已完成tf2 静态广播器教程 (Python)和tf…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 5月10日,星期五

每天一分钟,知晓天下事! 2024年5月10日 星期五 农历四月初三 1、 商务部:汽车以旧换新补贴可与新能源汽车购置税减免等叠加享受。 2、 教育部:京津优质中小学基础教育资源同雄安共享。 3、 医保局:发挥零售药店等不同…

HarmonyOS NEXT星河版之美团外卖点餐功能实战(上)

文章目录 一、目标二、开撸2.1 目录结构2.2 页面模块拆分2.3 主体拆分布局2.4 底部购物车布局2.5 顶部布局2.6 点菜布局---左2.7 菜品Item封装2.7 点菜布局---右2.8 主页面整体布局 三、小结 一、目标 二、开撸 2.1 目录结构 2.2 页面模块拆分 将页面主体拆为三部分&#xff…

Middle for Mac:简洁高效的文本编辑软件

追求简洁与高效?Middle for Mac将是您文本编辑的最佳选择。这款Mac平台上的文本编辑器,以其独特的魅力和实用的功能,赢得了众多用户的喜爱。 Middle注重用户体验,采用简洁直观的界面设计,让您能够迅速上手并享受高效的…

【设计模式】JAVA Design Patterns——Abstract-document

🔍 目的 使用动态属性,并在保持类型安全的同时实现非类型化语言的灵活性。 🔍 解释 抽象文档模式使您能够处理其他非静态属性。 此模式使用特征的概念来实现类型安全,并将不同类的属性分离为一组接口 真实世界例子 考虑由多个部…

docker学习笔记(五):harbor仓库搭建与简单应用

harbor私有仓库 简介 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管…

组件目录存放问题

目录 一、思考引入 二、组件分类 三、组件分类的目的 一、思考引入 .vue文件本质无区别,而路由相关的组件,为什么要放在views目录呢? 二、组件分类 .vue文件分2类:页面组件和复用组件。注意:都是.vue文件&#xff…

漫画对话 ai翻译

復讐の教科書ーー81 81-1 いい加減吐け!!冴木!! 快说吧!!冴木!! お前が一連の事件の犯人なんだろ!? 你就是连续事件的犯人吧!? だか…

游戏工作室如何利用惯性动作捕捉技术制作动画?

随着动捕设备不断进步和游戏行业的发展,惯性动作捕捉技术在游戏开发领域逐渐普及。惯性动作捕捉技术,可以精准捕捉现实世界中的真人动作,并将其精准应用于虚拟角色上,使游戏中的角色动作可以呈现出更写实、逼真和沉浸感&#xff0…

##10 卷积神经网络(CNN):深度学习的视觉之眼

文章目录 前言1. CNN的诞生与发展2. CNN的核心概念3. 在PyTorch中构建CNN4. CNN的训练过程5. 应用:使用CNN进行图像分类5. 应用:使用CNN进行时序数据预测代码实例7. 总结与展望前言 在深度学习的领域中,卷积神经网络(CNN)已经成为视觉识别任务的核心技术。自从AlexNet在2…

光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型

光伏设备制造5G智能工厂数字孪生可视化平台,推进行业数字化转型。光伏设备制造5G智能工厂数字孪生可视化平台是光伏行业数字化转型的重要一环。通过数字孪生平台,光伏设备制造企业可以实现对生产过程的全面监控和智能管理,提高生产效率&#…

基于51单片机的智能导盲手杖—超声波测距

基于51单片机的智能导盲手杖 (仿真+程序原理图+PCB设计报告) 功能介绍 具体功能: 1.显示前方障碍物距离。 2.实时测量距离,并通过蜂鸣器提醒距离过短,蜂鸣器蜂鸣发出预警。 3.可以通过按键调…

吴恩达机器学习笔记:第 9 周-17大规模机器学习(Large Scale Machine Learning)17.1-17.2

目录 第 9 周 17、 大规模机器学习(Large Scale Machine Learning)17.1 大型数据集的学习17.2 随机梯度下降法 第 9 周 17、 大规模机器学习(Large Scale Machine Learning) 17.1 大型数据集的学习 如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好…

【代码随想录】回溯问题之组合

前言 更详细的在大佬的代码随想录 (programmercarl.com) 本系列仅是简洁版笔记,为了之后方便观看 解决的类型问题 组合无序,排列有序 组合切割子集排列(强调元素的顺序)棋牌问题(n皇后,数独&#xff0…

jsbsim 调 pid 记录

1.先调俯仰角 pitch 俯仰角不能超过 xml 文件里定义的爬升角 高度不对,调 pitch 角的 pid,俯仰角 理论上调pid: 响应快了,P调小;响应慢了,P调大 I消除稳态误差,I调大 D防止震荡,震…