Sox:在单个命令中转换具有所需属性的 .wav 文件

Sox:在单个命令中转换具有所需属性的 .wav 文件

我有一个test.wav文件。我需要使用此文件来处理具有以下属性的应用程序:

  1. 单通道
  2. 16 kHz 采样率
  3. 16位

现在,我使用以下命令来获得这些属性:

sox disturbence.wav -r 16000 disturbence_16000.wav
sox disturbence_16000.wav -c 1 disturbence_1600_mono.wav
sox disturbence_1600_mono.wav -s -b 16 disturbence_1600_mono_16bit.wav

这里要获取单个文件,涉及三个步骤并创建两个临时文件。这是一个耗时的过程。

我想过编写一个脚本来完成这些过程,但我保留这是最后的选择。

在单个命令中,我可以将.wav文件转换为所需的格式吗?

答案1

sox disturbence.wav -r 16000 -c 1 -b 16 disturbence_16000_mono_16bit.wav

在一个命令内给出

  • 采样率为 16 kHz ( -r 16000),
  • 一个通道(单声道)( -c 1),
  • 16 位位深度 ( -b 16)。

答案2

.wav目录中所有文件的一行:

for file in *.wav; do sox $file -r 16000 -c 1 -b 16 "$(basename $file .wav)_16000_mono_16bit.wav" -V; done

相关内容