whisper实践--基于whisper+pyqt5开发的语音识别翻译生成字幕工具

大家新年快乐,事业生活蒸蒸日上,解封的第一个年,想必大家都回家过年,好好陪陪家人了吧,这篇文章也是我在老家码的,还记得上篇我带大家基本了解了whisper,相信大家对whisper是什么,怎么安装whisper,以及使用都有了一个认识,这次作为新年第一篇文章,我将介绍一下自己开发的基于whisper+pyqt5做的一个字幕生成工具,还挺有意思的,中间也遇到各种问题,然后解决。每次尝试做什么,最爽莫过于遇到问题,然后一一解决,最后成功的实现自己想要的,就算是一个再简单的项目,相信大家只要有成长就会很满足开心吧。话不多说,直接进入今天的主题,让我们来看看这个工具。

  • 外观

首先让我们来看看工具样子如下图所示,自我吐槽一下,界面挺丑的,不得不感叹自己没有界面审美,不过我已经尽力了,哈哈,不过自我感觉看这个界面还是挺直观的就能知道这个工具的作用,以及使用也很直接方便。主要有两个模块,如图,1为选择模块,2为运行结果显示模块。

9c36368715ee4f81a18cb864afb6edf5.png 

 

  • 功能介绍
  • 公共选择部分

 

6d9df1a89ebb4285aeb65113e1de48b9.png

 

如上图红色框所示,所有功能这几个选择框是公用的,文字应该写的也算清楚,简单介绍一下。

模型选择:必选项,选择一个whisper模型。

语言选择:必选项,选择一个要识别翻译成哪种语言。

计算引擎选择:非必选项,不选默认为cpu。

模型读取保存路径:非必选项,不选默认在应用目录下,如果事先下好模型,可以选择对应目录,避免应用第一次下载找不到模型从而下载模型。

输出文件保存路径:必选项,选择运行生成文件的保存路径。

结束按钮:需要停止正在执行的功能,可以点击此按钮。

 

  • 功能部分

1.生成字幕文件:音频文件或者视频文件根据选择的语言生成一个对应语言的srt字幕文件,文件内容为音频文件或者视频文件说的内容,效果如图所示

a7b61a3d458d4ed494cd7f561785eda0.png

 

2.视频添加字幕:视频文件根据选择的语言自动为视频添加srt字幕,效果如图所示

2b29a71e35014008a697d02369273a86.png

 

3.监听声音翻译:监听window的喇叭发出的声音并且识别生成srt字幕文件,不过这个功能因为没时间弄,暂时没弄,后面有时间会加上,界面暂时如下图所示

bc5abf73efab4457b9a9ffc76e93e1ec.png 

 

  • 问题以及总结

软件已经介绍完了,在开发过程中其实遇到了很多坑,比如第一次使用pyqt5,跟主要功能模块的信息传递,以及使用pyinstaller打包成应用的时候会遇到很多坑,这里着重记录下。

使用pyinstaller -D 主程序文件打包的时候,运行会有一堆问题,然后仔细看打包过程会有很多警告,有些包没打进去,需要在打包的时候把这些包使用--copy-metadata添加指定包的元数据进来,最后打包成功后,发现python的whisper模块不在应用里,可以将python目录下的whisper复制到应用目录里,然后由于使用到了ffmpeg所以也需要把这个文件复制到应用目录中,才成功运行,本以为万事大吉,但是这个应用会自带cmd窗口,于是在打包命令中添加-w参数,但是又遇到到了挺多问题这里主要记录两个:

1.AttributeError: 'NoneType' object has no attribute 'flush'这个错误,根据提示找到对应python模块sitr-packages/transformers/utils/logging.py的如下代码段,修改如下图所示

96297a719bf348f0a92d61b0d573630a.png 

 

2.最后运行应用的时候下载模型会一直卡住,这是由于关闭了窗口,有些代码使用了需要从cmd中获取打印消息或者显示到cmd的功能,所以这里排查到应该是whisper下载模型的时候使用了tqdm来显示进度条导致的,所以到whisper的__init__.py文件中找到这段代码将如下图所示两行代码注释掉即可。

968171a06f054a5c9d0e66cd7a69b058.png 

 

最后再附上打包命令:

