Midi Player's FAQ/How-to

## FAQ/How-to

Bonus:

- S-YXG50 VSTi guitar sound using SysEx messages
- Duke Nukem 3D Grabbag theme XG enhanced
- DOSBox hot swapping virtual Midi devices using SysEx (S-YXG50, Bassmidi, MuntVSTi)
- Master of Puppets Midi + Soundfont + VST effect

In case How-to video thumbnails don't work here is the direct link to Youtube playlist:

https://www.youtube.com/playlist?list=PLHdvR6Dr6j3Iy53KK8o0ZMjNHlF-C0QVC

1. How to start using Midiplayer?

First you should choose your midi out device. If you don't that means you are using Midi Mapper and under Windows it implies Microsoft GS Synth...

But the Windows default Microsoft GS Synth is buggy in Win Vista/7/8 + operating systems. So if you can’t hear instruments please select Bassmidi instead.
Moreover Microsoft GS Synth does not support Reverb and Chorus controllers.

You can choose either a standard midi port or Bassmidi as output device.
In order soundfonts to work you must choose a real Soundblaster or Bassmidi.
If you select Bassmidi you must select a soundfont file in the Device settings dialog to hear anything.
Bass/Treble, real-time sf2 loading and all the advanced features work through Bassmidi.

In case of standard midi ports Bass and Treble only works if your hardware’s mixer supports them.
In MS Vista/7/8 you must set Midiplayers compatibility mode to WinXP to access real hardware mixer controls otherwise only volume is accessible.

Microsoft GS Wavetable synth GS fallback mechanism bug

2. How to move Midi Player’s windows?

You can drag the main window around by clicking on the fake caption area (where the label Midi Player is).

Moreover Lyrics display window and Bass spectrum analyzer window can be snapped to main window so they can be moved together.

Lyrics can be snapped to the left side and spectrum analyzer to the top side.

3. How to reach menu options?

There are several context menus in Midi Player. Each of them can be reached by right clicking your mouse on the corresponding area:

1. The so called main menu can be invoked by right clicking the main caption area.
2. Playlist related context menu can be invoked by right clicking the playlist area.
3. Midi reset type (GM, GS, XG…) context menu can be reached by right clicking the first-aid like icon called Reset.
4. Transpose channel map options can be reached by right clicking the transpose slider.

4. How to use the built-in virtual piano?

You can use the left mouse button or the keyboard of your PC to play on the virtual piano directly.

On the PC keyboard whole notes can be reached from ‘A’ to ’L’ and half notes from ‘W’ to ’P’.

The actual octave can be changed with function keys from F1 to F9.

If you click on a note with your right mouse button you can see the name of the clicked note.
The dot denotes middle C.

You can change the velocity of the played notes by pressing + and – on the numeric keypad.
Left clicking on the upper part on the virtual keyboard’s notes decreases the given note’s velocity.

You can also alter programs and controllers like modulation, volume, pan etc. while you are playing notes.

Maybe not the best place to mention but of course you can also use your real Midi keyboard through Midi in and the virtual keyboard reflects the played notes.

Update: from version 3.1 chord mode can be applied to virtual keyboard and Midi input.
There is a new menu item in the main menu to choose mode and chords but it is more convenient to use the keyboard shorcuts.
Shift : Switch chord mode ON/OFF
From 'Z/Y' to 'M': choose chord (Power, Maj, Min, Sus4, Maj7, Min7, 7)

5. How to alter tempo/pitch?

Right to the playing controls there are 2 sliders.
With the 1st you can change tempo and with the 2nd you can change pitch/key offset.

More than 90% of midi files use channel 10 as drum/percussion channel so the default setting of key offset just works.
But there are exceptions.

You should avoid transposing the notes of drum/percussion channels since in case of these channels every note denotes a different instrument.
You can use the right click context menu of key offset and uncheck the channels that use drums/percussion so key offset won’t alter the pitch of drums.

6. How to alter programs/controllers?

If you would like to change programs/banks and controllers like modulation, volume, pan etc.
you should understand that all of these are channel based so they influence the actually selected channel only.

