From 2a7bbc6be220996a6679c001b0391eadae1bc28d Mon Sep 17 00:00:00 2001 From: boblark Date: Thu, 18 Mar 2021 16:34:45 -0700 Subject: [PATCH] Re-corrected interpolation --- synth_sin_cos_f32.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/synth_sin_cos_f32.cpp b/synth_sin_cos_f32.cpp index effa255..c55bd8a 100644 --- a/synth_sin_cos_f32.cpp +++ b/synth_sin_cos_f32.cpp @@ -82,7 +82,7 @@ void AudioSynthSineCosine_F32::update(void) { /* Read two nearest values of input value from the sin table */ a = sinTable512_f32[index]; b = sinTable512_f32[index+1]; - blockS->data[i] = amplitude_pk * (a + (b-a)*deltaPhase); /* Linear interpolation process */ + blockS->data[i] = amplitude_pk*(a + 0.001953125*(b-a)*deltaPhase); /* Linear interpolation process */ /* Shift forward phaseS_C and get cos. First, the calculation of index of the table */ phaseC = phaseS + phaseS_C; @@ -92,7 +92,7 @@ void AudioSynthSineCosine_F32::update(void) { /* Read two nearest values of input value from the sin table */ a = sinTable512_f32[index]; b = sinTable512_f32[index+1]; - blockC->data[i] = amplitude_pk * (a + (b-a)*deltaPhase); /* Linear interpolation process */ + blockC->data[i] = amplitude_pk*(a + 0.001953125*(b-a)*deltaPhase); /* Linear interpolation process */ } } AudioStream_F32::transmit(blockS, 0);