Author Topic: XMPlay MIDI plugin  (Read 705991 times)

stanton

  • Posts: 25
Re: XMPlay MIDI plugin
« Reply #25 on: 14 Mar '06 - 20:20 »
hmm this is good and all but.. umm made my midi i make sound funky o.O
less bass :( but other than that seems to work great..
it did make my edited ver of the impmarch starwars theme for Vader sound sooo much better my god! im in love!

not long ago i learned its easyer to make music in midi formate than mp3 fl studio isnt that good.. i like the trackers out there.. and yea.
midi plugin is better than the winamp.. need controles for it.. kinda like the eqlizare and things..
« Last Edit: 14 Mar '06 - 20:23 by stanton »

Rah'Dick

  • Posts: 989
Re: XMPlay MIDI plugin
« Reply #26 on: 14 Mar '06 - 21:39 »
The plugin seems to work fine here, but I must confess to being rather ignorant in these matters - how come I need a sound font to play .mid files in XMPlay when I didn't need one to play them in Windows Media Player? As far as I can see, I didn't have a sound font on my system until I installed the Chromium one just now. Many thanks.

You need one to play MIDI in Windows Media Player, too - you just don't have to set it manually, because it comes with Windows. Look for "C:\Windows\system32\gm.dls".

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #27 on: 14 Mar '06 - 22:26 »
As Rah'Dick posted, many sound card use Windows native DirectX (more specifically, DirectMusic) for their MIDI music playback. DirectMusic is a software synthesizer (similar to how the XMPlay MIDI plugin operates), but uses DLS sound banks to generate the resulting music with. DLS is a proprietary format of Roland, and stands for "Downloadable Sounds"... similar to the CLI's/EMU's SF2 format SoundFont sound banks. Many Roland MIDI hardware devices can load DLS format sound banks, just like many CLI/EMU hardware devices can load SF2 format "soundfont" sound banks (as well as the older "SBK" format).

Now, to throw a small cog in the wheel LOL, some PCs have a sound card (or an onboard chip on the motherboard) which is a wavetable MIDI sound card or daughterboard (example: the older CLI "WaveBlaster", as well as the Roland "Sound Canvas" series of daughterboards and standalone MIDI devices). These wavteable cards do not require the loading of a sound bank, as they have real recorded samples stored in an onboard ROM contained on the board (hence, these cards don't require an SF2 or a DLS sound bank to operate).

Anyways, think of it like this: A sound bank consisits of numerous small real recorded clips of real instruments (as an example, a single trumpet playing one note for one second). The software (or hardware MIDI device) plays back this sound sample at different pitches and durations based on the MIDI file that it is currently playing, generating the resulting music/song that you hear.
« Last Edit: 20 Mar '06 - 18:32 by Rich Nagel »

stanton

  • Posts: 25
Re: XMPlay MIDI plugin
« Reply #28 on: 14 Mar '06 - 23:36 »
As Rah'Dick posted, many sound card use Windows native DirectX (more specifically, DirectMusic) for their MIDI music playback. DirectMusic is a software synthesizer (similar to how the XMPlay MIDI plugin operates), but uses DLS sound banks to generate the resulting music with. DLS is a proprietary format of Roland, and stands for "Downloadable Sounds"... similar to the CLI's/EMU's SF2 format SoundFont sound banks. Many Roland MIDI hardware devices can load DLS format sound banks, just like many CLI/EMU hardware devices can load SF2 format "soundfont" sound banks (as well as the older "SBK" format).

Now, to throw a small cog in the wheel LOL, some PCs have a sound card (or an onboard chip on the motherboard) which is a wavetable MIDI sound card or daughterboard (example: the older CLI "WaveBlaster", as well as the Yamaha "Sound Canvas" series of daughterboards and standalone MIDI devices). These wavteable cards do not require the loading of a sound bank, as they have real recorded samples stored in an onboard ROM contained on the board (hence, these cards don't require an SF2 or a DLS sound bank to operate).

Anyways, think of it like this: A sound bank consisits of numerous small real recorded clips of real instruments (as an example, a single trumpet playing one note for one second). The software (or hardware MIDI device) plays back this sound sample at different pitches and durations based on the MIDI file that it is currently playing, generating the resulting music/song that you hear.
true... so true. um i use a nfroce 6channel sound card..
it uses DirectX/music
and useing this addon pluse soundfonts for xmplay seem to make it sound little less umm what's that word oh yes computer genorated.. like an old 95 or older.... any ways i got meh midi's sounding great now after missing around with teh files ^.^

rxs2k5

  • Posts: 3
Re: XMPlay MIDI plugin
« Reply #29 on: 15 Mar '06 - 09:54 »
hi pros,

I added the midi plugin in and downloaded the Chorium, but XMPlay gave me an error when i tried to play one of the demos in the folder, it said this " MIDI error " "Can't load soundfront!". But when I double click on the midi itself, it played in windows media player.

Any advices ??

Brian

  • Posts: 733
Re: XMPlay MIDI plugin
« Reply #30 on: 15 Mar '06 - 09:58 »
Thanks very much for the helpful explanations. I found gm.dls in C:\Windows\System 32\Drivers.

rxs2k5 - you need to go to the plugin config and browse to the Chorium font.
« Last Edit: 15 Mar '06 - 10:19 by Brian »

Ian @ un4seen

  • Administrator
  • Posts: 26083
Re: XMPlay MIDI plugin
« Reply #31 on: 15 Mar '06 - 14:24 »
That should now be possible. I've not tested it though, so let me know if it's not working properly.

It doesn't appear to be working properly. I've uploaded a small sample (hohner.zip), it contains a custom SF2 (HOHNER.SF2) and matching MIDI file (HOHNER.MID).

Yep, it wasn't falling back to the main soundfont properly. It should be ok now.

The SF2 has one patch contained in it, GM patch #22 - Harmonica (0 based patches), set for Bank 1.

The patch 22 in HOHNER.SF2 is actually set in bank 0, but so long as the main soundfont doesn't have a patch 22 in bank 1, the plugin will fall back to it :)

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #32 on: 16 Mar '06 - 02:53 »
Yep, it wasn't falling back to the main soundfont properly. It should be ok now.

Working perfectly now :thumbsup: -:)


The patch 22 in HOHNER.SF2 is actually set in bank 0, but so long as the main soundfont doesn't have a patch 22 in bank 1, the plugin will fall back to it :)

My mistake... been quite some time since I created that soundfont <BG>. Anyhow, all seems to be working fine now... the harmonica is coming from the HOHNER.SF2 soundfont file, while the accoustic guitar is coming from the main base SF2 -:)
« Last Edit: 16 Mar '06 - 02:55 by Rich Nagel »

Knurek

  • Posts: 535
Re: XMPlay MIDI plugin
« Reply #33 on: 16 Mar '06 - 17:27 »
Some other suggestions:

1) Would it be possible to detect FM MIDI files and pass them to Adplug (like you already do with Adlib S3Ms)? I've uploaded an archive that has GM and FM versions of the same music.

