diff --git a/alc/effects/pshifter.cpp b/alc/effects/pshifter.cpp index 4326c929..8a525cf1 100644 --- a/alc/effects/pshifter.cpp +++ b/alc/effects/pshifter.cpp @@ -192,11 +192,10 @@ void PshifterState::process(const size_t samplesToDo, const al::span(k) + tmp) * freq_per_bin; /* Store the actual phase[k] for the next frame. */ @@ -207,11 +206,11 @@ void PshifterState::process(const size_t samplesToDo, const al::span>1))/mPitchShiftI)}; + for(size_t k{0u};k < bin_count;k++) { const size_t j{(k*mPitchShiftI + (MixerFracOne>>1)) >> MixerFracBits}; - if(j >= STFT_HALF_SIZE+1) break; - mSynthesisBuffer[j].Amplitude += mAnalysisBuffer[k].Amplitude; mSynthesisBuffer[j].Frequency = mAnalysisBuffer[k].Frequency * mPitchShift; } @@ -237,7 +236,7 @@ void PshifterState::process(const size_t samplesToDo, const al::span