예제 #1
0
        public DirectBitmap Generate()
        {
            Analyser.Processed += Processed;
            Analyser.Start();
            Analyser.Processed -= Processed;

            int width  = (int)(Analyser.TotalTime / Analyser.TimeResolution);
            int height = Physics.GetScaledFFTLength(MaxFrequency, Analyser.FFTLength, Analyser.WaveFormat.SampleRate);

            DirectBitmap spectrogramBmp = new DirectBitmap(width, height);

            Fill(spectrogramBmp);

            TimedAnalyse.Clear();
            spectrogramBmp.Bitmap.RotateFlip(RotateFlipType.Rotate180FlipX);

            return(spectrogramBmp);
        }
예제 #2
0
 private void Processed(SampleAnalysis[] obj)
 {
     TimedAnalyse.Add(obj.FilterByFrequency(MaxFrequency));
 }