Beispiel #1
0
        private void WaveIn_DataAvailable(object sender, NAudio.Wave.WaveInEventArgs e)
        {
            (new Thread(() =>
            {
                var sw = new Stopwatch();
                sw.Start();
                AudioHelpers.ByteArrayTo16BITInputFormat(ref receivedData, e.Buffer);
                var input = receivedData.Convert2ChannelsToFloat();

                if (processor.Model.InputSamplesCount != input.Count())
                {
                    processor.Model.InputSamplesCount = input.Count();
                }

                var result = processor.Process(input.ToArray());
                var note = NoteViewModel.GetNote(result);
                sw.Stop();
                Debug.WriteLine(string.Format("Note {0}\tTime elapsed {1}", string.Format(note.Tone.ToString(), note.Base), sw.Elapsed));
            })).Start();
        }