4.gif

65db783d

关于PaddleSpeech语音转字幕的展望,就差一个程序猿啦

识别字幕一直是很有用的技术,但是这个技术一般都是网站提供接口,要么交钱要么有限制,这种关键技术被卡脖子就非常难受,我一直希望有离线的语音识别软件,不用看大公司的脸色。直到我偶然发现了这个《音频转文字小工具,离线版来了,无限用!》

然后因为我是win7,就没下,而且这个只是翻译,翻译得还不快,距离生成字幕也还有段距离,但是因此认识到PaddleSpeech框架,走起。

百度的PaddleSpeech框架属于飞桨,这个飞桨还挺大方。每天可以用8个小时,就相当于免费的云电脑(不过限制大,要懂代码),不要用免费的,直接起步用1点/小时那个或者更高的,否则会出些奇怪的问题,估计性能也差,反正点数也不能累加不用省。

《【超简单】之基于PaddleSpeech搭建个人语音听写服务》

可以看成上面那个小工具的原型,直接运行复制,是可以跑得通的。

只需要修改少量代码,就可以生成“Region 1: 00:00:03,000 --> 00:00:04,500”这种格式的数据和翻译出来的语句,其实这种就和
引用

1
00:00:03,000 --> 00:00:04,500
在国外呢

这样的字幕非常像。

而代码需要的wav音频可以用格式工厂转化得来。

我目前修改的版本就是生成result和result2,result是翻译出来的字,result2是对应的时间轴,可以看出翻译和时间轴的行数是一致的。

目前的烦恼就是,我不太会python,所以不能直接生成srt字幕文件,只能复制粘贴,用我熟悉的JQ去解决两个文件合成字幕字符串的工作。如果有大佬能直接改成生成字幕文件那就太好了,反正都是些处理字符串的工作。
还有就是,“00:00:03,000”逗号后面是毫秒,我不知道如何用python传入秒数生成毫秒这样的格式。
另外不知道怎么分享飞桨工程,不知道怎么离开服务器后固化已经安装的

我的一些经验:
1.生成字幕后,用ffmpeg写入字幕,MP4格式的软字幕需要一些播放器支持,用MKV格式的软字幕就比较好,也可以直接MP4写入硬字幕
复制代码
  1. (MP4软字幕,需调): ffmpeg -i 03.mp4 -i 8.srt -c copy -c:s mov_text 2.mp4
  2. (MP4硬字幕,需重新编码): ffmpeg -i 03.mp4 -vf subtitles=8.srt out.mp4
  3. (封装MKV): ffmpeg -i 03.mp4 -i 8.srt -c copy output.mkv

2.飞桨上上传的文件限制为150MB,一个小时以上的WAV妥妥的超了,此时可以用zip分包成小于150MB的上传,在服务器合并解压,下列3个“outpath”要写对
复制代码
  1. cat outpath.* > outpath_all.zip
  2. !unzip outpath_all.zip


3.1小时的音频大概转8-9分钟,可以接受,而且可以挂着干别的,反正飞桨的服务器又不是自己的电脑。
4.封装python(据说一定要64位,3.7版本以上)离线版我本来想用aardio,不过似乎aardio只支持32位,我还去知乎请教了该软件作者怎么用python64位,他说了一堆管道调用吧啦吧啦,结果今天作者愤而出走知乎,把帖子全删了

我的期望就是,把这玩意封装成一个win7能用的离线版,一键生成字幕就好了(“超简单”作者的另一个不是离线版的)。现在可以处理中文,理论上应该很容易处理英文,那未来处理日文也是可以期待的,据我理解,都是机器学习的事,期待有大佬能实现这些功能吧!

我的代码:
此帖售价 0 SP币,已有 18 人购买
若发现会员采用欺骗的方法获取财富,请立刻举报,我们会对会员处以2-N倍的罚金,严重者封掉ID!

none.gif

68e32b07

帮顶

208319.png

九幽

可以用来翻译音声?

4.gif

65db783d

回 2楼(九幽) 的帖子

现在中文的可以,你跟着《超简单》的作者走一遍流程就行(就是点7-8个运行按钮),不过原作者现在成果就是切成一句一句话。
日文的应该可以用神经网络训练,那就比较高深了

none.gif

龟哥

太好了喵

3.gif

why333

B5F  2022-08-11 20:36
(好饿~)
可以翻译音声和视频?

4.gif

65db783d

回 5楼(why333) 的帖子

具体来说只可以翻译音声,但是你可以用格式工厂把视频转成WAV(只能是这个格式!)

OwO


5.gif

indesperate

按道理各个国家应该都有自己语言的识别机器学习项目啊   

4.gif

65db783d

回 8楼(indesperate) 的帖子

现在中文英语有了,就差一个日语了,离线日语转字幕岂不是爽爆

辣条君


5.gif

indesperate

paddle-speech这个项目是语音识别吧,在issue#979里看到目前还是只支持中英俩种语言,不支持多语言,有点可惜啊,我找了半天   

4.gif

65db783d

回 11楼(indesperate) 的帖子

案例里,有个是把女声变为训练模型的男声。我是不太理解啊,不过感觉上,应该可以训练日语的,只要给它足够多的语料数据

-2.png

贫胸少女

B13F  2022-08-11 21:18
(这个少女尚未脱贫)
把autosub里的字幕格式化脚本抠过来改改

1447282.png

唯爱圣少女

B14F  2022-08-11 21:19
(。)
以前翻译英语音声直接用的剪映,然后手动纠错

5.gif

indesperate

翻了半天,找到一个julius,日本人的语音识别模型,我下下来试下怎么样,不过我的1050ti估计遭不住

4.gif

65db783d

回 15楼(indesperate) 的帖子

大佬靠你啦

none.gif

named

就是还没有能直接把日语音声生成字幕的项目把?

4.gif

65db783d

回 17楼(named) 的帖子

就我所知还没有,不过感觉上指明了方向,并非遥不可及

none.gif

named

回 18楼(65db783d) 的帖子

只能等哪个大佬花点时间整合下了,各部分的工具感觉好像都已经有了

none.gif

林黛玉

不支持日文,就没啥用。

5.gif

indesperate

回 16楼(65db783d) 的帖子

下下来跑不了,文档还是日文的直接G    ,不过看起来是个语音识别项目,让我插一个input device,我又没有,    ,不折腾了,还是等有能人吧   

none.gif

aardio

贴子是知乎删除的,不是我删的,
知乎客服给说的是不能包含“aardio”推广(其他帖子想不删也不行啊)。

这个被删贴子 —— 在该问题下获得了最多知乎网友点赞、感谢与收藏。
可见知乎的规则连他们自己的用户都搞不懂,我一个很上去知乎的外人更搞不清楚了。
将一个完全免费的“编程语言”界定为“广告”太敏感了一些,不过人家要恰饭能理解。

至于你问的问题,
只要通过进程管道调用 Python.exe 就可以兼容 32位 / 64 位。
在 aardio 里就是 process.popen("/python.exe") ,可以添加任意个调用参数,如果你希望做更复杂的交互,aardio 中有大量基于 process.popen 的库或范例,我记得我提醒过你这点。
之前在 GitHub 上看过一个 aardio + Python 的项目就是这样实现的。

none.gif

8fa087f1

回 22楼(aardio) 的帖子

卧槽,大佬居然也玩茶馆

none.gif

141a8cce

南+居然也有搞飞桨的大佬

4.gif

65db783d

回 22楼(aardio) 的帖子

卧槽,大佬竟然也在这啊,失敬失敬