By default the actual channel is 1 but not all midi files use channel 1.
You can change the actual channel with the rightmost channel selector up/down control.

So you should search what channel use what instrument and change the settings accordingly.

Important to note that channels and tracks are not equivalent in midi specification.
The number of used channels are 16 at maximum but the number of tracks can be many more.
Moreover a track can use more than 1 channel, and more tracks can use the same channel. Midi events/messages are always channel based.

To ease your search you should use the Show All and Solo/Mute buttons.
Show All is basically sets whether you see the note events of all channels on the virtual piano or only the actual channel.
So it can be considered as a visual only all channels/solo select.
By contrast Solo and Mute affect what notes you hear not just the visual feedback.

7. What do the Force Manual Mode buttons do?

Force Manual Mode forces the settings you have made on the knobs to persist even if the midi file sends different controller message value to the selected channel.

An example:
the midi file sends midi controller message 07 (channel volume)and value 64 to channel 1 at start.
The volume knob reflects this, so you can see the knob position is at the middle.
If you change this value to 127 (max volume) it remains in effect only until the file sends the next midi controller message 07 to channel 1,
since it is part of the file/song and e.g. it wants to fade the volume.

If you enable Force Manual Mode the player ignores the upcoming related messages from the file/song so your settings remain as you previously set.

8. How to use recording?

First of all Midiplayer is not a sequencer.
Recording is for users who want to record the wave samples that they hear on windows.
There are 2 possible scenarios:

1. You use bassmidi:
   In this case you don't have to configure anything. Just press the recording button, select a filename and when finished press the button again.
2. You use a standard midi out port:
   The music is not rendered by Midiplayer so you should select the proper recording source in Device settings dialog to hear anything in the recorded wave file.
   The selectable sources depend on operating system versions.
   9x/2000/Xp :
   Usually there is only one input port per soundcard and you have to choose the proper source in the mixer.
   For opening the mixer (and choosing Midi or Stereo Mix) you can use the microphone like icon next to the recording button.
   In this mixer dialog you can also set the desired recording level.
   Vista/7/8:
   There are independent input ports for every source and you should choose Stereo Mix.
   In MS Vista+ operating systems there is no public API call exposed to open recording level directly.
   So after clicking the microphone like icon and right clicking Stereo Mix you should select Properties -> Levels.

If you have set up everything properly you can see the volume meter reacts to synthesizer voices.
Just press the recording button, select a filename and when finished press the button again.

9. How to configure Midi input?

Open Device settings dialog then select your Midi input device and check Active.
There are 3 channel handling options available:

1. Channel Don't follow:
   It is the default. It's ideal when you play multi-channel midi from midi input.
   In this state the player interface does not reflect midi channel changes from midi input and does not alter the channel part of input.
   The drawback is you don't see on the interface what channel the actual message is using.
2. Channel Override:
   When you select it the actual channel will always be what you have selected on the player interface.
   It does not matter what is the actual channel on your Midi keyboard it is overridden by the player.
   It is for fire and forget jamming but cannot work with midi files from input since all messages arrive on the same channel.
3. Channel Follow:
   This is the ideal choice for real keyboard users.
   In this state when you send any channel based messages (note/program/controller) the player interface switches to the used channel.
   So the bi-directional functionality can be more complete this way.
   The only drawback is it's less ideal for playing multi channel files from Midi input since the interface switches channels back and forth crazily.

10. How to correct if midi file does not sound as expected?

You can try to check/uncheck Enable SysEx in files option in the main menu depending on what you would like to achieve.

1. If you want the midi to sound as intended by the author check this option.
   The drawback is that SysEx events in files can override your altered program/bank settings
   and definitely override your midi mode (GM,GS,XG etc.) setting you have defined in the right click context menu of the Reset button.
2. If you would like to preserve your chosen midi mode and altered programs/banks you should disable Enable SysEx in files option.

If a file contains SySex events the player interface indicates this. Gray GM sign means no Sysex is found so the file is presumably GM compatible.

Update:

From version 3.1 the player interface also indicates the actual midi mode of the synth (even if it is set by a message e.g. from midi input) .

From version 3.6 you can also try the Use Patch Info for Capital Tone Fallback option.

