VOGONS


Reply 100 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Does that mean Microsoft GS Synth does CTF?

Interestingly it does, but only on Drum channels in GS mode. But in case of GS mode and melodic channels it simply stays silent when invalid variations are selected (Vista+, on XP it does CTF even on melodic channels).

Ps.
CTF is not an esoteric theoretical thing that just experts comprehend. You can try whether a synth supports CTF or not by selecting different Bank MSB/LSB + Program combinations and listening what happens.

Last edited by Falcosoft on 2016-06-05, 09:30. Edited 6 times in total.

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

Reply 101 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Are more minimize options necessary ?

Not really, just for convenience sake.
Not necessary if you don't want to.

Something's not right.
In World of Xeen, whenever I fire an arrow, I hear a single acoustic bass note.
If I disable "Use Patch Info for Capital Tone Fallback," then the arrow sound seems to be a low volume version of footsteps.

Everything is perfectly right. 😀
Arrow should sound like bass note, and footstep like footstep.

The real SC-55 MK2 won't even make a sound (silence) if the variation is not right, only SC-55 MK1 has native CTF function.
SC-VA will keep the previous sound if the variation is not right, and make the arrow sound like a a footstep.
Some say keeping the previous sound is worse than silence.

What are some games where the CTF makes a big difference?

Here is the master list: Sound Driver Enhancement Hacks - General MIDI
Where you see CTF, the game has some problems with anything but SC-55 MK1.

Falco,
When switching off "Use BassMidi" the Output Port is empty.
When clicking OK while leaving the Output Port empty it selects the MIDI-Mapper default.. but my Midi mapper default is also the FSMP Midi Input, resulting in Feedback loop.
Is it possible to remember the last option?

Last edited by James-F on 2016-06-05, 09:19. Edited 1 time in total.


my important / useful posts are here

Reply 102 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Microsoft GS Synth, does NOT have GS instruments ONLY General Midi

This is not true, it has the same variation banks as the SC-55 (minus CM-32/64 maps). But it only accepts the variations when you explicitly send it a GS reset.
In GS mode it even can change Drum channel according to GS specification.

On my Windows 7 machine, Microsoft GS Synth has fallback on Drum channel also AND on wrong instrument variations,

This is only true when MS Softsynth is in GM mode. In GS mode I have never met a Windows version after XP (Vista, 7,8,10) that does CTF. If you select an invalid combination it remains silent.

When switching off "Use BassMidi" the Output Port is empty

.

Ok, I have uploaded the new test version.

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

Reply 103 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote:
This is not true, it has the same variation banks as the SC-55 (minus CM-32/64 maps). But it only accepts the variations when yo […]
Show full quote

Microsoft GS Synth, does NOT have GS instruments ONLY General Midi

This is not true, it has the same variation banks as the SC-55 (minus CM-32/64 maps). But it only accepts the variations when you explicitly send it a GS reset.
In GS mode it even can change Drum channel according to GS specification.

On my Windows 7 machine, Microsoft GS Synth has fallback on Drum channel also AND on wrong instrument variations,

This is only true when MS Softsynth is in GM mode. In GS mode I have never met a Windows version after XP (Vista, 7,8,10) that does CTF. If you select an invalid combination it remains silent.

Thank you, I learned something.
I edited my previous post to not be misleading.

My results were like so because I had my reset set to "No SysEx" because the SC-55 is quite slow, and songs that require GS reset has it in the midi file already.
EDIT: Okay, I turned GS Reset back on but the delay time is set to 200ms so the reverb will not slow rise.
200ms is indeed the sweet spot for SC-55 to not cut notes and wait till the effects are fully loaded.

Falcosoft wrote:

When switching off "Use BassMidi" the Output Port is empty

.
Ok, I have uploaded the new test version.

Thanks.


my important / useful posts are here

Reply 104 of 1699, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
DracoNihil wrote:

I haven't tried your program under Wine but seeing this makes me wish Linux had better MIDI stuff, like a BASSMIDIDriver and\or a more fully developed FluidSynth.

You can try this. Not worth the hassle for me as it doesn't compile under ARM.
https://bitbucket.org/kode54/bassmidi_synth/src/

All hail the Great Capacitor Brand Finder

Reply 105 of 1699, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

I just get the following when I try that:

Unable to open BASS, error: 3

The error code is BASS_ERROR_DRIVER, and I'm not sure why it can't find a valid driver. Looking in the source code it seems to talk to libasound.

EDIT: Tried changing the parameter for BASS_Init to 3 (which I would assume tries to select "pulse" if ALSA ordering is correct), I get no errors but then I just get silence...

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 106 of 1699, by thecrankyhermit

User metadata
Rank Member
Rank
Member

Here is the master list: viewtopic.php?f=7&t=35811&p=308610&hilit=capital+tone+fallback#p308610
Where you see CTF, the game has some problems with anything but SC-55 MK1.

I know about the master list. But I'm looking for a specific example of a game where it really makes a big difference. Xeen seems to be very subtle. I mean, I barely hear the acoustic bass over the music. What is a game where the lack of CTF is hugely noticeable? The master list won't tell me that.

