VOGONS


Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi

Topic actions

Reply 2480 of 2499, by RetroGC

User metadata
Rank Member
Rank
Member

Thank you for your explanation. If nothing missing I'll try to proceed this way, to my ear seems a little better the mix obtained by reaper with separate channel than the single file. I can always use OpenMPT to have separate instruments... but simetimes I'll prefear the result of your player, maybe for sinc 16 tap interpolation or a subtle reverb that i can use.
Aldo

My Videogames Music Channel
My Videogames Music Channel Thread

Reply 2481 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGC wrote on 2026-02-25, 15:22:

Thank you for your explanation. If nothing missing I'll try to proceed this way, to my ear seems a little better the mix obtained by reaper with separate channel than the single file. I can always use OpenMPT to have separate instruments... but simetimes I'll prefear the result of your player, maybe for sinc 16 tap interpolation or a subtle reverb that i can use.
Aldo

I hope you will succeed. Now that the problem is solved (at least in theory) let's turn back to the tracks vs. channels distinction a little bit. It seems this is not the first time it caused problems for you.
'Track' is just an organizing concept in the Standard Midi File (SMF or .mid) specification. 'Track' is not part of the Midi 1.0 protoc0l itself while 'Channel' is a key integral part of the Midi 1.0 protocol since all the voice messages have a 'Channel' context.

Type 1 and type 2 Midi files can use any tracks between 1 and 65535. But all kinds of Midi files can use any channels only between 1 and 16. In a strict sense this is also true for so called multi-port/ 32(+) channel Midi files since at the protocol level all messages are restricted to the 16 channel maximum. Multi-port Midi files have to use some tricks/messages to inform the player software to redirect messages on different tracks to different Midi ports.

1. Let's suppose you have a 3-track Type 1 Midi file. On the 1st track (Tempo track) according to convention you have the tempo change messages. On the 2nd track you have the left hand piano notes and on the 3rd track you have the right hand piano notes. But both the right and left hand piano use Acoustic Piano on Channel 1. Question: How many per channel recording(s) you suppose you will get? The right answer is only 1 despite the fact that the Midi file has 3 tracks since only 1 channel is used.

2. Let's suppose you have a 1-track Type 0 Midi file. Type 0 Midi files can have only 1 track but can use all channels. This imaginary example Midi file really uses all 16 channels for 16 different instruments.
Question: How many per channel recording(s) you suppose you will get? The right answer is 16 despite the fact that the Midi file has only 1 track since all 16 channels are used.

As you can see the number of tracks and the number of used channels do not necessarily correlate.

@Edit:
Here are 2 example Midi files to demonstrate the above described situations. The example 2 Midi file actually uses only 11 channels instead of 16 on 1 track but I think you get the point.

The attachment example1.zip is no longer available
The attachment example2.zip is no longer available

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2482 of 2499, by RetroGC

User metadata
Rank Member
Rank
Member

Understood and thank you for your explanation. Each time I don't use midi for a lot of time, I forgot something.
Btw, In this case, the deus ex soundtrack there were another problems too: multiple subsong inside one single mod files, and as Deus Ex has something like 130 tracks I'm trying to arrive to a good results with tracker. Using almost same settings, trying to soften a few the low resolutions sample differences is clearly udible (imho).
I'm still on the first track because i want to find a good starting point as I've to work with 130 tracks.
Aldo

My Videogames Music Channel
My Videogames Music Channel Thread

Reply 2483 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGC wrote on 2026-02-27, 10:20:
Understood and thank you for your explanation. Each time I don't use midi for a lot of time, I forgot something. Btw, In this c […]
Show full quote

Understood and thank you for your explanation. Each time I don't use midi for a lot of time, I forgot something.
Btw, In this case, the deus ex soundtrack there were another problems too: multiple subsong inside one single mod files, and as Deus Ex has something like 130 tracks I'm trying to arrive to a good results with tracker. Using almost same settings, trying to soften a few the low resolutions sample differences is clearly udible (imho).
I'm still on the first track because i want to find a good starting point as I've to work with 130 tracks.
Aldo

Hi,
Your 130 track mod/it file converted directly to a multi-port Midi file will not work since its required 9 ports/130 channels are over the limit of both Midi Player's internal 4 ports/64 channels limit and Bassmidi's internal 8 ports/128 channels limit.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2485 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t

Although the new Win 11+ Midi 2.0 stack only indirectly affects FSMP itself, here are some relevant info about the compatibility of VST Midi driver and other drivers (Coolsoft VMS, Munt, OPL3 driver etc. ) that use the legacy WinMM user mode installable client driver architecture:
Re: VST Midi Driver Midi Mapper

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2486 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t

