解码ulaw编码的SPH文件

时间:2013-06-26 06:52:12

标签: speech-recognition wav sox htk

此问题已解决

我的任务
我有一个带有以下文件头的.sph文件:

  

NIST_1A
     1024
  conversation_id -s4 2001
  database_id -s25 Switchboard-1_release-2.0
  channel_count -i 1
   sample_coding -s4 ulaw
   channels_interleaved -s4 TRUE
  sample_count -i 2018387
  sample_rate -i 8000
  sample_n_bytes -i 1
  sample_sig_bits -i 8
  END_HEAD

我想将上面的文件传输到没有编码的.sph文件,没有channels_interleaved行为,这样我的文件头看起来像这样:

  

NIST_1A
     1024
  conversation_id -s4 2001
  database_id -s25 Switchboard-1_release-2.0
   channel_count -i 1
  sample_count -i 2018387
  sample_rate -i 8000
   sample_coding -s4 pcm
   sample_n_bytes -i 2
   sample_sig_bits -i 16
  END_HEAD

我的方法
sph2pipe -c 1 -p输入输出

1 个答案:

答案 0 :(得分:1)

使用sph2pipe使用

将sph文件转换为wav格式
sph2pipe -f rif file.sph file.wav

使用SOX转换文件

sox file.sph file.wav

虽然可能不支持缩短复杂的压缩方法。对于您的特定文件,它将正常工作:

HTK也可以完美地处理这些文件,有关详细信息,请参阅HTKBook中的 5.11.4 NIST文件格式部分。您需要在配置文件中配置SOURCEFORMAT = NIST。特别是对于交换机,您还需要将STEREOMODE设置为LEFT或RIGHT的频道分割。