Responsive image

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

然后因为我是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
    (MP4硬字幕,需重新编码): ffmpeg -i 03.mp4 -vf subtitles=8.srt out.mp4
    (封装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
    !unzip outpath_all.zip


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

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

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


68e32b07 - 2022-08-11 20:25 [B1F]
帮顶


九幽 - 2022-08-11 20:27 [B2F]
可以用来翻译音声?


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


龟哥 - 2022-08-11 20:36 [B4F]
太好了喵


why333 - 2022-08-11 20:36 [B5F]
可以翻译音声和视频?


65db783d - 2022-08-11 20:41 [B6F]
具体来说只可以翻译音声,但是你可以用格式工厂把视频转成WAV(只能是这个格式!)


OwO - 2022-08-11 20:49 [B7F]


indesperate - 2022-08-11 20:50 [B8F]
按道理各个国家应该都有自己语言的识别机器学习项目啊   


65db783d - 2022-08-11 20:55 [B9F]
现在中文英语有了,就差一个日语了,离线日语转字幕岂不是爽爆


辣条君 - 2022-08-11 20:59 [B10F]
mark


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


65db783d - 2022-08-11 21:14 [B12F]
案例里,有个是把女声变为训练模型的男声。我是不太理解啊,不过感觉上,应该可以训练日语的,只要给它足够多的语料数据


贫胸少女 - 2022-08-11 21:18 [B13F]
把autosub里的字幕格式化脚本抠过来改改


唯爱圣少女 - 2022-08-11 21:19 [B14F]
以前翻译英语音声直接用的剪映,然后手动纠错


indesperate - 2022-08-11 21:19 [B15F]
翻了半天,找到一个julius,日本人的语音识别模型,我下下来试下怎么样,不过我的1050ti估计遭不住


65db783d - 2022-08-11 21:45 [B16F]
大佬靠你啦


named - 2022-08-11 21:50 [B17F]
就是还没有能直接把日语音声生成字幕的项目把?


65db783d - 2022-08-11 21:54 [B18F]
就我所知还没有,不过感觉上指明了方向,并非遥不可及


named - 2022-08-11 22:07 [B19F]
只能等哪个大佬花点时间整合下了,各部分的工具感觉好像都已经有了


林黛玉 - 2022-08-11 22:10 [B20F]
不支持日文,就没啥用。


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


aardio - 2022-08-14 18:57 [B22F]
贴子是知乎删除的,不是我删的,
知乎客服给说的是不能包含“aardio”推广(其他帖子想不删也不行啊)。

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

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


8fa087f1 - 2022-08-14 22:30 [B23F]
卧槽,大佬居然也玩茶馆


141a8cce - 2022-08-15 07:54 [B24F]
南+居然也有搞飞桨的大佬


65db783d - 2022-08-16 13:30 [B25F]
卧槽,大佬竟然也在这啊,失敬失敬






桌面版


Powered by SP Project v1.0 © 2010-2019
Time 0.278077 second(s),query:3 Gzip enabled


Top