bool ofxAudioUnitFftNode::getPhase(std::vector<float> &outPhase) { getSamplesFromChannel(_sampleBuffer, 0); if(_sampleBuffer.size() < _N) { outPhase.clear(); return false; } PerformFFT(&_sampleBuffer[0], _window, _fftData, _fftSetup, _N); vDSP_zvphas(&_fftData, 1, &_sampleBuffer[0], 1, _N / 2); outPhase.assign(_sampleBuffer.begin(), _sampleBuffer.begin() + (_N / 2)); return true; }
void FFT::getPhase (float* phaseBuffer) { vDSP_zvphas (&bufferSplit, 1, phaseBuffer, 1, properties.fftSizeHalved); phaseBuffer[0] = 0.0f; }