将Sphinx4应用于Android手机中录制的语音数据

时间:2013-08-15 19:45:26

标签: speech-recognition sphinx4

这听起来很奇怪。但是,我想分析Sphinx4在我的Android手机中记录的字节数据。而且,没有好结果。我知道这会来自我的配置问题。 如果您对Sphinx4&amp ;;有经验,我想听听一些想法。同样的经历。

我想描述我的环境:

  1. 手机(Android,Nexsus One)

    • 采样率= 8000
    • audioFormat = AudioFormat.ENCODING_PCM_16BIT
    • channelConfig = AudioFormat.CHANNEL_IN_MONO
  2. Sphinx4

    • sampleRate = 16000
    • bigEndianData = false
    • 使用streamDataSource
  3. 所以,我录制了语音数据(byte []),然后由Sphinx4进行分析。 以下是我的手机录制的示例语音(一两三)。

    -29:-1:84:0:-77:0:-88:0:-88:0:-99:0:-105:0:-82:0:-88:0:-99:0:101:0:89:0:118:0:95:0:44:0:22:0:28:0:39:0:56:0:50:0:28:0:22:0:-6:-1:-17:-1:-6:-1:-34:-1:-34:-1:-85:-1:-85:-1:-79:-1:115:-1:126:-1:-113:-1:-85:-1:-102:-1:104:-1:115:-1:121:-1:-102:-1:-113:-1:-96:-1:-57:-1:-96:-1:109:-1:104:-1:-79:-1:16:0:101:0:-105:0:-122:0:-122:0:-99:0:67:0:101:0:78:0:-6:-1:11:0:-6:-1:39:0:50:0:56:0:22:0:0:0:101:0:123:0:33:0:118:0:56:0:-40:-1:84:0:-85:-1:87:-1:76:-1:-54:-2:31:-1:31:-1:70:-1:0:0:-17:-1:-68:-1:56:0:50:0:-102:-1:-12:-1:-113:-1:-124:-1:-6:-1:11:0:106:0:101:0:50:0:-124:-1:104:-1:-102:-1:126:-1:81:-1:76:-1:-34:-1:-6:-1:44:0:-105:0:-110:0:78:0:67:0:-68:-1:-45:-1:33:0:-74:-1:-57:-1:-57:-1:33:0:28:0:39:0:-45:-1:5:0:25:1:123:0:-62:-1:-110:0:118:0:73:0:-93:0:73:0:16:0:-40:-1:-119:-1:-68:-1:101:0:61:0:-12:-1:-88:0:70:1:-48:0:-65:0:25:1:56:0:-34:-1:0:0:28:0:106:0:-127:0:-77:0:123:0:-68:-1:-29:-1:61:0:-12:-1:5:0:22:0:-79:-1:-96:-1:-102:-1:31:-1:70:-1:-96:-1:-79:-1:-107:-1:-96:-1:-51:-1:-107:-1:121:-1:-96:-1:-96:-1:104:-1:109:-1:81:-1:-79:-1:33:0:28:0:22:0:39:0:44:0:73:0:67:0:118:0:95:0:-17:-1:-17:-1:-113:-1:-57:-1:-107:-1:31:-1:98:-1:-124:-1:-29:-1:-57:-1:-79:-1:-45:-1:-62:-1:-12:-1:-85:-1:-34:-1:33:0:-51:-1:-102:-1:109:-1:-85:-1:109:-1:25:-1:115:-1:92:-1:109:-1:87:-1:25:-1:121:-1:-85:-1:92:-1:-85:-1:0:0:-6:-1:-29:-1:-119:-1:-62:-1:22:0:95:0:84:0:33:0:-122:0:-93:0:-99:0:-122:0:11:0:-40:-1:-51:-1:-79:-1:-12:-1:-23:-1:-45:-1:-34:-1:-12:-1:-34:-1:-23:-1:22:0:16:0:56:0:67:0:-34:-1:-102:-1:-113:-1:-107:-1:121:-1:-102:-1:11:0:39:0:28:0:11:0:89:0:95:0:123:0:-105:0:28:0:16:0:-45:-1:-85:-1:-6:-1:44:0
    

    每个字节数据用“:”分隔。

1 个答案:

答案 0 :(得分:0)

如果你在android上录制8000,sphinx4采样率也必须是8000 Hz。你还需要使用sphinx4发布的8khz模型或任何其他8khz模型,你需要根据文档设置filterbank参数(频率上限等)

Using Sphinxtrain models in sphinx4

例如,正确配置的8khz输入请参阅sphinx4/test/performance/wsj_8khz/config.xml

或者,通过设置正确的AudioRecorder参数,在16000 Hz的Android上录制。这将提高解码的准确性。