HydrogenAudio

Hosted Forums => foobar2000 => Uploads - (fb2k) => Topic started by: deus-ex on 2013-01-18 00:03:27

Title: foo_midi
Post by: deus-ex on 2013-01-18 00:03:27
Additional FM patches and a few example modules.
Title: foo_midi
Post by: kode54 on 2013-01-18 00:58:06
Do you have many more HMP files?

Also, do those HMI games include different drum bank files, or do they use an existing drum bank?
Title: foo_midi
Post by: deus-ex on 2013-01-18 01:39:55
Do you have many more HMP files?

Also, do those HMI games include different drum bank files, or do they use an existing drum bank?

Here you are the different HMI2 drum banks and my complete collection of HMI2, HMP and HMP2 modules. I used to keep only those modules which I like to listen to.
Back in the old days I wrote my own quite advanced replay interfaces using 4DOS batch routines which allowed independant selection of instrument and drum patches. For playback I used players from Miles and utilized the sound-setup binaries from Human Machine Interfaces.

Let me know if you are looking for anything special.
Title: foo_midi
Post by: kode54 on 2013-01-18 19:57:30
I found the Shattered Steel melodic set. Now I just need the drum set from Normality.

Also, what is default.op2 from? It doesn't seem to be from Doom 2.
Title: foo_midi
Post by: deus-ex on 2013-01-18 22:16:01
I found the Shattered Steel melodic set. Now I just need the drum set from Normality.

Shattered Steel is quite an interesting case. The demo release included both the original MIDI files and the HMI2 variants, HMI2 was used in the demo. It also included (probably by mistake) a couple HMI2 modules from Descent2 (I placed those in a subfolder) and some FM patches from another game (METALH = Metalhead?). The full version of Shattered Steel had all the MIDI music removed except for the sound-setup test tune. The game used CD Audio versions of the MIDI tunes instead.

Find also attached all tunes and FM patches from the game Normality.

Also, what is default.op2 from? It doesn't seem to be from Doom 2.

This came with the distribution of MUS Play. This is a very nice DOS based player for .mus files which recreates the original sound of  the music  in DOOM, Heretic and Hexen quite nicely, I never found anything sounding closer to the games than this. MUS Play runs fine under DOSBox, try command-line musplay.exe <file.mus> /d4 to get the best experience. The current implementation of adlmidi doesn't come close to this. For proof please check attached example I just recorded from the file MUS_E1M1.MUS (Heretic - Episode 1 Level 1) using MUS Play. (Don't forget to replace included GENMIDI.OP2 with the one of DOOM, Heretic or Hexen for best results).
Title: foo_midi
Post by: kode54 on 2013-01-19 02:43:12
musplay.exe <file.mus> /d4

Driver 4 is MPU-401, which is just a pass-through to your system's MIDI synthesizer.
Title: foo_midi
Post by: deus-ex on 2013-01-19 10:31:34
Driver 4 is MPU-401, which is just a pass-through to your system's MIDI synthesizer.

Right. Could this pass-through be achieved with foo_midi somehow?
Title: foo_midi
Post by: kode54 on 2013-01-19 18:46:58
Not really. Foobar2000 components must generate their own audio. If you want foo_midi to sound as bad as the Microsoft GS synthesizer, there's a number of copies of that bank converted to SF2 format, which will work with BASSMIDI.

Or you can dig up the VSTi version of Roland Virtual Sound Canvas, and although it doesn't support system exclusive messages, and must be configured to GS mode manually, it does support some of the GS sound set, and will probably sound like what Doom was composed with as well.
Title: foo_midi
Post by: deus-ex on 2013-01-19 19:13:58
If you want foo_midi to sound as bad as the Microsoft GS synthesizer [...]

Ha ha.  Actually I would only want this for recreation of the DOOM, Heretic and Hexen music the way I used to experience it back then. No problem though, I can render these musics with MUS Play and save the output to a streaming format of my choice.
Title: foo_midi
Post by: kode54 on 2013-01-19 20:53:57
You can use VSC. It sounds similar. Let me verify that right now. Hmm, yes, does sound like that, only slightly better.
Title: foo_midi
Post by: kode54 on 2013-01-30 18:34:36
Are those the only Descent 2 banks? Or did it recycle others from the original Descent?
Title: foo_midi
Post by: deus-ex on 2013-01-30 22:01:23
Are those the only Descent 2 banks? Or did it recycle others from the original Descent?

