Midi, Ultimuse3, & Lyra Primer

The Coco MIDI Primer

My hopes are that this document will clarify the many mysteries of Midi, Lyra, and UltiMusE III

This will be an ongoing work that I will be updating as I find time. I will first explore the world of Midi in general so that you will get an understanding of what Midi is all about and what it can do for you. Then I will go into the basics of interfacing Midi with the Coco. The easiest would be Lyra. Lyra runs under RSDOS and has recently been updated to run with HDBDOS & Drivewire. I will explain the setup and cabling needed to get things running then dive deep into the functions of Lya. I save the best for last. UltiMusE III. UltiMusE III is by far one of the most complex programs ever written for the color Computer and Os-9 Level 2. Mike Knudson used about every trick in the book to cram this polyphonic, multi-timbral powerhouse into a 64k workspace.... then he pipes out to more. Not to mention the hidden Hi-Res screen he uses as a song buffer. As you can tell, I'm a little partial to Ultimuse.. Well... It's taught me a lot of what I know about sequencing music on a computer. I currently use many professional Midi programs and utilities on my PC in my studio, but my days on the color computer got me there.

So enough rambling... let's get to it!!

Midi In A Nutshell.. A Coconut shell that is!

MIDI.. or Musical Instrument Data Interface, is a very powerful tool to the studio or working musician. The MIDI spec is broad and covers a lot of territory from playing a note on a synth from a computer to controlling mutiple keyboards, effects units, mutitrack tape decks and much, much more.

The actual MIDI 1.0 spec developed in the early 80s hasn't changed since it was introduced. There have been may things added, but the original spec stays intact.

First and formost, I would like say.... MIDI is NOT music. You would not believe how many people through the years have asked me to just record my Midi to a tape or CD and they'd listen to it later or they'd ask me if it will play on thier car stereo. Midi is just serial data, nothing more, nothing less. Back in the late 70s and early 80s, synthesizers were connected together using Voltage Control Ins and Outs (VCI & VCO). This was nothing more than electrical pulses passed from machine to machine similar to Morse Code. Different sequences of pulses meant different things. These pulses could even tell a synth to play a certain note at a certain volume. The problem was that each synth manufacturer had thier on ideas as to what voltage would be used and what data would be passed. Needless to say, there was a good chance of something smoking when you connected synths of two different makes. Finally the manufacturers got together and decided to create a standard of sorts for all synths and sequencers to communicate. Thus MIDI was born. MIDI does nothing more than transfer one sunth's data to another synth. The data they pass is nothing but morse code for "turn this note on" or "set you volume to 11". As the MIDI spec was developed, more and more information was concieved. Finally the MIDI 1.0 spec was finished. With multitudes of commands and messages, MIDI can have one piece of equipment make another piece do just about anything it's capable of doing. As home computer started getting more affordable, someone got the bright idea that a computer equiped with a MIDI interface could not only communicate with MIDI equipment, but they would also be the perfect place to store all your data and be able to call up whole patch banks and live performance settings on the fly. The MIDI data was nothing more than binary code so the computer was perfectly at home with this job. Now we will delve into the realm of MIDI protocol and see just what make MIDI "tick".

Midi is nothing more than a series of control codes. Some range from two or three bytes to hundreds of thousands of bytes used to do a complete system dump on a piece of MIDI gear. The sequence goes something like this:

The MIDI data is sent in a series of bytes with the first byte defining whate is to follow. The first byt defines the type of message being sent and the channel in which the reciever is to assign the data to. This first byte can determing the number of bytes to follow in the sequence by defining the MIDI "mode" that is being transmitted.