public MainWindow() { InitializeComponent(); ColorsList = new List<string>(); speechRecognizer = new SpeechRecognizer(); this.Loaded += MainWindow_Loaded; }
static void Main(string[] args) { SpeechRecognizer sr = new SpeechRecognizer(); Choices colors = new Choices(); colors.Add(new string[] { "red", "green", "blue" }); GrammarBuilder gb = new GrammarBuilder(); gb.Append(colors); // Create the Grammar instance. Grammar g = new Grammar(gb); sr.LoadGrammar(g); sr.SpeechRecognized += sr_SpeechRecognized; Console.ReadLine(); }
public async Task RecognizeSpeechAsync() { text = "Error"; language = "Error"; var config = SpeechConfig.FromSubscription("54e5c11f4ba84a95a282d180905efeb1", "westus"); var autoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig.FromLanguages(new string[] { "en-US", "de-DE", "pl-PL" }); using var recognizer = new SpeechRecognizer(config, autoDetectSourceLanguageConfig); var result = await recognizer.RecognizeOnceAsync(); var autoDetectSourceLanguageResult = AutoDetectSourceLanguageResult.FromResult(result); var detectedLanguage = autoDetectSourceLanguageResult.Language; language = detectedLanguage; switch (result.Reason) { case ResultReason.RecognizedSpeech: text = result.Text; break; case ResultReason.NoMatch: text = $"NOMATCH: Rozpoznanie nie udało się."; break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(result); if (cancellation.Reason == CancellationReason.Error) { Debug.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Debug.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); Debug.WriteLine($"CANCELED: Did you update the subscription info?"); } text = $"CANCELED: Reason={cancellation.Reason}"; break; } }
private static async Task <Tuple <string, bool> > RecognizeSpeechAsync(Stream input, ILogger log) { var config = SpeechConfig.FromSubscription( Environment.GetEnvironmentVariable("speechApiKey"), Environment.GetEnvironmentVariable("speechApiRegion")); var response = new Tuple <string, bool>(string.Empty, false); using (var audioInput = SpeechUtils.OpenWavFile(new BinaryReader(input))) { using var recognizer = new SpeechRecognizer(config, audioInput); var result = await recognizer.RecognizeOnceAsync(); switch (result.Reason) { case ResultReason.RecognizedSpeech: return(new Tuple <string, bool>(result.Text, true)); case ResultReason.NoMatch: return(new Tuple <string, bool>("Speech could not be recognized.", false)); case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(result); if (cancellation.Reason == CancellationReason.Error) { log.LogError($"CANCELED: ErrorCode={cancellation.ErrorCode}"); log.LogError($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); log.LogError("CANCELED: Did you update the subscription info?"); } return(new Tuple <string, bool>($"CANCELED: Reason={cancellation.Reason}", true)); } } return(response); }
private void StopKinectRecognizer() { this.speech.StopRecognize(); this.speech = null; //this.disp = null; }
private void StartKinectRecognizer() { //if(this.disp == null) // disp = Dispatcher.CurrentDispatcher; this.speech = new SpeechRecognizer(this.sensor, this.ViewModel, this.disp); }