//функция рассчитывает спектр для заданного количества сэмплов начиная с нормализованной позиции public float[] GetSpectrumForPosition(int startSample, FFTProvider fftProvider) { int start = startSample; fftProvider.Calculate(ChannelsSamples[0], start); float[] spectrum = fftProvider.Get(); return(spectrum); }
//функция рассчитывает спектр для заданного количества сэмплов начиная с нормализованной позиции public float[] GetSpectrumForPosition(float position, FFTProvider fftProvider) { int start = (int)(samplesCount * position); fftProvider.Calculate(ChannelsSamples[0], start); float[] spectrum = fftProvider.Get(); return(spectrum); }
public SpectrumDiagramDrawer(int spectrumSamples, Rectangle displayRectangle, WavFileData fileData) { SpectrumSamples = spectrumSamples; SpectrumValues = new float[SpectrumSamples]; DisplayRectangle = displayRectangle; Diagram = new DirectBitmap((int)displayRectangle.Width, (int)displayRectangle.Height); Color = Color.OrangeRed; FftProvider = new CorrectCooleyTukeyInPlaceFFTProvider(SpectrumSamples, ApplyTimeThinning); FileData = fileData; }
private void SetFFTProvider() { _fftProvider = new CorrectCooleyTukeyInPlaceFFTProvider(SpectrumUseSamples, ApplyTimeThinning); }
public void SetApplyTimeThinning(bool apply) { ApplyTimeThinning = apply; FftProvider = new CorrectCooleyTukeyInPlaceFFTProvider(SpectrumSamples, ApplyTimeThinning); }