sfz.github.io icon indicating copy to clipboard operation
sfz.github.io copied to clipboard

the default release isn't really 1 millisecond

Open squinkylabs opened this issue 4 years ago • 10 comments

the spec says default for ampeg_release is .001. But that sounds terrible. Is seems like a lot of SFZ don't specify ampeg_release. But they still sound ok because sforzando seems to default to something more like 20 milliseconds.

I know this "spec vs. sforzando" is an ancient issue, but this is a case where following the spec makes your player sound bad.

squinkylabs avatar Apr 19 '21 04:04 squinkylabs

It's 0.001. It have been checked here : https://github.com/sfztools/sfizz/issues/392

kinwie avatar Apr 19 '21 15:04 kinwie

yes, that's what the spec says, but people author for the sforzando player, not the spec. The default for sforzando is what people author for. So, for example, I made a player, and made it follow the spec of .001 (one millisecond). So now it sounds bad because a lot of SFZ files don't have an ampeg_release override. I will update my player to be more like sforzando and not follow the spec.

I did notice (earlier) that the spec does mention this issue in "volume" where it says the spec is a max of +6 db but many players go much higher. That was useful information. Just suggesting similar info about ampeg_release would be useful to have in the spec.

squinkylabs avatar Apr 19 '21 16:04 squinkylabs

The original sfz v1 specs said it was 0 for default ampeg_release. I remember we had it corrected to 0.001 from the test result in rgc sfz player, DropZone and sforzando, also in sfizz. You can see the wav image result in the link above. There's a time ruler shows it is 0.001 s.

kinwie avatar Apr 19 '21 16:04 kinwie

Ok. I don't believe you, though, because I know 1 ms is way to fast to prevent clicks. I measured sforz RTAS running in VCV host last night:

image

But that's ok. We don't have to agree.

squinkylabs avatar Apr 20 '21 01:04 squinkylabs

It's really default to 0.001 :)

kinwie avatar Apr 20 '21 05:04 kinwie

We should try to get to the bottom of this. Can you both maybe check the following:

ampeg_release not set ampeg_release=0.001 ampeg_release=0.02

That would let us know for certain whether the "not set" looks like 0.001 or like a larger value.

DSmolken avatar Apr 20 '21 08:04 DSmolken

Sforzando's release default looks like 30ms These two are matching on scope <region> sample=*sine amp_veltrack=0 ampeg_release=0.03 <region> sample=*sine amp_veltrack=0

jpcima avatar Apr 20 '21 08:04 jpcima

Yes, I will try to do a full comparison like @DSmolken suggests. Right know, I believe @jpcima's data more than mine. In the illo I pasted I'm sort of "eyeballing" "oh, looks like the releases ends here". Not very reliable for absolute numbers, esp when the definition is -85 db!

squinkylabs avatar Apr 20 '21 15:04 squinkylabs

Alright, I think Jpcima is correct. Just did a comparison again in sforzando. It is indeed 0.03

kinwie avatar Apr 20 '21 15:04 kinwie

Confirmed, everybody seems to now agree that it's 0.03 in ARIA and 0.001 in rcg sfz and Cakewalk stuff. Sfizz will likely also update their default to this to match ARIA - will update ampeg_release again once they confirm that's done.

DSmolken avatar Apr 21 '21 07:04 DSmolken