SPU: Zero previous block ADPCM samples on key on
Fixes clicking in background in Breath of Fire III.
This commit is contained in:
parent
a8171405b1
commit
34a808c258
|
@ -947,6 +947,11 @@ void SPU::Voice::KeyOn()
|
|||
counter.bits = 0;
|
||||
regs.adsr_volume = 0;
|
||||
adpcm_last_samples.fill(0);
|
||||
|
||||
// Samples from the previous block for interpolation should be zero. Fixes clicks in audio in Breath of Fire III.
|
||||
std::fill_n(¤t_block_samples[NUM_SAMPLES_PER_ADPCM_BLOCK], NUM_SAMPLES_FROM_LAST_ADPCM_BLOCK,
|
||||
static_cast<s16>(0));
|
||||
|
||||
has_samples = false;
|
||||
ignore_loop_address = false;
|
||||
adsr_phase = ADSRPhase::Attack;
|
||||
|
|
Loading…
Reference in New Issue