예제 #1
0
        protected virtual void OnFftCalculated(FftEventArgs e)
        {
            EventHandler <FftEventArgs> handler = FftCalculated;

            if (handler != null)
            {
                handler(this, e);
            }
        }
예제 #2
0
 public SampleAggregator(ISampleProvider source, int fftLength = 1024)
 {
     channels = source.WaveFormat.Channels;
     if (!IsPowerOfTwo(fftLength))
     {
         throw new ArgumentException("FFT Length must be a power of two");
     }
     this.m         = (int)Math.Log(fftLength, 2.0);
     this.fftLength = fftLength;
     this.fftBuffer = new Complex[fftLength];
     this.fftArgs   = new FftEventArgs(fftBuffer);
     this.source    = source;
 }