How to correctly implement speech recognition in Windows 10 UWP

So far, I’m out of luck with the voice recognition examples I found on the Microsoft website. I also looked at this site - https://mtaulty.com/2016/02/08/text-to-speech-and-more-with-windows-10-uwp-project-oxford/ , and I tried using the examples given and it still does not work. What happens is that the SpeechRecognitionConfidence is rejected (this does not mean that I said anything). Before asking, yes, I have a working microphone, and everything is included in the settings.

Is there something simple I'm missing here?

If you do not quite understand my question, scroll to the bottom of the page that I linked to above, and user nhwilly1011 has the same problem I am having.

async void Button_Click_2(object sender, RoutedEventArgs e)
    {
        this.recognizer = new SpeechRecognizer();
        await this.recognizer.CompileConstraintsAsync();

        this.recognizer.Timeouts.InitialSilenceTimeout = TimeSpan.FromSeconds(5);
        this.recognizer.Timeouts.EndSilenceTimeout = TimeSpan.FromSeconds(20);

        this.recognizer.UIOptions.AudiblePrompt = "Say whatever you like, I'm listening";
        this.recognizer.UIOptions.ExampleText = "The quick brown fox jumps over the lazy dog";
        this.recognizer.UIOptions.ShowConfirmation = true;
        this.recognizer.UIOptions.IsReadBackEnabled = true;
        this.recognizer.Timeouts.BabbleTimeout = TimeSpan.FromSeconds(5);

        var result = await this.recognizer.RecognizeWithUIAsync();

        if (result != null)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine(
              $"I have {result.Confidence} confidence that you said [{result.Text}] " +
              $"and it took {result.PhraseDuration.TotalSeconds} seconds to say it " +
              $"starting at {result.PhraseStartTime:g}");

            var alternates = result.GetAlternates(10);

            builder.AppendLine(
              $"There were {alternates?.Count} alternates - listed below (if any)");

            if (alternates != null)
            {
                foreach (var alternate in alternates)
                {
                    builder.AppendLine(
                      $"Alternate {alternate.Confidence} confident you said [{alternate.Text}]");
                }
            }
            this.txtResults.Text = builder.ToString();
        }
    }
    SpeechRecognizer recognizer;

Microsoft, -

    private async void Button_Click_1(object sender, RoutedEventArgs e)
    {
        // Create an instance of SpeechRecognizer.
        var speechRecognizer = new Windows.Media.SpeechRecognition.SpeechRecognizer();

        //// Listen for audio input issues.
        //speechRecognizer.RecognitionQualityDegrading += speechRecognizer_RecognitionQualityDegrading;

        // Add a web search grammar to the recognizer.
        var webSearchGrammar = new Windows.Media.SpeechRecognition.SpeechRecognitionTopicConstraint(Windows.Media.SpeechRecognition.SpeechRecognitionScenario.WebSearch, "webSearch");


        speechRecognizer.UIOptions.AudiblePrompt = "Say what you want to search for...";
        speechRecognizer.UIOptions.ExampleText = @"Ex. 'weather for London'";
        speechRecognizer.Constraints.Add(webSearchGrammar);


        // Compile the constraint.
        await speechRecognizer.CompileConstraintsAsync();

        // Start recognition.
        Windows.Media.SpeechRecognition.SpeechRecognitionResult speechRecognitionResult = await speechRecognizer.RecognizeWithUIAsync();
        await speechRecognizer.RecognizeWithUIAsync();

        // Do something with the recognition result.
        var messageDialog = new Windows.UI.Popups.MessageDialog(speechRecognitionResult.Text, "Text spoken");
        await messageDialog.ShowAsync();
    }
+4
2

. Cortana, . , Cortana , , . , . : " ", ​​ WiFi.

+3

, - , CompileConstraintsAsync SpeechRecognitionTopicConstraint Constraints SpeechRecognizer. , , .

+1

Source: https://habr.com/ru/post/1681226/


All Articles