Spninx在印度俚语中的准确性很差

时间:2017-07-12 10:30:27

标签: java cmusphinx

我正在使用语音识别来识别所有的单词!我使用了en-us模型,它的准确性有点小。当俚语是美国人时。因为我想识别印度俚语我使用的是En-in模型,但它的精确度为0%。它没有识别100个中的1个单词。我不知道如何提高准确性或我的实施是否正确。如果我想以其他方式使用它或如何提高其准确性,请说出来。

我的代码

package spinxtest;

import java.io.File;
  import java.io.FileInputStream;
  import java.io.InputStream;

  import edu.cmu.sphinx.api.Configuration;
  import edu.cmu.sphinx.api.SpeechResult;
  import edu.cmu.sphinx.api.LiveSpeechRecognizer;
  import edu.cmu.sphinx.frontend.util.Microphone;
  import edu.cmu.sphinx.result.Result;
  import edu.cmu.sphinx.result.WordResult;

  public class IndianSlang {

 public static void main(String[] args) throws Exception {
    Configuration configuration = new Configuration();
    configuration.setAcousticModelPath("resource:/edu/cmu/sphinx/models/en-in/en-in");
    configuration.setDictionaryPath("resource:/edu/cmu/sphinx/models/en-in/cmudict-en-in.dict");
    configuration.setLanguageModelPath("resource:/edu/cmu/sphinx/models/en-in/en-us.lm.bin");
    configuration.setUseGrammar(false);

    LiveSpeechRecognizer recognizer = new LiveSpeechRecognizer(configuration);

    recognizer.startRecognition(true);
   System.out.println("Start speaking. \n");
    SpeechResult result;
     long timer=0;

while (timer < 2*60*1000) {
 result = recognizer.getResult();
 if (result != null)
        {
            System.out.print("You said: ");
            for (WordResult word : result.getWords())
            {
                if (!word.isFiller())
                    System.out.print(word.getWord() + " ");
            }
            System.out.println();
        }
   else {
            System.out.println("I can't hear what you said.\n");
        }
   }
  recognizer.stopRecognition();
   }
   }

我使用的罐子:

  WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar
   sphinx4-data-5prealpha-20160628.232535-10.jar
  sphinx4-core-5prealpha-20160628.232526-10.jar
  commons-math3-3.0.jar
  ant-contrib-0.6.jar
  js.jar
  junit-4.8.1.jar
  batch.jar
  jsapi-1.0-base.jar
  tags.jar

1 个答案:

答案 0 :(得分:-1)

我尝试了同样的准确性并不是那么好,因为两种型号的音素都不同。您需要做的是为您的en-in声学模型创建兼容的字典文件和语言模型。为此从下面的链接安装g2p-seq2seq并创建自己的.dict和.lm.bin文件,然后尝试。

g2p-seq2seq github link