BASSMIDI MIDI synthesiser for Windows XP/Vista/7, A new SoundFont based MIDI synth for Win7/Vista/XP |
![]() ![]() |
BASSMIDI MIDI synthesiser for Windows XP/Vista/7, A new SoundFont based MIDI synth for Win7/Vista/XP |
Mar 23 2011, 14:33
Post
#1
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
This is a new SoundFont-based usermode MIDI system driver for Windows XP, Vista, 7 and 8.
It uses the BASSMIDI library by Ian Luck, as the synthesiser. Features: * Dynamic sample caching * Unlimited polyphony * Compressed SoundFont support * SoundFont chaining/stacking * Works on Windows Vista and Windows 7, including 64-bit versions. * Support for the following controllers & events: MIDI note events. MIDI program events. Channel pressure. Pitch wheel. Bank change MSB. (CC#0) Modulation. (CC#1) Portamento. (CC#65 / CC#84 / CC#5) Volume. (CC#7) Panning. (CC#10) Expression. (CC#11) Sustain pedal. (CC#64) Soft pedal. (CC#67) Low-pass filter resonance. (CC#71 or NRPN 121h) Release time. (CC#72 or NRPN 166h) Attack time. (CC#73 or NRPN 163h) Low-pass filter cut-off. (CC#74 or NRPN 120h) Reverb send level. (CC#91) Chorus send level. (CC#93) Stop all sounds. (CC#120) Reset all controllers. (CC#121) Release all keys. (CC#123) Mono/poly mode. (CC#126 and CC#127, respectively.) Pitch wheel range. (RPN 0) Fine tuning. (RPN 1) Coarse tuning. (RPN 2) And presumably if GS/GM2 mode is activated: Drum key low-pass filter cut-off. (NRPN 14knh) Drum key low-pass filter resonance. (NRPN 15knh) Drum key coarse tune. (NRPN 18knh) Drum key fine tune. (NRPN 19knh) Drum key volume level. (NRPN 1Aknh) Drum key panning. (NRPN 1Cknh) Drum key reverb send level. (NRPN 1Dknh) Drum key chorus send level. (NRPN 1Eknh) It also supports GM, GS, and XG reset System Exclusive messages, and the drum channel enabling features of GS and XG when switched into those modes. It also supports GS and possibly XG reverb preset control messages for adjusting reverb time, delay, low-pass cut-off, high-pass cut-off, and level. And chrorus delay, depth, rate, feedback, level, and chorus to reverb send level. It also supports the master volume level message. kode54 should be thanked for making this possible. I wrote the installer and configuration app. http://mudlord.info/bassmididrv This post has been edited by mudlord: Aug 3 2012, 00:57 |
|
|
|
Mar 29 2011, 08:50
Post
#2
|
|
![]() Group: Members Posts: 607 Joined: 16-January 09 Member No.: 65630 |
Thanks kode54
![]() How should I add Colossus? It's one instrument per soundfont, and it seems that it can't load sflist (like foo_midi i.e.) This post has been edited by romor: Mar 29 2011, 08:52 -------------------- Scripts (mainly foobar2000 related): http://goo.gl/yje3h
|
|
|
|
Mar 31 2011, 07:51
Post
#3
|
|
![]() Group: Members Posts: 76 Joined: 31-March 11 Member No.: 89441 |
Hi Mudlord and Kode54,
Man... I've been looking for something like this for EONS! Heh, I've been nagging Ian Luck (the author of XMPlay/XMPlay MIDI Plugin/BASS libraries) for ages now for something like this, a "global" Windows MIDI driver of sorts based upon XMPlay's MIDI plugin. In the last bit of discussion with him on the subject (quite some time ago) he replied, "Find someone to code it in BASS" <grin>, and now it looks like someone actually did Anyhow, I installed the BASSMIDI MIDI Synthesizer driver... and it works GREAT!!! From what I could tell, ZERO latency, and it sounds just like XMPlay's MIDI plugin One problem for me though, it seems to completely knock out/disable Jamie O'Connell's "MIDI Yoke" patch driver (MIDI devices: "Out To MIDI Yoke: #", "In From MIDI Yoke: #", etc...). I use that driver for various things when composing MIDI music. Other than that, it works great. Any idea as to why the driver would disable MIDI Yoke? Anyways, thanks for a GREAT soundfont compatable MIDI driver! This post has been edited by RichNagel: Mar 31 2011, 07:52 |
|
|
|
Mar 31 2011, 08:24
Post
#4
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
I guess the reason why it knocks out MIDI Yoke, is because it writes to a specific reg entry, to work around issues with some Creative drvers.
I guess that reg entry is used for MIDI Yoke as well, unfortunately. I guess I can try and redo the registry code to write to any other reg key which is the default WDM synth (which there is PLENTY of free slots, since the WDM driver takes a lot....heh). Any download links for MIDI Yoke, so I can try and make a workaround? I personally use Win7 x64, if that will be a problem... This post has been edited by mudlord: Mar 31 2011, 08:42 |
|
|
|
Mar 31 2011, 08:27
Post
#5
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Thanks kode54 ![]() How should I add Colossus? It's one instrument per soundfont, and it seems that it can't load sflist (like foo_midi i.e.) One workaround until I fix that is you can reuse your foo_midi SoundFont lists. In your %systemroot% folder, copy your listfile, to "bassmidi.sflist". |
|
|
|
Mar 31 2011, 08:56
Post
#6
|
|
![]() Group: Members Posts: 607 Joined: 16-January 09 Member No.: 65630 |
great
thanks for the tip I used in the past MIDI Yoke (or Maple MIDI), with Putzlowitschs MIDI Mapper for Vista/7 and load SF from sfx+ then route the player/app or whatever was using MIDI which now is done without all this trouble -------------------- Scripts (mainly foobar2000 related): http://goo.gl/yje3h
|
|
|
|
Mar 31 2011, 10:33
Post
#7
|
|
![]() Group: Members Posts: 607 Joined: 16-January 09 Member No.: 65630 |
also allow me to throw another thing I forgot to praise: SF that were impossible to load due to memory limitation now can be loaded thanks to dynamic handling (which I suspect is just the same feature as present in foo_midi)
This post has been edited by romor: Mar 31 2011, 10:33 -------------------- Scripts (mainly foobar2000 related): http://goo.gl/yje3h
|
|
|
|
Mar 31 2011, 10:59
Post
#8
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Same feature, because of exact same synth library used.
|
|
|
|
Mar 31 2011, 18:40
Post
#9
|
|
![]() Group: Members Posts: 76 Joined: 31-March 11 Member No.: 89441 |
I guess the reason why it knocks out MIDI Yoke, is because it writes to a specific reg entry, to work around issues with some Creative drvers. I guess that reg entry is used for MIDI Yoke as well, unfortunately. Thanks for the info I guess I can try and redo the registry code to write to any other reg key which is the default WDM synth (which there is PLENTY of free slots, since the WDM driver takes a lot....heh). That would be great! Any download links for MIDI Yoke, so I can try and make a workaround? I personally use Win7 x64, if that will be a problem... MIDI Yoke can be downloaded from here -> http://www.midiox.com/myoke.htm . I'm not sure about issues with Windows 7, but here are the forums for MIDI Yoke (which mention installation under W7) -> http://www.midiox.com/cgi/yabb/YaBB.pl?board=MYInstall . Again, thanks for a great MIDI driver, and any help |
|
|
|
Apr 3 2011, 00:25
Post
#10
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
I posted a updated driver a while back on my site, to work around these bugs.
|
|
|
|
Apr 3 2011, 02:00
Post
#11
|
|
|
Group: Members Posts: 26 Joined: 8-January 11 From: Griswold, IA Member No.: 87162 |
If I have a Creative sound card and use the Creative Sound Font Bank Manager, will I have any use for this? The prospect of lower memory usage is appealing.
|
|
|
|
Apr 3 2011, 07:33
Post
#12
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
If you play around with MIDI's a fair bit, sure.
The driver emulates some GS features that E-mu based synths don't do, as well as some XG features too. So, its a GM2 level synth. Creative's hardware synth is not.. Also, if you use a LOT of SoundFonts OR you want to load more than 4GB of soundfonts easily, sure, the memory usage will be a major contributer. And the synth was tested with around 4.5GB of SoundFonts. |
|
|
|
Apr 3 2011, 20:08
Post
#13
|
|
|
Group: Members Posts: 26 Joined: 8-January 11 From: Griswold, IA Member No.: 87162 |
Thanks! Now to figure out how to remove Microsoft GS as the 0 ID device.
|
|
|
|
Apr 4 2011, 11:19
Post
#14
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
|
|
|
|
Apr 4 2011, 12:21
Post
#15
|
|
![]() Group: Members Posts: 76 Joined: 31-March 11 Member No.: 89441 |
And why is that? Last time a user did that, it hosed all sorts of MIDI related stuff. I myself don't mind keeping the MSGS SW Synth around on my PC. Why's that? Although I'm no fan whatsoever of the sound of the Roland SC-55 MIDI modules, the "GM.DLS" sound set that the MSGS SW Synth uses is essentially a direct dump of the SC-55's onboard sample ROM. Configure WinDoze to use the MSGS SW Synth, add a bit of Sound Blaster Live EAX reverb (as the MSGS SW Synth is 'dry' as a bone), and whammo... instant virtual SC-55 <grin>. Although, with the newer drivers for the SBLive/Audigy/X-Fi/etc... one could always load the GM.DLS directly into the EMU of those sound cards, as the Windows XP (and newer) drivers for them support loading DLS format sound sets (as well as SoundFonts, of course). This post has been edited by RichNagel: Apr 4 2011, 12:23 |
|
|
|
Apr 4 2011, 17:35
Post
#16
|
|
|
Group: Members Posts: 26 Joined: 8-January 11 From: Griswold, IA Member No.: 87162 |
Thanks! Now to figure out how to remove Microsoft GS as the 0 ID device. And why is that? Last time a user did that, it hosed all sorts of MIDI related stuff. What I meant to say was making BASS the default MIDI device. For things like PRBoom+ and eDuke32, they auto-default to MSGS. I'm assuming it's because of its placement as the 0 ID. In their config files, there are settings to specify which device to use, but regardless of what I put, it always uses MSGS. Setting the default device in the BASSMIDI config isn't working. |
|
|
|
Apr 5 2011, 06:14
Post
#17
|
|
|
Group: Members Posts: 14 Joined: 15-December 10 Member No.: 86520 |
This is a great idea! I've been using loopbe1 and programs like SFZ+ and SyFonOne, and BASSMIDI could definitely simplify things. Unfortunately, I'm getting audio glitches with BASSMIDI that I don't get with the other method. For example, I use the "ProTrax_Classical_Guitar" for the nylon string guitar, and when I play a simple .ptb file in PowerTab that uses just that single instrument, e.g. "Jesu Joy Of Man's Desiring", within 10 seconds or so, I start to hear little "bzzzt" or staticky sounds after most every note. There are also some glitches with the configuration program's listbox handling, e.g. it can generate blank items and write them to the file, clicking "Down" on the bottom item removes it, etc. Finally, am I correct in thinking that to observe changes made via the configuration program, you have to restart the client program, e.g. PowerTab?
|
|
|
|
Apr 5 2011, 11:08
Post
#18
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Thanks! Now to figure out how to remove Microsoft GS as the 0 ID device. And why is that? Last time a user did that, it hosed all sorts of MIDI related stuff. What I meant to say was making BASS the default MIDI device. For things like PRBoom+ and eDuke32, they auto-default to MSGS. I'm assuming it's because of its placement as the 0 ID. In their config files, there are settings to specify which device to use, but regardless of what I put, it always uses MSGS. Setting the default device in the BASSMIDI config isn't working. Tried other stuff like: http://software.bootblock.co.uk/?id=vistamidipicker http://www.brainmaster.com/kb/entry/334/ ? If those don't work, I dunno what the issue is. This post has been edited by mudlord: Apr 5 2011, 11:09 |
|
|
|
Apr 5 2011, 11:10
Post
#19
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
There are also some glitches with the configuration program's listbox handling, e.g. it can generate blank items and write them to the file, clicking "Down" on the bottom item removes it, etc. Finally, am I correct in thinking that to observe changes made via the configuration program, you have to restart the client program, e.g. PowerTab? Thanks for reporting, they seem to be all fixed, so it should be ready for the next version. And yes for SoundFont changes, the host app needs to be restarted. This post has been edited by mudlord: Apr 5 2011, 11:55 |
|
|
|
Apr 6 2011, 08:57
Post
#20
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Actually, might have a solution to the MIDI sticking issue for some issues, which will be in the next version. Worked with someone who had the exact same issues, to fix it for him, so the fix might work for others.
|
|
|
|
Apr 7 2011, 01:07
Post
#21
|
|
|
Group: Members Posts: 26 Joined: 8-January 11 From: Griswold, IA Member No.: 87162 |
Thanks! Now to figure out how to remove Microsoft GS as the 0 ID device. And why is that? Last time a user did that, it hosed all sorts of MIDI related stuff. What I meant to say was making BASS the default MIDI device. For things like PRBoom+ and eDuke32, they auto-default to MSGS. I'm assuming it's because of its placement as the 0 ID. In their config files, there are settings to specify which device to use, but regardless of what I put, it always uses MSGS. Setting the default device in the BASSMIDI config isn't working. Tried other stuff like: http://software.bootblock.co.uk/?id=vistamidipicker http://www.brainmaster.com/kb/entry/334/ ? If those don't work, I dunno what the issue is. Doesn't work. Maybe the issue is with the programs I mentioned. Regardless, thanks for the help! |
|
|
|
Apr 7 2011, 11:59
Post
#22
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Uploaded new version. Don't blame me if your AV goes utterly haywire. Blame the leeching slut for it....
|
|
|
|
Apr 7 2011, 13:35
Post
#23
|
|
![]() Group: Members Posts: 76 Joined: 31-March 11 Member No.: 89441 |
Uploaded new version. Don't blame me if your AV goes utterly haywire. Blame the leeching slut for it.... Mine simply reported that the file(s) were packed with something (I forget now, "EXE Append" or "EXE Pack", something like that, I forget now). Otherwise, no reports of viri P.S. This using McAfee Command Line v6.0.3, with the latest DAT files/updates. Anyhow, works perfectly, Mudlord, thanks! This post has been edited by RichNagel: Apr 7 2011, 13:35 |
|
|
|
Apr 7 2011, 13:42
Post
#24
|
|
![]() Group: Developer (Donating) Posts: 713 Joined: 1-December 07 Member No.: 49165 |
Wow, only those?
I was expecting much, much worse false positives. But yes, the files are indeed encrypted, and not just packed with something stupid like UPX/ASPack/PECompact/etc..... This post has been edited by mudlord: Apr 7 2011, 13:43 |
|
|
|
Apr 7 2011, 14:08
Post
#25
|
|
![]() Group: Members Posts: 76 Joined: 31-March 11 Member No.: 89441 |
Wow, only those? I was expecting much, much worse false positives. But yes, the files are indeed encrypted, and not just packed with something stupid like UPX/ASPack/PECompact/etc..... Yeah, they were simply reports of packed EXE/DLL files. I found McAfee Command Line to be pretty reliable... with the expanse of command line options that I use when scanning files, it will report anything that is packed, and if it finds anything within those packed files. In other words, as long as it doesn't report an _actual_ virus, the packed files messages can simply be ignored (as well as the "Objects Possibly Infected" and "Possibly Infected" summaries, as if McAfee actually found a virus, it would report what it actually found; the name of the virus/infection) FWIW, here's a scan log: CODE Copyright (C) 2010 McAfee, Inc. (408) 988-3832 LICENSED COPY - June 16 2010 AV Engine version: 5400.1158 for Win32. Dat set version: 6308 created Apr 6 2011 Scanning for 657207 viruses, trojans and variants. Summary Report on Process Scanning Process(es) Total processes:............... 22 Clean:......................... 22 Not Scanned:................... 0 Possibly Infected:............. 0 C:\Test\BASS.dll ... is packaged using New Packer. C:\Test\BASSMIDI.dll ... is packaged using New Packer. C:\Test\BASSMIDIDrv.exe ... is packaged using Nullsoft. C:\Test\BASSMIDIDrv.exe\6.nsis ... is packaged using New Packer. C:\Test\BASSMIDIDrv.exe\7.nsis ... is packaged using New Packer. C:\Test\BASSMIDIDrvUninstall.exe ... is packaged using Nullsoft. Possibly Infected:............. 0 C:\Test\BASS.dll ... is packaged using New Packer. C:\Test\BASSMIDI.dll ... is packaged using New Packer. C:\Test\BASSMIDIDrv.exe ... is packaged using Nullsoft. C:\Test\BASSMIDIDrv.exe\6.nsis ... is packaged using New Packer. C:\Test\BASSMIDIDrv.exe\7.nsis ... is packaged using New Packer. C:\Test\BASSMIDIDrvUninstall.exe ... is packaged using Nullsoft. Summary Report on C:\Test File(s) Total files:................... 6 Total Objects:................. 24 Clean:......................... 2 Not Scanned:................... 0 Possibly Infected:............. 4 Objects Possibly Infected:..... 6 This post has been edited by RichNagel: Apr 7 2011, 14:11 |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 25th May 2013 - 00:15 |