private void BtnStop_Click(object sender, EventArgs e) { Learn.RecCommands.Add(SoundProcessing.Stop()); ComCounter--; if (ComCounter == 0) { LblProg.Text = string.Format("Запишите команду еще {0} раз", ComCounter); } else { LblProg.Text = string.Format("Запишите команду еще {0} раза", ComCounter); } PrbLearning.Value = 100 * (Learning.COUNT - ComCounter) / Learning.COUNT; BtnStart.Visible = true; BtnStop.Visible = false; if (ComCounter == 0) { BtnSave.Visible = true; } Bitmap Bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height); pictureBox1.BackgroundImage = Bmp; LBPlot.DrawPlot(SoundProcessing.LastFFT /*. GetRange(0,SoundProcessing.LastAmplify.Length/128)*/, Bmp, false); //DigitalSignal.DrawPlot(SoundProcessing.LastFFT, Bmp, false); }
private void BtnStop_Click(object sender, EventArgs e) { const double MIN_DISTANCE = 0d; string name; ArrayList result = SoundProcessing.Stop(); result = Learning.Normalize(result); double distance = Speech.Compare(result, out name); Logger.Add("Recognited as \"" + name + "\""); if (distance >= MIN_DISTANCE) { tbxLogs.Text += "Похоже команда не расспознана, попробуйте ещё раз,\n но если уверены в своей правоте, то вероятней всего это была команда " + name + "\r\n"; } else { tbxLogs.Text += "Команда распозанана. Это " + name; System.Windows.Forms.MessageBox.Show(name); } BtnStop.Visible = false; BtnStart.Visible = true; inProcess = false; for (int j = 0; j < Speech.Commands.Count; j++) { this.tbxLogs.Text += "Дистанция между вектором " + ((Command)Speech.Commands[j]).Name + " и записанным вектором - " + MainSpeech.getDistance(((Command)Speech.Commands[j]).Coefs, result) + "\r\n"; } tbxLogs.SelectionStart = tbxLogs.Text.Length; tbxLogs.ScrollToCaret(); }