11. How to test more soundfonts at once?

1. Make sure Midiplayer is set to use Bassmidi as output.
2. Load your default Soundfont. Default soundfont is always loaded at Bank 0 as base.
3. Load your additional soundfonts you wish to test to the other slots. Make sure the bank numbers are different (and below 10).
4. If you have enough RAM you can preload the soundfonts into memory for smoother transition.
5. Start playing your Midi files and switch between the different soundfonts by pressing Ctrl + the corresponding Bank number.

12. What does Fix SFZ drum bug do?

Besides Bassmidi Cakewalk’s audio SFZ is the best option to use soundfonts with Midiplayer.

Unfortunately SFZ has an unpleasant habit that it won’t play back midi files properly
if drum/percussion channel’s bank MSB value is not set to 127 (XG standard).
Most midi files simply use channel 10 and don’t set this value.
This option fixes the issue by automatically setting Bank MSB to 127 on channel 10.

If you don’t use audio SFZ you should definitely uncheck this option in the main menu since enabling it can have side effects.

13. What does Save re-patched Midi do?

This is an experimental feature requested by Technics keyboard users to save modified programs/banks to midi file.

More deatails on technicskn7000.com forum

This feature mostly works with multitrack type 1 midi files that use one channel per track.
Before using it make sure that Set Missing Defaults is selected in Main menu ->Compatibility Settings.

14. What does Midi via Net do?

You can start many Midiplayer instances on your networked PC’s and set them to receive midi on a given port.

Then you can start another Midiplayer instance on another networked PC and set it to send midi on the same port on the same network.

The sender PC can use broadcast addresses so every PC on the same network can receive midi messages at the same time.

15. How to use midi Scale Effect?

Make sure you use midis with equal temperament (that do not use Pitch bend)

1. Load your Midi and open the scale effect dialog
2. Press the big button to get the proper root note and key. (The algorithm is not unerring so sometimes you have to find the root yourself...)
3. You can check if the root/key is appropriate by choosing the same root and scale from the list. It should sound almost like the original.
4. You should check Repeat one in order to prevent Midiplayer to switch to the next song on the playlist.
   The same scale setting is almost sure sounds bad with another midi so the player resets the sacle when a new song is loaded.
5. Then you can choose other scales from the list and try them out...
6. You can manually edit and save scales and load them later.

16. How to use Capital Tone Fallback emulation?

Capital Tone Fallback emulation is useful in case of synths that play wrong instrument or completely stay silent when an invalid bank is referred. The recently released Roland SC-VA in SC-55 mode belongs to the first camp while MS GM/GS Softsynth in GS mode to the second. In case of Bassmidi output mode the effect is only cosmetic (you can see what preset you really hear) since Bassmidi supports CTF natively. Midi Player uses instrument definition files (.ins) to decide what bank/program combination the actual synth supports. So it is very important to choose the right one.

1. Open main menu ->Instruments->Custom Patch Definitions and locate the corresponding ins file.
   E.g. for SC-VA use Roland_SCVA.ins and for MS Softsynth use Roland_MS-SoftSynth_GS.ins.
2. Select the right sub-mode (if more than one exists) for melodic and drum channels.
3. Make sure Use Patch Info for Capital Tone Fallback option is selected.
4. If you use Midi Player directly you can start playing your midi files.
5. In case you would like to use Midi Player as a message processor e.g. for a game in DosBox remember to set up midi input in the settings dialog.

More Info on Vogons forum

17. How to use VST/VSTi plugins?

Before using VST/VSTi plugins you have to enable Bass mode in Device settings. VSTi instrument plugins can be considered a 3rd output mode in Midi Player besides standard midi out ports and Bassmidi. Both VSTi and Bassmidi output modes are based on Bass infrastructure and share some settings. VST effect/visualization plugins can be used both in Bassmidi and VSTi output mode.

After enabling Bass in Device Settings you can reach the Bass VST(i) Plugins submenu from the main menu. There are 4 possible slots for different effect/visualization plugins but only 1 instrument plugin can be used for midi output. You can browse for plugins anywhere in your file system and the selected plugin's path is saved. You can also save/load settings of the individual plugins.

