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); }
private void Processed(SampleAnalysis[] obj) { TimedAnalyse.Add(obj.FilterByFrequency(MaxFrequency)); }