使用口袋Sphinix进行语音识别的准确度很差

我已经从http://ucla.jamesyxu.com/?p=118运行pocketsphinix演示例子。但是,我发现文字识别的准确性非常差。我从pocketsphinix8.0复制声学模型... pocketsphinx model hmm和.. lm文件夹到手机的SD卡。它识别有限的几个单词而不是句子。 我的问题如下

1)我如何提高准确性?

2)是否需要改变声学模型和字典(在hmm和lm文件夹中)如果是,我怎样才能改变模型和字典。是否有任何其他程序需要遵循添加模型和字典。 我也从下面的链接改变字典(美国英语HUB4语言模型 - 只是复制lm文件夹中的字典文件不会在hmm文件夹中更改)

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/

3)如何将音频文件作为输入而不是录制的语音?

另外,我试图将音频文件转换为输入。 我正在读取音频文件如下(这里,在sphinix4 lib中使用.wav文件转录演示文件“10001-90210-01803.wav”发音数字的准确性,但无法识别单个单词并将其转换为不正确的文本)。

     int readAudioFile(){           
        this.done=true;
        AssetManager mngr = context.getAssets();            
        InputStream io = null;
        int current = 0;
        try {

          io= mngr.open("10001-90210-01803.wav");   


    //Create a DataInputStream to read the audio data from the saved file
            DataInputStream         dis = new DataInputStream(io);   
            int noOfByteToRead=io.available();
            int noOfShortToRead=noOfByteToRead/2;
            short[] music = new short[noOfShortToRead];
            int i = 0;                                                          //  Read the file into the "music" array
            try {
                while (dis.available() > 0)
                {
                    music[i] = dis.readShort();                     

                    i++;
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            Log.i("123",""+Arrays.toString(music));
            this.q.add(music);
            try {
                dis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }        

        } catch (IOException e) {           
            e.printStackTrace();
        } catch (Exception e1) {
            e1.printStackTrace();
        }               


        return current;
        }

1)。 穷人得到什么样的准确性? 首先你看到了多少百分比的单词错误,其次,你能给我们说一些你说的单词和给出的输出吗? 正如Praful所说,一个完善的文件转录将是非常有用的。

另外,你是否尝试过运行默认应用程序,并且看看它是否会产生类似的糟糕结果?

2)。 您可以按照以下步骤构建自己的字典:http://ucla.jamesyxu.com/?p=121

我也有使用该库的一些注意事项(我们使用它进行了几项研究,每个〜20个科目):

  • 从经验来看,默认字典和库在识别单词和句子方面确实做得不错。 有了美国口音,我们通常会观察到,“我上楼走路”这样简单的句子应该不会产生错误,而更复杂的句子可能会产生几个字错误。
  • 你通常不能指望名字或缩写是正确的
  • 如果您的应用程序仅查找特定短语,则我建议仅基于这些短语构建词典和模型。 这是因为您所使用的分类器中的短语越少越好,因此您的用例的准确度更高。
  • 对于涉及多个关键字的长句子,请考虑根据您期望的句子进行距离计算并选择最接近的句子。
  • 口音很重要
  • 我收到通知是因为谷歌提醒我你的链接与我的域名相匹配

    链接地址: http://www.djcxy.com/p/34363.html

    上一篇: Accuracy is poor in speech recognition using pocket Sphinix

    下一篇: Convert ANY sentence to text with windows speech