Пример #1
0
        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);
        }
Пример #2
0
        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();
        }