Can a DXi sound module be used as an Output-MIDI option?

I have been able to use a hardware General MIDI module (Roland SD-50) and the Microsoft GS Wavetable Synth for the “MIDI Port out:External Synth” setting in my studio setup…

On a separate desktop PC, I am trying to see if I can also use a DXi Gen MIDI program, e.g. Cakewalk TTS, or Coyote Wavetable, as an optional “out: External Synth”, but I cannot get Cantabile 3 Solo to recognize a DXi (.dll) file as an option on the drop down list. It is getting read into C3 during the VST load and appears on the Settings page “plugins.json” and “plugins.cache.json” files, marked as a “not a VST”.

I use this desktop PC to learn and tinker around with various settings and options for my music software, and wanted to get better Gen MIDI output than the Microsoft GS Wavetable, which BTW also prompts a popup warning screen with Cantabile about problems using it.

Is there a way to use C3 to access DXi files like Cakewalk TTS-1 dll or CoyoteWT.dll, or any other software-based Gen MIDI module as an option for MIDI Out - External Synth parameter??

Hi @cfcboc

Cantabile currently only supports vst 2 plugins. DXi is a different standard not currently supported. In fact there’s been practically no demand for it - primarily I think because just about everything available as DXi is also available as VST.

I’d be curious to hear if anyone else would be interested in this.

In the meantime, you might be able to find a DXi wrapper plugin. A quick search led me to this but I’ve not tried it myself.

Brad

1 Like

Brad… Perhaps I am missing something basic, does the Cantabile3 Media Player only support the native Windows Microsoft GS Wavetable Synth when playing a MIDI file? If so, is the GS Wavetable Synth considered a VST plugin?

My only interest around this was to have the Cantabile 3 Media Player use a better General MIDI output than the GS Wavetable, so that I have the option of staying within Cantabile and playback Gen MIDI files with Media Player. The Cakewalk TTS-1 is a nice GM synth that I use with Sonar, but appears to only exist as a DXi option.

I’ll check into the DXi wrapper option. I also noticed that Roland has introduced a VST version of the original Sound Canvas hardware modules as a Sound Canvas VA product, at the whopping price of $125, but it has several limitations like limitations in the use of Sysex control parameters.

You can route C3 media players to whatever you like - VSTs, racks etc. Route it to your plugins the same way you route normal incoming MIDI.

Neil

Hello Neil…

Appreciate your comment, but the problem is, in my view, a very specific one.

I am seeking a solution for Cantabile 3 to use a General MIDI plugin with Media Player. Media Player will use the built-in Microsoft GS Wavetable, but as you are aware, that “synth” has a poor quality of sounds for most of the GM instruments. With other products that I use, e.g. Sonar Platinum, Band-in-a-Box, those products will allow more capable Gen MIDI synth options because they support DXi which has more General MIDI synth options, e.g. the Cakewalk TTS-1.

I don’t think it’s worthwhile to request an enhancement to Cantabile to support DXi, because as Brad mentions, it is not that widely used and of limited need for existing Cantabile users, and there are some possible workarounds/products that can do what I need. [Problem solved if I could get Sonar as a VST! :grin:]

I am curious, however, how the Cantabile 3 Media Player works with Microsoft GS Wavetable software synth, since I thought that product also used Direct X (DXi)?

I think the Microsoft GS Wavetable software synth is based on Roland Virtual Sound Canvas software. The VSC has had vsti plugin since 2001 as far as i know, and also has a DXI plugin included in the standard Windows style MS GS softsynth driver package. Please correct me if wrong …

Apologies @cfcboc, I think I completely misinterpretted your question and problem…

Neil

