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 !!!

Pages

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

Ehi, I experienced a big bug.

I have a midi of "GEM" manufacturer that uses the "001:021" preset (full accordion), and in my .sf2 I have created a 001:021 preset for that, and this preset is different from 000:021 preset (normal accordion). But the VIrtual midi DOESN'T USE the correct 001:021 from my sf2, it uses "000:021" even if the midi is programmated for 001:021, and also it shows "French Accordion" in the mixer! Please correct it... In Winlive (using the WSE, Winlive SYnth Engine) everything works correctly, so it's a problem of VIrtual Midi SYnth, that doesn't read the "Variation" 001:021, and uses 000:021. I don't know if it does the same also with others presets!!!

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: BUG using the correct "PRESET" from sf2

Thanks for reporting it.

VMS passes its MIDI data straight to BASS (the MIDI synth library by Un4seen used by VMS) almost untouched, except for MIDI program changes events and volume set/get.

The first thing I'll try to check if it's a BASS or a VMS bug is to play the same MIDI file (with the same SF2 soundfont) using XMPlay, a freeware MIDI player wrote by the same author of BASS; it uses the same synth engine as VMS.
You can find it here, together with its MIDI plugin, it's portable and lightweight (no need to install).

If it has the same bad behavior, then the bug relies on BASS library and I'll report to them, otherwise it's limited to VMS and I'll manage it by myself ;)

To forward the bug to Un4seen (BASS developer), but also if not, should be great to have a sample test file.
Could you prepare a sample MIDI file to check it out?
Should be great for me (and will speeds up my testing) to have a single-track MIDI with just the expected preset variation, together with the SF2 file.

As for the name shown on MIDI Mixer: it's actually retrieved from a static table that uses default MIDI program names for GM, GS and XG variations.
This is easy, efficient and have a low memory/CPU impact.

It should be possible to read them out of the SF2 file but I have to take some things into account:

  • not all SF2 files include program names and some other have bad ones
  • retrieving program names from SF2 must respect VMS SF2-chain feature, where the latest-loaded SF2 overwrites the early-loaded ones

Will think about it, but can't make any promise...

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

There is no general Bank addressing problem either with Bassmidi or VMS (I have just checked).
So it must be a configuration or midi player problem.

1. Bassmidi ignores Bank Select messages in GM mode. So if your midi player/midi file sends GM System ON SysEx initialization message that can cause this problem. You should set your player/midi file to send GS Reset SysEx message instead.

2. If your sf2 file contains the required instrument at Bank 1 Preset 21 and the midi file also sends Bank Select 1 Program change 21 then you should configure the soundfont in VMS to NOT use any bank offset (ie: Preset: -1, Bank offset: 0)

Posts: 1978
Joined: March 25, 2012 - 01:19
Re: BUG using the correct "PRESET" from sf2

@falcosoft: thanks again for the time you dedicate in helping users. I'm having a very busy job period at the moment; having someone like you helping other users is so great.

@Luca Tilenni: feel free to try what @falcosoft suggested and report your finding here.

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

There is no general Bank addressing problem either with Bassmidi or VMS (I have just checked).
So it must be a configuration or midi player problem.

1. Bassmidi ignores Bank Select messages in GM mode. So if your midi player/midi file sends GM System ON SysEx initialization message that can cause this problem. You should set your player/midi file to send GS Reset SysEx message instead.

2. If your sf2 file contains the required instrument at Bank 1 Preset 21 and the midi file also sends Bank Select 1 Program change 21 then you should configure the soundfont in VMS to NOT use any bank offset (ie: Preset: -1, Bank offset: 0)

Falcosoft, Thanks for helping, but the problem is that this problem is internal to "Virtual Midi Synth". Doesn't matter which reset you set (GM, GS, Windows, XG), or wich player you use, the problem persist.

Definitive proof is that if I use Winlive Player setting to use VIRTUAL MIDI SYNTH, we have the same problem! Winlive uses by default the GS reset. And we have same problem, ti doesn't use the 001:021. Instead, if I set in WInlive Player to use the INTERNAL SYNTH (WSE, ie. Winlive Synth Engine), and I associate same soundfont mine to this synth, everything works prefectly, it reads the 001:021 correctly. SO it's a problem related to the bank addressing, problem internal to Virtual Midi SYnth, in reading from midifile and addressing correct bank.. If you want I can send you the midi in pm, so you can test, it's ok?

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

Of course. Please, send me both your sf2 and midi file.

If private message sending/attaching does not work, you can also send your files to the email address you can find on my webpage:

http://falcosoft.hu

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

Definitive proof is that if I use Winlive Player setting to use VIRTUAL MIDI SYNTH, we have the same problem! Winlive uses by default the GS reset. And we have same problem, ti doesn't use the 001:021. Instead, if I set in WInlive Player to use the INTERNAL SYNTH (WSE, ie. Winlive Synth Engine), and I associate same soundfont mine to this synth, everything works prefectly, it reads the 001:021 correctly. SO it's a problem related to the bank addressing, problem internal to Virtual Midi SYnth, in reading from midifile and addressing correct bank.. If you want I can send you the midi in pm, so you can test, it's ok?

I have not got your files so far but I have made a video about a 'counter definitive proof' that generally there is no 'problem internal to Virtual Midi SYnth' regarding bank changing/addressing:

https://youtu.be/dcQkIv253MY

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

I have not got your files so far but I have made a video about a 'counter definitive proof' that generally there is no 'problem internal to Virtual Midi SYnth' regarding bank changing/addressing:

https://youtu.be/dcQkIv253MY

I tested, it works correctly in VMS only if I set the BANK OFFSET to -1. How is possible?

However, I can't send my soundfont. It's mine and it's 1,00GB. I send you a similiar sf2 constructed now (with only the 000:021 and 001:121 bank presets, and I insert the fake "Choir Aahs" in 000:021 and right accordion in 001:021, so you can recognize immediately if the sound is incorrect, because the instrument is an accordion, so it has to use the 001:021 bank:preset, and not the choirs of 000:021) and I send you also the midi used to test

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

Of course. Please, send me both your sf2 and midi file.

If private message sending/attaching does not work, you can also send your files to the email address you can find on my webpage:

http://falcosoft.hu

I've just sent you the sf2 and the midifile by email. Please check :)

I attach here also the screenshot of the midifile, of the instrument channel 16 (001:021) in Cubase. Yu see the "22" Program ch., because as we know in reading from Cubase GM we have to subtract 1, so 22 General midi = preset 21 sf2

Attachments (Only registered users)
bank sel midifile.png
Posts: 18
Joined: October 5, 2017 - 12:04
Re: BUG using the correct "PRESET" from sf2

As you can see from attached screenshot in prev. mex, the ch16 instrument in Cubase shows BANKSELMSB to "1", and Program Ch. is 22, so it corresponds to reading from sf2 the "001:021" bank:preset. So why it doesn't work with this midifile type? I think it's something related to these type of midifiles of GEM manufacturer. because I'm testing with other midifiles and this BUG doesn't appear. But I repeat in Winlive synth everything works perfectly also with these midifiles of GEM. What's wrong? Why I have to set BANK OFFSET to -1 in VMS to read 001:021 for this GEM midifile? Also If I select BANK OFFSET -1 for my soundfont, all the others channels of the midifile will no sound with my soundfont (it's a regular soundfont)....

Pages