Status of Legato
Hi,
I worked the last days on legato. I first added sample based volume envelopes to Fluidsynth and then started tweaking parameters a bit and fighting some bugs ;)
Before I explain more I want you to show some examples. I created this example score:
The red slurs are the ones rendered with the new legato feature the black one are without it. I general changed the note duration during a slur to 110% so that there is a little overlap between notes.
And rendered it with several standard sound that made sense to me (yes for some it is probably not the right octave and I don't know if it is the best example in the world, but I hope you get an idea ;))
Accordion
BaritoneSax
Cello
Clarinet (oh my good that sound really needs tweaking the higher notes are horribly distorted - but I think there is a forum thread about it ;))
Flute
OhhVoices
TenorSax
Trumpet
Violin
At first I think just having a overlap between the notes makes the sound a lot better compared to 100% note length (I'll move the start point later). What I'm doing with legato right now is setting the sample start point to the loop start and have a crossfade with about 1200 Samples between the notes. Because that is a fixed value it doesn't sound very good in all circumstances. It might made sense to have that as a parameter. Maybe we can use the value byte of CC68 to change that via Midi. Like 1 means 120 samples and 127 means 1200 samples or something similar. Another possibility would be to have it as a Soundfont parameter but I don't know if it is worth to change specification - but maybe there is a field we could use for that. It would also make sense to have that parameter adapted to key - because you need less crossfade on higher notes and a little bit more on longer notes (that is also the reason I put the fast notes quite low, because it sounds better in this octave ;))
I hope you get an idea and I cannot wait to hear your feedback about this sound!
EDIT:
For comparison here are violin and flute with plain 2.0.3 (this time without repeat since nothing to change here) - that way you get an idea what having a overlap does:
Violin 2.0.3
Flute 2.0.3
Comments
The baritone sax particularly emphasizes the importance of removing the attack.
In reply to The baritone sax particularly by Isaac Weiss
Yep this one is really the one that sounds the most impressive ;)
I've come back and listened to all of these (before I only did the first two). Interestingly, it seems to me that cello, flute and violin all sound more legato without the changes, and come out sounding individually articulated with the changes. Does it seem that way to you?
In reply to I've come back and listened by Isaac Weiss
You mean without legato playback not without changes - because it sounds more legato than in 2.0.3 anyways.
But it doesn't sound that good with legato playback enabled because the fade times is very likely to high. (As I wrote in the post, it shoudn't be static!)
In reply to You mean without legato by hpfmn
Unfortunately, I can't claim to have any understanding of what the technical details mean. But at any rate, you're doing great, and I trust you to continue to do so! ;-)
You're right about overlap sounding better with slurring, but instead of moving the start point, I move the end point a few ticks over the end point of the beat. Is it easier to edit the start times for musescore?
For the cello with the GeneralUser GS soundfont, legato doesn't sound very connected. I'm unsure of the technical details, but I'm curious as to why this is.
In reply to For the cello with the… by Okoyos
It's being worked on for version 3.0, we'll have to wait to see what happens.
Did anything ever happen with this? It's an awesome idea...