Author Topic: Reverb just about audible playing midi file  (Read 1812 times)

syryo

  • Posts: 28
I have played a midi file using VanBasco containing the following sysex msgs:
F0 41 10 42 12 40 01 30 03 0C F7
F0 41 10 42 12 40 01 3A 64 21 F7
F0 41 10 42 12 40 01 33 64 28 F7
Those msgs set the following REVERB characteristics:
MACRO (room 3)
PRE-LPF
LEVEL
When playing the midi file thru Roland VA SC I hear a nice reverb that gives great value to the song.
When playing thru Virtualmidisynth (and one of my soundfonts) I just hear a bit of reverb.
If I remeber well, BASSMIDI does not support PRE-LPF sysex msg but the other sysex msgs are supported.
I can give you a midi file so that you can have a look.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #1 on: 4 Feb '22 - 14:57 »
The reverb level when playing that file sounds pretty good to me, but I don't have a Roland VA SC here for comparison. Does the reverb level sound low to you on all MIDI files or only particular ones? It's possible to adjust the reverb level via the BASS_ATTRIB_MIDI_REVERB setting, and you could simply do that for all files if they all sound too low.

Btw, BASSMIDI does include support for the reverb pre-LPF parameter, but "40 01 3A" is actually the chorus level (reverb pre-LPF is "40 01 32").

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #2 on: 4 Feb '22 - 15:56 »
Hi Ian
You're right: 40 01 3A is Chorus Level
Another mistake I did is:
40 01 30 03 is REVERB MACRO -> Hall 1
The reverb level sound is acceptable  for other MIDI files. Maybe it's the kind of reverb (HALL 1) in this case that is too low or not adequate.
For your convenience, I have just recorded a piece of the midi file using VMS and VA SC.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #3 on: 7 Feb '22 - 17:33 »
For reference, how do the levels compare if you remove the REVERB LEVEL (40 01 33) sysex  from the file, ie. the default levels?

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #4 on: 7 Feb '22 - 18:24 »
I made two tests.
1) No sysex msg 40 01 33 64: the reverb is quite the same as before. That's because, I thnk, the MIDI file contains GM and GS reset which set reverb to default (mid) level.
2) With sysex msg 40 01 33 00: the reverb is no more audible.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #5 on: 9 Feb '22 - 13:23 »
Here's an update (64-bit) for you to try:

   www.un4seen.com/stuff/bassmidi.dll

It doubles (+6dB) the reverb level by having the BASS_ATTRIB_MIDI_REVERB option default to 2 (old levels can be restored by setting it back to 1). Please give it a try with various MIDI files and let me know what you find. Please also use the pre-compiled MIDITEST.EXE example from the BASSMIDI package (C\BIN folder) for comparisons to ensure that no custom settings/etc are affecting results.

Another change in this update is that default per-drum reverb/chorus levels are now applied in all system modes (not only with a GM/GS/XG reset), and a new option added to disable that when it isn't wanted. This won't make any difference to GS files (the drum levels already applied) but should make drums in plain MIDI files sound better (no more reverby kick drums), particularly with the higher reverb level now.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #6 on: 9 Feb '22 - 17:46 »
I've tried the new bassmidi.dll with some midi files and with the midi test file that I attached in previous reply as well.
I hear more reverb now but the level is not the same as playing it thru VA SC; now it sounds better.
If you listen to the original song sung by Sting "Shape of my heart" you will notice that VA SC is really near in reverb sound to the original song.
I am not able to say if it depends on the type of reverb (hall 1) that VA SC apply to it. Just I wonder if bassmidi/bass understands and apply the type of reverb specified in the sysex msg.
At the moment we have hit a little good result; consider if you want to spend more time to further improve it.
Consider also that I don't love too much reverb generally speaking :)
P.S. miditest.exe returns error

rv

  • Posts: 374
Re: Reverb just about audible playing midi file
« Reply #7 on: 10 Feb '22 - 11:52 »
Hello Ian,

What default values did you apply on drumkits? Those are overrided by the SF2 settings?

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #8 on: 10 Feb '22 - 17:09 »
I've tried the new bassmidi.dll with some midi files and with the midi test file that I attached in previous reply as well.
I hear more reverb now but the level is not the same as playing it thru VA SC; now it sounds better.
If you listen to the original song sung by Sting "Shape of my heart" you will notice that VA SC is really near in reverb sound to the original song.
I am not able to say if it depends on the type of reverb (hall 1) that VA SC apply to it. Just I wonder if bassmidi/bass understands and apply the type of reverb specified in the sysex msg.
At the moment we have hit a little good result; consider if you want to spend more time to further improve it.
Consider also that I don't love too much reverb generally speaking :)

