BASSMIDI only sustains notes of Piccolo for 2 seconds

Started by klerg,

klerg

Hello

A piccolo soundfont that I will attach below only plays sustaining notes for 2 seconds. It works fine in SynthFont and other soundfont players, what is wrong and how to fix this ?

Thanks

Ian @ un4seen

That soundfont seems to be sustaining fine here (longer than 2 seconds). Perhaps you're releasing the sustain pedal (cc64) after 2 seconds? If that isn't it, please provide a MIDI file containing only the events needed to produce the problem.

klerg

Only the first sample seems to sustain notes over 2 seconds. It has nothing to do with sustain pedal (cc64) at all. Sure, here is a MIDI that has events that do not sustain notes for more than 2 seconds, can you hear it ?

Ian @ un4seen

Oh, right. The problem is that the instrument's global "loop start offset" and "loop end offset" settings move those other samples' loops out of range, so they don't get looped. It looks like those settings should only be on the "Piccolo C5" sample (key range 0-77) instead of global, and the other samples need their own different settings.

klerg

Yes, good. I had a hunch or feeling that something is wrong with the soundfont itself rather than BASSMIDI but could not find out what the issue. is. Although, I mostly understand what the problem is my 'skills' with soundfonts are low to put mildly and not sure how to edit this so it works, can you or someone else fix this soundfont, and post it here ?

Ian @ un4seen

I would recommend using Polyphone for editing soundfonts:

    https://www.polyphone.io/

It's fairly simple to use. Also for simplicity, I would recommend setting the proper loop points in the sample, and not use the instrument "loop start offset" and "loop end offset" options.

klerg

Sure, that is a good program to recommend

Yes, everyone seems to agree. I see what you mean and it may be the best way to set loop points in the sample, but see screenshot it has some values for instrument Global loop end and start offset, what to do with that ?

Ian @ un4seen

You can click in those "42720" and "-1451" boxes and press the delete key to reset them, and then add those numbers to the "Picolo C5" sample's loop start/end positions. Note that the other samples don't have proper loop/end start positions set, and you will need to find those positions yourself. Or you could just remove those samples and extend the "Picolo C5" sample's key range.

klerg

I see and will save those values before deleting them in case I need that later, do you mean to put the numbers in 'Sample end offset' and 'Sample start offset' ? But isn't where it says '8-xxxxxx' in the Loop column indicate that all the samples have loop end/start points already ? Well, the Piccolo C5 sample does not sound good above key 77 and goes nowhere near Piccolo C7's range, what else to try ?

Ian @ un4seen

Quote from: klergI see and will save those values before deleting them in case I need that later, do you mean to put the numbers in 'Sample end offset' and 'Sample start offset' ?

You need to add those 2 numbers to the "Picolo C5" sample's loop start and end positions in the "Samples" section, ie. 8+47270=47278 and 63864-1451=62413.

Quote from: klergBut isn't where it says '8-xxxxxx' in the Loop column indicate that all the samples have loop end/start points already ?

Yes, the samples do all have loops set, but they aren't at good positions - they're basically looping the entire sample, which doesn't sound good. You need to find good positions for the loop.

klerg

Quote from: Ian @ un4seenYou need to add those 2 numbers to the "Picolo C5" sample's loop start and end positions in the "Samples" section, ie. 8+47270=47278 and 63864-1451=62413.

Do you mean I have to put 47278 in 'Sample start offset' and 62412 in 'Sample end offset' then, if yes, then why and what is that going to do in this case ?

Quote from: Ian @ un4seenYes, the samples do all have loops set, but they aren't at good positions - they're basically looping the entire sample, which doesn't sound good. You need to find good positions for the loop.

Good to know I was right with this then, I see what you mean by this too. That is true, and they just sound bad and are not good loop points. Yes, how can I find better loop positions, do you recommend any software or something else ?

Ian @ un4seen

Polyphone includes an automatic looping option that you could try. Open the "Samples" list on the left of screen, select the samples that you want to loop (ie. all of them in this case), then click the toolbox icon and select "Auto loop" from the popup menu. You can then try playing each sample to check that the loops are good. See the Polyphone documentation for more info.

klerg

I see it is good that Polyphone is able to auto loop samples then. Sure that is easy to notice on the screen, what I did was select each sample one at a time (just to be safe here) Yes, and this seems to find loop points fast. I tried all the samples and Polyphone found nice loop positions for all of them, but what if it does not work well for other samples, do you recommend anything else ?