pyinstaller --upx-dir=C:\Users\xxx\Desktop\upx\upx-4.0.1-win64 -D -w pythoner_league_translate.py --copy-metadata tqdm --copy-metadata regex --copy-metadata tokenizers --copy-metadata numpy --copy-metadata regex --copy-metadata packaging --copy-metadata filelock --copy-metadata requests --copy-metadata whisper

其中upx地址,可以自己下载一个upx然后替换成你自己电脑路径即可

忘记说了whisper默认的中文是繁体字,这里本人已经把它转换成简体了。

如果大家有兴趣想玩玩,应用我已经帮大家打包好了,可以直接使用,代码也有,下面是各个下载地址:

应用模型下载地址(现在只打包了exe应用,如后续有需要可以打包mac应用):

链接:https://pan.baidu.com/s/1nj174s3tyHUAsazi4tHW0g

提取码:3ugi

代码gihub地址:https://github.com/PythonerLeague/PythonerLeague_translate

最后有问题可以留言或者关注PythonerLeague公众号进行沟通,这次分享就到这里了,最后再祝大家新年开开心心,有时间记得多陪陪家人。

 

 

 

 

 

 

 

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

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

相关文章

如何自动翻译字幕文件(机翻)

所需软件: Vscode 所需插件: Subtitles Editor 操作流程: 众所周知 vscode拥有强大的插件库,强大到甚至可以在vscode中打小霸王 插件库中搜索 Subtitles Editor ​ ​ 点击安装 支持常见的字幕文件格式(.str .vtt .sbv .sub) ​ 提前复制原英文字幕&#xff0…

Tern – 字幕组机翻小助手:自动翻译英文字幕为中英双语字幕[Win/macOS]

简介: Tern 是一款字幕文件翻译工具,它能利用 9 大主流机器翻译服务商(Google、微软、亚马逊等)对 .ass、.srt、.vtt 字幕文件进行翻译,可以减轻字幕组同学的工作量,也为那些对翻译要求不高的同学提供了啃…

借用AI工具为视频添加中文字幕,消除语言障碍,母语环境最快速地学习

由于chatgpt的启动,感觉语言已经完全不会成为学习的障碍,突发奇想,在我们查看youtube视频的时候,有没有方便的工具能够将其字幕翻译为中文。这样能够极大提高在youtube学习的效率,于是顺手问了一下ChatGPT,…

20221115使用google文档翻译SRT格式的字幕

20221115使用google文档翻译SRT格式的字幕 2022/11/15 18:52 (一)将SRT格式的字幕用WPS转换为DOCX的文档。 (请上传 .docx、.pdf、.pptx 或 .xlsx 文件) https://www.google.com.hk/?gws_rdssl Google 拍照搜索 Google 提供&a…

中文字幕!吴恩达 ChatGPT 最新课程

吴恩达是人工智能和机器学习领域国际最权威学者之一,他之前就发布过机器学习、深度学习的视频教程。 在小破站搜索机器学习、深度学习关键词,就能看到大佬的身影,教程高赞、高收藏,广受好评。相信国内 AI 方向的学生 90% 都是听他…

Python分析一下双色球,中大奖指日可待

一、需求简介 之前偶然见到一位网友提出了关于双色球数据的分析需求,感觉颇有趣味,便着手操作了一番。如下为某双色球发布站的页面,可以看到每期会产生红/蓝两种颜色的数字,其中红球为 33 选 6,蓝球为 16 选 1&#x…

最新中国福彩分析大数据分析大师拥有双色球数据展示微信小程序源码支持双色球数据分析多个接口

demo软件园每日更新资源,请看到最后就能获取你想要的: 1.最新中国福彩分析大数据分析大师拥有双色球数据展示微信小程序源码支持双色球数据分析多个接口 福彩大数据分析小程序,数据来自于中国福利彩票 拥有双色球数据展示 双色球数据分析多个接口 数据有每日奖金和…

足球大数据分析大小球胜平负的技巧与经验实例附分析软件

前阵子熬夜看欧冠,利物浦 3-0 击败巴萨晋级决赛,赛后一个同为球迷的朋友问我“现在大数据能分析足球比赛的胜平负或者大小球吗?” 我一听,没有做很肯定的回答。早些世界杯的时候,百度体育运用大数据的技术预测过&…

