Page 1 of 2

4 Channel MIDI Player

PostPosted: Mon Jan 27, 2014 8:49 am
by Tod
For those that have multiple coils, or those that just want a simple MIDI player that lets you easily send any channel to the interrupter, I have coded a quad device midi player/mapper. Usage should be pretty straight forward. Just pick the MIDI song you want, select the devices you want to use, then choose which channel you want to send to the interrupter. Test button lets you quick test your interrupter/coil without having a midi song loaded.

Image

An example of it in action

Watch on youtube.com


I haven't created an installer yet. Just unzip into a folder and run the executable. It does not need network access or admin privileges , so should run just fine under most all security settings.

Download MidiTesla

Re: 4 Channel MIDI Player

PostPosted: Mon Jan 27, 2014 11:26 pm
by Alex
File is unavailable :(

Is there a Mac version?

Re: 4 Channel MIDI Player

PostPosted: Tue Jan 28, 2014 12:25 am
by vexem
404 error clicking on it and saving the file out with a right click results in an allegedly empty zip file (2 KB).

Re: 4 Channel MIDI Player

PostPosted: Wed Jan 29, 2014 8:11 pm
by Bayley
@Tod: link doesn't work, but the link you sent me (same base URL, but MidiTesla2.zip) still works.

Also, I've attached a MIDI file that doesn't work right; the note durations are too short when played on your software.

Re: 4 Channel MIDI Player

PostPosted: Sat Feb 01, 2014 12:43 pm
by Tod
Darn it, corrected the link. Thanks Bayley.

Let me look into the file with the problem. I suspect it might just be the way I am reading the Tempo.

Re: 4 Channel MIDI Player

PostPosted: Sat Feb 01, 2014 5:40 pm
by Tod
Ok Bayley, I was able to fix this so it more accurately plays the note lengths properly. This was attributed to a rounding issue. Notes were being turned on/off right at the resolution mark. Basically given the BPM of the file (which most players are inaccurately calculating) the note lengths were 23ms. Then turned on again at 24ms. With a 21ms resolution on the main event timer, this was causing a short delay in the note being turned back on appropriately. The new version does a much better job handling this.

One thing to note, The two free MIDI players referenced in the kit do not seem to use the correct BPM properly in playback. Play the MIDI file with Windows Media player, which plays according to the correct BPM of the file. This will have a slightly higher playback speed than the two free tools which appear to default/force 120BPM. This file is 140BPM. My player also correctly calculates BPM so it will play at the same speed that Windows Media Player does.

If you prefer the slower 120BPM playback, you can load the file in the Midi Editor program, then edit the Temp/BPM.

Image

Even after changing this value you will notice that the Midi Editor player doesn't honor its value and the tempo will remain fixed. However the tempo difference will be reflected when played in MidiTesla or Windows Media.

I have also added 'Loop' to the software.

Image

And sorry, sadly no Mac version at this time.

You can download here, or from the fixed link at the top.

Re: 4 Channel MIDI Player

PostPosted: Sun Feb 02, 2014 1:02 am
by centerorbit
@Tod this software is awesome! Works beautifully! I'm curious if you would be interested in making it open source, or at least provide the source for it. I'm a developer and would love to contribute some code to this!

Re: 4 Channel MIDI Player

PostPosted: Mon Feb 03, 2014 8:52 am
by Tod
Thanks :-)

Yes, I will be putting this out as open source. There are a few additions I want to add first though (tempo adjustment, time slider, pitch transforms, playlists, etc). I developed it using Delphi XE5 (Object Pascal), but I am sure it will compile in earlier versions.

Re: 4 Channel MIDI Player

PostPosted: Mon Feb 10, 2014 9:24 pm
by Tod
I've greatly improved the midi player.

1. Fully multithreaded execution. Each device now runs in its own thread. This leaves the interface fully functional and responsive without throwing off sync.
2. Forced sync during playback.
3. Added favorites list
4. Added warning messages
5. Added ability to pitch shift notes in real time
6. Added ability to adjust tempo in real time
7. Added time slider to allow adjustment of playback position in real time
8. Added installer/uninstaller

Image

Downlaod update here

Re: 4 Channel MIDI Player

PostPosted: Sat May 03, 2014 11:56 am
by Merlin49
Still getting 404 file error messages and cannot download this file. I'd love to give it a try.
I found that manipulating the midi data is more difficult that assembling the coil.