I want to develop a Windows application on Windows 10 using the new Cortana engine.
Unfortunately as far as I know, it seems to be available only on Windows Phone 8.1 project (for instance, I didn't find a way to access to the Windows.Media.SpeechRecognition namespace from a different type of Visual Studio project).
Also I wasn't able to find a good API documentation, only some very simple examples.
Edit:
Based on Peter Torr answer I've wrote some code. I've been able to recognize some word but the engine seems to struggle when it tried to recognize some simple words like "Hello", while Cortana recognized it successfully.
Am I doing something wrong?
public static class SpeechSynthetizerManager
{
private static readonly SpeechSynthesizer synth = new SpeechSynthesizer();
private static readonly SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine();
public static event EventHandler<SpeechRecognizedEventArgs> SpeechRecognized
{
add { speechRecognitionEngine.SpeechRecognized += value; }
remove { speechRecognitionEngine.SpeechRecognized -= value; }
}
public static event EventHandler<RecognizeCompletedEventArgs> RecognizeCompleted
{
add { speechRecognitionEngine.RecognizeCompleted += value; }
remove { speechRecognitionEngine.RecognizeCompleted -= value; }
}
static SpeechSynthetizerManager()
{
synth.SelectVoiceByHints(VoiceGender.Female);
speechRecognitionEngine.LoadGrammar(new DictationGrammar());
speechRecognitionEngine.SetInputToDefaultAudioDevice();
}
public static void Speak(string message)
{
synth.Speak(message);
}
public static void Listen()
{
speechRecognitionEngine.RecognizeAsync();
}
}