Also, that's just a list of games that this poster has made fixes for. For instance, I understand Lands of Lore uses CTF, but it isn't mentioned on that page.

What I want to do is play a game where lack of CTF makes an obvious difference, and then turn the CTF workaround on and hear the difference.

Running:
Windows 10
Core i5-6600
Geforce GTX 970
8GB RAM

Reply 107 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

@thecrankyhermit
This is not really the thread to ask about "what game can I try to see a dramatic effect of CTF", there are TONS of other thread about this, use Google.
The main three games are Lands of Lore, Worlds of Xeen, and Space Quest V: The Next Mutation.
With World of Xeen being the most testable.
Read from link to end of thread: Apparently not all GS-only sc-55s are the same, some are GM

The main reason for CTF in FSMP is to fix midi music files that have corrupt MSB/LSB, or to play music written for a latter model of synth (with more variation) on an older one, without resulting in silence or wrong instrument.
Falcosoft also implemented Drum patch fallback to "previous closest" which not many synths have (only SC-55 MK1), and it's indeed very useful in music and badly programmed games.

@Falcosoft
There is a problem with typing in a Delay Time, it responds immediately to wrong numbers.
Try to type 200.


my important / useful posts are here

Reply 108 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

There is a problem with typing in a Delay Time, it responds immediately to wrong numbers.

Ok, fixed.

It seems v3.5.1 will never be released since v3.6 is on the way.
I have added a few new features so this version deserves its own minor version number. 😀

1. Added to the Channel select, Key offset, and Scale effect right click context menu a more verbose channels info (preset names). Maybe this way it will be easier to find the right channel.
2. Added CTF to Bassmidi mode. Although it was not strictly necessary, now it is consistent with non-Bassmidi mode. It's worth mentioning that Bassmidi CTF does not use ins files but the soundfonts are queried directly for preset info. This way stacked and dynamically loaded presets are also detected.
3. Added 'Enable Sysex from Midi in' option. Similarly to 'Enable Sysex in Files' it filters Sysex messages in disabled state.
4. Added 'Apply controls to Midi in' option. In parallel to CTF it enables to use Force Manual Mode (controller filter), Mute/Solo, Key Offset on Midi Input.
Enabled state is more optimal for gaming/message processor mode while disabled is more optimal for jamming (the controls only affect the played file and do not disturb the external device).
Happy testing!

Download location is on the first page of the topic.

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

Reply 109 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

#1 This is indeed visually convenient.
#3 Still does not apply sysex delay right?
#4, I think it would be wise switch "apply controls to midi in" to Off when playing games, on the contrary to what you suggested, to prevent adjusting something by mistake.
Still, this is very useful for other external midi sequencers/applications that inputs midi to FSMP to apply CTF or otherwise.

The delay time still has a bug if I delete the number completely.
I would suggest setting it to default (60ms) if nothing is typed ONLY after closing the "Set Custom Sysex" window.

Thank you for the new version!


my important / useful posts are here

Reply 110 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Still does not apply sysex delay right

No, it can only filter out Sysex messages. Useful if you want to control the state and do not want an arbitrary Sysex to ruin it.

I think it would be wise switch "apply controls to midi in" to Off when playing games

.
Yes, you must be right 😀. I think I'm going to set it to disabled by default.

[EDIT]

The delay time still has a bug if I delete the number completely.

Ok, annoying checks removed, but it still forces valid numbers between 0 - 500. The main purpose is to give immediate feedback about what are the limits/allowed values.
+Added Van Basco like attenuation instead of pure Mute/Solo compatibility option.
I think this will be the final feature set for the v3.6 release. Only bug fixes from now.
Download location is the same.

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

Reply 112 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Falco,
I would suggest moving soundfont banks (ctrl+0 to 9) to LSB because most GS instruments use MSB for variations as we know.
Also, is there a master volume for sound fonts (not the master player volume)? I had to set 40% on each of the soundfonts to match volume to match my SC-55.
Too high volume creates distortion, I found that 40% eliminates all distortion.

EDIT:
GM2 variations are on MSB 121 and LSB 0-127
GM2 Drums are on MSB 120.
It's fair to add that I've never seen a GM2 midi file, but there a lot of GS files that may change the soundfont during playback with MSB.


my important / useful posts are here

Reply 113 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

would suggest moving soundfont banks (ctrl+0 to 9) to LSB

Soundfont as an E-mu/Creative technology basically was built with GM/GS in mind. It supports only 128 banks. Bank 0 was supposed to be the main GM compatible bank, and other additional soundfonts to be the variations.
So SB AWE/Live/Audigy series HW knows nothing about LSB bank addressing. All the midi files using soundfonts that was written in this era (and that era was the golden age of Soundfonts) assume MSB banks. FSMP's bassmidi implementation tries to mimic the SB card's soundfont manager 'stacking' behavior. Original bassmidi implementation also only supported MSB banks. I have seen that bassmidi now already supports LSB addressing, but it would break SB compatibility completely.
It was never the aim to place full GM/GS implementations on different banks. It is possible, but later banks overwrite overlapping presets. But it was intended to do it this way.
Anyway moving to LSB would not prevent this. Overlapping variations on later LSB would also replace earlier ones.

