我正在使用SoX将一组wav文件修剪成16kHz,16bit,单声道wav文件(这将是其中一个初始wav文件的子集).大多数源wav文件已经设置为此规范,但是,我发现其中一些具有不同的采样率.由于它将使用ProcessBuilder在Java中自动化,我想我可以使用以下命令:
sox <source_wav> -b 16 <dest_wav> channels 1 rate 16000 trim <startTime> =<endTime>
Run Code Online (Sandbox Code Playgroud)
如果它不是16000赫兹,它只会改变采样率.它在具有相同规范的文件上做了它应该做的事情,但对于具有不同采样率的文件,我得到:
sox WARN rate: rate clipped 48 samples; decrease volume?
sox WARN dither: dither clipped 44 samples; decrease volume?
Run Code Online (Sandbox Code Playgroud)
如何在不降低音频质量的情况下解决这个问题?请注意,我对信号处理一无所知.