diff --git a/src/sfizz/Voice.cpp b/src/sfizz/Voice.cpp index 424c3076..7bdc40b7 100644 --- a/src/sfizz/Voice.cpp +++ b/src/sfizz/Voice.cpp @@ -305,7 +305,6 @@ template void getLinearEnvelope(const sfz::CCMap& ccMods, const sfz::MidiState& state, absl::Span output, absl::Span temp) { ASSERT(output.size() <= temp.size()); - sfz::fill(output, T{0.0}); for (auto& mod : ccMods) { const auto eventList = state.getEvents(mod.cc); const auto modifier = static_cast(mod.value); @@ -339,6 +338,7 @@ void sfz::Voice::processMono(AudioSpan buffer) noexcept ScopedTiming logger { amplitudeDuration }; // Amplitude envelope + fill(modulationSpan, baseGain); getLinearEnvelope(region->amplitudeCC, resources.midiState, modulationSpan, tempSpan); applyGain(modulationSpan, leftBuffer); @@ -393,6 +393,7 @@ void sfz::Voice::processStereo(AudioSpan buffer) noexcept ScopedTiming logger { amplitudeDuration }; // Amplitude envelope + fill(modulationSpan, baseGain); getLinearEnvelope(region->amplitudeCC, resources.midiState, modulationSpan, tempSpan); buffer.applyGain(modulationSpan);