1

我需要在 mp3 文件中找到静音。就那么简单。

例如:

  • 在“file.mp3”中找到大于 X 秒的静音,如果找到 X 秒的静音,则发送错误代码 0,如果未找到静音,则发送错误代码 1。

我可以在 Batch、VBS、Ruby 或 Python 中尝试它(因为我必须练习,但我只知道 Batch)。我不知道音乐库和那些东西......

无论我是否需要 3rd 方软件来完成像 CommandLine APPS 这样的工作......

注意:静音也可以在 mp3 文件的中间。例如,在名为“隐藏曲目”的文件中,即:1 首歌曲 + 1 分钟的大静音 + 另一首歌曲(全部在 1 个 mp3 文件中)所以我需要一些东西来搜索 X selince 到整个文件中,不仅接近结尾文件的...

注意 2:我需要在 Windows 中进行。

请问有什么想法吗?

4

2 回答 2

5

使用 sox 和它的静音过滤器

检查输出sox $infile -n statsox $infile -n silence 1 0.1 1% -1 0.1 1% stat比较原始文件和修剪文件的长度应该可以解决问题

于 2012-06-17T20:22:42.893 回答
4

做这个:

  • 用一些 mp3 解码库解码 mp3,你会从中得到 PCM。
  • PCM数据是一个short接一个,表示16位有符号数
  • 您将不得不找到short绝对小于某个小值的连续数量的 s,例如 100(范围为 32767)
  • 短裤数量的长度取决于:您想要的静音持续时间、文件中的通道数、采样频率
  • 如果你有这么多更小的短裤,你就有了沉默。

请使用评论向您需要更多信息的领域添加问题,或为此添加新问题,因为任务有很多步骤,我想所有这些步骤都会使这个问题过于具体。

于 2012-06-17T20:28:20.127 回答