0

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

我想描述一下我的环境:

  1. 电话(Android、Nexus One)

    • 采样率 = 8000
    • audioFormat = AudioFormat.ENCODING_PCM_16BIT
    • channelConfig = AudioFormat.CHANNEL_IN_MONO
  2. 狮身人面像4

    • 采样率 = 16000
    • bigEndianData = 假
    • 使用流数据源

所以,我记录语音数据(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

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

4

1 回答 1

0

如果您在 android 上以 8000 录制,则 sphinx4 采样率也必须为 8000 Hz。您还需要使用 sphinx4 分布中的 8khz 模型或任何其他 8khz 模型,并且您需要根据文档设置滤波器组参数(上限频率等)

在 sphinx4 中使用 Sphinxtrain 模型

例如正确配置的 8khz 输入见sphinx4/test/performance/wsj_8khz/config.xml

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

于 2013-08-16T03:29:26.490 回答