VOGONS


Reply 1300 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
STEPHANVS wrote on 2022-04-05, 13:21:
Wow, this is still actively supported... I just came here to say thank you for this life saving software, but if it is supported […]
Show full quote

Wow, this is still actively supported... I just came here to say thank you for this life saving software, but if it is supported this actively, let me share my story.

I am currently looking for a MIDI player with playlist to be used in a live environment for backing track playback. Sound engine is a VSTHost instance, which can accept data through multiple MIDI Input ports. MIDI tracks are played by Cakewalk, which (although can switch between its files quickly) does not have a playlist function. I have not tried MIDI Player yet, however I will have to use it this Easter.

If you accept some feature requests, I have 2:
- multiple MIDI Out port support, with this the ability to play multiple MIDI files simultaneously to separate MIDI Out ports for more than 16 channels option
- option for negative "Pause between songs", next song will start playing before the previous song ends. I know this might require to "mix" the MIDI files...

Again, great work!

Hi,
1. Currently I'm working on a solution (a hybrid/fake VSTi) to support multi-port Midi files with more than 16 channels (up to 64).
But playing multiple Midi files simultaneously is out of scope for this project. Neither the infrastructure nor the user interface can be modified easily to support it. It's a task that is more suitable for complete DAWs.
2. Mixing Midi files this way (crossfading tracks) is not possible even theoretically. Midi files cannot be mixed the same way as digital audio. E.g. imagine that the next file sends a GM/GS/XG reset right at the start and also sends complete new program change messages to set instruments (as most Midi files do). This of course affects (what's more completely ruins) the playback of the current Midi file. In case of Midi the output synth/port has only one state. You cannot preserve the old one needed/set by the currently played file when you start playing the next.
Bye.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1301 of 1702, by Trelokk

User metadata
Rank Member
Rank
Member

I still keep having (rare) problems with stuck notes when using loopMIDI+FSMP+SCVA in Doom ports like Woof or Crispy Doom. Not sure if it's anything from FSMP side, loopMIDI doesn't catch some feedback (even though it should since it's set up like that - anyway, turning it off wouldn't make a difference) or something else. When using soundfonts, I never had that issue. When it occurs, you gotta do a manual GS reset to get rid of the hanging music.

Reply 1302 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Trelokk wrote on 2022-04-22, 14:17:

I still keep having (rare) problems with stuck notes when using loopMIDI+FSMP+SCVA in Doom ports like Woof or Crispy Doom. Not sure if it's anything from FSMP side, loopMIDI doesn't catch some feedback (even though it should since it's set up like that - anyway, turning it off wouldn't make a difference) or something else. When using soundfonts, I never had that issue. When it occurs, you gotta do a manual GS reset to get rid of the hanging music.

It's hard to reproduce your problem from only such much information. I have made a ~4 minute test run and recorded it. I tried to switch levels etc. but I did not experience any problems:
https://youtu.be/JWPrLoikK3k

You should try to name a few situations or something that could help to trigger the hanging notes problem.
Meanwhile you should test with e.g. S-YXG50 if your problem is SC-VA specific or not. Also you can try SAVIHost to determine if FSMP has anything to do with your problem or not.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1303 of 1702, by Trelokk

User metadata
Rank Member
Rank
Member

It seems to happen only with specific MIDIs, namely with those from community projects. Recently I experienced it in MAP23 "The Atrium" of "Jenesis". Track used is "Distant Tranquility" (composed by James "Jimmy" Paddock). Suddenly music stopped playing (I believe it happened when the looping point of the track had been reached) and wouldn't resume any more even after finishing the map. It's hard to know what triggers this since many times the MIDI track would loop just fine, then all of a sudden it gets stuck or stops.

I am using:
- Win 10 x64 21H2
- Woof! x64 (latest dev snapshot from Github)
- FSMP 6.1 x64 (dev snapshot from website, dated Mar 2022; now updated to latest)
- loopMIDI x64 v1.0.16.27
- Roland SCVA v1.12

I dunno if it helps if I post FSMP config settings as well, but I can tell you I have Capital Tone Fallback activated and SCVA instrument/drumset banks are set up properly.

Last edited by Trelokk on 2022-04-22, 15:49. Edited 1 time in total.

Reply 1304 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Trelokk wrote on 2022-04-22, 15:35:

I dunno if it helps if I post FSMP config settings as well, but I can tell you I have Capital Tone Fallback activated and SCVA instrument/drumset banks are set up properly.

No, until it's really proved to be true that this has anything to do with FSMP 😀

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1305 of 1702, by Trelokk

User metadata
Rank Member
Rank
Member

I can experiment with the Yamaha plugin (or even the MT-32 Munt) for now to exclude the VSTi as the culprit. However, due to the random nature of this event, it's hard to tell when I will be able to determine whether that made a difference or not.

It used to happen a lot more with loopBe1, but that was mostly because it has a very sensitive feedback detection which cannot be turned off. However, it also occurred with the commercial loopBe30 which has that feature, so I already tend towards excluding the VST host as a trigger as well.

Another possible source could be the Doom port, but I already had this in International Doom, Crispy Doom, Woof and PrBoom+, and unless all of those use the exact same MIDI playback code, I guess you can rule out ports as a source of the problem.

Reply 1306 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
a new test version is available that is very close to the soon to be released final version 6.1:
https://falcosoft.hu/midiplayer_61_test.zip
There are many useful changes/additions:

There is a new special/fake VSTi included, WinMM MultiPort VSTi.

multiport1.png
Filename
multiport1.png
File size
232.97 KiB
Views
1908 views
File license
Public domain

WinMM Multi Port VSTi is not a real VSTi. Namely it does not send back rendered sample data to VST host. Instead it simply sends Midi data to selected standard Windows Midi out ports that render the Midi data on their own way. Selected ports can be any internal or external Midi synthesizers.

The plugin uses the seldom documented 2 byte long 0xF5 xx Midi message to route subsequent Midi messages to different ports (xx can be from 1 to 4).

With the help of the plugin you can play back multi port Midi files. Up to 4 ports are supported wich means 64 separate Midi channels.
You can also use the plugin to play back the same Midi channels on multiple Midi ports at once. E.g. you can play channels 1-16 on 2 different ports at once while play channels 17-32 and channels 33-48 on 2 additional different ports.
A special feature intended to increase polyphony in case of voice constrained synths is the Even/Odd channel segmentation. If you select 'Even Only' and 'Odd Only' channel options you can assign channels 2,4,6,8,10,12,14,16 and 1,3,5,7,9,11,13,15 respectively to 2 different synths. This can be useful e.g. in case of two SC-55 devices.

To compensate different latencies of different synths you can set delay on any ports that use the Stream API (from 1 to 999 ms).
To compensate different volume levels you can set the volume of any ports.

Two different WinMM APIs can be selected for any ports:
The Real Time API uses the conventional midiOutShortMsg and midiOutLongMsg functions and works everywhere. Moreover the Real Time API has less overhead.
The Stream API uses midiStreamOut and with it you can schedule events to the future so it can be used for latency compensation (delay). It has more overhead and does not work on Win9x, but it has more precise Midi timing.

Tips:
1. You can remove a synth from a Midi port slot by right clicking on the port's combobox.
2. If using Stream API and different delays for different ports the synths may start to lose sync after some time. In this case you can press the Reset/Resync All Synths button without losing instruments and controller values. This kind of reset only kills notes and restarts the streams.

version 6.1 of FSMP
1. More precise Midi timing: In case of Bassmidi added the new Async mode option, in case of Bass_VST deltaFrames are implemented, and in case of the player QPC is used instead of timeGetTime when available.
2. Added direct JBridge support. This means that after you have installed JBridge 1.76+ you can use the same plugins either with the x86 or the x64 versions of FSMP. Bridging happens automatically at run-time.
3. Added LCD backgrond color customization (Main menu -> Main display BG color). Munt VSTi and OPL3 VSTi's background and font color are synchronized with the player.
4. Added maximum polyphony (active voices/notes) part to Channels/Spectrum display dialog.
5. Wave and mp3 writes are now buffered and async if OS supports it (Win2000+).
6. Added new advanced memory stats to About dialog.
7. Added GS style Display Letters support.
8. Added support for embedded DLS soundfonts in RMI files (HW Audigy+ only).
9. Added embedded DLS/SF2 info, Aftertouch events filter and customizable Controller filter to Event Viewer/Debugger.
10. Added support for SF3 format soundfonts.
11. More multi port Midi files are recognized (port number, device name, track name) and can be played back with either internal Bassmidi or with devices that support F5xx messages. (DreamBlaster X2, S-YXG50 XP/Win9x driver etc.)
12. Added new WinMM MultiPort VSTi to support playback of multi port Midi files on any standard Windows Midi out ports.
13. Added new versions of Munt VSTi and OPL3 GM VSTi.
14. Added option to associate VST effects with Bassmidi's chorus(CC#93) and reverb(CC#91) controllers.
15. Fixed multi channel audio mixer bugs under XP/Win9x. Now volume slider changes the volume of all speakers not only front.
16. Fixed non-working Duration display thread when themes are disabled in 64-bit version and fixed 'Enable Themes' option logic.
17 Fixed misplaced Piano Channel Map popupmenu in x86 version.
18. Pitch bend knob position can be fixed in 'Force Manual' mode.
19. Added 'Use relative paths in INI files' option to Main menu -> Storage of Settings. It can help creating portable configurations.
20. Tempo can be changed even by 1% if you press left/right arrow on your keyboard when tempo trackbar is selected.
21. Other minor fixes and enhancements.

version 2.7 of Munt VSTi
1. Added newest Munt core library version 2.6
2. Added more accurate LCD display and incoming Midi message indicator. The old temporary text area is only used in case of information not suitable to display on the new LCD.
3. Added maximum used partials/polyphony to display. It's reset when the synth is reset either by pressing Reset on the interface or when GM/GS reset is sent.
4. When used with Soundfont Midi Player 6.1+ the main display background and font color are synchronized with the player.
5. Fixed misssing active channel indicator dots in case of non-latin language/locale settings of Windows.

version 2.1 of OPL3 GM VSTi
1. Since I have added deltaFrames support to Bass_VST from now on the plugin also support it. This means improved Midi timing accuracy.
2. Added maximum voice polyphony to display. It's reset when the synth is reset either by pressing Reset on the interface or when GM/GS reset is sent.
3. When used with Soundfont Midi Player 6.1+ the main display background and font color are synchronized with the player.
4. Fixed misssing active channel indicator dots in case of non-latin language/locale settings of Windows.
5.. Fixed sample rate dependent CC# 1 (vibrato/modulation) frequency problem.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1308 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-04-27, 13:07:

Is this a new test version of 6.1 or the same one I downloaded 1-2 months ago and am currently using?

This is new, you can compare the build number of midiplayer.exe. The file version of this one is 6.1.0.6. You must have some older one if you downloaded it months ago. Other libraries and plugins are also updated.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1309 of 1702, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote on 2022-04-27, 13:10:
RetroGamer4Ever wrote on 2022-04-27, 13:07:

Is this a new test version of 6.1 or the same one I downloaded 1-2 months ago and am currently using?

This is new, you can compare the build number of midiplayer.exe. The file version of this one is 6.1.0.6. You must have some older if you downloaded it months ago. Other libraries and plugins are also updated.

I've got it downloaded will do my best to break it!

Reply 1310 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-04-27, 13:11:

I've got it downloaded will do my best to break it!

Nice! 😀

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1311 of 1702, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

Aaaaaaaaaaaaaand I broke it. I'm not sure what's wrong here, but I get the Error Code 5 with BASS MIDI Channel and no audio output from player, though audio is functional and working in all other software. Settings look correct and match what I had in the last 6.1 test version. I also get DirectSound Capture can't be initialized on startup of the player. It also won't retain any settings.

Reply 1312 of 1702, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

Okay, it seems to be working fine now. I had to hit with a hammer and manually config everything away from the install default and set it to auto-load the proper default config that I want by overwriting the default config with mine.

Reply 1313 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-04-27, 15:45:

Aaaaaaaaaaaaaand I broke it. I'm not sure what's wrong here, but I get the Error Code 5 with BASS MIDI Channel and no audio output from player, though audio is functional and working in all other software. Settings look correct and match what I had in the last 6.1 test version. I also get DirectSound Capture can't be initialized on startup of the player. It also won't retain any settings.

These error messages usually means that the selected output device is occupied. It always happens when the device is used by an ASIO driver like ASIO4ALL or it is used in WASAPI exclusive mode by another app/service.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1314 of 1702, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote on 2022-04-27, 19:20:
RetroGamer4Ever wrote on 2022-04-27, 15:45:

Aaaaaaaaaaaaaand I broke it. I'm not sure what's wrong here, but I get the Error Code 5 with BASS MIDI Channel and no audio output from player, though audio is functional and working in all other software. Settings look correct and match what I had in the last 6.1 test version. I also get DirectSound Capture can't be initialized on startup of the player. It also won't retain any settings.

These error messages usually means that the selected output device is occupied. It always happens when the device is used by an ASIO driver like ASIO4ALL or it is used in WASAPI exclusive mode by another app/service.

Well nothing else was open and I even tested it after a system restart, with the same results. No web browsers, no media players, no games, nuffin that uses audio was open. Once I nailed it down with a proper config, it worked perfectly and continues to do so.

Reply 1315 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
RetroGamer4Ever wrote on 2022-04-27, 21:44:

Well nothing else was open and I even tested it after a system restart, with the same results. No web browsers, no media players, no games, nuffin that uses audio was open. Once I nailed it down with a proper config, it worked perfectly and continues to do so.

Since I know you use VST Midi driver I tried and I could also successfully reproduce the errors with VST Midi driver installed and selected as standard WinMM Midi out port . Since VST Midi driver also uses Bass libraries and it is an in-process driver the player cannot load its own Bass libraries when VST Midi driver is already initialized. So you have to select another Midi out port (e.g. MS GS Soft Synth) then close/restart the player and then you can activate 'Use Bass' mode (when you changed the config file you actually did this).
I have already written before that there seems to be a fundamental/architectural problem with in-process midi drivers that try to use the Bass libraries. The problem also can manifest itself the other way around, namely VST Midi driver cannot load its own Bass libraries if a player already loaded other versions. This does not occur with FSMP since FSMP explicitly unloads Bass libraries when you activate standard WinMM ports but it occurs e.g.with of KaraFun player. Maybe that's why VMS 2.x dropped the in-process driver idea:
Re: Yamaha S-YXG50 Portable VSTi (a software MIDI synth)

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1316 of 1702, by OutlawHusbando

User metadata
Rank Newbie
Rank
Newbie

Thank you very much for making this awesome software, and for free, I just registered to this site to say thank you, and I'm so glad you're still active, your default soundfont is fantastic too, I tried with Final Fantasy 8, 9, Tactics... anime songs and most of them were great!

Reply 1317 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
OutlawHusbando wrote on 2022-05-04, 14:38:

Thank you very much for making this awesome software, and for free, I just registered to this site to say thank you, and I'm so glad you're still active, your default soundfont is fantastic too, I tried with Final Fantasy 8, 9, Tactics... anime songs and most of them were great!

Hi,
Welcome to Vogons, and thanks for your kind words.
I'm glad it is working for you.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 1318 of 1702, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I'm very excited to try this multi port playback. I just received a firmware-matched SC-55 but I still need to get another USB-to-midi adapter.

Is there any difference in quality of these adapters nowadays or are the cheapest Chinese ones as good as any?

Reply 1319 of 1702, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2022-05-05, 01:24:

I'm very excited to try this multi port playback. I just received a firmware-matched SC-55 but I still need to get another USB-to-midi adapter.

Is there any difference in quality of these adapters nowadays or are the cheapest Chinese ones as good as any?

Some users on this forum have already met the phenomenon of cheap cables having problems transferring SysEx messages properly.
Although SysEx problems are more common in case of MT-32 Midi files/games that use long SysEx messages more frequently than GM/GS Midi files/games.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper