Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_midi (Read 83117 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_midi

Reply #250
FYI, they have made bug fixes to the SCCore module, so newer versions may be different. I should make it so that the hash check is only a warning and can be disabled, as it doesn't look like they're ever going to change the binary interface it implements.


Re: foo_midi

Reply #252
At what point? Using which MIDI synthesizer?

Re: foo_midi

Reply #253
I am using the BASSMIDI plugin, some notes are audibly missing at 13 seconds in, but is there if I manually reseek. After awhile the instrument goes missing again. I am using the Fluidsynth R3 soundfont.

Re: foo_midi

Reply #254
@j34

Please upload recordings (first ~30 seconds) of tf4-cred.mid played in foobar2000 and Timidity under Linux using FluidR3_GM.sf2 which demonstrate the playback issue you are reporting. I played tf4-cred.mid with FluidR3_GM.sf2 in foobar2000 and XMPlay, both played them identically without any missing notes. I verified that with a different SoundFont.

Re: foo_midi

Reply #255
I was able to replicate notes dropping in Cog on macOS Big Sur, but only with the Apple system DLS/SF2 synthesizer, not with BASSMIDI.

Re: foo_midi

Reply #256
Thanks @deus-ex and @kode54 for the clues, I found out what the problem was. Turns out I wasn't using the FluidSynth soundfont at all loaded through an sflist file, it has been a while since I last changed it.
It was an older Timbres of Heaven 3.92 that was a problem, upgrading to 3.94 solved the missing notes.

Sorry for the noise.

Re: foo_midi

Reply #257
@j34

You're welcome, glad you could solve your issue. No need to feel sorry, though. You had a problem, came asking for help, and with our input you could solve it. That (among some other aspects) is the purpose of a support forum, right?

Re: foo_midi

Reply #258
I agree, we helped you to look elsewhere for your problem, and it turned out to be a configuration error, and an outdated sample bank.

Re: foo_midi

Reply #259
is there any possibility of Ensoniq AudioPCI Wavesets (eapci2m.ecw / eapci4m.ecw / eapci8m.ecw) becoming supported in foo_midi/BASSMIDI? They were also used by some later SoundBlaster cards like Live! and Audigy, where the MIDI device named Creative SW Synth utilised them.
Failing that, are there any other apps I could use to play midis with these soundbanks?

Any word on this? (remaining faintly hopeful.)

Re: foo_midi

Reply #260
The format isn't documented anywhere, and I only support SF2 because that's what BASSMIDI implements. If you want, I could forward the request to Ian Luck, the author of BASS and BASSMIDI, but I don't know how well he'd do at it, with no documentation. Also, he hasn't implemented DLS support, either, and that's actually quite well documented, so there's that.

Re: foo_midi

Reply #261
@kode54

Thanks for another fine release of foo_midi (v2.4.5).

Playtesting through my MIDI file collection I found a couple of files where the song titles are not displayed (attached below). The titles of these MIDIs are each stored in the field 'TRACK_MARKER'. Would it make sense to add a check of the TRACK_MARKER field for the title, too? Or do these MIDIs have it wrong and it is an uncommon exception?

Re: foo_midi

Reply #262
Track marker means that it's a position marking metadata event in any possible track. There may be multiple across different tracks, or even multiple in the same track. This could, for example, lead to Final Fantasy VII tracks having a title of "loopStart".

Re: foo_midi

Reply #263
Thanks for taking a look. Although I was almost certain of the outcome, I thought it's better to ask an expert on the subject rather than guessing on my own.

Please find attached a small collection of MIDI files that foo_midi v2.4.5 fails to load. I rechecked them today with the most current XMPlay.exe/Xmp-MIDI.dll, and there all these files do load and play successfully. Perhaps this collection allows you to harden the foo_midi file loader?

Re: foo_midi

Reply #264
NameStatus
Cantbuy.midWorks fine in Cog, should work in foo_midi
Cheri-1.midTruncated file, half the tracks are missing, the last track is cut off
Earthsong__Michael_Jackson_.midTruncated file
Falco_Rock_Me_Amadeus_Seq_Norma_Williams.midSeems to work
Freestate1.midLast track in the file is truncated
Headstar1.midLast track in the file is truncated
I'msor_.midLast track in the file is truncated
Ifyouwant1.midLast track in the file is truncated
Insight1.midLast track in the file is truncated
Inyourmemory1.midLast track in the file is truncated
Kaleid1.midLast track in the file is truncated
Killingme.midLast track in the file is truncated
Marriage_Of_Figaro_Mozart.midThe lyrics track contains at least one lyric event that specifies the wrong character length for the string
Natural.midFile is truncated
Negraub.midFile is truncated
Pretenders_Back_On_The_Chain_Gang.midSeems to work fine
Riverdrm.midLast track in the file is truncated
Romeoa.midLast track in the file is truncated
Runlife.midLast track in the file is truncated
Steve_Miller_Band_Abracadabra.midFile is truncated and missing two whole tracks, and part of the last remaining one
Takeonm2.midSeems to work fine
Whiter_Shade_Of_Pale_Procol_Harumseq_Norma_Williams.midSeems to work fine
I have changed the MIDI processor to be able to play all of these as-is, and attempt to recover any playable tracks from a given file, but they won't be perfect. Probably the best that can be expected, given the damages.

Re: foo_midi

Reply #265
Wow, that's terrific! My huge thanks!

I kept these MIDI files for the sake of testing only, I actually never listened to these files except for the first few seconds. So I just installed foo_midi v2.4.6 and tested the 'load fail' set again. The majority of these files now indeed load and play, yet there are a couple of MIDIs which are still not accepted by foo_midi here. Not that I would mind too much, but I think it's better you are aware since you said they would load fine with the recent changes to the loader.

Here's a list of the files which still won't load:

NameStatus
Cantbuy.midUnsupported format or corrupted file
Falco_Rock_Me_Amadeus_Seq_Norma_Williams.midUnsupported format or corrupted file
Pretenders_Back_On_The_Chain_Gang.midUnsupported format or corrupted file
Takeonm2.midUnsupported format or corrupted file
Whiter_Shade_Of_Pale_Procol_Harumseq_Norma_Williams.midUnsupported format or corrupted file
Here's another set of MIDI files where foo_midi reports a wrong duration. I just retested these with foo_midi v2.4.6 and the most recent XMPlay/Xmp-Midi binaries. I adjusted the timestamp of each file to reflect the duration reported by XMPlay for easy comparison.

The file NATURAL.MID of this set is a special case, therefor I wrote the filename all uppercase. Foo_midi reports a different duration depending on whether the file is currently played or not. Also, a different duration is reported almost every time when the file is played.

The question is whether the duration calculation of foo_midi can be improved, of course with reasonable effort and effect?

Re: foo_midi

Reply #266
Try again.

Also, the files that throw "bad exception" on open, claim to be MT-32 files, and you need to set up the MT-32 emulation to play them. Although for some reason, they don't seem to work with it.

Re: foo_midi

Reply #267
Thank you for further adjustments and improvements to foo_midi.

I do not have the MT-32 emulation (MUNT) configured, it requires the installation of an additional external application and/or drivers. As I do not have any MT-32 files in my collection this would be in vain. These files (load fail/wrong duration) belong to a testbed of MIDIs that cause certain errors or exceptions, but they are not part of my MIDI collection which I like to listen to. So if a few of these still won't load here, then that's fine with me.

Re: foo_midi

Reply #268
It requires nothing more than either the MT-32 or the CM-32L control and PCM ROM dumps, and it will prefer the CM-32L if it finds that first. It will require you to configure a folder in foo_midi's preferences page, under the Munt data path. Just click the edit box to open a folder picker dialog, and navigate to somewhere it can load the above from.

I recommend stuffing them under either your personal or the system shared Music folder, in an MT-32 subfolder. Or anywhere on your main OS drive. They're under 1MB.

You do not need to supply your own copy of Munt, as it is linked into the plugin already, and only needs the ROMs.

Re: foo_midi

Reply #269
Thanks for the details on the required steps for the MUNT setup. This will come in handy when I try this out. Also a good reference for any interested foo_midi user.

So, what's your opinion on the 'wrong duration' file set I uploaded previously? Do you see an opportunity to improve the calculation of the MIDI track duration?

Re: foo_midi

Reply #270
The latest fixes seem to have caused regressions with some files. For example, this file now claims to be over one day long, and sounds broken in Secret Sauce.

Re: foo_midi

Reply #271
Should be all fixed now. I accidentally forgot to recompile the plugin after making major changes.

Re: foo_midi

Reply #272
Confirmed, the update fixed the duration reported for zero88.mid. But the MIDI file set 'wrong duration' I provided remains unchanged in this regard. Have there any changes been made regarding the duration calculation?

EDIT: Correction, NATURAL.MID, and Romeoa.mid no show the correct time. The reported duration of the other MIDIs is still off. This issue seems harder to come by than expected. Don't take this to heart, though, I'm not complaining, just reporting. ;)

Re: foo_midi

Reply #273
There's nothing I can do about that. The files are broken. XMPlay is doing some magic to make them work. There is nothing that can consistently gather duration from broken files.

EDIT: I see what's wrong on most of these files. They have events end well in advance of the actual end of the tracks. I can truncate those too.

 

Re: foo_midi

Reply #274
Sounds great. I'll stay tuned.