SoundFont Midi Player
is a powerful midi player and real time midi synth combo,
especially useful for Soundblaster (Live,Audigy,X-fi) users, who can load soundfonts automatically and real time.
From version 2.0 Bassmidi output mode enables this feature to anyone.
SoundFont Midi Player by Zoltán Bacskó (Falcosoft) is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Features:
- 1. Fully configurable Midi in and out ports.
- 2. Real time program and bank modification on any midi channel.
- 3. Real Time effects on any midi channel.
- 4. Mute and solo on any channels.
- 5. Variable Tempo and Pitch during playback.
- 6. Virtual Piano (F1-F8 Function keys for octave change, right click for note name).
- 7. Chord mode for Virtual Piano and Midi input.
- 8. Send Sysex for Synth (GM, GS, XG, GM2, NX and custom).
- 9. Midi send and receive over Net.
- 10. Karaoke midi files support.
- 11. Bassmidi output mode.
- 12. Spectrum Analyzer.
- 13. Module files (mod,xm,s3m,it) playback support via realtime converting.
- 14. Record to wave, mp3 (or any acm codecs) capability .
- 15 .Real time soundfont loading from playlist. Place your midi and sf2 file in the same directory with the same name, or postfix your sf2 file with the required bank numbereg. mysong.mid mysong.sf2 loads the soundfont to bank 1, but mysong_008.sf2 loads the soundfont to bank 8.
- 16. Scale effect settings (transpose notes to different scales).
- 17. Supports Cakewalk/Sonar instrument definition (.ins) files for preset names and capital tone fallback.
- 18. Supports Sysex capturing from Midi input.
- 19. Supports VST effect/visualization and VSTi instrument plugins.
- 20. Fully supports Windows 9x, XP, 7, 8, 10 moreover Wine.
If you need a good versatile GM/GS soundfont, try this:
http://falcosoft.hu/reality_gmgs_falcomod.zip
If you would like to support the development of Soundfont Midi Player you can donate through PayPal.
version 1.8
1. The program can play karaoke midi files (both .kar and .mid
extension) and can display lyrics and other text meta events.
To display texts press the TXT button on the main dialog.
2. You can set the program's CPU affinity mask (Use only 1 Cpu core) in the right click context menu. This can help with synch errors in case of some 16bit synth engines eg. Wingroove.
version 1.8.1
No new features only bug fixes: better handling of meta text events, workaround for missing sndvol32.exe in Vista/7/8, some mixer bug fixes (but full mixer functionality requires winXP compatibility mode under Vista/7/8).
version 2.0
1. Bassmidi synth and soundfont engine is now integrated into the program. So features that were restricted to real Sound Blaster users so far are available to everyone through Bassmidi.
Real time soundfont loading, soundfont preset names display, balance, bass & treble settings are supported (mixer controls including volume slider are associated with Bassmidi if you choose Bassmidi).
Emulated EAX Reverb and Chorus effect settings are also available. Moreover static loading of multiple soundfonts into different banks are supported.
Bassmidi is loaded dynamically only when you choose Bassmidi output in the device settings panel, so midi drivers that use Bassmidi (e.g. Coolsoft Virtualmidisynth) can be used as before.
However before using the built-in Bassmidi output you should change to a midi output (e.g. Microsoft Soft Synth) that is not using BassMidi and restart the player.
2. Player remembers last played files.
3. Windows theme support that can be changed during runtime (main dialog right click context menu).
4. Other fixes and enhancements.
Information on Bassmidi and Bassmidi settings can be found on un4seen website: http://www.un4seen.com/doc/#bassmidi/bassmidi.html
version 2.1
1. Added experimental module files (mod, xm, s3m, it) playback support via real time converting.
This feature requires soundfont support so midi output must be real Soundblaster or Bassmidi.
Beware of complex module files, since conversion can be lengthy and can result in too big midi files. Converted files are placed in the temporary directory and can be played later without conversion.
The program does not delete these files, you can delete them manually.
2. Added Bass spectrum analyzer in Bassmidi output mode (main dialog right click context menu).
3. International characters support in main panel song title.
4. Other fixes and enhancements (Midi Text, Playlist and Aboutbox related).
version 2.2
1. Added maximum polyphony and sample rate adjustment options to Bassmidi output settings.
2. Added performance information display to Bass Spectrum Analyzer. You can activate/deactivate this in the right click context menu of the Spectrum Analyzer.
3. Spectrum Analyzer and Midi Text dialog's status and position are restored next time you start the program.
4. Fixed using and locking the last used standard midi port when the actual output port is Bassmidi.
5. Other fixes and enhancements (Bassmidi buffering, Mouse wheel and main trackbar, Midi Text).
version 2.3
1. Added basic session recording capability.
2. Automatic lyrics display adjustment according to text window and font sizes.
3. Fixed bug preventing windows to shutdown/restart while the program is running.
4. Fixed bug causing access violation at program start if Bassmidi output is selected but 'Soundfont preset names' is not.
version 2.4
Modified midi keyboard. Instead of previous fixed 8 octaves now the octave offset can be set freely.
So you can reach all midi defined notes on the keyboard (0-127).
version 2.5
1. Added 'Store settings in INI file' option for maximum portability. If you choose this option all entries will be removed from registry and will be stored in 'MidiPlayer.ini' instead.
2. Added direct recording in case of BassMidi output mode.
2. Fixed bug of occasional improper format settings in recorded wave file.
3. Redesigned session recording and more obvious recording options in device settings dialog.
That's how it works:
The most simple option is to use Bassmidi. In this case you don't need to set any special option. Recording just works and only BassMidi output is recorded.
If you use other standard midi output ports then the music is not rendered by MidiPlayer so you have to set the proper input source to hear anything in the recorded wave file.
9x/2000/Xp : Usually there is only one input port per soundcard and you have to choose the proper source in the mixer (Midi or Stereo Mix/What you hear).
Vista/7/8: There are independent input ports for every source and you have to choose Stereo Mix (Midi only option is missing).
But in case of Stereo Mix not only MidiPlayer's output will be recorded but all the stereo sources that can be heard.
version 2.6
1. Important under the hood virtual memory optimizations so the program can open and play very big midi files. Black midis are welcome :).
2. Mod2midi converts more efficiently (produces less midi tracks and smaller midi files) so more complex modules (mod,xm etc.) can be played.
3. Bass spectrum analyzer FPS can be adjusted (right click spectrum analyzer window).
4. Scrolling title for long midi file names (click to enable/disable).
5. Added key offset channel map. You can set which channels the key offset is applied to (right click on Key Offset trackbar). This can be useful for XG and mod converted midi files that not necessarily use channel 10 as drum channel.
6. Fixed bug of incorrect tempo in case of missing tempo track and/or tempo change meta event.
7. Full support of high contrast Windows themes.
8. Smaller user interface related bug fixes.
version 2.6.1
Fixed randomly occurring empty playlist panel bug on Win7/8.
Fixed synth keyboard layout on non-qwerty keyboards.
version 2.7
1. Added new Sysex reset types: GM2 and NX(Technics specific). Available by right clicking the reset icon.
2. Redesigned interface for a little bit more modern look.
3. You can change the font color of the main display panel(new item in main context menu).
4. Signed middle C on virtual piano.
5. Global persistent setting for Autoplay. Setting is stored in registry/ini file.
6. Some minor bug fixes in directsound init under BassMidi mode.
version 2.7.1
1. Improved black midi playback performance in Bassmidi mode.
2. Added code path to cure newer Wine incompatibilities.
Only bassmidi output is useful under default Wine setup since working midiout ports are missing.
version 2.8
1. Mono volume meter is replaced with a stereo one.
2. Last played item on playlist is saved and restored.
3. Lyrics is center aligned and lyrics window is fullscreen capable.
4. Lyrics window and spectrum analyzer can be snapped to main window and moved together (left side and top side respectively).
5. Save patched midi option added to playlist menu. Requested by Technics users to save modified programs/banks to midi file.
6. New channel handling option for midi input (follow channel changes on interface).
7. Added active/inactive state feedback to main form's caption.
8. Fixed buggy 'Always on top' behaviour when lyrics/spectrum analyzer window is opened.
9. Added displaying midi mode of midi files for known Sysex types.
10. Added 'Shuffle' option to playlist menu.
11. Minor cosmetic changes on Windows 8+.
12. Added option to main menu 'Fix SysEx patch changes' to fix problematic midi files that use only SysEx messages to set programs/banks and leaves channel programs at default (piano). You should disable this fix if you want to save re-patched midi files.
version 2.8.1
1. Added capability of recording to compressed audio formats. Any available ACM codecs can be used (e.g. Fraunhofer or Lame mp3 codec).
You can select the desired format directly in the save dialog by clicking the select button on the right hand side of the dialog. Informations about enabling/installing mp3 codecs can be found in the 'Enable_MP3_Record' folder. Since Wine's implementation of ACM is rather buggy this feature is disabled under Wine.
2. Added Ctrl + 0..9 hotkeys for soundfont testing. You should set your soundfonts to the corresponding Bank number in the configuration dialog and then with these new hotkeys you can change the Bank on all channels at once.
3. Added play/pause, prev, next multimedia keyboard hotkey support.
version 3.0
1. Added scale effect settings that enables to transpose notes to different scales (major, minor, pentatonic and other user configurable unique scales) .
More info about this feature: http://abletonlife.com/midi-effect-tutorial-how-to-use-abletons-scale
2. Added taskbar thumbnail buttons (Windows 7/8/10+) and playing control shortcuts to taskbar menu.
3. Added support for Midi system real time messages (Start/Continue/Stop) to Midi input.
4. Playlist title and path parts are separated and tab positions are saved.
5. Other improvements: restructured menu, added show border option, position trackbar beat precision, many other fixes.
version 3.1
1. Added support for Cakewalk/Sonar instrument definition (.ins) files. Definition files should be placed in the new Instrument folder.
You can choose your definition by selecting the main menu->Intruments-> Custom preset settings item.
2. Added new bassmidi version that fixed drum channel related bugs.
So in Bassmidi mode Midi Player can show the correct preset names in all possible modes (GM, GM2, GS, XG) on all channels.
3. Added chord mode that can be applied to virtual piano and Midi input.
4. Added send custom SysEx option. It can be reached from Reset button context menu. SysEx files should be placed in the new SysEx folder.
5. Added a workaround for handling unicode file names that the active code page does not support.
6. Start/Stop real time messages can be sent to Midi out and Open Metronome 1.2.
7. Minor fixes and improvements: fixed slower startup regression from version 3.0, more precise tempo settings,
added actual Midi mode display,
more intuitive main menu options,
confirmation before removing playlist items when using 'Open files';
version 3.2
1. Added capture custom SysEx option and fixed sending big SysEx chunks.
2. Added support for XG/GS patch and drum channel change SysEx messages (so no need for 'Fix Sysex patch changes' compatibility option).
3. Added emulation for XG/GS patch change SysEx messages so midi sounds as intended even if synth does not support the given SysEx.
4. Added Use Sysex for Volume/Balance option. Especially useful for external synths (Device settings dialog -> mixer section).
5. Added right click context menu for direct Channel selection.
6. Further black midi related optimizations.
7. Many other fixes and enhancements.
version 3.3
1. Somewhat bigger user interface including virtual piano, knobs and buttons.
2. Added repeat one and shuffle command buttons to toolbar.
3. Added sorting to playlist. Items can be sorted by clicking the corresponding column header.
4. Faster and more compatible mod2midi conversions.
5. More precise BPM calculations and playback when tempo is modified.
6. Channel map context menu reflects actual drum/melodic channels.
version 3.4
1. Added support for Bassmidi's native 32bit float sample data. 32bit mode can prevent clipping especially when high Bass/Treble values are used.
2. Added support for saving 32bit float wave files when Bassimid's 32bit mode is active. 32bit wave files are mainly useful for post processing.
3. Added support for Bassmidi's NOTEOFF1 mode. If this mode is active note off events only kill the last instance of a note, not all overlapping notes.
4. Fixed regression of Midi over net (only selected channel's messages have been sent).
5. Other minor fixes.
6. New experimental 64 bit version. This version's advantages are better unicode filename support and the potential to handle multiple (very) big soundfonts.
version 3.4.1
Improved Shuffle function to avoid frequent repetitions.
version 3.4.2
Added option to playlist's context menu for enabling CD standard 2 secs pause between songs.
version 3.5
1. Main form's height is set to adjustable (for better playlist handling). You can resize it by dragging top/bottom border.
2. Added real Stop button. Play/Pause is now a toggle button.
3. Added 'Play from first Note' option to Playlist's context menu (skips silence at start).
4 Added 'Remove Dead Items' option to Playlist's context menu (removes missing or invalid files).
5. Added 'Repeat All Playlist' option to Playlist's context menu.
6. Improved compatibility with the recently released Sound Canvas VA.
7. Fixed problems with midi file length calculation when end of track event is mistimed.
8. Fixed playing problems with midi files that use out of spec sysex messages.
9. While dragging an item inside the playlist the playlist scrolls if you move your mouse outside of it.
10. Dragging items to playlist from explorer inserts the items right where you drop them.
11. Other fixes and enhancements.
* Thanks for James-F on Vogons forum for his valuable help.
version 3.6
1. Added Capital Tone Feedback emulation. Useful in case of synths that play wrong instrument or completely stay silent when an invalid bank is referred. More info in Howto/Faq.
2. Added to the Channel select, Key offset, and Scale effect right click context menu a more verbose channel info with preset names. This way it's easier to find the right channel.
3. Added custom sysex reset type. Moreover sysex delay settings are applied to other sysex reset types.
4. Added Mute/Solo Attenuate compatibility setting. It results in vanBasco like attenuation instead of pure on/off state when Mute/Solo applied to a channel.
5. Added Enable Sysex from Midi in option. Similarly to Enable Sysex in Files it filters Sysex messages in disabled state.
6. Added Apply controls to Midi in option. In parallel to CTF it enables to use Force Manual Mode (controller filter), Mute/Solo and Key Offset on Midi Input.
Enabled state is more optimal for message processor mode while disabled is more optimal for jamming (the controls only affect the played file).
7. Added Set Missing Defaults compatibility option. Enabled state is the ordinary one while in disabled state it can help avoiding the buggy LoopBE feedback detect error.
It can also help in some rare cases when wrong instrument is played. Most obvious side effect is instrument selection is not always preserved when seeking.
8. Fixed some AV errors related to playlist handling.
version 3.7
1. This is an important update since resolves a long pending bassmidi bug (especially in the x64 version) of high CPU usage after idle periods .
2. Added handling of drag&dropped folders (single level, no recursion).
3. Added instant playing mode. When drag&dropping files/folders to the main display area it replaces the current items and starts playing.
4. Added the possibility to change the output folder of converted MOD/XM/IT files.
5. Added reset type changing to sysex submenu of the main menu so it can also be reached when the player is in compact mode.
6. Added restoring Bass Spectrum Analyzer if it was opened before switching to normal midi output port.
7. Fixed writing wave files bigger than 4GB (that is out of wave file specification).
8. Fixed Bassmidi's reverb and chorus type/level setting failure of the x64 version.
version 3.8
1. Added Midi Channels visualization mode. Unlike previous modes this one is working with standard midi ports since it uses midi messages instead of wave data.
2. Added channel map to virtual piano Show All mode. By right clicking the Show All button you can set the map to prevent displaying e.g. drum channels.
3. Added playing state indicators to taskbar thumbnail (Win7+) .
4. Added SC88 reset sysex as valid GS mode reset (like Bassmidi and Roland SCVA does).
5. Fixed GS style sysex patch/tone change detection.
6. Fixed Real-time loaded soundfonts resetting when any unrelated options changed in Device Settings dialog.
7. Fixed x64 version standard midi port recording issues.
8. Reduced memory footprint (especially noticeable with big midi files).
9. Fixed multi-monitor related issues.
version 3.9
1. Added 'Show Velocity on Piano' option to main menu -> appearance. If enabled it shows different velocity values with different grayscale colors.
2. Added VST effect/visualization plugin support (main menu -> Bass VST Plugins. It only works in Bassmidi output mode).
Some plugins can cause instability/freezes. The most critical parts are loading and unloading so it is advisable to avoid fast loading/unloading sequences.
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).
3. Fixed error when last file on playlist is deleted while being played and repeat one is enabled.
4. Fixed AV errors in case of successive delete operations when 0 ms sysex delay is set.
5. Better compatibility with older computers that have only 1 CPU core.
6. Other fixes and enhancements.
version 4.0
1. Added VSTi plugins (VST instrument) support.
This means that Midi Player itself can host e.g. Roland SC-VA and Yamaha S-YXG50 Portable VSTi so no other VST host is required.
Advantages compared to external VST host: direct recording, normal volume/bass/treble and visualization support, can be used with VST effect/visualization plugins.
2. Added reset to middle position to most trackbars. Besides balance/bass/treble it also applies to tempo and key offset.
It works by left mouse double clicking since some trackbars have right mouse context menu.
3. VST and VSTi plugin window positions are saved and restored.
4. Added shortcut keys that open effect/instrument window and automatically load previously set VST/VSTi plugins.
(VSTi plugin -> Shift + I, VST plugins -> Shift + effect number)
5. Fixed handling of VST effect plugins that cannot detach their editor window properly.
6. Other fixes and enhancements.
version 4.1
1. Added automatic loading options to VST/VSTi plugins.
2. Added Bass/Treble configuration. You can invoke it by right clicking the corresponding trackbar (works only in Bassmidi/VSTi mode).
3. Added XG style SysEx dump program change detection and CTF support for SysEx based program changes.
4. Added automatic removing of non-existent files from playlists at load time.
5. Fixed some drums related CTF issues.
6. Fixed ESC handling in modal dialogs.
7. Many other fixes and enhancements.
version 4.2
1. Added crop selected files (deletes everything except selected files)
2. New explorer like playlist with multi-selection delete, drag, crop.
3. Added SysEx support for midi over net.
4. Modified VST(i) settings file format to VST standard fxb. Loading old bin format is still supported.
5. Hex string input control is replaced by multi line edit control in Select/Send Custom SysEx dialog.
6. Fixed potential converter command line issues (short path name is not guaranteed under NTFS).
7. Fixed instrument list when Sysex resets are very close to first program change messages.
8. Fixed non-visible VST(i) editors when width/height is only available after embedding.
9. Fixed Bass mode cannot be enabled under Wine.
version 4.3
1. Added 'Set Knob Mode to Linear' option to Compatibility Settings menu.
2. Added Maximum SysEx chunk size setting to Select/Send SysEx dialog.
3. Added Select All but Drums, Select All and Clear All options to Channel Map context menus.
4. Added selected custom SysEx file's name to Reset Type context menu.
5. Added SFZ soundfont support (even FLAC compressed but you have to download bassflac.dll from un4seen.com).
6. Added MT-32 midi & Munt support by SysEx files (GS_MT32_Mode.syx, MT32_GM_Mode.syx).
7. Fixed 'Play from First Note' problem by disabling it for rare problematic midi files with SysEx reset messages.
version 4.4
1. Added Munt (MT-32 emulator) VSTi to fully support MT-32 midi files. (It can be found in new VST folder.)
2. Added BASS_VST_SetEditKnobMode to Bass_vst.dll so linear knob mode can be set also in VST(i) plugins.
3. Added displaying full playlist duration to 'Time' column header.
4. Added ability to add associated file types by double clicking from explorer to an already opened instance of midi player (Winamp like add/enqueue behavior).
5. Added general VST UI to support editor-less plugins. Of course this UI is available for any VST(i) plugins.
6. Fixed saving/loading settings for VST(i) plugins that do not support data chunks.
7. Fixed integer overflow bug in long and high ppqn Midi files (e.g. Quest Studios Larry 3 midi).
8. Added DreamBlaster_X2 instrument definition file.
version 4.5
1. Added new "File Mode" recording option (right click menu on record button). If enabled recording only starts when playback starts and recording stops when the midi file's playback ends.
2. Added new OPL3 GM VSTi for the ones who like 90's retro sound. It's in the same VST folder where MuntVSTi can be found.
3. Added 49716 Hz to selectable sample rates (because of OPL3 GM VSTi).
4. Added version 1.2 of MuntVSTi.
5. Added MT-32 Master volume sysex handling (used when "use Sysex for Volume/Balance" is enabled is mixer options).
6. MT-32 midi files detected and displayed as "MT" on the main UI.
7. Fixed GS_MT32_Mode.syx by adding proper default MT-32 instrument list and MT-32 default pitch bend range.
8. Fixed 'Play from first Note' problem (playback misses some early notes) by fast forwarding only to one beat before first note.
9. Fixed GM Balance (CC# 8 ) default value.
Have fun.
Zoltán Bacskó (Falco)
zbacsko@falcosoft.hu
Jump to Top |