//-------------------------------------------------------------- void AudioAnalyzer::update() { float rmsAmplitude = 0; for (int i = 0; i < bufferSize; i++) { //calculate the root mean square amplitude rmsAmplitude += audioInput[i];//sqrt(audioInput[i]*audioInput[i]); } //now we need to get the average rmsAmplitude /= (float)bufferSize; averageVal = rmsAmplitude; //cout << "average Val " << averageVal << endl; fft->setSignal( audioInput ); memcpy(fftOutput, fft->getAmplitude(), sizeof(float) * fft->getBinSize()); for(int i = 0; i < fft->getBinSize(); i++) eqOutput[i] = fftOutput[i] * eqFunction[i]; fft->setPolar(eqOutput, fft->getPhase()); fft->clampSignal(); memcpy(ifftOutput, fft->getSignal(), sizeof(float) * fft->getSignalSize()); for(int i = 0; i < bufferSize; i++) blendfft[i] = .9*blendfft[i] + .1*ifftOutput[i]; //aubio.processAudio(audioInput, NUM_BANDS); //for(int i = 0; i < bufferSize; i++) // averageVal += ifftOutput[i]; //averageVal = 1;//(float)bufferSize; //aubio.amplitude; //stats_pitch.update(aubio.pitch); calculateAverageFFTBands( eqOutput, fft->getBinSize() ); updatePeaks(peakThreshold, eqOutput, fft->getBinSize()); panel.update(); }
void GuiSpectrumAnalyser::setVisualizationMode(int mode) { visualization_mode = mode; visualizationMenu->setItemChecked(MODE_ANALYSER, (mode == MODE_ANALYSER)); visualizationMenu->setItemChecked(MODE_DISABLED, (mode == MODE_DISABLED)); if (mode == MODE_ANALYSER) { if (!winSkinVis) { winSkinVis=new WinSkinVis(this,"WinSkinVis"); connect(winSkinVis,SIGNAL(doRepaint()),this,SLOT(updatePeaks())); } } else { delete winSkinVis; winSkinVis = NULL; } update(); }