OouraFFT.spectrumData contains the frequencies in the signal you plopped into OouraFFT.inputData, then computed by calling calculateWelchPeriodogramWithNewSignalSegment.
Now, which frequencies correspond to which entries in the array?
Say your signal has a sampling rate of 48,000 Hz, and you are computing the FFT on chunks of your signal 1024 samples long. Then, OouraFFT.spectrumData has 1024/2 = 512 frequencies in it, evenly spaced between 0 and 48,000/2 = 24,000.
So, for 0 < i < OouraFFT.numFrequencies,
spectrumData[i] holds data for (i*samplingRate)/(2*numFrequencies)
Why is the highest frequency computed equal to half the sampling rate? This frequency is called the "Nyquist Rate", and frankly, I don't think I can explain it very well. Check out the Wikipedia article for some more info.
Hope that helps!
Copyright (c) 2009 Alex Wiltschko
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,