【问题标题】:Resample audio file from terminal从终端重新采样音频文件
【发布时间】:2017-08-06 23:28:49
【问题描述】:

我目前有一个需要更改采样率的文件列表。

我最近意识到使用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.

如何重新采样音频文件目录?

【问题讨论】:

  • 您能发布您当前使用的完整命令和参数吗?
  • 完整命令发布@DirkyJerky

标签: audio terminal wav resampling sox


【解决方案1】:

尝试更改输出文件名,如果要保持相同的文件名,可以将其放在不同的目录中。

例如:

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

【讨论】:

  • 但是我需要在 wave 文件的目录中进行操作。如上所述。我知道这是一个问题吗?但是有没有办法让我仍然像这样简单......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-07
  • 1970-01-01
  • 2018-06-22
  • 2011-04-29
  • 2015-08-17
  • 2021-01-07
  • 1970-01-01
相关资源
最近更新 更多