BUG using the correct "PRESET" from sf2

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

Pagine

Posts: 129
Joined: 25 Set 2013 - 16:38
Re: BUG using the correct "PRESET" from sf2

Hi,

The problem is (as I suggested first) that your midi file contains an explicit GM System On SysEx message. So even if your player sends a GS reset as initialization at the start of playing the midi file sends a GM on.

As I said Bassmidi ignores Bank select messages in GM mode. This way Bassmidi works like hardware GS synths from Roland. The SB live and other sf2 synths does not work this way.

I have made a video about it.

https://youtu.be/HpYO-e_KPOE

May I suggest to use my player FSMP to troubleshoot situations like this. I know Claudio is a big VanBasco fan, but FSMP is arguably much more capable and can be more handy for testing:

http://falcosoft.hu/softwares.html#midiplayer

https://www.vogons.org/viewtopic.php?f=5&t=48207

Also I have attached the 'corrected' file that should play normally even on Bassmidi based soft synths.

Attachments (Only registered users)
Allegra fisarmonica(polka-Ballo liscio no testo GEM_falcomod.zip
Posts: 50
Joined: 25 Apr 2016 - 12:19
Re: BUG using the correct "PRESET" from sf2

This does sound like a player setting problem I had, where extra GM2 presets weren't played by VMS, only GM1; in Winamp I went to the MIDI input plugin's preferences and changed the 'Additional reset commands between tracks' from 'GM (General MIDI)' to 'GS (Roland)' and everything played as it should again.

http://kiwi6.com/artists/GEN_MIDI

Posts: 129
Joined: 25 Set 2013 - 16:38
Re: BUG using the correct "PRESET" from sf2
Kj wrote:

This does sound like a player setting problem I had, where extra GM2 presets weren't played by VMS, only GM1; in Winamp I went to the MIDI input plugin's preferences and changed the 'Additional reset commands between tracks' from 'GM (General MIDI)' to 'GS (Roland)' and everything played as it should again.

Not exactly. You can set anything in your player to send between tracks when the midi file itself contains explicit reset SysEx messages. The reset SysEx the player sends between tracks will be overwritten by the reset SysEX contained in the midi file itself when playback starts. The only option you can do to prevent this (without modifying the file) is to disable SysEx message sending for the file. Not many players has this option but e.g FSMP does have as you can see in the above video.

Posts: 18
Joined: 5 Ott 2017 - 12:04
Re: BUG using the correct "PRESET" from sf2

Thanks for suggestion, I understood sysex problem, but so why in Winlive there's no problem? However can I understand why if I set "BANK OFFSET -1" on VMS it works and read the 001:021?

Posts: 129
Joined: 25 Set 2013 - 16:38
Re: BUG using the correct "PRESET" from sf2
Luca Tilenni wrote:

Thanks for suggestion, I understood sysex problem, but so why in Winlive there's no problem? However can I understand why if I set "BANK OFFSET -1" on VMS it works and read the 001:021?

1. Because Winlive, SB Live/Audigy, SynthFont and many other SF2 synths either do not react to GM reset SysEx at all, or do not disable Bank select messages even in GM mode. As I said Bassmidi does this the same way as Roland hardware does.

It makes sense since according to GM specification only 1 bank and 128 instruments exist (the so called capital tones). Bank select has meaning only in later Midi systems such as GS/XG/GM2.

2. Setting bank offset to -1 worked for you to get Bank 1 presets in GM mode since this way you told Bassmidi to consider bank 1 as the main bank (bank 0). By setting Bank offset to -1 all the banks in your SF2 file will have a -1 offset. So Bank 127 becomes 126, 126 to 125 etc. and in the end Bank 1 becomes Bank 0 (the main capital tones bank).

Posts: 18
Joined: 5 Ott 2017 - 12:04
Re: BUG using the correct "PRESET" from sf2
falcosoft wrote:

1. Because Winlive, SB Live/Audigy, SynthFont and many other SF2 synths either do not react to GM reset SysEx at all, or do not disable Bank select messages even in GM mode. As I said Bassmidi does this the same way as Roland hardware does.

It makes sense since according to GM specification only 1 bank and 128 instruments exist (the so called capital tones). Bank select has meaning only in later Midi systems such as GS/XG/GM2.

2. Setting bank offset to -1 worked for you to get Bank 1 presets in GM mode since this way you told Bassmidi to consider bank 1 as the main bank (bank 0). By setting Bank offset to -1 all the banks in your SF2 file will have a -1 offset. So Bank 127 becomes 126, 126 to 125 etc. and in the end Bank 1 becomes Bank 0 (the main capital tones bank).

Understood perfectly, really thanks for the reply :) So "bassmidi" does same as Roland expander when it receives the GM Reset, and because in the midi file of GEM there's no GS reset, it ignores the BANKSELMSB 1, and it works in GM mode, using the bank 0. Understood :)

Posts: 18
Joined: 5 Ott 2017 - 12:04
Re: BUG using the correct "PRESET" from sf2
falcosoft wrote:

1. Because Winlive, SB Live/Audigy, SynthFont and many other SF2 synths either do not react to GM reset SysEx at all, or do not disable Bank select messages even in GM mode. As I said Bassmidi does this the same way as Roland hardware does.

Could be a solution to add for example the option to Virtual Midi Synth (or Bassmidi I don't know) "DON'T DISABLE BANK SELECT WHEN IN GM MODE"? Because maybe there are a lot of midis of this type, with GM Reset but with "BANKSELMSB" modified, or maybe midis that for mistake don't have GS Reset but have BANKSELMSB mod. Maybe could be and option to add in the GUI of VMS..

Because Winlive SYnth Driver (as I see) works this way, it doesn't ignore the bank select mex in GM MODE, so maybe we could add this option to the VMS, so the user can choice, I don't know...

Posts: 129
Joined: 25 Set 2013 - 16:38
Re: BUG using the correct "PRESET" from sf2
Luca Tilenni wrote:

Could be a solution to add for example the option to Virtual Midi Synth (or Bassmidi I don't know) "DON'T DISABLE BANK SELECT WHEN IN GM MODE"? Because maybe there are a lot of midis of this type, with GM Reset but with "BANKSELMSB" modified, or maybe midis that for mistake don't have GS Reset but have BANKSELMSB mod. Maybe could be and option to add in the GUI of VMS..

Because Winlive SYnth Driver (as I see) works this way, it doesn't ignore the bank select mex in GM MODE, so maybe we could add this option to the VMS, so the user can choice, I don't know...

In VMS Claudio could only disable the receiveng of GM ON SxsEx messages (the same way chorus/reverb related SysEx messages can be disabled in options). Specifically disabling only the 'ignore bank select in GM mode' behavior could be done by Ian the creator of Bass/Bassmidi libraries. He is very helpful anyway, you can reach him at the Bass forum (http://un4seen.com)

Regarding your 'maybe there are a lot of midis of this type, with GM Reset but with "BANKSELMSB" modified' question, it's very unlikely. It can be stated that such files are badly programmed. I have met many midi files and even files with explicit GM On messages are rather rare (but apparently you have one :) ). It's because players handle most midi files without any specific SysEx resets usually as GM since GM is the most common denominator among midi systems. There is no sense to set an explicit GM reset and then set banks that GM systems do not know about.

Maybe it was not clear for you but explicit GS reset is NOT required for bank select messages to work in Bassmidi. By default bank select messages are not ignored. Only sending an explicit GM ON can cause this problem.

Pagine