There are a number of multitimbral VST plugins you can use for GM.

  • I guess the one that works closest to the original standard is the Roland Sound Canvas VS - you can even set which SC version it emulates! Should be compatible with most midifiles. As I understand, its Sysex issues are more around hosts not being able to route sysex to the plugin. Not sure if there is an issue with Cantabile (don’t own the plugin)
  • If it’s just the sounds, there are a number of great GM/GS soundfonts around. With SFZ or TX16w, you can load these soundfonts and play through these plugins
  • if you want to use your existing DXi plugins, you’ll have to work with a separate DXi host like “Synthie” and connect Cantabile and that host via a virtual midi cable like LoopBe or Loopmidi (just connect the media player to the Loopmidi Midi Out port and then use the Loopmidi Midi In in your DXi host. Not sure if that works with Sonar - don’t own that one

Hope that helps

Cheers,

Torsten

Neil…Never a need for apologies on this forum! Just don’t stop posting… I have benefited many times from your suggestions and solutions!!

1 Like

Torsten…

Yes, the “new” Roland Sound Canvas VS is likely a very good solution and simple to implement. I’m balking at the price of $125.00 for a rehash of old Sound Canvas hardware, but also griping because several years ago I sold off my SC-88 hardware module for $140 on eBay when I purchased the Roland SD-50. Since I use, and like, using the TTS-1 with Sonar, I don’t really care about the the Sysex with Sonar, but would if there were issues with Cantabile. I’ll see if there is a 30-day eval on it and check it out.

Never dabbled with soundfonts, but I could give that a try. I saw a well regarded GM soundfont for about $50, so that could well be the answer.

Per Brad’s suggestion, I am chasing down a possible Dxi -> Vst “wrapper” as an option. Found a product called the Polac VSTi Loader, which I’m checking into as well as Googling to find any other relevant products. Such an option would be ideal from one perspective, i.e. using TTS-1 on both Sonar and Cantabile, so the GM sounds used in MIDI’s developed on Sonar will sound the same in Media Player.

Haven’t heard of the DXi host option, so will look at that as well as a host for TTS-1.

Thanks for the suggestions. I will send along a note as to what I’ve wound up using in case others may be looking for a similar solution.

The reason this works is because Windows makes it available as a MIDI device. So as far as Cantabile is concerned its just a MIDI output port - no DXi magic required.

Brad…

Thanx for the explanation. I tried using the CoolSoft Virtual MIDI Synth, which integrates itself into Windows and will automatically show up with any player software just like the Microsoft GS Wavetable. It automatically shows up in Cantabile and C3 will accept it as a MIDI external synth out, but nothing will sound (using the same outputs as the MS GS wavetable which works). I have to guess that Cantabile sees it as a DXi or something else not compatible.

Note to forum members… I am using the CoolSoft Virtual MIDI Synth (freeware) product as a replacement for the Microsoft GS Wavetable for various other applications, such as Band-In-A-Box, Real Band, MIDI players, and it works well, using any General MIDI soundfont you prefer.

Torsten… you wrote…

There are a number of multitimbral VST plugins you can use for GM. If it’s just the sounds, there are a number of great GM/GS soundfonts around. With SFZ or TX16w, you can load these soundfonts and play through these plugins.

I have found a number of great sounding GM soundfonts which I use with a product called CoolSoft VirtualMIDISynth, and which integrates well with Win 10 and shows up on software MIDI device listings just like the Microsoft GS Wavetable. Although Cantabile recognizes the CoolSoft plugin, it doesn’t play through it (probably C3 sees it as a non-VST).

However, I am struggling to find an SFZ player with a VST option that can play the same GM soundfonts as a multitimbral (16 channels with separate GM instruments on each channel).

I just tried the Plogue Sforzando SFZ player VST option which works in Cantabile 3, but does not play multimbral, so all MIDI channels play using one instrument (and not sure if it responds to program changes).

Been looking around the web and at various forums, but not finding a player that is validated to work in a Win10 64-bit environment. Not sure if the older soundfont players (several of which are no longer readily available/supportable) will work in Win10-64 or have a VST option. Any suggestions?

I’m guessing there’s some sort of competition between it and Cantabile for the sound card. What happens if you set Cantabile to use the Null Audio driver - does it work then?

Brad…

I was using the WASAPI Audio Driver. Changed that to Null Audio, but still no sound when using CoolSoft VirtualMIDISynth. In doing this test, I had no other music software applications opened that might be taking exclusive control of the sound card ( I am using the built-in Realtek audio as the sound source, which works for the MS GS Wavetable).

Looking at the plugins.cache.json and plugins.json files, I did not see any reference to CoolSoft, so I believe that would confirm that a VST plugin was not involved.

As I mentioned earlier, the CoolSoft product shows up in Cantabile and all other software in the same MIDI options as the Microsoft GS Wavetable.

Is there some log or file I could check to see what Cantabile “sees” when it shows the CoolSoft file as an option?

Hi @cfcboc

Just tried VirtualMIDISynth here with mixed results.

  • In Cantabile x86 it seems to work perfectly.
  • In Cantabile x64 it crashes as soon as Cantabile opens in the MIDI device. Also crashes with other x64 programs. I guess this is a question for it’s developer.

It’s definitely not a plugin - it just installs itself as a MIDI device which becomes available to any program looking for MIDI devices.

Having said all that, since it plays soundsfonts, why not just use a sound font VST plugin? eg: SFZ worked well last time I used it. By using a VST you’ll be able to apply effects afterwards, you wont have conflicts with two processes trying to access the sound card etc…

Brad…

Odd results, as it works fine for all five of x64 MIDI applications. I am running on Win10-64 (ver. 1511), and get no crashes even with Cantabile accessing the synth. It sounds like one of the parameters needed for x64 support didn’t get properly installed, and that may happen if you don’t run the .exe installation file as “Administrator” (especially with Win10, as I didn’t do that the first try and it failed). I haven’t seen comments from other users about x64 not working.

I don’t mean to have you spending time working thru this CoolSoft solution, but if you want to try it again, here’s some thoughts.

  • Uninstall your current CoolSoft VirtualMIDISynth to clear the environment.
  • Double check if you have the the stable version (1.17.1) and not the Alpha test version for release 2.0.
  • Reinstall but be sure to install as Administrator on an x64 system. (That supposedly gets around some Windows and 3rd party security issues, since this code alters the Win system and registry). I use the Comodo security software and it kept popping up warning screens and it decided to initially try to run CoolSoft in its isolated environment (which doesn’t work), so I just reinstalled it after telling Comodo not to isolate it.
  • After installation, check that the x64 file exists: C:\Windows\SysWOW64\VirtualMIDISynt (only on 64bit systems) and
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CoolSoft VirtualMIDISynth

Also, be sure to check that you are not using Microsoft’s MIDI Mapper to define CoolSynth. Doing that does lead to some noted problems and you should not have to for most software since the CoolSoft MIDISynth should display right along with the MS GS Wavetable synth.

Now when you said that CoolSoft will run in Cantabile using x32, does that mean you loaded up a soundfont and Media Player would successfully play a MIDI file? or just that it didn’t crash Cantabile?

Also, I agree that the Plogue Sforzando SZF player VST does work with Cantabile 3, as I just tried it yesterday, but I couldn’t get SFZ to play a multitimbral General MIDI file, i.e. one instance of the VST set to Media Player MIDI Output. It would play all 16 MIDI tracks using a single instrument (maybe it’s not picking up program changes). I’ve been searching thru the web and dropped a note on the little used Plogue forum to see if SFZ can actually play a multitimbral GenMIDI file, but so far I have not seen any reference to SFZ playing back GenMIDI files. Am still searching for a GenMIDI VST soundfont player solution, which as you comment, is really all I need.

In any case… Thank you for your ongoing and responsive help!

Hmm, it seems that Sforzando isn’t multitimbral. Unfortunately, it looks like Cakewalk’s SFZ+ Professional (used to be downloadable for free) isn’t available anymore - that one was definitely multi-timbral.

But if you’ve got enough RAM, you could actually use 16 instances of Sforzando in a rack to cobble together your own multitimbral soundfont player:

  • Create a new rack with 16 instances of Sforzando
  • load each with your GM soundfont
  • Connect your Rack’s MIDI In port to each of the 16 instances, but configure each route so that only one channel passes through (1 to first instance, 2 to second, 3 to third, …)
  • Connect all instances’ Stereo Out to the Rack Stereo out (or you can even create multiple outputs for individual tracks)
  • you could even put effects into your rack and create GM-compatible MIDI bindings to effect sends and effect parameters - but let’s leave that for later :wink:
  • Now your rack is a 16-track multitimbral GM instrument!

Maybe you can give that a try if you don’t want to shell out the money for Roland’s plugin…

Cheers,

Torsten

Torsten…

Well, your suggestion sounds a bit like the old adage: If it takes one woman being pregnant 9 months to have a baby; let’s have 9 women pregnant for one month to speed up the process!

The desktop that I am trying to use this on has only 8GB RAM, so doubtful this solution would work, but it would be a useful learning experience to do it with Cantabile. First I need to confirm that Plogue Sforzando SFZ can accept a program change from a MIDI file, which it didn’t seem to be doing in my first test.

You mentioned that Cakewalk’s SFZ+ Professional would work, though no longer available. I may be able to find it from a 3rd party website, or may even have one on one of my archives, since I briefly dabbled with soundfonts a few years ago.

That’s called “multi-core”.

As for SFZ, you’re right I had a play with it last night and couldn’t really get it to work as required. IIRC, what I remember using with SFZ+ and yeah couldn’t find a download for it. (Pretty sure I have it here somewhere but too lazy to go find it :)).

Wouldn’t the problem with using 16 instances be that SFZ didn’t seem to want to respond to program changes to switch between the GM Sounds (at least not with the sound font I was using).

This all reminds me of an idea I once had which was a “sound module” plugin. The idea was a plugin where you configure a different plugins/presets for different MIDI program numbers (ie: 128 plugin/presets). This plugin would then re-host them and make them appear as a single plugin to the main host where on receiving program change it’d load the appropriate plugin/preset for that MIDI channel. It’d need some smarts to not load all 128 at once and to load multiple instances if the same program was selected on more than one channel but seemed like a doable thing.

I’ve also considered implementing a the same thing natively in Cantabile where you could “Add Sound Module” just like you can “Add Plugin” or “Add Rack” but never really had the demand for it.