/Edit: I've actually tried to play them with Adplug, and surprisingly they don't play at all... Hmm, I'm gonna look for other examples then...

2) What about Timidity (http://sourceforge.net/projects/timidity) soundfonts support (GUS patches)? While the original Gravis patches aren't all that good, there are some good compilations (EAWPats, FreePats).

3) Any chance for adding support to other MIDI formats that in_midi support (KAR, HMP, HMI, XMI, MUS, CMF)? Not sure if they are documented somewhere, and I guess I can always convert them with in_midi (I think), so it's not that important.

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #34 on: 17 Mar '06 - 08:36 »
A couple of rather interesting SoundFonts with demo MIDIs that I created eons ago <G> (eventually I'll get around to uploading more of them, I have quite a few obscure SF2/MIDI creations such as these):

(Note: URLs are case-sensitive)

http://www.cmoo.com/snor/weeds/SoundFonts/Gatorade.txt
http://www.cmoo.com/snor/weeds/SoundFonts/Gatorade.zip

http://www.cmoo.com/snor/weeds/SoundFonts/PCBeep.txt
http://www.cmoo.com/snor/weeds/SoundFonts/PCBeep.zip

Download, unzip, read the text files, and play the MIDIs (enable autoloading of matching MIDI/SF2 filenames within the plugin's configuration window). Hehe, rather surprising, isn't it <BG>?
« Last Edit: 1 Oct '09 - 04:48 by Rich Nagel »

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #35 on: 17 Mar '06 - 10:16 »
Btw, I also plan to add support for stacking soundfonts.

That would be super! :thumbsup: -:) Man, this thing is almost gonna make internal PC EMU hardware obsolete <LOL>! -:)

Hehe, now all we need is a global Windows MIDI driver based on the plugin <G> -:)
« Last Edit: 17 Mar '06 - 10:17 by Rich Nagel »

rxs2k5

  • Posts: 3
Re: XMPlay MIDI plugin
« Reply #36 on: 17 Mar '06 - 10:19 »
Thanks very much for the helpful explanations. I found gm.dls in C:\Windows\System 32\Drivers.

rxs2k5 - you need to go to the plugin config and browse to the Chorium font.


Thank you very much, XMPlay rocks, small and much more powerful than winamp, keep up the good work, will spread these tools to everyone.

Ian @ un4seen

  • Administrator
  • Posts: 26083
Re: XMPlay MIDI plugin
« Reply #37 on: 17 Mar '06 - 16:44 »
2) What about Timidity (http://sourceforge.net/projects/timidity) soundfonts support (GUS patches)? While the original Gravis patches aren't all that good, there are some good compilations (EAWPats, FreePats).

Nope, I'm afraid there are no plans for that at the moment.

3) Any chance for adding support to other MIDI formats that in_midi support (KAR, HMP, HMI, XMI, MUS, CMF)? Not sure if they are documented somewhere, and I guess I can always convert them with in_midi (I think), so it's not that important.

If they're not too different to standard MIDI files, then I guess it shouldn't be a problem to add support. You'll have to provide the test files though, as I don't have any of those :)

A couple of rather interesting SoundFonts with demo MIDIs that I created eons ago <G> (eventually I'll get around to uploading more of them, I have quite a few obscure SF2/MIDI creations such as these):

...

Download, unzip, read the text files, and play the MIDIs (enable autoloading of matching MIDI/SF2 filenames within the plugin's configuration window). Hehe, rather surprising, isn't it <BG>?

Very nice :)

Note that you don't really have to unzip the files though, if you have the ZIP plugin ;)

Anyway... another update is up now, which lists the markers in the "Message" info and the instruments/patches used in the "Samples" info.

Lumina83

  • Guest
Re: XMPlay MIDI plugin
« Reply #38 on: 17 Mar '06 - 23:26 »
Actually, you do have to unzip them, otherwise XMPlay won't read the soundfont.

raina

  • Posts: 1163
Re: XMPlay MIDI plugin
« Reply #39 on: 18 Mar '06 - 18:41 »
Well do you have the zip plugin?

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #40 on: 18 Mar '06 - 20:02 »
Very nice :)

Glad ya liked 'em -:) More (similar obscure ones) to come (when I get the time to upload them).


Note that you don't really have to unzip the files though, if you have the ZIP plugin ;)

I've never used that ZIP plugin before. Just downloaded and installed it, works great (with the soundfonts as well) -:)


Anyway... another update is up now, which lists the markers in the "Message" info and the instruments/patches used in the "Samples" info.

:thumbsup: -:) Something that's rather cool is how the instrument/sample name is displayed right at the time that it's initially used/played... *yes*, I know that I'm easily amused <LOL>! -:)


@Lumina83

It worked fine for me. Do you have the latest version of the ZIP plugin?
« Last Edit: 18 Mar '06 - 20:04 by Rich Nagel »

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #41 on: 18 Mar '06 - 21:22 »
@Ian (feature request):

Any chance of supporting the older SBK sound bank format (the predecessor of SF2 v2.0/2.1)? -:)

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #42 on: 19 Mar '06 - 06:38 »
A few more rather interesting and obscure SoundFonts with demo MIDIs that I created eons ago <G>:

(Note: URLs are case-sensitive)

Coffee Can
http://www.cmoo.com/snor/weeds/SoundFonts/Coffee.txt
http://www.cmoo.com/snor/weeds/SoundFonts/Coffee.zip

Wine Goblet
http://www.cmoo.com/snor/weeds/SoundFonts/Goblet.txt
http://www.cmoo.com/snor/weeds/SoundFonts/Goblet.zip

The Jerky Boys Rap! (This thing started it's life in 1995 as a MOD Tracker format music file, and was reverse-engineered/converted/tracked a few years later to a MIDI and matching SF2 SoundFont format file <BG>. P.S. A tape of the original MOD file was played back in '96 on a local radio station (Y-100) when I used to live in Miami <LOL>!)
http://www.cmoo.com/snor/weeds/SoundFonts/JerkyBoy.txt
http://www.cmoo.com/snor/weeds/SoundFonts/JerkyBoy.zip

Primitive Instruments
http://www.cmoo.com/snor/weeds/SoundFonts/Primitiv.txt
http://www.cmoo.com/snor/weeds/SoundFonts/Primitiv.zip

Download, unzip (not needed when using the XMPlay ZIP archive plugin, although you'll need to unzip the text file to read it <G>), read the text files, and play the MIDIs (enable autoloading of matching MIDI/SF2 filenames within the plugin's configuration window).


More to come...
« Last Edit: 1 Oct '09 - 04:47 by Rich Nagel »

Brian

  • Posts: 733
Re: XMPlay MIDI plugin
« Reply #43 on: 19 Mar '06 - 09:13 »
Shouldn't this now move to the General Discussion forum? There are various threads there about MIDIs.

Zarggg

  • Posts: 1242
Re: XMPlay MIDI plugin
« Reply #44 on: 19 Mar '06 - 13:37 »
Not really. It's still technically about a plugin. :p

yosh64

  • Guest
Re: XMPlay MIDI plugin
« Reply #45 on: 19 Mar '06 - 15:06 »
hey

I JUST WANTED TO SAY THIS IS THE BEST!!! <- sorry about the caps

But yea, MIDI's sound so good now. :D :D :D BIG BIG THX

I actually got into listening to MIDI's again, it's great listening to other peoples interpretations and perceptions of music found at http://www.vgmusic.com. Anyhows the winamp MIDI plugin I was previously using was quite anoying, crashing alot AND I decided just before to look for another MIDI plugin when I googled into this!

PLUS I was not very pleased with how the MIDI's were sounding on my computer, well I thought the microsoft software synch didn't seem to handle volume panning and such things very well, although I thought their .DLS wavetable was alright... ALSO I was using my onboard AC97 audio, but just recently I chucked my old Vibra128 soundcard back in (after reading an old review saying they are better than the onboard AC97), and also cause I seemed to think/remember it's software synch was better, well it was but the wavetable (.ECW) sounds were sucky. Right before I ran into this I was really thinking about getting a new sound card, as to get better quality playback of MIDI's.

So yea thx again! :)

cya

Nichel

  • Posts: 3
Re: XMPlay MIDI plugin
« Reply #46 on: 19 Mar '06 - 15:49 »
I founded out that sometimes when I change the main soundfont I have to restart xmplay to have that effectively used. Is it intended?

Zarggg

  • Posts: 1242
Re: XMPlay MIDI plugin
« Reply #47 on: 19 Mar '06 - 18:01 »
The FluidR3 GS soundfont causes XMPlay to crash for me.