Support my feature request on the Github repo of the new Midi 2.0 services to bring back the classic Midi Mapper 😀
https://github.com/microsoft/MIDI/issues/916

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2487 of 2499, by appiah4

User metadata
Rank l33t++
Rank
l33t++
Falcosoft wrote on 2026-03-06, 13:08:

Support my feature request on the Github repo of the new Midi 2.0 services to bring back the classic Midi Mapper 😀
https://github.com/microsoft/MIDI/issues/916

I don't know if there is a specific support feature in Github but I did post a comment in your support.

Reply 2488 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2026-03-06, 13:35:
Falcosoft wrote on 2026-03-06, 13:08:

Support my feature request on the Github repo of the new Midi 2.0 services to bring back the classic Midi Mapper 😀
https://github.com/microsoft/MIDI/issues/916

I don't know if there is a specific support feature in Github but I did post a comment in your support.

Thanks!
Yeah, I was thinking of something similar. More comments can mean that this is not just an isolated problem for an old crazy man from the last century 😀

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2489 of 2499, by Yoghoo

User metadata
Rank Member
Rank
Member

Gave it a thumbs up. Hopefully that will count as support?

Reply 2491 of 2499, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

From my reading of the dev talks and chats that I saw in the early days of the development, most of the devs had no idea that people were still using MIDI for retro gaming, so nothing was put in the initial efforts - which are obviously geared towards just getting things up and running on a basic level - to accommodate them. Down the line, we can certainly expect more, as new Virtual MIDI soft-synth options are developed by Roland and others.

Reply 2492 of 2499, by Samse26

User metadata
Rank Newbie
Rank
Newbie

I'm fairlc new to the MIDI player, so please bear with me for this basic question. I couldn't find an answer in the Help text.
I mainly want to play existing midi files, but be able to adjust volume, panning and instrument for each channel in a way that this persists when I open the player (or better: the file) next time. I found the configuration settings and saved my presets., but at next start of the file they were gone and applying the preset didn't make a difference. After reading something about SysEx info resetting configurations, I disabled everyting under SysEx options (Enable SysEx in files/mide, NoSysex Reset) and made sure I had the manual override button enabled next to the vol/pan knob. No luck. I don't seem to be able to save my presets.
so 2 questions: a) How to I get the configuration to work? b) Even better: Is there a way to save config along with the midi file (instead of a global tool config) ?

Reply 2493 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Samse26 wrote on 2026-03-08, 13:50:

I'm fairlc new to the MIDI player, so please bear with me for this basic question. I couldn't find an answer in the Help text.
I mainly want to play existing midi files, but be able to adjust volume, panning and instrument for each channel in a way that this persists when I open the player (or better: the file) next time. I found the configuration settings and saved my presets., but at next start of the file they were gone and applying the preset didn't make a difference. After reading something about SysEx info resetting configurations, I disabled everyting under SysEx options (Enable SysEx in files/mide, NoSysex Reset) and made sure I had the manual override button enabled next to the vol/pan knob. No luck. I don't seem to be able to save my presets.
so 2 questions: a) How to I get the configuration to work? b) Even better: Is there a way to save config along with the midi file (instead of a global tool config) ?

Hi,
The problem is that even if Midi Player saved the state of its own controller values that would not be in sync with the synth's state after a restart. This is because after a restart the state of synths is unknown. Most synth's state becomes default after opening the corresponding port but you can be really sure only if you send a reset message known by the synth. This is the state that Midi player wants to starts in since it's a known state so the player and the synth can be in sync.
In order to get the state where you finished the last session Midi Player would have to send all the controller and SysEx messages for all tracks and all channels that resulted in the state of the last session.
This is not possible currently and I do not even know that it would be worth the effort.

For program change messages (that set the instruments on channels) something similar is already implemented by saving the modified program changes into the Midi file itself. You can try it by using the context menu of the playlist and then selecting the 'Export re-pathed Midi' menu item.
But implementing this for all controller messages is rather hard since controller messages are continuous and can appear anywhere even multiple times so it's not clear where the changes should be saved exactly.

@Edit:
I think I figured out something: There will be a new option in the context menu of the playlist to save the state. By default the name of the saved state file will be the same as the active Midi file but with '.mps' extension.
If Midi Player finds such a same named saved state file with .mps extension it automatically loads it after loading the corresponding Midi file and sends the necessary Midi messages to set the saved state. Of course you can also load a saved state file manually if you want.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2494 of 2499, by RetroGC