GS instruments use MSB for variations as we know

If you set bassmidi's soundfonts to be LSB addressable you would not reach the variations at all in GS mode. GS mode midis and soundfonts have to cooperate. It would not work that Soundfonts use LSB but the midis use GS like MSB addressing.

is there a master volume for sound fonts

No. In bassmidi soundfont's volume can only be adjusted individually. To prevent clipping/distortion globally you can do 2 things.
1. You can use the 'Use sysex for Volume/Balance' mode since contrary to normal Bass volume setting it influences the pre-mixing/internal synth state.
2. You should enable the use '32 bit sample data' option. With floating point data clipping is not a problem since data outside the normal -1..+1 range can also be used and can be normalized during playback.

Last edited by Falcosoft on 2016-06-08, 20:31. Edited 7 times in total.

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

Reply 115 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Falco, anyone;
Can you please suggest a midi router software?
I need FSMP to send to two midi outputs simultaneously.

Midi-OX skips sysex messages for some reason if they are delivered too fast.
VSTHost, SAVIHost (Midi Through) shuts down sysex completely if too many messages are delivered.
Going directly from FSMP to Midi Yoke or LoopMIDI woks good, so it's not the "Software Cables" but the Router that is the problem.
Any suggestion?


my important / useful posts are here

Reply 116 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
I think you should try to increase the numbers of input/output sysex buffers in Midi-OX setup (e.g. to 64 or rather 128). I don't think buffer sizes matter that much unless you are sending really big sysex chunks (e.g. instrument dumps). In this case you should increase the sizes as well (e.g. to 512 or rather 1024). Also you can play with the sysex sending delays in Midi-OX.
Unfortunately I don't think you can find a better router than Midi-OX. 🙁

[Edit]
If you are using an USB-MIDI cable that works with the built-in Windows drivers this bug can also be a problem:
http://www.midiox.com/cgi-bin/yabb/YaBB.pl?bo … ;num=1206643557

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

Reply 117 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

If you are using an USB-MIDI...

I'm using a professional firewire audio interface (Focusrite Saffire PRO 24 DSP), the midi ports and hardware working perfectly.
I also have a cheap Chinese USB-MIDI dongle but it will not transmit sysex no matter what.
Midi-OX will sometimes stop routing sysex completely, but when I use only FSMP with software cable or real hardware cable, all is perfectly fine.
Midi-OX will also sometimes skip a reset sysex from FSMP.

I did try the loopback test and all is working fine with my midi hardware, so the problem is not sending with Midi-OX, but only the routing part.
Midi-OX does something wrong to the sysex when it's transferring it from the input port to the output port (routing).
I can contact Midi-OX author about this but the latest version is so old I don't think he is interested in updating it at all.

I think I'll just stick to going from FSMP straight to the destination without splitting with Midi-OX.
Unless, you want to create a small multi-output splitter for FSMP, it'll be very useful.

Found a critical bug.
Change the output port (while playing !), click OK, and immediately double-click any song.
I think it's related to sysex delay again.

1.png
Filename
1.png
File size
53.4 KiB
Views
2313 views
File license
Fair use/fair dealing exception
2.png
Filename
2.png
File size
54.2 KiB
Views
2313 views
File license
Fair use/fair dealing exception
3.png
Filename
3.png
File size
26.05 KiB
Views
2313 views
File license
Fair use/fair dealing exception
4.png
Filename
4.png
File size
17.56 KiB
Views
2313 views
File license
Fair use/fair dealing exception


my important / useful posts are here

Reply 118 of 1699, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
I'm sorry to hear that nothing helped.

Found a critical bug.

OK, It's fixed. Download location is the same.
[Edit]
Yes, it was a delay related bug, but it could only manifest itself on my side when the selected midi-in port was Midi-Yoke and midi-in was active. It's slow to reset Midi-Yoke type input ports. Other inputs are much faster to close.

I think I'll just stick to going from FSMP straight to the destination without splitting with Midi-OX.
Unless, you want to create a small multi-output splitter for FSMP, it'll be very useful.

Maybe later. I don't know if it's applicable to your situation but Midi-yoke/LoopMidi ports are multi-client capable. So if FSMP send messages to 'Out to Midi-yoke 1' then many clients can connect to 'In from Midi yoke 1' port and get the messages without any splitter/router.

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

Reply 119 of 1699, by James-F

User metadata
Rank Oldbie
Rank
Oldbie

Not really applicable to my situation because I have the SC-55 on my real MIDI-OUT port and the SC-VA on one of the loopMIDI/Midi-Yoke Out ports.
This way I can mute the PC sound to hear the SC-55 alone or mute the SC-55 to hear SC-VA alone, for comparison sake nothing more.
In this situation I have to split FSMP output using Midi-OX.
Midi-OX is sluggish when it comes to routing sysex commands.

This is not FSMP related at all, just something to remember when using Midi-OX.
You can disregard that completely, it has zero importance.


my important / useful posts are here