Here, I extracted all MIDI related files both from Descent and Descent 2 for you. Note the details found in file descent.sng of each game.
Title: foo_midi
Post by: deus-ex on 2013-02-10 19:40:16
I browsed through a couple of MIDI archives (a few thousand files) which I downloaded recently. I found a lot of MIDI files revealing issues with foo_midi. I sorted them into four categories:

XMPlay using the XMP-MIDI plugin is able to load and play all these files, and it does not report wrong durations. Hopefully this collection helps you to further optimize foo_midi's file loader and playtime calculation.
Title: foo_midi
Post by: Arthur on 2013-04-11 07:23:07
Hey there. Loving foo_midi, but I'd love to see an update to the munt engine, now that development really seems to have picked up. munt is now at v1.2.0. Any chance you could update things?

arfy
Title: foo_midi
Post by: kode54 on 2013-04-28 07:18:46
Done. Updated and rebased against 1.2.0. Note that the sample rate is now hard coded to 32KHz for MUNT.

Also note the new SysEx dump support. To apply SysEx .SYX or .DMP files to the start of any type 0 or 1 MIDI file, add them to a playlist, select all of the MIDI files you wish to apply dumps to at the same time as selecting all of the dump files you wish to apply to each of them, then right click and select "Assign SysEx dumps" under "Utilities". Similarly, select a series of MIDI files and no dump files, and you may select "Clear SysEx dumps" from the same menu.
Title: foo_midi
Post by: Arthur on 2013-04-28 08:15:13
Excellent!  it's working. I thought at first the old reverb algorithms were still in place, but seems everything's fine. Also, love the apply sysex dumps to any file. helps when playing sierra soundtracks with external patch banks. Also hearing emulated gm on an mt-32 is pretty cool! is the patch set based off the official one that Roland put out to allow mt-32's to play back gm?
Title: foo_midi
Post by: kode54 on 2013-05-01 00:07:05
It is Roland's MT-32 GM patch set. If you know a better generic patch set, I'll gladly bundle it, and provide an option to select the patch set.
Title: foo_midi
Post by: F4T4LV0iD on 2013-05-14 01:27:43
I updated the foo_midi dll to 1.209 and now I get this message when Foobar2000 loads up...

Failed to load DLL: foo_midi.dll
Reason: The specified procedure could not be found. 

it updated through the components updater screen, and then removed it and tried manually updating it with no success.  and when I try to actually play a .midi file it says it's an unsupported file type.

in the components menu, it lists the component as (component not loaded) and (unknown) version for foo_midi module.

anything I can do on my end to remedy this issue?
Title: foo_midi
Post by: F4T4LV0iD on 2013-05-14 05:22:38
nevermind, it was a fault of my own idiocy.  lol.  I had lingering .dll files from the foo_midi in my /foobar2000/ folder that seemed to be conflicting with the installer, after I deleted those now it works like a charm.
Title: foo_midi
Post by: Nahkranoth on 2013-06-16 18:07:35
Hi kode54!

Just tried this SysEx thing with some mt-32 midis from Betrayal at Krondor. After assigning SysEx to a midi file I've got a message:

Code: [Select]
Unable to open item for playback (Error processing dump BAK.SYX: Object not found):

"D:\tmp\music\midi\bak_1\BAK_1.MID"


Obviously BAK.SYX is a SysEx dump that has to be assigned to BAK_1.MID file. They're put in the same folder, so there shouldn't be a problem.

What could be wrong here?

Thanks!




Title: foo_midi
Post by: Wormbo on 2014-03-28 19:28:12
These two MIDI songs from Operation Inner Space seem to contain a non-standard-ish second drum channel. XMPlay is able to detect that (if you activate the "auto-detect channel 16 drums" xmp_midi option), but all other players just play "random" piano keys instead. Would be nice if foo_midi supported that as well, though I have to admit I don't know any other files with that configuration.
Title: foo_midi
Post by: ArtistofMind on 2014-07-31 23:28:50
Note that the sample rate is now hard coded to 32KHz for MUNT.

