Weekly status update May 30th to June 5th

Posted 8 years ago

Hello,
here is a quick status updated what happened this week. As according to my plan I was mostly working on single note crescendo and legato playback. Both are working right now but there is still some polishing left.

As for legato I already showed you how it currently sounds and the baritone sax shows how important this functionality is. To get this working I first started by adding the functionality of sample based volume envelopes to MuseScores Fluidsynth. After that I did some experimenting in Ardour how it might sound good and tried to implement something similar to that into Fluidsynth.

I'm currently still working on more sample based volume stuff. I just added the changed between envelope states (which are delay, attack, hold, decay, sustain, release and finished) but there are also LFOs (viblfo and modlfo) and modlfo can change the volume as well. Because upstream Fluidsynth uses an internal buffer these are not working quite good in MuseScore (which doesn't use this internal buffer) - so also rendering them on a sample base makes them more useful than in upstream Fluidsynth and fixes issues we have. So I'm working still on this - and it would be also good to also have pitch and filter working on a sample based basis. I did some coding yesterday but sadly it went in the wrong direction. But I have a plan how to do it now and try to implement this today.

In the CC11 branch I implemented all three things I suggested. I touched some of the xml reader and generator code and had some experience with AWL (I added a control for volume influence of the velocity). I also touched code in the inspector in the legato branch since I can enable legato on a per slur base. I did some cleanup in CC11 as well.

That is all for this week status update. It is a little bit short but I will speak about every topic I touched here more detailed in separate posts later. But I also want to really finish the volume on a per sample basis today - but I hope this one keeps you informed what is going on.

Next week will be hopefully bring a lot of nice things for Zerberus! I thought I would start with ADSR but I might actually start with basic looping functionality because that seems more important and also not that hard.