I'm not a fan of excessive reverb either. It sounds good sometimes but not as a default. But having now listened to some plain MIDI files (using default reverb settings) with the new higher level, I think it sounds fine and not too reverby (the default per-drum levels help with that).

It's very likely that the Roland and BASSMIDI reverb implementations are different, so it's unlikely that they'll ever sound exactly the same, but it should be possible to get the basic characteristics (eg. level and time) to match.

P.S. miditest.exe returns error

Oops. I forgot that the BASSMIDI.DLL update above is 64-bit while the pre-compiled MIDITEST.EXE is 32-bit. Here's a 64-bit version of MIDITEST:

   www.un4seen.com/stuff/miditest64.exe

Let me know if that does change the results you get.

What default values did you apply on drumkits? Those are overrided by the SF2 settings?

The default per-drum levels are based on the XG spec. You can check what each key's level is with BASS_MIDI_StreamGetEvent and MIDI_EVENT_DRUM_REVERB.

The MIDI channel/drum and SF2 reverb levels are summed rather than overriding each other. The final level = (channel x drum) + SF2

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #9 on: 11 Feb '22 - 14:25 »
Oops. I forgot that the BASSMIDI.DLL update above is 64-bit while the pre-compiled MIDITEST.EXE is 32-bit.
Let me know if that does change the results you get.
I've tried using MIDITEST.exe x64 version and there is no audible change in sound; so we can say that my MIDI file is OK resetting GM and GS sysex msg.

It's very likely that the Roland and BASSMIDI reverb implementations are different, so it's unlikely that they'll ever sound exactly the same, but it should be possible to get the basic characteristics (eg. level and time) to match.

I know that it's unlikely to get exactly the same sound as Roland VA SC; I don't want to get that but I'd like to improve the sound.
I made one more test modifying only the MIDI file reberb type, from 03 to 00 so the sysex msg is now:
F0 41 10 42 12 40 01 30 00 0F F7
When playing with VMS and my SF I do not hear any difference.
When playing with Roland VA SC I do hear difference (please listen to the attached mp3 file and compare with the previous one): so VA SC is responsive to reverb type (type 03 sounds different from type 00).
Is BASSMIDI responsive to different reverb type?
How much reverb INSTRUMENT and PRESET level specified in a SF influence the final reverb level?
« Last Edit: 11 Feb '22 - 15:11 by syryo »

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #10 on: 11 Feb '22 - 17:24 »
I know that it's unlikely to get exactly the same sound as Roland VA SC; I don't want to get that but I'd like to improve the sound.
I made one more test modifying only the MIDI file reberb type, from 03 to 00 so the sysex msg is now:
F0 41 10 42 12 40 01 30 00 0F F7
When playing with VMS and my SF I do not hear any difference.
When playing with Roland VA SC I do hear difference (please listen to the attached mp3 file and compare with the previous one): so VA SC is responsive to reverb type (type 03 sounds different from type 00).
Is BASSMIDI responsive to different reverb type?

BASSMIDI is responsive to the reverb macro in that it sets all of the reverb parameters but BASSMIDI doesn't support the "character" parameter (40 01 31), which might be enabling a different algorithm in the Roland. BASSMIDI uses the same algorithm in all cases, just with different parameters.

How much reverb INSTRUMENT and PRESET level specified in a SF influence the final reverb level?

It's exactly the amount set in the SF2 file, eg. 100% means 100% of the dry sound is sent the reverb processing. The MIDI reverb level is added to that. It isn't currently capped (ie. the total level can exceed 100%), but it probably should be, so here's an update that does:

   www.un4seen.com/stuff/bassmidi.dll

