private void startRecordingButton_Click(object sender, EventArgs e) { if (wavRecorder == null) { wavRecorder = new WAVRecorder(); wavRecorder.SampleRate = 16000; wavRecorder.StorageDuration = 10; } if (!wavRecorder.IsRecording) { recognizeButton.Enabled = false; recordingButton.Text = "Stop recording"; wavRecorder.Start(); } else { wavRecorder.Stop(); byte[] recordedBytes = wavRecorder.GetAllRecordedBytes(); if (recordedBytes != null) { if (recordedBytes.Length > 0) { WAVSound sound = new WAVSound("", wavRecorder.SampleRate, wavRecorder.NumberOfChannels, wavRecorder.NumberOfBitsPerSample); sound.AppendSamplesAsBytes(recordedBytes); sound.SetMaximumNonClippingVolume(); soundVisualizer.SetSound(sound); } } recordingButton.Text = "Start recording"; recognizeButton.Enabled = true; } }
private void recognizeButton_Click(object sender, EventArgs e) { WAVSound copiedTestSound = soundVisualizer.Sound.Copy(); if (setMaximumNonclippingVolumeToolStripMenuItem.Checked) { copiedTestSound.SetMaximumNonClippingVolume(); soundVisualizer.SetSound(copiedTestSound); } recognitionResult = recognizer.RecognizeSingle(copiedTestSound); // 20170114 if (recognitionResult == null) { recognitionResultTextBox.Text = "No sound data!"; return; } // end 20170114 deviationListBox.Items.Clear(); for (int ii = 0; ii < recognitionResult.DeviationList.Count; ii++) { deviationListBox.Items.Add(recognitionResult.DeviationList[ii].Item1.PadRight(16) + " " + recognitionResult.DeviationList[ii].Item2.ToString("0.0000")); } if (recognitionResult.DeviationList.Count > 0) { if (recognitionResult.DeviationList[0].Item2 < recognizer.RecognitionThreshold) { recognitionResultTextBox.Text = recognitionResult.DeviationList[0].Item1; } else { recognitionResultTextBox.Text = "UNKNOWN"; } featureComparisonComboBox.Items.Clear(); if (recognizer.AverageSoundFeatureSetList.Count > 0) { for (int ii = 0; ii < recognizer.AverageSoundFeatureSetList[0].FeatureList.Count; ii++) { featureComparisonComboBox.Items.Add(recognizer.AverageSoundFeatureSetList[0].FeatureList[ii].Name); } featureComparisonComboBox.SelectedIndex = 0; } } }