分享一个 github 上面的神器,真的是神器,不是夸张的。而且搜了一下,基本上是属于世界上没有同类开发的独创软件。感兴趣有能力的网友可以继续跟进开发。

2020-03-12 10:40:31 +08:00
 oosjs
先说明,这个不是我自己的,只是来分享一下。感觉以后有声书的审核力度持续下去,会变得更加有用。

软件叫 MP3CutAd

自动去掉 MP3 有声读物里面反复出现的片头、片尾、广告。

链接(把“点”改一下)
github 点 com/licstar/MP3CutAd

现在由于版权或者广电总局审核等原因,一些好的有声书被下架。搞得不少用户重新回到自己下载 mp3 有声书进行收听。类似有的歌曲各大 app 被下架,想听就得自己下 mp3。

但是 mp3 有声书里面有个问题就是有一些广告,这个软件的作用就是找出 mp3 里面的广告片段之后进行删除。

用了一下,非常好用,不过原作者已经很多年没有更新了。鉴于本就是 github 上面的开源,不知道有没有感兴趣有能力的作者继续开发。


MP3CutAd

自动去掉 MP3 有声读物里面反复出现的片头、片尾、广告。

使用方法

下载安装(把“点”改一下 pan 点 baidu 点 com/s/1pJ3VmVx ),或者:

下载代码,用 VS 打开,会自动安装一些依赖。
下载 ffmpeg。复制里面的 ffmpeg.exe 和 ffplay.exe 到本项目的 ffmpeg 目录下。
运行。
原理

找到重复出现的广告,然后去掉。

具体步骤如下:

使用 ffmpeg 把 MP3 文件转成 wav 格式。(平均 3~5 秒一个文件)
对 wav 文件做 FFT。(大约 2.5 秒一个文件)
对 FFT 的结果做 LSH。(大约 2.5 秒一个文件)
两两对比,找到相似的片段。(大约 0.35 秒对比一组)
运行时间根据一套有 50 个文件的有声读物实测得到,每个文件包含 20 分钟的录音,测试 CPU 为 i5。 总时长为:450 + 2.550 + 2.5*50 + (1+2+...+49)*0.35 = 15 分钟。

TODO

考虑直接对 MP3 做 fft,或许能快点。
目前是两两对比,找重复部分。考虑修改算法,归纳多处出现的广告,优化边界的识别。
FFT+cos 距离这种土办法是不是有高大上的替代方法?
边界判断是不是有高大上的替代方法?
新生成的 MP3 文件,加上原文件的标题、艺术家、专辑等信息。
没发现广告的文件,直接复制原文件过去。
各种重构,各种把参数提到一个地方。
5394 次点击
所在节点    分享发现
27 条回复
hljjhb
2020-03-12 10:56:13 +08:00
贴吧?
oosjs
2020-03-12 10:58:20 +08:00
@hljjhb 你这种莫名其妙的回复以后就不要回了。
c00WKmdje2wZLrSI
2020-03-12 11:03:37 +08:00
要是可以去掉视频的片头片尾就好了,比如澳门线上......
oosjs
2020-03-12 11:06:08 +08:00
@c00WKmdje2wZLrSI 他这个是音频啊。视频就靠有没有人继续开发,哈哈。要是好几集都是同样的广告,这个软件是可以对音频进行处理的。
oosjs
2020-03-12 11:07:01 +08:00
@c00WKmdje2wZLrSI
通过音频处理找到广告的时间段,再对视频按时间段切割,就可以了哈哈哈
lloovve
2020-03-12 11:12:37 +08:00
Mp3 直接 FFT,FFT 要对原始数据做处理才行,直接对 mp3 做没什么意义吧,毕竟不是人声
sakujo
2020-03-12 11:40:54 +08:00
确实有这个需求
Kelan
2020-03-12 11:42:19 +08:00
切头去尾有什么技术含量,有些声音广告甚至是叠加在原声上的,得能把广告滤掉才行。
PbCopy111
2020-03-12 11:49:14 +08:00
这里可以直接贴 github 的链接吧。。。毕竟是程序员论坛。。。
limbo0
2020-03-12 12:43:28 +08:00
标题党
Nadao
2020-03-12 14:07:18 +08:00
我怎么记得有些播放器带这个功能?
learningman
2020-03-12 15:45:38 +08:00
这个标题实在是太奇怪了
also24
2020-03-12 15:48:46 +08:00
召唤一下之前在 /t/638549 里求方案的 @JCZ2MkKb5S8ZX9pq
Citrullus
2020-03-12 16:00:40 +08:00
@c00WKmdje2wZLrSI 有画面感了😂
Meifa
2020-03-12 16:10:13 +08:00
我想把视频的明星推荐广告去掉
JCZ2MkKb5S8ZX9pq
2020-03-12 19:12:26 +08:00
@also24 谢谢,我会找时间去试一下。
之前让小朋友帮我手动打了下时间点……

最近在听厚大法考罗翔,有些 up 喜欢自己贴有声头尾是真的烦。
loading
2020-03-12 19:29:27 +08:00
没查,算法应该可能就是把前面一样的数据全部剪掉。
oosjs
2020-03-14 07:31:45 +08:00
@Kelan 别人原作者写了原理,你都看不懂,看来这个贴子真的不适合你
oosjs
2020-03-14 07:32:14 +08:00
@PbCopy111
真搞不懂,没有眼睛的你,干嘛上论坛
oosjs
2020-03-14 07:33:30 +08:00
@Nadao 不用怀疑,这只是因为你妄想了。而且看不懂原理,也就看不懂其真正的功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/652092

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX