Korg Poly800/EX800 Users group photo

Yahoo Groups archive

Korg Poly800/EX800 Users

Index last updated: 2026-04-28 23:27 UTC

Message

Re: [korgpolyex] Giving Up

2006-02-13 by Bill Thompson

I don't have the time right now to write an editor/librarian, it is a 
remarkably large undertaking!

For anyone who wants to purchase an appliance, MIDIQuest9 does support 
the EX-800, and therefore I would assume it will also handle the 
Poly-800MKii, and modified Poly-800s.

For anyone who wants to tackle programming, here are a handful of pretty 
useful links:

http://www.maxmidi.com/index.html - the bible when I was learning to 
write code for MIDI

http://www.codeguru.com/vb/gen/vb_multimedia/article.php/c1097/ - can't 
make heads nor tails of this, but it is certainly worth looking at I guess.

http://www.borg.com/~jglatt/ - the site that got me hooked!

http://nosuchmedia.com/mostly-midi/archive/index.html - an amazing 
archive of old code!!!!

http://home.modemss.brisnet.org.au/~mlevoi/midi.html - a more recent 
site with lots of good info

http://www.midi.org/ - the horses mouth...

There also used to be a Nutshell book that had a lot of info on both 
MIDI and digital audio programming, but their site frustrates me more 
often than not, and tonight I gave up rather quickly!

And a couple of thoughts for the poster who was thinking about tackling 
this with a couple of years of C++ under their belt: go for it. It is 
NOT rocket science, though some things we did with previous operating 
environments have become more obfuscated recently. In a nutshell, your 
program needs to be able to do the following:
1) get a sysex dump from the target machine
2) send a sysex dump to the target machine
3) convert a sysex dump into some kind of human readable format, and 
since you are the programmer, you define what is human readable... some 
people think hex is human readable<G>!
4) apply user changes to the data and convert it back to the sysex format.

Really, that's all there is to it and you could do it in Java (C without 
pointers), Perl, VB, and probably half a dozen other languages! C++ 
might be a good choice since there are already libraries to handle the 
MIDI I/O, file I/O, and a lot of the UI widgets you'll need/want for 
almost any operating environment!

There is a ton of open source code for MIDI data processing in the Linux 
community, so that's another place to look for ideas.

A sysex file, by the way, is pretty darned simple. It consists of a 
preamble that includes the header as required for MIDI communications 
and possibly some proprietary information, and then some number of 
blocks of data, where each block of data represents a discrete patch. 
Within that block of data are the parameter values, for example the 
first byte might describe the first oscillator pitch. Some of the older 
synths packed data, so that the first byte might include pitch and 
waveform for the first oscillator. You get the idea.

OK, a very poorly organized reply, but it's late, and half of me is 
watching the Olympics - the downside of laptops!!!

Let me know if more info is needed!

-- 
Take care,

Bill Thompson
Audio Enterprise
KB3KJF

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.