title: What do I do if sphinx is completely inaccurate?
body: <p>Edit for clarity: <strong>The output I get from sphinx is not even close to the actual words in my sound file. What do I need to do to make it more accurate?</strong></p>
  
  <p><a href="https://www.mediafire.com/?l1a6dz896tfgu26" rel="nofollow">Here's the file</a> I'm trying to get a transcript from. It should be at a sample rate of 8K.</p>
  
  <ul>
  <li>Acoustic model I'm using: <a href="https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20Generic%20Acoustic%20Model/" rel="nofollow">en-us-8khz.tar.gz</a> </li>
  <li>Dictionary: <a href="https://raw.githubusercontent.com/cmusphinx/pocketsphinx/master/model/lm/en_US/cmu07a.dic" rel="nofollow">dictionary</a>.</li>
  <li>Language model: <a href="https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20Generic%20Language%20Model/" rel="nofollow">US English Generic</a></li>
  </ul>
  
  <p>The speech in the file is "What should you do if you experience a problem with your iPod", but 
  as output, I get:</p>
  
  <pre><code>&lt;s&gt; &lt;sil&gt; well how how [um] [cough] [um] old [cough] [noise] [cough] &lt;sil&gt; [noise]
  [um] &lt;sil&gt; [um] &lt;sil&gt; [uh] [cough] [noise] [cough] [um]
  </code></pre>
  
  <p>Here's my code:</p>
  
  <pre><code>package com.test.sphinxtest;
  
  import java.io.File;
  import java.io.FileInputStream;
  import java.io.IOException;
  
  import edu.cmu.sphinx.api.Configuration;
  import edu.cmu.sphinx.api.LiveSpeechRecognizer;
  import edu.cmu.sphinx.api.SpeechResult;
  import edu.cmu.sphinx.api.StreamSpeechRecognizer;
  
  public class App 
  {
      public static void main( String[] args )
      {
          Configuration configuration = new Configuration();
  
          configuration.setAcousticModelPath("models/acousticmodel/en-us-8khz");
          configuration.setDictionaryPath("dictionary/cmudict-0.6d");
          configuration.setLanguageModelPath("models/languagemodel/en-us.lm");
          configuration.setSampleRate(8000);
          try {
              StreamSpeechRecognizer recognizer = new StreamSpeechRecognizer(configuration);
              recognizer.startRecognition(new FileInputStream("speech/speech8k.wav"));
              System.out.println("Starting recognition");
              SpeechResult result = recognizer.getResult();
              System.out.println("Stopping recognition");
              recognizer.stopRecognition();
              System.out.println("number of words " + result.getWords().size());
              for(int i=0;i&lt;result.getWords().size();i++){
                  System.out.println(result.getWords().get(i).getWord());
              }       
          } catch (IOException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
      }
  }
  </code></pre>