Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

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 !!!
Posts: 4
Joined: January 9, 2025 - 16:53
Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

Hi CoolSoft,

Thank you for your work on this excellent freeware.  Your generosity is deeply appreciated!

I have written an app for visually impaired users that rapidly sends MIDI commands to generate audio that represents huge sets of engineering data that would take screen reader apps days or weeks to speak out.  It allows users to “see” these in seconds or minutes the way sighted people view Cartesian graphs.  I'm working with a blind beta tester who says that it has changed her life and gives her the ability to work with data as a professional engineer.

It currently works fairly well with VirtualMIDISynth running my custom .sf2 that is configured to allow fine pan controls via continuous controller messages CC10 (pan Most Significant Byte) followed by CC42 (pan Least Significant Byte) before each note-on command.  But it sounds like the synth is ignoring CC42 and only panning in CC10's 0-127 value increments.

As you can imagine, when panning tens of thousands to hundreds of thousands of data points across the stereo field, 128 steps is not a fine enough resolution for blind listeners, because it bunches up points together into pan steps that are clearly audible, especially for people who rely on listening rather than vision to see the world.

However, implementation of CC10 + CC42 for fine panning would allow 16,384 steps, which is ideal for this application.

Can you help by implementing this into a VirtualMIDISynth update?
Please let me know.

Best wishes,
Jason Glass

Posts: 1997
Joined: March 25, 2012 - 01:19
Re: Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

Hi Jason, thanks for your kind words (and support 😉).

At first, let me give credit where credit is due: for the MIDI rendering task, VirtualMIDISynth uses the great BASS audio library + BASSMIDI plugin by Un4seen.
This library is an incredible piece of software, wrote by Ian Luck, that can manage each kind of audio-related task on every available platform.

VirtualMIDISynth uses BASS+BASSMIDI to implement a virtual audio device, but it has almost no role in MIDI rendering:
VMS receives a MIDI stream, extracts some info needed to be shown to the user (like instrument names in MIDI mixer), then passes the unchanged stream to BASS, which renders it to audio output (with SF2).
VMS also manages SF2 loading/ordering, output sevices selection, tracks mute/solo (asking BASS to set volumes).
It has no role in MIDI rendering.

That said, as far as I can see from the official documentation, BASSMIDI manages CC10 (MIDI_EVENT_PAN, CC10) but not CC42.
So once BASSMIDI implements CC42 support, VMS will be immediately able to manage it too.

Please let me know if you'd like to start a thread to Un4seen forum by yourself, so you can directly reply to any info Ian could need, or if you like me to start a thread for us.
(Ian is very kind and more often around on his forum than I am on mine).
If the former, please backlink the created thread here so I'll be able to follow it 😉

Posts: 4
Joined: January 9, 2025 - 16:53
Re: Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

Thank you, Claudio.  I appreciate your helpful response very much.

I joined the BASS forum and posted a similar inquiry there.  I hope Ian is willing to help.  https://www.un4seen.com/forum/?topic=20575.0

Have a nice weekend!

Posts: 4
Joined: January 9, 2025 - 16:53
Re: Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

Hi Claudio,

Ian has come to the rescue with a blazing fast update adding 14-bit function to pan CC!  You're right, he is indeed very kind.  Here are links to his forum reply and the update zip.

https://www.un4seen.com/forum/?topic=20575.msg144312#msg144312

https://www.un4seen.com/stuff/bassmidi.zip

 

Best always,

Jason Glass

Posts: 1997
Joined: March 25, 2012 - 01:19
Re: Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners
Jason Glass wrote:
Here are links to his forum reply and the update zip.

Great!

Since the updated bassmidi.dll should be compatible with the one bundled with VMS, you can now try the updated BASSMIDI by yourself on your system:

  • download and open bassmidi.zip archive
  • extract the contained bassmidi.dll library (mind the bitness: on a 64bit system you must extract the one contained in x64 folder)
  • replace the one originally installed with VirtualMIDISynth (you could rename the original one…)
  • test VirtualMIDISynth with the new library

If everything works as expected, report the success to Ian (I'm subscribed to the thread too…) so he can integrate changes into new releases.
I'll then update VirtualMIDISynth with the new version.

Posts: 4
Joined: January 9, 2025 - 16:53
Re: Pan CC10 MSB + CC42 LSB Support Needed for Visually Impaired Listeners

I ran a bunch of test passes and it seems to work without any errors or glitches.  This is exciting.  I can't believe how fast you guys are willing to help and I deeply appreciate it.  You're restoring my faith in humanity.

My beta tester is going to freak out.

I'm going to post the same thing over to Ian.