【问题标题】:Why does sox corrupt my wav file when I try and change the sample rate?当我尝试更改采样率时,为什么 sox 会损坏我的 wav 文件?
【发布时间】:2016-08-04 03:10:57
【问题描述】:

当我尝试使用 sox 更改 wav 文件的采样率时,我得到一个包含噪音和垃圾的文件以及以下 2 个错误:

sox WARN rate: rate clipped 579 samples; decrease volume?
sox WARN dither: dither clipped 518 samples; decrease volume?

虽然那里有问号,但我永远无法回答它们。他们更多地作为一种状态出现。

我开始的是我自己制作的 PCM 文件。规格是:

16 bit signed
big endian
1 channel 
44100 sample rate

我可以将文件 (0.wav) 导入 Audacity,这很好。

然后我将文件转换为 wav 文件,使用以下行:

sox -r 44100 -e signed-integer  -b 16 -c 1 0.raw 1.wav

我可以将该文件导入 Audacity,也可以。

但是当我尝试更改采样率时:

sox 1.wav -r 16000 2.wav

如果有人知道我做错了什么或遗漏了什么,我将不胜感激。我还在这里放了原始原始文件:http://warptv.com/raw.html

【问题讨论】:

    标签: audio sox


    【解决方案1】:

    这似乎是字节顺序的问题。您的原始文件以大端字节顺序存储,而 WAV 为 at least most of the timelittle-endian

    在这种情况下,您必须明确告知 SoX 您的原始文件的字节序,因此在转换时可以考虑到这一点。相应的开关是-B,将您的命令更改为:

    sox -r 44100 -e signed-integer -B -b 16 -c 1 0.raw 1.wav
    

    将原始文件正确转换为 wav 文件后,您尝试的后续速率转换应该可以按预期工作。至少对我有用。

    稍微玩一下 Audacity,它似乎有一些方法可以检测(或猜测)SoX 缺乏的原始文件的字节序,这就是您发现的差异的根源。

    【讨论】:

    • 就是这样,宾果游戏。谢谢
    猜你喜欢
    • 2013-05-03
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多