Is that the one I posted above, or a different version? If it's the one above, please let me know if there's a particular MIDI file that triggers the crash, as I was unable to get it to crash. A drwtsn32.log entry would be handy too.

It's the one you posted. I downloaded the new beta and it no longer crashes. However, I don't hear any sound with that specific soundbank, either.

Ian @ un4seen

  • Administrator
  • Posts: 26083
Re: XMPlay MIDI plugin
« Reply #48 on: 19 Mar '06 - 18:10 »
Any chance of supporting the older SBK sound bank format (the predecessor of SF2 v2.0/2.1)? -:)

If you can provide the specs, then maybe :)

The chunks seem to be the same, but not the structures inside them.

I founded out that sometimes when I change the main soundfont I have to restart xmplay to have that effectively used. Is it intended?

You shouldn't have to restart XMPlay, but you will have to reload the current track.

The FluidR3 GS soundfont causes XMPlay to crash for me.

Is that the one I posted above, or a different version? If it's the one above, please let me know if there's a particular MIDI file that triggers the crash, as I was unable to get it to crash. A drwtsn32.log entry would be handy too.

It's the one you posted. I downloaded the new beta and it no longer crashes. However, I don't hear any sound with that specific soundbank, either.

That's strange. Have you un-sfArk'd the file? What's the size of your "FluidR3 GM.SF2" file?

Meanwhile... another update is up, with lyrics (for files that use the proper lyrics event) displayed in the Message info. No following along with the music, but it's something :)

Rich Nagel

  • Posts: 300
Re: XMPlay MIDI plugin
« Reply #49 on: 19 Mar '06 - 19:03 »
If you can provide the specs, then maybe :) The chunks seem to be the same, but not the structures inside them.

I seem to recall having a document somewhere on one of my PCs with the tech specs for the SBK format (I don't really remember, though). I'll poke around on my PCs and see if I can find it -:)

In the meantime, dunno if this will help, but after searching the Internet I found a snippet of source code from Timidity (it mentions something about "convert from SBK to SF2") -> http://sbigraf.tamu.edu/bcscontra/timidity/sndfont.c ... I don't know if that will be of any use, though.


Meanwhile... another update is up, with lyrics (for files that use the proper lyrics event) displayed in the Message info. No following along with the music, but it's something :)

Cool :thumbsup: -:)

One problem though, I only tested it wih one MIDI (a compostion of mine from a commercial project that went belly up a few years back), uploaded to the FTP site -> starsing.zip. Although it has a MID extension, it indeed contains KAR format lyrics (they display fine in another old karaoke player that I have "Tune 1000"). I tried renaming it with a KAR extension as well, XMPlay still didn't display the lyrics.


(Edit) Just had a look at the MIDI file in question in my sequencer, it appears that the lyrics are tagged as text events, and not lyric events. Strange thing is, the words display properly in Tune 1000 (as well as another karaoke player that I used to use... don't remember the name offhand). Could this be why the MIDI plugin doesn't display the lyrics?


(Edit #2) Yep, that was the problem. The lyrics that I had embedded in the Starsing.mid file were not _true_ lyric events, but rather plain text events.

I remember years back (when I first composed the piece) thinking that the "Tune 1000" karaoke specs (for the lyrics) were how _all_ karaoke files were set up (using a few special text events, as well as specially formatted text events for the lyrics). I thought that I had remembered playing the MIDI file in question (as well as several other Tune 1000 karaoke albums/collections that I had at the time) using other karaoke players successfully as well (with them actually displaying the lyrics), guess not though... the 'ole brain/memory doesn't work as good as it used to <LOL>.


(Edit #3 - re: The "sndfont.c" source file mentioned/linked above) Here is the "sbkconv.c" source code file referenced by that other file -> http://www.csee.umbc.edu/help/sound/TiMidity++-2.13.2/timidity/sbkconv.c
« Last Edit: 19 Mar '06 - 23:00 by Rich Nagel »