Freeware

New SyxLoader Version 1.5 available

Sunday, August 12th, 2007

SyxLoader

SyxLoader Version 1.5 now offers a new preferences dialog to control the event splitting behaviour. This hopefully will be useful for users of USB class-compliant interfaces who experience data loss or corruption on sysex transmissions.

Read more »


ClickTrack

Sunday, July 17th, 2005

ClickTrack is a little tool for easily adding click tracks to your Standard MIDI Files (.mid). Click tracks are almost indispensable if you play live with both a sequencer (machine) and a drummer (human) and the human is acting as a timeline-slave to the machine.

At work

The story
Keyboarder uses sequencer and is fed up with bad timing of Drummer at last gig. Drummer is always fed up with Keyboarder, but this time Keyboarder has gone too far as Drummer did not hear anything from him at all over the monitors. So Keyboarder adds click tracks to his sequences and Drummer borrows a set of headphones from Girlfriend and henceforth performs straight to the tic-toc-toc of the sequencer. Guitarist does not take part in this discussion. He was clearly audible on stage, shouldn’t this be enough anyway?

The truth
A good friend of mine asked me for help to make all his tens of MIDI files contain those click tracks. After trying to rework some files manually in Cubase we decided that it would be much nicer to have a tool like ClickTrack.

About Standard MIDI Files (SMF)
SMF are a common and standardized way to interchange time-stamped MIDI data between computers or MIDI devices. The file format has been specified by the MIDI Manufacturers Association (MMA). SMF are often used on stage for playback with hardware sequencers, and this is the only file format that can be processed with ClickTrack.

  • SMF Format 0
    Format 0 files comprise of one track that may contain MIDI data on all channels 1~16. Additionally, all meta events like tempo, time signature or lyrics are located in this one track. Format 0 is especially suitable for load-while-play devices due to linearity between time- and fileposition of events.
  • SMF Format 1
    Format 1 files comprise of up to 65536 tracks. Track 0 is kind of a mastertrack, usually hidden to the user and containing meta events like songname, tempo and time signature. Tracks 1~65535 are the ones you see in your sequencer application and that each may contain MIDI data on all channels 1~16. Format 1 is especially suitable as interchange format for complex arrangements with more than 16 part multitimbrality and for dedicated routing of tracks to MIDI outputs on hardware sequencers. Not many load-while-play devices support format 1 as timely subsequent events are staggered trackwise along the file.

It is important to realize the differences between format 0 and format 1 to select the most appropriate variant for your application. ClickTrack allows you to load, process and save files of both formats, and thus it may also be used as a conversion tool. Furthermore, it offers a few goodies to edit song- and tracknames, to intelligently transpose songs and tracks, to reorder or mute tracks and to remap MIDI channels.

Menu File
Files can be opened as usual but drag & drop is supported and recommended. There is no Save option but only Save As.. instead to avoid erroneous overwriting of your original files.

Menu File

Menu MIDI
There is an Offline option to close the MIDI output and make it available to other applications without closing ClickTrack. May be useful.

Menu MIDI

Song Info
The Song Info shows the name of the song and offers a global transposition combo box. The songname is not the filename but the meta event trackname of track 0 in a format 1 file or the one and only trackname in a format 0 file. Double click on the songname field to set or change this value. Global transposition means that all note events not on channel 10 and all tracks not mapped to channel 10 are transposed. MIDI channel 10 is usually used for drums.

Song Info

SMF Info & Save Options
The SMF Info displays the format of the SMF, the number of tracks and the division. If you load format 0 files, the number of tracks is set to 16 at first, as channels are mapped to tracks. Within the Save Options you may change the format to be saved and the division value. If you do not know about the division parameter you should let the combo box setting on Keep.

SMS Info & Save Options

Tiny Tracklist
The Tiny Tracklist provides a quick overview on the tracks. If you click the check box beneath a trackname the track will be muted while playing. Additionally, muted tracks, when saved to format 1, will still exist to keep up the track order but will contain no note events. Muted tracks, when saved to a format 0 file, will be deleted concerning their note events. Double click on a trackname to set or change the value but be aware that tracknames will only be saved with format 1.

Tiny Tracklist

The four combo boxes on the right allow you do some track specific modifications. The Channel option, when set to any after loading, indicates that the selected track contains MIDI events on more than one channel, otherwise it is set to the appropriate value. To force events on this track to be put out an a specific channel, just set it on the desired value. With the Transpose combo box you may transpose all note events on the selected track by value -24~+24. Just in case the track sounds too bassy low or too screamingly high after transposition, you may force a certain key window for all note events with the Wnd bot and Wnd top combo boxes. Any notes below or above the given key window will be wrapped one octave above or below the original value. This often leads to very interesting results, maybe try it on the bass track first.

Click
The Click options should be generally obvious. Imagine you have a 16 track format 1 file and want all your files to have a click track 20 in the future. Just set the Track combo box on value 20 and go for it. If you leave it on value 10 and your drum parts are on track 10 then the click track will be merged into the existing track.

Click

Select accent and default note with the Acc and Def combo boxes. Of course, for proper positioning of accent and default note, the MIDI file must contain time signature events. If it does not, you may work around by setting these notes on the same value. Adding a click track may not be undone currently, this is yet a one-shot feature so you should always add the click track finally after having played with the tracklist options.