User metadata
Rank Member
Rank
Member
Falcosoft wrote on 2026-03-08, 17:26:

@Edit:
I think I figured out something: There will be a new option in the context menu of the playlist to save the state. By default the name of the saved state file will be the same as the active Midi file but with '.mps' extension.
If Midi Player finds such a same named saved state file with .mps extension it automatically loads it after loading the corresponding Midi file and sends the necessary Midi messages to set the saved state. Of course you can also load a saved state file manually if you want.

A long time ago, maybe we were talking about Mixer for each single channel (your answer was no!). In this case you'll save in the mps file which information? As you were talking about instruments, this mean mps files will override MSB LSB information? So MIDI file will remain clean while custom instruments (MSB LSB) could be saved in a separate mps files? What about +-10 vol applied on this too?
Aldo

My Videogames Music Channel
My Videogames Music Channel Thread

Reply 2495 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGC wrote on Today, 07:41:
Falcosoft wrote on 2026-03-08, 17:26:

@Edit:
I think I figured out something: There will be a new option in the context menu of the playlist to save the state. By default the name of the saved state file will be the same as the active Midi file but with '.mps' extension.
If Midi Player finds such a same named saved state file with .mps extension it automatically loads it after loading the corresponding Midi file and sends the necessary Midi messages to set the saved state. Of course you can also load a saved state file manually if you want.

A long time ago, maybe we were talking about Mixer for each single channel (your answer was no!). In this case you'll save in the mps file which information? As you were talking about instruments, this mean mps files will override MSB LSB information? So MIDI file will remain clean while custom instruments (MSB LSB) could be saved in a separate mps files? What about +-10 vol applied on this too?
Aldo

Yes, it will work similarly to what you described (that is controller values + program changes + mute/solo setting will be saved). You can set +/-10 vol by changing the per channel volume controller since it will be saved, too.
BTW, I decided that GM/GS/XG etc. reset messages will be disabled in the Midi file when an .mps file is loaded otherwise reset messages would reset the loaded state when playback starts.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2496 of 2499, by RetroGC

User metadata
Rank Member
Rank
Member

It would be great—besides being really convenient—to have a separate window for managing instruments and the mix, a bit larger and with all 16 channels visible at the same time. I'm really happy you've considered this kind of mod.

My Videogames Music Channel
My Videogames Music Channel Thread

Reply 2497 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGC wrote on Today, 11:38:

It would be great—besides being really convenient—to have a separate window for managing instruments and the mix, a bit larger and with all 16 channels visible at the same time. I'm really happy you've considered this kind of mod.

We have already talked about this and the challenges of such a GUI (considering that FSMP now actually supports 64-channels...) So do not expect this to happen in the near future.
BTW, I consider such user interfaces to be appropriate for full screen DAW applications, not for Midi players like FSMP.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 2498 of 2499, by RetroGC

User metadata
Rank Member
Rank
Member

Well, 16 channel will cover 99% of videogame's midi music.

Can I ask help concerning MOD files? I've noticed on Deus EX ost (area 51 Bunker music,first subsong) that if I want to output wav files divided per instruments the looped portion have a volume differences, with OpenMPT and XMPlay as well. Afaik as you're able to understand mod, is this something I can manually correct? Looped portion should sound the same volume while if i check this with audacity and amplification I've differences.

Aldo

My Videogames Music Channel
My Videogames Music Channel Thread

Reply 2499 of 2499, by Falcosoft

User metadata
Rank l33t
Rank
l33t
RetroGC wrote on Today, 14:18:

Well, 16 channel will cover 99% of videogame's midi music.

Can I ask help concerning MOD files? I've noticed on Deus EX ost (area 51 Bunker music,first subsong) that if I want to output wav files divided per instruments the looped portion have a volume differences, with OpenMPT and XMPlay as well. Afaik as you're able to understand mod, is this something I can manually correct? Looped portion should sound the same volume while if i check this with audacity and amplification I've differences.

Aldo

You should consider loops as a continuous way of the playback of the patterns. That is it's the same as if you copied the patterns where the loop starts to the end of the song. So if the pattern where the loop start does not define its own volume level it inherits the volume settings (and of course others as well) from the previous ones. So if no effort is done to prevent differences it's more likely than not that after a loop the patterns will sound differently (volume, pan etc. differences) since the previous patterns before the looped ones differ. You have to make sure that you insert the volume, pan etc. settings to the beginning of the 1st looped pattern to make sure they have the same values as inherited from the previous patterns at 1st playback time without the loop.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)