VOGONS


First post, by superfury

User metadata
Rank l33t++
Rank
l33t++

What happens during any phase of the volume DAHDSR (Delay Attack Hold Decay Sustain Release) envelope when a MIDI Note Off (Command 0x8*)? The soundfonts I use (Windows soundfont and another soundfont) seem to use a decay time of ~14 seconds for the playing instrument. Since a lot of note on and note off messages are received within a few seconds (some Touhou song, th1_01.mid), it has the effect of flooding the available voices (about 5 voices added each second, with all 24 voices used after only 5 seconds playing) sounding like noise (too many sounds at the same time at full volume (besides ADSR, no volume control is added yet to my MIDI softsynth)). So each hit note attacks, holds a bit, decays for ~14 seconds (14.7 seconds if I recall correctly in this case) next finds that the note is released (within 0.3 seconds) and releases after 14.7 seconds (sustain level = 0), instantly ending the voice. Is a Note Off message always be allowed to transform the DAHDSR state to release, no matter what state (Delay, Attack etc.) it's in? So if it's still Attacking while a Note Off is received for that voice, should it start releasing?

Anyone knows how to handle this correctly? Is release allowed during all states of the volume envelope, only allowed during sustain phase (which makes this note last for at least 14.7 seconds, flooding the MIDI voices in 5 seconds) or only during decay and sustain phases?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io