Skip to main content

Topic: foo_midi (Read 17383 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • deus-ex
  • [*][*][*][*]
foo_midi
Additional FM patches and a few example modules.
Best regards
deus-ex

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #1
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?
  • Last Edit: 17 January, 2013, 08:02:07 PM by kode54

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #2
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.
Best regards
deus-ex

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #3
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.
  • Last Edit: 18 January, 2013, 03:55:48 PM by kode54

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #4
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).
  • Last Edit: 18 January, 2013, 05:19:34 PM by deus-ex
Best regards
deus-ex

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #5
musplay.exe <file.mus> /d4

Driver 4 is MPU-401, which is just a pass-through to your system's MIDI synthesizer.

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #6
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?
Best regards
deus-ex

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #7
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.
  • Last Edit: 19 January, 2013, 02:05:57 PM by kode54

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #8
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.
Best regards
deus-ex

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #9
You can use VSC. It sounds similar. Let me verify that right now. Hmm, yes, does sound like that, only slightly better.

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #10
Are those the only Descent 2 banks? Or did it recycle others from the original Descent?

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #11
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.
Best regards
deus-ex

  • deus-ex
  • [*][*][*][*]
foo_midi
Reply #12
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:
  • wrong time = wrong calculation of the total duration of a MIDI file
  • no content  = foo_midi does not detect any notes to play
  • load fail      = files being rejected to load "unsupported format or corrupted file"
  • crash          = one MIDI file which manages to crash foo_midi and foobar2000 altogether

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.
  • Last Edit: 10 February, 2013, 02:41:56 PM by deus-ex
Best regards
deus-ex

  • Arthur
  • [*]
foo_midi
Reply #13
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

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #14
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.

  • Arthur
  • [*]
foo_midi
Reply #15
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?

  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #16
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.

  • F4T4LV0iD
  • [*]
foo_midi
Reply #17
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?

  • F4T4LV0iD
  • [*]
foo_midi
Reply #18
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.

  • Nahkranoth
  • [*][*]
foo_midi
Reply #19
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!





  • Wormbo
  • [*]
foo_midi
Reply #20
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.

foo_midi
Reply #21
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.

foo_midi
Reply #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!


  • kode54
  • [*][*][*][*][*]
  • Administrator
foo_midi
Reply #23
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.
  • Last Edit: 28 August, 2014, 07:25:49 AM by kode54

foo_midi
Reply #24
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). 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?