Aquila аудио спектр

Это мой код:

const std::size_t SIZE = 16;
const Aquila::FrequencyType sampleFreq = 44100;
const Aquila::FrequencyType f1 = //left audio data, f2 = //right audio data;

Aquila::SineGenerator sineGenerator1 = Aquila::SineGenerator(sampleFreq);
sineGenerator1.setAmplitude(SIZE).setFrequency(f1).generate(SIZE);
Aquila::SineGenerator sineGenerator2 = Aquila::SineGenerator(sampleFreq);
sineGenerator2.setAmplitude(SIZE).setFrequency(f2).generate(SIZE);
auto sum = sineGenerator1 + sineGenerator2;
// calculate the FFT
auto fft = Aquila::FftFactory::getFft(SIZE);
Aquila::SpectrumType spectrum = fft->fft(sum.toArray());//create complex

int halfLength = spectrum.size() / 2;
std::vector<double> absSpectrum(halfLength);
     for (int i = 0; i < absSpectrum.size(); ++i)
         {
             absSpectrum[i] = std::abs(spectrum[i]);//returns the magnitude of a complex number
         }

Я хочу создать простой аудио-визуализатор, и я не знаю, правильный ли этот код. Могу ли я перейти на absSectrum к гистограмме? Может быть, любое предложение, что я могу сделать.

0 ответов

Другие вопросы по тегам