mirror of
https://github.com/Redot-Engine/redot-engine.git
synced 2025-12-06 15:21:56 -05:00
AudioEffectPitchShift: Fix distortion when pitch is 1.0
This commit is contained in:
@@ -286,6 +286,11 @@ void SMBPitchShift::smbFft(float *fftBuffer, long fftFrameSize, long sign)
|
|||||||
/* clang-format on */
|
/* clang-format on */
|
||||||
|
|
||||||
void AudioEffectPitchShiftInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) {
|
void AudioEffectPitchShiftInstance::process(const AudioFrame *p_src_frames, AudioFrame *p_dst_frames, int p_frame_count) {
|
||||||
|
// Avoid distortion by skipping processing if pitch_scale is 1.0.
|
||||||
|
if (Math::is_equal_approx(base->pitch_scale, 1.0f)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
float sample_rate = AudioServer::get_singleton()->get_mix_rate();
|
float sample_rate = AudioServer::get_singleton()->get_mix_rate();
|
||||||
|
|
||||||
float *in_l = (float *)p_src_frames;
|
float *in_l = (float *)p_src_frames;
|
||||||
|
|||||||
Reference in New Issue
Block a user