I’m curious: what is the rationale behind this choice? Was 32 kHz chosen because it rhymes with MT-32?  I typically listen to MIDI at 48 kHz, so I was a bit disappointed to find my output switching to 32 whenever an MT-based file (such as those released by Quest Studios for old Sierra titles) comes up in the playlist. (I otherwise have no complaints, of course; the plugin works beautifully!) And, I mean, if authenticity is the goal, ideally it should be 49716 Hz, right? Of course, few modern soundcards support such an odd number, and anything over 44.1 is honestly beyond the range of even the keenest human hearing, and thus pointless, but I digress. I just want to know why we settled inflexibly on 32, of all possible rates?

In any event, thank you to everyone involved in making this great plugin.
Title: foo_midi
Post by: algernon64 on 2014-08-25 14:22:22
Thanks kode54 for this plugin! I'm really liking it so far.

I have a question because I'm having trouble playing some midi files through munt. Files which contain mt32 sysex messages play perfectly fine, but I also have a bunch of mt32 midi files which don't seem to contain mt32 sysex messages and therefore don't play through munt. Is there some way to force playback through munt? I also tried the method explained above to "attach" a sysex to normal midi files but it's not working for me. I get the exact same error that Nahkranoth mentioned.

Thanks!

Title: foo_midi
Post by: kode54 on 2014-08-28 12:24:54
Yes. You may add a MT-32 reset SysEx dump to each file.



Sorry for not noticing this sooner, I was not subscribed to this topic, and the foobar2000 subforum (28) portal does not track the fb2k uploads forum.
Title: foo_midi
Post by: algernon64 on 2014-08-28 14:25:16
Yes. You may add a MT-32 reset SysEx dump to each file.

  • Add the MIDI files to a playlist
  • Add a .dmp file containing only an MT-32 reset message to the same playlist
  • Select all tracks, including the dump, which will have no length
  • There should be some SysEx management options in the Utility submenu of the context menu, such as adding or removing


Sorry for not noticing this sooner, I was not subscribed to this topic, and the foobar2000 subforum (28) portal does not track the fb2k uploads forum.


Thanks for the reply.

I don't know how to make a .dmp file containing just a MT32 reset message. How would I do that?

What I've tried is using external .syx files package with some midi collections. For example, some midi songs in Quest Studios offer the midi tracks and a separate sysex file to load before the song (like this one http://www.queststudios.com/mt32midi/cqc_1.zip) (http://www.queststudios.com/mt32midi/cqc_1.zip)). With the previous file as an example, if I add the midi file and .syx to the playlist, select both, choose Utilities->Assign Sysex dumps and then play the file, I get a window with the message:

Unable to open item for playback (Error processing dump CAMELOT.SYX: Object not found):
"I:\midi\CQC_1.MID"

Both files are in the same folder, so, it seems like there is some kind of bug that prevents the decoder from loading the .syx file?
Title: foo_midi
Post by: kode54 on 2014-08-28 14:43:02
The .syx file must continue to exist on disk after you have added it. It merely adds the file's path as a reference to the tag database for those MIDI files.
Title: foo_midi
Post by: algernon64 on 2014-08-29 14:34:42
The .syx file must continue to exist on disk after you have added it. It merely adds the file's path as a reference to the tag database for those MIDI files.


Yes, both files (.mid and .syx) exist on disk in the same directory but I get the error anyway.
Title: foo_midi
Post by: algernon64 on 2014-08-29 14:48:18
Ok, seems like I found the problem. When both files (.mid and .syx) are in the same directory, the plugin does not store the complete path to the .syx in the <MIDI_SYSEX_DUMPS> tag, it just stores the name of the file, and can't find the sysex file on playback. However, if I put the sysex in a different directory than where the midi file is, it does store the complete path and finds it on playback.
Title: foo_midi
Post by: Nahkranoth on 2014-11-17 09:07:51
Thanks for your research, algernon64, but in my case to be able to play midi files with assigned sysex dumps I had to use .syx file copied to different disk. It seems that foo_midi stores relative paths to .syx files, and while playing it expects full path instead.


Thus "..\..\..\foo.syx" leads to error, and "c:\foo.syx" works fine.

So I'd like to kindly ask kode54 to implement it right.

Thanks for your time!




Title: foo_midi
Post by: Nahkranoth on 2014-12-01 12:26:06
And huge thanks to kode54, with recent fix midi files with assigned .SYX play juuuust fine!
Title: foo_midi
Post by: romor on 2015-02-19 19:25:53
Wrong thread sorry, (comes as first result for foo_midi on Google)