XT.COM 直播间第106期 | VGO XT.COM AMA 专场

举办方:XT.COM 嘉宾:Lalin Hugo - 创始人 奖励:100 USDT提问奖励~ 时间:11月23日 17:00(UTC 8) AMA直播间: XT.COM官方电报英文社区 XT.COM官方电报中文社区 AMA详情&#x…

微信直播聊天室架构演进

聊天室概述 随着直播和类直播场景在微信内的增长,业务对临时消息通道的需求日益增长,聊天室组件应运而生。聊天室组件是一个基于房间的临时消息信道,主要提供消息收发、在线状态统计等功能。 1500w在线的挑战 视频号直播上线后,在…

XT.COM直播间第109期 | CDT XT.COM AMA 专场

举办方:XT.COM 嘉宾:Kelyan - CheckDot CTO 奖励:100 USDT提问奖励~ 时间:11月29日 15:00(UTC 8) AMA直播间: XT.COM官方电报英文社区 XT.COM官方电报中文社区 AMA详情&…

入门与 Follow GPT 的路径分析:LLM 道阻且长,行则将至

动手点关注 干货不迷路 作为 CEO,Sam 将 OpenAI 的内部氛围组织的很好,有位 OpenAI 的前员工告诉拾象团队,当 2018 年 GPT-2 的论文被驳回时,Sam 在团队周会上将拒信的内容朗读给所有员工,并告诉大家在通往成功的路上总…

【ChatGPT】如何入门GPT并快速follow当前的大语言模型LLM进展?

如何入门GPT并快速follow当前的大语言模型LLM进展? 自从去年chatGPT悄悄发布,OpenAI发布的GPT系列工作也变得炙手可热,而基于此,各家公司/实验室百家争鸣,纷纷发布自己的工作,可以说每天都有新的进展。 在当前的情况下,要如何入门GPT系列生成模型,并快速跟进SOTA进展…

ChatGPT 的技术和算法需要支撑怎样的架构和基础设施?

ChatGPT的技术和算法需要一些特定的基础设施和架构的支持,以确保它的性能和可靠性。 以下是支撑ChatGPT的可能的架构和基础设施: 1. 大数据处理与高速缓存:ChatGPT需要处理大量的输入数据,这些数据需要经过处理和优化&#xff0c…

自己动手做chatgpt:解析gpt底层模型transformer的输入处理

前面我们完成了一些基本概念,如果你对深度学习的基本原理还不了解,你可以通过这里获得更多信息,由于深度学习的教程汗牛充栋,因此我在这里不会重复,而是集中精力到chatgpt模型原理的分析,实现和实践上。Cha…

成功获取QQ音乐的MV视频(内含视频接口)

1.跨域接口 webpack.base.conf.js文件: const devWebpackConfig merge(baseWebpackConfig, { ...devServer: {clientLogLevel: warning,...watchOptions: {poll: config.dev.poll,},before(app) {app.get(/api/getPlaySongVkey, function (req, res) {var url h…

音乐 组件 (音频, 视频)

目的功能: axios 请求获取歌曲的 url 以及 封面照片切换歌曲歌单的展示 演示: 网易云音乐接口 github地址 https://github.com/Binaryify/NeteaseCloudMusicApi安装 git clone gitgithub.com:Binaryify/NeteaseCloudMusicApi.git在他的目录下 npm install运行 node ap…

音乐聊天室小程序

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 今天推荐的这个项目是音乐聊天室,有小程序版,uniapp版和pc版,前后端均开源了,并且有详细的api和部署文档,可以学习了! 二、实现功能 普通文字…

实验探索: ChatGPT是好的推荐系统吗?

TLDR: 之前我们简单测试了下ChatGPT作为推荐器在序列推荐和可解释推荐上的能力,即如何利用ChatGPT实现推荐模型的能力?今天再跟大家分享一篇通过实验来探究ChatGPT通用推荐能力的文章,其在评分预测、序列推荐、直接推荐、解释生成…

好货推荐——好用的ChatGPT

成果图如下: 这个是Microsoft Edge浏览器的一个扩展插件,然后我们下面来操作一下怎么获取并使用这个插件 然后回到管理扩展界面打开webtab 然后他就会自己弹出webtab界面如下图: 然后点击Chat AI即可使用了,不过现在要登录账号才能…