Command

Sox:在單個命令中轉換具有所需屬性的 .wav 文件

  • December 28, 2021

我有一個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文件轉換為所需的格式嗎?

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

在一個命令內給出

  • -r 1600016 kHz ( )的採樣率,
  • 一個通道(單聲道)(-c 1),
  • 16 位位深度 ( -b 16)。

.wav目錄中所有文件的單行:

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

引用自:https://unix.stackexchange.com/questions/274144