0

我有许多 .mp3 文件,它们都以简短的语音介绍开始,然后是钢琴音乐。我想删除语音部分,只留下钢琴部分,最好使用 Python 脚本。语音部分是可变长度的,即我不能使用 ffmpeg 从每个文件的开头删除固定的秒数。有没有办法检测钢琴部分的开始,然后知道使用 ffmpeg 甚至使用 Python 本身删除多少秒?谢谢

4

1 回答 1

0

如果你想要一个好的结果,这是一个不平凡的问题。

快速而肮脏的解决方案将涉及推断参数,例如:

  • “扬声器和钢琴之间通常有 15 秒的无音频或低分贝音频”
  • “钢琴曲中间通常没有 15 秒的无音频或低分贝音频”

然后使用这些参数尝试使用音频分析库获得“足够好”的东西。

我怀疑你会对这种方法感到失望,因为我可以想到许多带有长时间停顿的钢琴曲,这读起来就像一个经典的 ML 问题。

这里最好的解决方案是将 ML 与分类模型和大型数据集一起使用。这是一个可能会帮助您入门的演练。但是,这不会是几分钟的编码。这是一个典型的 ML 任务,将涉及收集和标记大量数据(或访问预先标记的数据)、构建 ML 管道、训练神经网络等。

这是另一个可能有用的链接。他正在使用预训练模型来减少开始所需的数据量,但您仍然需要投入大量工作才能实现这一目标。

于 2020-08-22T07:07:12.267 回答