如何找到最佳分裂点集

how to find best set of splitting points

我有一个很长的声音文件,其中有不同长度的停顿。如何找到将声音文件分成多个片段的暂停集,使每个片段的长度为 30-120 秒,并且使用的最短暂停时间最长?

假设你能找到停顿:

  • 列出所有暂停的(开始时间,持续时间),按开始时间排序
  • 对于每次停顿,计算将声音拆分到该点的最佳结果(最大最短停顿长度)。对于每次停顿,您可以通过考虑您已经为早前 30 到 120 秒之间发生的停顿计算的结果来轻松计算。
  • 最后,通过考虑在结束前 30 到 120 秒之间发生的停顿来进行类似的计算,以获得最终解决方案。

我找到了另一个解决方案:按长度对停顿进行排序,从最短到最长进行迭代。如果所有间隔都已经达到所需的长度,则中断。如果手头的停顿可以删除,而且还满足所有条件,就删除。