Reverb & chorus effects defaults

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 !!!
Anonymous user
Reverb & chorus effects defaults

Hi

I like your player, everything sounds really good especially with the Arachno SF. I have one major complaint and I don't know if this is in your player or Arachno... All of the effects (reverb, chorus etc) are set "On" and to the max value. This should be a user setting and not a default. "Off" should be the default. Everything is so buried in effects it get's muddy sounding. I have to insert fx controllers for every voice and that should not have to be done. With reverb on the bass guitar and drums, the kick gets buried in the wash and the bass has no distinction.

Keep up the good work :-)

Posts: 1683
Joined: March 25, 2012 - 01:19
This behaviour is not due to

That behaviour is not due to VirtualMIDISynth but the underlying BASS library; it has a default value of 40 for Reverb controller.

Since VirtualMIDISynth does not touch this, if your MIDI file doesn't touch that controller too you'll have 40 as a final effect value.

I'm working on adding an user setting for it on the MIDI Mixer, but that's not easy, because it must me "realtime": I mean, if your MIDI has Reverb controller changes, the new reverb slider should follow it while playing.

Posts: 81
Joined: September 25, 2013 - 16:38
Re: This behaviour is not due to

Hi !

Regarding BASSMIDI reverb and chorus defaults the situation is more complicated. But from a programming point of view your situation is simpler. 

The default value of 40 you are referring is actually 0x40 (decimal 64) and can be considered 50% as the range is 00..0x7F (decimal 00..127). But this value is NOT the same as the reverb controller value (MIDI controller 91).

These 2 values are independent from each other. The default value 0x40 can be changed or set only with SysEx: F0 43 10 4C 02 01 0C 40 F7.
And the midi controller message 91 is interpreted as a value WITHIN this range.
So if you send a midi controller message 91 with value 127, that is interpreted as a reverb of 0x40. But if you change the reverb level to eg. 1 with SysEx: F0 43 10 4C 02 01 0C 01 F7 then midi controller message 91 with value 127 will be equal to Reverb level 1.

So you should not worry about user feedback since you change only the SysEx param within your program and that cannot be changed with midi controller messages.

Best Regards:

Zoltán Bacsko
Falcosoft

Posts: 1683
Joined: March 25, 2012 - 01:19
You gave a really detailed

You gave a really detailed explanation about how the reverb works.
I didn't know about the SysEx you mentioned (I'm not a musician), thanks for explaining it so clearly.

As first thought I'll implement the reverb control like this (based on your suggestions), but I still have some doubts:

  • add a new Reverb slider, creating some new space on the mixer or in a dedicated window
  • the value of the new reverb slider will be saved as I already do with track volumes
  • at device initialization I'll send that SysEx with the value of the new slider
  • from now on the value of controller 91 will be interpreted using the new limit

now the doubts:

  • what should I do if the played MIDI contains that SysEx?
  • should the new reverb slider change its value according to the received value?
  • which value should it save when closing? the one selected by the user or the one received from the MIDI?

Thanks again for your support.

Posts: 81
Joined: September 25, 2013 - 16:38
Re: You gave a really detailed

Hi!

> "from now on the value of controller 91 will be interpreted using the new limit"

Just to make things clear, this is handled by bassmidi itself you don't have to implement it in your program.

> "what should I do if the played MIDI contains that SysEx?"

Very unlikely. I think this reverb Sysex is Bassmidi specific.  In my program Soundfont Midi Player 2 I'm just ignoring bassmidi specific Sysexes at file level. I'm only saving the values that are set in the config dialog of the program. I don't think it would be wise to save a new default value of the reverb engine itself because of a file sending an engine specific sysex (but I doubt any real world midi files contain bassmidi specific sysexes. I have not found any yet).

By the way here is the detailed implementation chart of Bassmidi. (I don't remember whether I have already sent you this or not)

https://kode54.net/bassmididrv/BASSMIDI_Driver_MIDI_Implementation_Chart.htm

Posts: 1683
Joined: March 25, 2012 - 01:19
> Just to make things clear,

> Just to make things clear, this is handled by bassmidi itself you don't have to implement it in your program.

Yes, that was clear.

> Very unlikely. I think this reverb Sysex is Bassmidi specific.

I made a search to improve my knowledge on this argument and I found this:
http://support.xmplay.com/article.php?id=93

It seems that's an XG standard SysEx (rarely used, I agree).
So I came to this conclusion:

  • the value of the new reverb slider should never change, even in the unlikely case the played MIDI contains this SysEx
  • at each device initialization (MIDI reset) it should always get back to user seleted value
  • the same feature should be applied to MIDI controller 93 (sustain) and its SysEx: F0 43 10 4C 02 01 2C 40 F7

Since these new settings doesn't change at runtime, I can place them into the configurator dialog... this will help keeping MIDI Mixer dialog as small as possible.

I'll prepare a beta version, so I hope you could test it.

Thanks again for your help.

Posts: 81
Joined: September 25, 2013 - 16:38
Re: Just to make things clear,

"I made a search to improve my knowledge on this argument and I found this:
http://support.xmplay.com/article.php?id=93

It seems that's an XG standard SysEx (rarely used, I agree)."

I can confirm the reverb level sysex is working with standard Yamaha S-YXG50 softsynth.

But the referred xmplay documentation just repeats the Bassmidi charts since Xmplay is using Bassmidi, too :)

Anyway I think you have made the best decisions regarding your implementation plans.

Best wishes:

Zoltán Bacskó

Posts: 1683
Joined: March 25, 2012 - 01:19
Beta

I just released a beta with this feature.

Feel free to post your feedback here:
http://coolsoft.altervista.org/en/forum/thread/180