This update also raises the "CC91 to Reverb Effects Send" modulator amount from 75% to 100% (BASSMIDI never used the SF2 spec's 20%), and lowers the default BASS_ATTRIB_MIDI_REVERB setting to 1.5 to compensate (1.5 x 100 = 2 x 75) so that it should sound pretty much the same as the last update. This change means that the MIDI and SF2 reverb levels have equal influence. The same changes have been made for the chorus effect (CC93) too.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #11 on: 16 Feb '22 - 17:17 »
I dug out an old Roland VSC installation to do some comparisons, and noticed that BASSMIDI's delay parameters didn't match. So here's an update to tweak that:

   www.un4seen.com/stuff/bassmidi.zip

"Hall 1" was pretty close so this won't make much difference to your original test file, but it should help with the "Room 1" version.

This update also reverts the default BASS_ATTRIB_MIDI_REVERB setting back to 1.0 because I realised that a different default setting could cause issues for custom reverb processing users (via the BASS_MIDI_CHAN_REVERB option). It would now need to be set to 0.5 to get the old default reverb level.

Falcosoft

  • Posts: 114
Re: Reverb just about audible playing midi file
« Reply #12 on: 17 Feb '22 - 10:29 »
Hi Ian,
Are you sure you set back reverb gain to default (1.0)? I have just updated to newest beta because of this fix
https://www.un4seen.com/forum/?topic=19661.msg137710#msg137710
and I immediately heard that this version had way more reverb than previous ones (I have used 2.4.13.31 so far). I mean the default audible reverb level after a GS reset.

@Edit: The difference is even more audible (and disturbing) when a channel's reverb level (CC# 91) is set to 100 or above.
   
« Last Edit: 17 Feb '22 - 11:29 by Falcosoft »

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #13 on: 17 Feb '22 - 12:42 »
Sorry, it wasn't very clear. I should have mentioned that the new higher default reverb level from earlier in this thread is still in effect, but now it's at the BASS_ATTRIB_MIDI_REVERB = 1.0 setting. The new level is twice as high as before, so you can get the old level by setting BASS_ATTRIB_MIDI_REVERB to 0.5. There have also been some other tweaks to the reverb processing, so the output may not be exactly the same then but it should be around the same level.

The default level may still be tweaked some more before release. If you have any MIDI files that sound particularly worse with the new level then please upload them for testing:

   ftp.un4seen.com/incoming/

Falcosoft

  • Posts: 114
Re: Reverb just about audible playing midi file
« Reply #14 on: 17 Feb '22 - 17:21 »
Ah, Thanks.
It's not so easy to select particular files since it's so subjective. For me files with lower reverb (default CC#91 = 40) tend to sound somewhat better with the new default but files with high reverb settings (CC#91 >=100) tend to sound worse. So I think 200% as default is overkill but it's not a problem for me. I have already set BASS_ATTRIB_MIDI_REVERB to 66% (0.66) and I consider this as a good compromise.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #15 on: 19 Feb '22 - 11:21 »
I have made some tests comparing the new version of bassmidi.dll and the actual in VMS (2.4.13.23): the reverb level is surely increased.
Listening to some MIDI files I noticed that in some cases the reverb level is now too high.
Changing the CC#91 in MIDI files, as Falcosoft said, the reverb level become more acceptable when lowering CC#91 under 80(/127).

This update also raises the "CC91 to Reverb Effects Send" modulator amount from 75% to 100%
I know that is subjective but I would test the newest bassmidi reverting that modulator amount to 75%.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #16 on: 21 Feb '22 - 17:57 »
It's not so easy to select particular files since it's so subjective. For me files with lower reverb (default CC#91 = 40) tend to sound somewhat better with the new default but files with high reverb settings (CC#91 >=100) tend to sound worse. So I think 200% as default is overkill but it's not a problem for me. I have already set BASS_ATTRIB_MIDI_REVERB to 66% (0.66) and I consider this as a good compromise.

Are your soundfont(s) adding any reverb/chorus? If so, to make sure that isn't affecting the results much, please also try disabling soundfont reverb/chorus by using the BASS_MIDI_FONT_NOFX flag in the BASS_MIDI_FontInit calls.

This update also raises the "CC91 to Reverb Effects Send" modulator amount from 75% to 100%
I know that is subjective but I would test the newest bassmidi reverting that modulator amount to 75%.

That update didn't actually change the MIDI reverb level from the previous update because the overall reverb level was also reduced by 25% to cancel out the CC91 modulator increase. The only effect of this was that the soundfont reverb level was reduced to give it equal influence with the MIDI reverb level. Basically, the updated reverb levels compared to the 2.4.13 release are: MIDI reverb = 200%, soundfont reverb = 150%

I did some more comparisons with the Roland VSC, and found that the REVERB TIME (40 01 34) handling was incorrect, so here's an update to improve that:

   www.un4seen.com/stuff/bassmidi.zip

I also found that the PRE-LPF (40 01 32) and PREDELAY (40 01 37) seemed to have no effect on the Roland. Do you see the same there? BASSMIDI does include handling of them, so either they were working in the past or an implementation was guessed. PREDELAY is disabled now in this update (PRE-LPF is still in currently). Just to be clear, the equivalent XG sysex is still supported.

This update also raises the chorus to XG levels (a bit lower than GS), and reduces the overall output level by 5% to leave a bit more space for the higher reverb/chorus levels.

If any MIDI files are still sounding too reverby then please check them on the Roland too (unless they're XG files), and upload them for testing if they prove to be more reverby with BASSMIDI.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #17 on: 27 Feb '22 - 10:41 »
The sound is too reverby.
I have sent the following sysex msgs:
F0 41 10 42 12 40 01 30 00 0F F7 --> REVERB MACRO set to ROOM 1
F0 41 10 42 12 40 01 33 00 0C F7 --> REVERB LEVEL set to ZERO
F0 41 10 42 12 40 01 34 00 0B F7 --> REVERB TIME set to ZERO
I expected to listen to no reverb; instead the reverb is perfectly audible.
If that is true then you should ask why this happens.
In my mind when I set main reverb parameters to 0 (like the reverb level, for example) the sound should be dry.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #18 on: 28 Feb '22 - 12:12 »
I'm not hearing any reverb when I try that here, so that's strange. Perhaps there's a system reset or another reverb macro afterwards? If not, please upload your MIDI file to have a look.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #19 on: 1 Mar '22 - 10:58 »
I sent sysex msgs via BOME SendSX and I guess something went wrong last time I tested.
So you are right, it seems that REVERB LEVEL (sysex msg) is correctly applied to the sound.
In the meantime I was just wondering what does GM or GS reset sysex msgs really reset from reverb point of view.
Overall and anyway, the actual bassmidi.dll 2.4.13.34 is, for my ears, still too reverby.
Maybe it depends on the weight that bassmidi gives to sysex msgs VS cc#91 or by parameters set to get reverb sound or... simply again by my ears ;)

P.S. Attached a simple midi file with/without reverb set via sysex msgs.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #20 on: 1 Mar '22 - 15:23 »
That file is quite reverby, but it seems like it's meant to be because it has sysex to raise both the reverb level and time. Does it not sound as reverby on the Roland?

Still, here's an update that lowers the reverb level by 20% for you to try:

   www.un4seen.com/stuff/bassmidi.zip

Let me know whether it helps.

Regarding system reset sysex, they set all of the reverb parameters to the system's defaults, eg. "HALL 2" for GS.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #21 on: 1 Mar '22 - 19:16 »
I have tested the new version of bassmidi.dll (2.4.13.38) with VMS 2.12.4 against Roland SC VA.

I played the attached MIDI file "Test03-Rev Lev 100" (reverb level set to 100 (hex 64)) via sysex msg and listen to the sound produced by SC-VA.
Then I played the same file via VMS and I detected it was too reverby.
After a few attempts I finally modified the reverb level to 55 via sysex msg (see MIDI file "Test03-Rev Lev 55") to get approximately the same reverb level via VMS.
Please test yourself to double check it.

Ian @ un4seen

  • Administrator
  • Posts: 24424
Re: Reverb just about audible playing midi file
« Reply #22 on: 2 Mar '22 - 12:20 »
The "Rev Lev 100" file's reverb level from BASSMIDI and Roland VSC sounds quite similar to me. Perhaps the issue is somewhat soundfont-specific? Please upload the soundfont you're using (or post a link) so that I can hear what you're hearing.

Falcosoft

  • Posts: 114
Re: Reverb just about audible playing midi file
« Reply #23 on: 2 Mar '22 - 13:31 »
It's also worth considering that Roland SC-VA is not the same as Roland VSC. So besides the same soundfonts you should also use the same emulation you compare the results to.

syryo

  • Posts: 28
Re: Reverb just about audible playing midi file
« Reply #24 on: 3 Mar '22 - 10:55 »
It's also worth considering that Roland SC-VA is not the same as Roland VSC. So besides the same soundfonts you should also use the same emulation you compare the results to.
I agree.

Anyway here is a link to download an extract of my soundfont that you can use to double check the resulting sound from your side.
The soundfont contains only presets for previous sent song.

https://we.tl/t-0meFrLKXuj