【问题标题】:Stripping silence with sox用袜子剥夺沉默
【发布时间】:2016-12-21 23:39:33
【问题描述】:

我有大约 20,000 个 .wav 文件(所有语音线路),我需要从开头和结尾去除静音。

“沉默”不是纯粹的沉默,所以我需要设置一个阈值。

我还想在实际声音/声音开始之前留下一点“沉默”,这样每个文件都会被修剪,但原始沉默的 .X 秒仍然存在。

我尝试了各种命令,但无法正确设置阈值。我看到很多互联网cmets都在这样做,所以我一定是使用错误的命令。

我也不知道怎么才能保持 .X 秒的沉默。

我认为 sox 可以做到这一点,或者至少大部分可以做到?

【问题讨论】:

    标签: sox


    【解决方案1】:

    我发现这个对使用 SoX Silence 非常有用的指南。虽然官方 SoX Silence 手册页非常混乱且难以理解,但本指南通过示例提供了详尽的解释: https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/comment-page-2/

    你可以试试:

    sox input.wav output.wav silence 1 X 0.1% 1 X 0.1% : newfile : restart

    X 是一个数字,例如 0.75

    【讨论】:

    • 你知道如何在 python 中做吗?有没有图书馆可以做同样的事情?
    • @DeepanRaj - 使用 Python 分叉 sox?我怀疑你会找到一个支持 sox 的所有音频格式和功能的 Python 库......除非它只是一个包装 sox 的库......
    • 我找到了可以为我工作的 pydub 库。谢谢
    • 你是对的,手册页在这里没有帮助,文章很棒!谢谢
    【解决方案2】:

    修剪音频的静音开头

    sox in.wav out1.wav silence 1 0.1 1%
    

    来源:https://digitalcardboard.com/blog/2009/08/25/the-sox-of-silence/

    【讨论】:

      【解决方案3】:

      你可以对 Sox 使用这个命令

      sox inputfile.wav tmpoutput.wav silence 1 0.75 0.1% -1 0.75 0.1%
      

      【讨论】:

        猜你喜欢
        • 2013-09-30
        • 2020-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多