title: SAPI 5 voice synthesis and C#
body: <p>I have installed new SAPI5 voice. In computer settings of Speech program is new voice visible and available to use. But my program cannot find it. To find it, I am using this part of code, I use <code>System.Speech.Synthesis</code> namespace.</p>
  
  <pre><code>SpeechSynthesizer s = new SpeechSynthesizer();
  foreach (InstalledVoice v in s.GetInstalledVoices())
  {
      st += v.VoiceInfo.Name+"\n";
  }
  
  MessageBox.Show(st);
  </code></pre>
  
  <p>The only voice found is Microsoft Anna. My code for speeking is as follow:</p>
  
  <pre><code>s.SelectVoice("Eliska22k");//name of the voice is Eliska22k
  
  s.Speak("ahoj");
  </code></pre>
  
  <p>I am using C# 4 and I have windows vista 32 bit. Where is my mistake? Is in the code or anywhere else?</p>
  
  <p><strong>EDIT:</strong>
  requested registry values:</p>
  
  <p>in <em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices</em></p>
  
  <p>DefaultTokenId: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k</p>
  
  <p>DefaultTTSRate: 0</p>
  
  <p>in <em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k</em></p>
  
  <p>405: Eliska (Czech) SAPI5</p>
  
  <p>CLSID: {F8E89351-F6B9-4C98-91F9-A967BA752655}</p>
  
  <p>VoiceData: Eliska22k</p>
  
  <p>in <em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\TokenEnums\Infovox Desktop v2.2\Eliska22k\Attributes</em></p>
  
  <p>Age: Adult</p>
  
  <p>AudioFormats 18</p>
  
  <p>Gender: Female</p>
  
  <p>Language: 405;5</p>
  
  <p>Name: Eliska22k</p>