我目前有一个文件列表,我需要为其更改采样率。
我最近知道使用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.
如何重新采样音频文件目录?
最佳答案
尝试更改输出文件名,如果要保留相同的文件名,可以将其放在其他目录中。
例如: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
关于audio - 从终端重新采样音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45537600/