最新版本
最新版本请转下面这篇
这是什么
起因是我做视频懒得说话,最多在视频做好后加上字幕,但光有字幕没语音感觉还是差了点意思。市面上有很多文本朗读器,可是我并没有找到一款能朗读字幕的应用,我这里的朗读字幕指语音能自动和字幕时间轴匹配。虽然有几款播放器(potplayer、kmplayer、VLC)自带字幕朗读功能,通过一边朗读一遍录音的话就可以得到我想要的音频,但这种做法过于笨拙。本着学习的目的,我试着用py写了一个小程序实现了字幕朗读的功能。
实现原理
充分利用已有的轮子
代码
写完了发现比想象中要简单,几行代码就搞定了。目前只支持SRT格式的字幕文件,反正字幕文件间可以互相转,对于复杂的字幕可能引发的bug现在一概忽略(比如字幕重叠、一句话语音过长,多轨字幕等)。另外目前都是单线程,速度可能有点慢,程序可能出现假死无响应状态,只要后台文件一直在增加,大可不用管。(因为语音平台都是限制并发数的,感觉多线程有必要?)
现已添加多线程。
下载
使用
- 安装依赖
pip install -r requirements.txt
- 安装 ffmpeg
- 下载解压ffmpeg
- 将解压的 ffmpeg/bin 路径添加到系统环境变量
- 填写百度 KEY在百度 AI 平台获取相关 KEY ,打开 main.py 填写相应 KEY
- 启动
python main.py [.srt文件]
- 安装 ffmpeg
- 下载解压ffmpeg
- 将解压的 ffmpeg/bin 路径添加到系统环境变量
安装依赖
python -m venv venv venv\Scripts\activate pip install -r requirements.txt
- 启动
flask run
浏览器打开 http://127.0.0.1:5000/ 获取并填写相关 key 后点击生成,所有生成的文件在 output 文件夹内。
视频案例演示
后记
后来发现一个有同样功能的软件:http://www.cross-plus-a.com/cn/balabolka.htm 打开工具->字幕转换器功能就是,这功能藏的太隐秘当初都没找到。
后后来发现一个叫字幕说的网站也有类似的服务,不过介绍来看,这个是输入文本,然后生成同步的语音和字幕。虽然节省了做字幕的功夫,但这种只适合那种一刻不停的说的视频,适用性还有待提高(有空我也可以整合实现这种功能)。
34 条评论
还更新吗,能把microsoft azure的接口添加上吗,还有音频下载的格式能添加可选的吗
字母朗读软件里的Balabolka不知道怎么用
Balabolka这个软件没有字幕处理功能字幕里的数字时间码也朗读了
能不能把这个功能做成一个网页像字幕说那种,你这种还是太复杂,太费事,收费也可以的,
怎么设置那个环境变量啊 太复杂了 怎么新建 谢谢了
看最新版那个,不用设置环境变量,解压即用
合成好的音频总感觉清晰度不好,单个生成的音频每一句听着清晰度还可以,就是合成一个mp3后,音质下降比较多,是不是生成mp3码流压缩的比较狠?这个能不能调整?谢谢!
阿里云的声音更新了,增加了文学大类的声音,是不是咱们这个软件也更新下?另外个人觉得讯飞的机器配音比阿里云的好很多,是不是可以集成一下讯飞的配音。OωO 祝版主天天开心!
现已更新
嗯好的,预计假期可以抽空更新。
麻烦问下,最近有更新吗?盼星星盼月亮啊(☆ω☆)
下载下来的都是0字节
评论区有蓝奏云下载地址,有空我加上|´・ω・)ノ
appkey怎么获取
去百度或者阿里云后台开启相关服务后获取
ok,找到问题了,是ffmpeg,我的路径设置有问题,已经解决,谢谢。。。。。