Download
ClickTrack is built with Borland C++Builder 6 using Theme Manager by Mike Lischke. It is designed to run on Microsoft Windows 2000/XP and comes with Inno Setup installer. Please tell if you find errors or want further features to be added, your feedback is welcome.

ClickTrack is freeware and provided to you as is. It is assumed to work properly but may be erroneous and have malicious effects on your computer systems or MIDI devices. Download and use at your own risk.

Download ClickTrackDownload ClickTrack 1.0 (~613KB)


SyxLoader

Friday, January 14th, 2005

SyxLoader is a little tool for sending MIDI system exclusive data from SYX Files (.syx) or Standard MIDI Files (.mid) to your MIDI devices.

SyxLoader

About SYX files
SYX files are the simplest way to store system exclusive data. They contain raw MIDI data in one or more blocks as transmitted via MIDI when performing a bulk dump. Unlike SMF, no timing information is included. The only thing a parser has to know or assume about a SYX file is that one or more data blocks may occur, each beginning with system exclusive status byte F0h and ending with F7h (end of exclusive, EOX). The contents in between are not of parsers interest but only for the dedicated MIDI device.

About Standard MIDI Files (SMF)
SMF are a common and standardized way to interchange time-stamped MIDI data between computers or MIDI devices. The file format was specified by the MIDI Manufacturers Association (MMA).

Quick Guide
Files can be opened as usual but drag & drop is supported and recommended. Some keyboard shortcuts are provided for basic control. The Save as.. allows you to save (and thus convert) a loaded SYX file to an SMF.

Menu File

There is an Offline option to close the MIDI output and make it available to other applications without closing SyxLoader. May be useful.

Menu MIDI-Output

Transmission can be paused and resumed. This is not really an essential option for a sysex tool as most MIDI devices do not like interruptions. It may be useful if you put several dumps with distinct pauses into one file and stop transmission to change the MIDI output.

While sending

In between ..
SyxLoader splits big sysex events into parts of 1024 bytes by default. To get this done internally, the subsequent parts are handled as separate events with status byte F7h (EOX). Delta time in ticks between these events is calculated as follows:

Brainer

Measure warp
With the Save as… option there is one thing to mention about the saved SMF: In case they contain music next to sysex data you will experience a measure warp along the timeline. This is due to SyxLoaders fragmentation algorithm which not only splits big sysex blocks into small ones but also shifts the position of all subsequent events to the amount of calculated delta times; see the animated GIF below. This warping is a feature, not a bug.

Measure warp

Update for Version 1.5 (12. August 2007)
Recently a user contacted me, who was not able to get just one sysex dump out of his Miditech MIDIFACE USB interface without experiencing a sporadic data loss and ridiculous amounts of data bytes wrongly transmitted on the MIDI output. So I ordered a MIDIFACE myself and found it to be one of those USB class-compliant interfaces which do not need a special driver and just work out of the box. They are sometimes called “driverless”, but of course they are not. Instead — under Windows XP — it is the OS’s usbaudio.sys driver which handles them.

It turned out that with usbaudio.sys an application should not pass a big sysex event with more than one call of midiOutLongMsg() unless you want the output data to be severely corrupted. In other words, the driver and probably all thereby driven class-compliant MIDI interfaces will handle sysex data correctly if you avoid the commonly used split output buffering. A typical drawback of usbaudio.sys are blocking calls to midiOutLongMsg() that will not return until the driver has synchronously transmitted all of the passed MIDI data.

SyxLoader now offers a preferences dialog to control the splitting behaviour. With Maximum Blocksize you may either vary the split size or — recommended, if you use a class-compliant device — disable the splitting by choosing ignore (do not split). Please be aware that the progress bar on SyxLoader’s main window may appear “chunky” or frozen while transferring big non-splitted MIDI dumps.

Preferences

Download
SyxLoader is built with Borland C++Builder 6 using Theme Manager by Mike Lischke. It is designed to run on Microsoft Windows 2000/XP and comes with Inno Setup installer. Please tell if you find errors or want further features to be added – your feedback is welcome.

SyxLoader is freeware and provided to you as is. It is assumed to work properly but may be erroneous and have malicious effects on your computer systems or MIDI devices. Download and use at your own risk.

Download SyxLoaderDownload SyxLoader 1.5 (~607KB)


SMF AutoName

Friday, August 2nd, 2002

Tiny little helper that renames Standard-MIDI-Files (SMF) according to Meta-Event SEQUENCE-/TRACKNAME if possible. Created with Microsoft Visual C++ 6.0. Please tell if you find errors or want further features to be added, your feedback is welcome.

SMF AutoName

SMF AutoName is freeware and provided to you as is. It is assumed to work properly but may be erroneous and have malicious effects on your computer systems or MIDI devices. Download and use at your own risk.

Download SMF AutoNameDownload SMF AutoName 1.0 (~40KB)


SMF GrabLyrics

Friday, August 2nd, 2002

Tiny little helper that extracts Lyric Meta-Events from a Standard-MIDI-File (SMF) to clipboard. Created with Microsoft Visual C++ 6.0. Please tell if you find errors or want further features to be added, your feedback is welcome.

SMF GrabLyrics

SMF GrabLyrics is freeware and provided to you as is. It is assumed to work properly but may be erroneous and have malicious effects on your computer systems or MIDI devices. Download and use at your own risk.

Download SMF GrabLyricsDownload SMF GrabLyrics 1.01 (~40KB)