我有许多 .mp3 文件,它们都以简短的语音介绍开始,然后是钢琴音乐。我想删除语音部分,只留下钢琴部分,最好使用 Python 脚本。语音部分是可变长度的,即我不能使用 ffmpeg 从每个文件的开头删除固定的秒数。有没有办法检测钢琴部分的开始,然后知道使用 ffmpeg 甚至使用 Python 本身删除多少秒?谢谢
问问题
46 次
1 回答
0
如果你想要一个好的结果,这是一个不平凡的问题。
快速而肮脏的解决方案将涉及推断参数,例如:
- “扬声器和钢琴之间通常有 15 秒的无音频或低分贝音频”
- “钢琴曲中间通常没有 15 秒的无音频或低分贝音频”
然后使用这些参数尝试使用音频分析库获得“足够好”的东西。
我怀疑你会对这种方法感到失望,因为我可以想到许多带有长时间停顿的钢琴曲,这读起来就像一个经典的 ML 问题。
这里最好的解决方案是将 ML 与分类模型和大型数据集一起使用。这是一个可能会帮助您入门的演练。但是,这不会是几分钟的编码。这是一个典型的 ML 任务,将涉及收集和标记大量数据(或访问预先标记的数据)、构建 ML 管道、训练神经网络等。
这是另一个可能有用的链接。他正在使用预训练模型来减少开始所需的数据量,但您仍然需要投入大量工作才能实现这一目标。
于 2020-08-22T07:07:12.267 回答