SpeechRecognitionEngine.InstalledRecognizers devuelve No hay ningún reconocedor instalado

Estoy intentando iniciar un programa de reconocimiento de voz simple pero no funciona, instalé algunos idiomas (en-GB y en-US) pero siempre que uso lo siguiente:

SpeechRecognitionEngine.InstalledRecognizers

devuelve una colección vacía. Incluso cuando solo intento iniciar un reconocedor volverá "no se ha instalado ningún reconocedor". Pero cuando reinstalo un idioma, dice que ya está instalado.

using ( SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
    // Create and load a dictation grammar.
    recognizer.LoadGrammar(new DictationGrammar());

    // Add a handler for the speech recognized event.
    recognizer.SpeechRecognized +=
      new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

    // Configure input to the speech recognizer.
    recognizer.SetInputToDefaultAudioDevice();

    // Start asynchronous, continuous speech recognition.
    recognizer.RecognizeAsync(RecognizeMode.Multiple);

    // Keep the console window open.
    while (true)
    {
        Console.ReadLine();
    }
}

¿Por qué razón no puede encontrar los reconocedores instalados?

Editar:

Esta es la excepción: {System.ArgumentException: no se ha encontrado ningún reconocedor de la ID requerida. Nombre del parámetro: cultura en System.Speech.Recognition.SpeechRecognitionEngine..ctor (cultura CultureInfo)

y:var recognizers = SpeechRecognitionEngine.InstalledRecognizers(); Devuelve una colección con un conteo de 0.

Respuestas a la pregunta(1)

Su respuesta a la pregunta