Skip to main content
Topic: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers (Read 8155 times) previous topic - next topic

NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Hi!

I'm not a regular in the community, but I've been privately using NWC since 1996 or something and love it. Just discovered the upgrade to 2.5 - some great new features in there, although I'm still waiting for tremolo notation, trills and octave-up/down thingies :)

Anyway, on to the main point of this post...

So I'm sure everyone's familiar with the dreaded 16-channel limit MIDI has, and the compromises we have to make because of it. In orchestral music, usually we can't assign a channel per part, and have to collapse instruments of the same type into a channel together. Then we occasionally need to write overlapping notes, which most MIDI engines don't play the way we want (because they have to be designed to correct for lost events). The existing solutions don't always work: muting a note breaks the solo playback, and sometimes isn't appropriate even for the full playback.

So what I done, right, is I downloaded BASSMIDI Driver, which creates a virtual MIDI port and renders the music using a soundfont of your choice, and I modified it to create multiple ports. So now I have more than 16 channels and everything is fantastic. I've sent my changes back to the author too, just in case.

Then I thought I should probably check what the NWC Viewer does when the file is set to use multiple devices. Seems it maps the first device to chosen output device (MIDI Mapper by default) and never sets the other devices. So the music sounds a bit incomplete, which is a bit of a shame.

So then I thought of a number of ideas that will probably get me shot.

Should unmapped devices (in both NWC and NWC Viewer) automatically go to the first (or only) configured device? Then I can put the flutes on the same channel but different devices, and the playback will have the clashing note problem but be mostly OK. The downside is that I can see BASSMIDI Driver getting extended further to offer different soundfonts on different ports, at which point the flutes would want to be on different channels on the same device, which makes the whole idea break down. But on the other hand, it's probably no worse than the current behaviour. (Discuss!)

Should NWC Viewer allow the user to configure more than one device? Probably not...

Should it be possible to combine .nwc and, let's say for the sake of argument, .ogg into the same file in some way, and have NWC Viewer play the rendered version of the music instead of the MIDI? But it's open to both abuse and human error, so again, probably not...

Should NWC Viewer contain its own rendering engine that copes with this? Definitely not, because everyone has different needs, and soundfonts are not usually licensed for redistribution in patch form anyway. Not to mention that they're often bigger than the final render would be.

Should I just collapse everything on to the first device myself prior to distributing the .nwc files? The only downside is that people lucky enough to have applied the same MIDI channel jailbreak shenanigans will not reap the benefit. But that's probably no one.

Or should I just keep my standard-breaking .nwc files to myself and distribute .ogg, .mp3 and .pdf instead? But think of the lost viral publicity!! :o

Well I've probably answered my own question (it'll be one of the last two options), but I thought I'd post this here anyway just in case it sparks any useful discussion. :)

Thanks again for making such a great program and continuing to support and develop it for so long! (Incidentally, I tried Sibelius 6 at some point and it was too fragile. Breathe on it wrong and all the fancy layout you've set up explodes into a mass of I dunno, Linux or something. Had to buy a new carpet. True story.)

Re: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Reply #1
Does your sound device have multiple ports?
I use a Creative X-Fi soundcard that has two onboard synths A: and B:
Each synth provides 15 channels + 1 percussion channel.
I have the same soundfont loaded in each synth.
Giving 30 melodic channels and 2 percussion.

I can't comment on the Viewer as I don't have it.


Re: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Reply #2
G'day, and welcome.  Aside from Barry's suggestion I think you've pretty well answered yourself...

<snip>
Breathe on it (Sibelius) wrong and all the fancy layout you've set up explodes into a mass of I dunno, Linux or something. Had to buy a new carpet. True story.)

This I gotta hear! :D
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Reply #3
Does your sound device have multiple ports?
I use a Creative X-Fi soundcard that has two onboard synths A: and B:
Nope, my computer has no hardware MIDI support of any description! The "BASSMIDI Driver" I mentioned does it all in software. You install it, and a port appears in the list for NWC and everything else to use. It comes with a configuration tool where you can tell it which soundfont(s) to load. I modified it to create four ports instead of just one.

Now that you mention hardware ports though - I think the SB Live(!) 5.1 my old computer (10 years old now) offers four on-board soundfont synths. I never thought about it though, so I never used more than one of them. But it makes me think there are more people who work this way, since hardware soundfont synths have been able to do it for a long time.

Having slept on it, I think it might be nice if:
  • NWC Viewer allows multiple devices to be configured (but not at the cost of usability - it needs to be easy if you only want to configure one device);
  • Viewer and Composer both tell you if the score you're about to play is set to use more devices than you have configured, so that if you decide to proceed anyway, at least you'll understand why it might not sound perfect;
  • If you proceed, then unconfigured devices automatically map to the first device (or maybe the device used is the device specified modulo the number of devices configured);
  • Documentation note somewhere that for the best viewer compatibility, you should try to make your piece sound OK-ish even if all parts are collapsed on to a single device.
I can't see that being objected to. I'm off to the wishlist :)

Re: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Reply #4
So what I done, right, is I downloaded BASSMIDI Driver, which creates a virtual MIDI port and renders the music using a soundfont of your choice, and I modified it to create multiple ports. So now I have more than 16 channels and everything is fantastic. I've sent my changes back to the author too, just in case.

You've really peaked my interest with this :)

Out of curiosity, which version of the BASSMIDI Driver did you modify? Is the compiled driver and/or source available for download anywhere?

Lastly, I'm assuming that you had contacted Mudlord about the changes... did he reply back with anything (like possibly including multiple ports in a future version of the BASSMIDi Driver)?

I think that would be a superb addition to the driver... multiple MIDI output ports :)

Re: NWC Viewer and multiple MIDI devices? Yeah I know, I'm bonkers

Reply #5
I found the source here: http://www.mudlord.info/bassmididrv/

...which appears to be your page :)

I did indeed write to mudlord (at mudlord.info). He never replied. I've forwarded you the e-mail. :)