For effect/visualization plugins you can also set priority. Priority defines the order of effects. Higher priority means that the effect occurs earlier in the chain. Therefore visualization plugins should be set to 0 priority. Also effects that are set to 0 priority do not influence recording (recording virtually runs with priority 1).

You can also start/stop and pause plugins. Start/stop actually means loading and unloading the plugin. Closing the plugin's window does not unload the plugin. When you stop a VSTi instrument plugin you actually switch back to Bassmidi output mode. You can use this feature to compare the sound of these 2 modes.

For faster startup there are hotkeys defined both for effect/visualization and instrument plugins (VSTi plugin -> Shift + I, VST plugins -> Shift + effect number).

18. How to use loop points?

First the usage of loop points has to be enabled.
Infinite loops can only be used in Repeat One mode.
(Otherwise they would stop your playlist forever)

Loop points are not official standards. Currently FSMP supports
3 types of loop points.
1. loopStart/loopEnd meta markers
2. RPG Maker style CC# 111 (only loop start marked).
3. XMI style CC# 116/117. This is the most versatile.
Supports multiple loop start/end points
and both infinite and finite number of loops.
Loops of type 1/2 are always infinite. Type 3 can be finite if the 3rd byte of CC# 116 is different from 0 (1 - 127).

You can make infinite loops finite by setting the maximum loop count in Loop Settings. This way midis with infinite loops can be used on playlist without Repeat One mode.

Adding a 'dummy' loop start point at the beginning of midi files can be advantageous. This way you can achieve seamless repeated playback.

Without loop point the repeated playback is not perfect because the usage of All Sound Off controller messages (to prevent
hanging/sustained note problems).

With loop points Midi player optimizes the repeated playback by not sending All Sound Off but only All Notes Off messages at the loop's end. In case of loops it's the author's responsibility to handle hanging/sustained notes.

- S-YXG50 VSTi guitar sound using SysEx messages

I'm surprised how good S-YXG50 guitar sound can be with a little SysEx help. This synth has only a 4MB sound set!
For this guitar sound you need these SysEx messages:
F0 43 10 4C 02 01 00 03 00 F7
F0 43 10 4C 02 01 0C 64 F7
F0 43 10 4C 02 01 40 4B 00 F7
F0 43 10 4C 02 01 44 00 03 F7
F0 43 10 4C 02 01 46 00 34 F7
F0 43 10 4C 02 01 48 00 50 F7
F0 43 10 4C 02 40 00 00 F7
F0 43 10 4C 02 40 01 3D F7
F0 43 10 4C 02 40 0D 41 F7
F0 43 10 4C 02 40 11 43 F7
F0 43 10 4C 02 01 5B 02 F7
The last one which has '5B xx' designates the used Midi Channel.
xx = 00 : Channel 1
xx = 01 : Channel 2 and so on.

- Duke Nukem 3D Grabbag theme XG enhanced

Lee Jackson's modified Grabbag theme on S-YXG50 VSTi.

I have changed channel/track 6 instrument to Vibes since Tubural Bells sound off tune on S-YXG50.

Used SysEx messages:

F0 43 10 4C 02 01 40 4B 00 F7
F0 43 10 4C 02 01 44 00 03 F7
F0 43 10 4C 02 01 46 00 34 F7
F0 43 10 4C 02 01 48 00 50 F7
F0 43 10 4C 02 40 00 00 F7
F0 43 10 4C 02 40 01 3D F7
F0 43 10 4C 02 40 0D 41 F7
F0 43 10 4C 02 40 11 43 F7
F0 43 10 4C 02 01 5A 01 F7
After applying the SysEx messages you can use Controller 94 to set the effect amount on the given channel.

- DOSBox hot swapping virtual Midi devices using SysEx (S-YXG50, Bassmidi, MuntVSTi)

More info on VOGONS forum:
http://www.vogons.org/viewtopic.php?f=62&t=46111&start=380#p585289

- Master of Puppets Midi + Soundfont + VST effect

Customized Master of Puppets Midi played with
Midi Player + Reality GM/GS falcomod soundfont + IK Multimedia Amplitube LE VST.

| Jump to Top