private void startFourierButton_Click(object sender, EventArgs e) { if (fourier == null) { fourier = new RecursiveFastFourierTransform(); } int selectionSize = 128; ISelection selection = generateSourceSelection(selectionSize, sinFunc); drawLineChart(sourceChart, selection); Complex[] complexSelection = FourierUtils.GetComplexArrayFrom1DSelection(selection); Complex[] fourierResult = fourier.Direct(complexSelection); drawFourierResultChart(directFFTChart, fourierResult); Complex[] reverseFourier = fourier.Reverse(fourierResult); ISelection reverse = FourierUtils.GetSelectionFromComplexArray(reverseFourier); drawLineChart(reverseFFT, reverse); //*/ }
public ScalogramCreator(AudioContainer audioContainer, IFourierTransform fourierTransform) { AudioContainer = audioContainer; _fourierTransform = fourierTransform; _signalFT = _fourierTransform.CreateTransformZeroPadded(); }