IPB

Welcome Guest ( Log In | Register )

14 Pages V   1 2 3 > »   
Reply to this topicStart new topic
BASSMIDI MIDI synthesiser for Windows XP/Vista/7, A new SoundFont based MIDI synth for Win7/Vista/XP
mudlord
post Mar 23 2011, 14:33
Post #1





Group: Developer (Donating)
Posts: 797
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
Go to the top of the page
+Quote Post
romor
post Mar 29 2011, 08:50
Post #2





Group: Members
Posts: 650
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: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
RichNagel
post Mar 31 2011, 07:51
Post #3





Group: Members
Posts: 81
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 smile.gif

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 smile.gif Running on a P4 2.666Ghz CPU with 768MB RAM under Windows XP Pro SP3, output was smooth with no glitches or stutters.

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! smile.gif

This post has been edited by RichNagel: Mar 31 2011, 07:52
Go to the top of the page
+Quote Post
mudlord
post Mar 31 2011, 08:24
Post #4





Group: Developer (Donating)
Posts: 797
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
Go to the top of the page
+Quote Post
mudlord
post Mar 31 2011, 08:27
Post #5





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



QUOTE (romor @ Mar 29 2011, 02:50) *
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".
Go to the top of the page
+Quote Post
romor
post Mar 31 2011, 08:56
Post #6





Group: Members
Posts: 650
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: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
romor
post Mar 31 2011, 10:33
Post #7





Group: Members
Posts: 650
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: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
mudlord
post Mar 31 2011, 10:59
Post #8





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



Same feature, because of exact same synth library used.
Go to the top of the page
+Quote Post
RichNagel
post Mar 31 2011, 18:40
Post #9





Group: Members
Posts: 81
Joined: 31-March 11
Member No.: 89441



QUOTE (mudlord @ Mar 31 2011, 02:24) *
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 smile.gif


QUOTE (mudlord @ Mar 31 2011, 02:24) *
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! smile.gif


QUOTE (mudlord @ Mar 31 2011, 02:24) *
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 smile.gif
Go to the top of the page
+Quote Post
mudlord
post Apr 3 2011, 00:25
Post #10





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



I posted a updated driver a while back on my site, to work around these bugs.
Go to the top of the page
+Quote Post
Vagabond
post 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.
Go to the top of the page
+Quote Post
mudlord
post Apr 3 2011, 07:33
Post #12





Group: Developer (Donating)
Posts: 797
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.
Go to the top of the page
+Quote Post
Vagabond
post 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.
Go to the top of the page
+Quote Post
mudlord
post Apr 4 2011, 11:19
Post #14





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



QUOTE (Vagabond @ Apr 3 2011, 14:08) *
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.
Go to the top of the page
+Quote Post
RichNagel
post Apr 4 2011, 12:21
Post #15





Group: Members
Posts: 81
Joined: 31-March 11
Member No.: 89441



QUOTE (mudlord @ Apr 4 2011, 05:19) *
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
Go to the top of the page
+Quote Post
Vagabond
post Apr 4 2011, 17:35
Post #16





Group: Members
Posts: 26
Joined: 8-January 11
From: Griswold, IA
Member No.: 87162



QUOTE (mudlord @ Apr 4 2011, 05:19) *
QUOTE (Vagabond @ Apr 3 2011, 14:08) *
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.
Go to the top of the page
+Quote Post
tima
post 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?
Go to the top of the page
+Quote Post
mudlord
post Apr 5 2011, 11:08
Post #18





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



QUOTE (Vagabond @ Apr 4 2011, 10:35) *
QUOTE (mudlord @ Apr 4 2011, 05:19) *
QUOTE (Vagabond @ Apr 3 2011, 14:08) *
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
Go to the top of the page
+Quote Post
mudlord
post Apr 5 2011, 11:10
Post #19





Group: Developer (Donating)
Posts: 797
Joined: 1-December 07
Member No.: 49165



QUOTE (tima @ Apr 4 2011, 23:14) *
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
Go to the top of the page
+Quote Post
mudlord
post Apr 6 2011, 08:57
Post #20





Group: Developer (Donating)
Posts: 797
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.
Go to the top of the page
+Quote Post
Vagabond
post Apr 7 2011, 01:07
Post #21





Group: Members
Posts: 26
Joined: 8-January 11
From: Griswold, IA
Member No.: 87162



QUOTE (mudlord @ Apr 5 2011, 05:08) *
QUOTE (Vagabond @ Apr 4 2011, 10:35) *
QUOTE (mudlord @ Apr 4 2011, 05:19) *
QUOTE (Vagabond @ Apr 3 2011, 14:08) *
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!
Go to the top of the page
+Quote Post
mudlord
post Apr 7 2011, 11:59
Post #22





Group: Developer (Donating)
Posts: 797
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....
Go to the top of the page
+Quote Post
RichNagel
post Apr 7 2011, 13:35
Post #23





Group: Members
Posts: 81
Joined: 31-March 11
Member No.: 89441



QUOTE (mudlord @ Apr 7 2011, 05:59) *
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 smile.gif

P.S. This using McAfee Command Line v6.0.3, with the latest DAT files/updates.

Anyhow, works perfectly, Mudlord, thanks! smile.gif

This post has been edited by RichNagel: Apr 7 2011, 13:35
Go to the top of the page
+Quote Post
mudlord
post Apr 7 2011, 13:42
Post #24





Group: Developer (Donating)
Posts: 797
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
Go to the top of the page
+Quote Post
RichNagel
post Apr 7 2011, 14:08
Post #25





Group: Members
Posts: 81
Joined: 31-March 11
Member No.: 89441



QUOTE (mudlord @ Apr 7 2011, 07:42) *
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) smile.gif

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
Go to the top of the page
+Quote Post

14 Pages V   1 2 3 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th April 2014 - 14:58