I a*_*Fat 5 audio terminal wav sox resampling
我目前有一个需要更改采样率的文件列表。
我最近意识到这可以使用sox 但是当我尝试这样做时,我不断收到一条错误消息 sox wav: Premature EOF on .wav input file并导致音频文件为空..似乎 sox 无法重新采样输入的音频文件=输出...我有点需要,如果我必须转换音频文件的整个目录...
目前使用的命令:
~/kaldi-trunk/egs/yesno/s5_k_added$ sox 0_0_0_0_1_1_1_1.wav -r 8000 0_0_0_0_1_1_1_1.wav
sox WARN wav: Premature EOF on .wav input file
:~/kaldi-trunk/egs/yesno/s5_k_added$ play 0_0_0_0_1_1_1_1.wav
0_0_0_0_1_1_1_1.wav:
File Size: 44
Encoding: Signed PCM
Channels: 1 @ 16-bit
Samplerate: 8000Hz
Replaygain: off
Duration: unknown
In:0.00% 00:00:00.00 [00:00:00.00] Out:0 [ | ] Clip:0
Done.
Run Code Online (Sandbox Code Playgroud)
如何重新采样音频文件目录?
尝试更改输出文件名,如果您想保留相同的文件名,可以将其放在不同的目录中。
例如:
sox 0_0_0_0_1_1_1_1.wav -r 8000 ./out/0_0_0_0_1_1_1_1.wav
我相信sox在主动更改文件时尝试读取文件,有时sox不会创建要输出的临时文件。
编辑:如果您有一个要更改的文件目录,请使用以下命令:
$ mkdir out
$ for file in *; do sox ${file} -r 8000 ./out/${file}; done
Run Code Online (Sandbox Code Playgroud)