From hoskin%orpheus@nwnexus.wa.comSun May 7 16:27:09 1995
Date: Fri, 5 May 95 09:36 PDT
From: hoskin%orpheus@nwnexus.wa.com
To: jhusted@halcyon.com
Subject: xmidi

EXTENDED MIDI WHITE PAPER MARCH 1995
=========================================

** plain text version **
** please use a fixed spacing character set **



DIGITAL DESIGN & DEVELOPMENT
Godshuis street 18A
1861 Meise
Belgium
Phone: +32 2 270 27 97
Fax: +32 2 270 19 05
Email: 73261.530@compuserve.com



A. GENERAL PRESENTATION



A1. What is Xmidi?
A2. What is Xmidi able to do?
A3. The initiator

B. TECHNICAL AND MARKETING ASPECTS



B1. Expanding the current MIDI market with Xmidi
B2. Xmidi's new markets
B3. Competition
B4. Research & Development
B5. Patent, Licenses & Pricing



DURING 12 YEARS ALL PEOPLE FROM THE "MUSIC" INDUSTRY WERE INTIMATELY CONVINCED
THAT THE MIDI SYSTEM STOOD STILL AND COULD NOT BE EXTENDED . . . IT IS TIME TO
THINK DIFFERENTLY.



A1. WHAT IS XMIDI



Xmidi (eXtended MIDI) is relying both on hardware and software to overcome the limitations of the current MIDI system. As its name implies, the Xmidi has been conceived to extend the MIDI standard without replacing it, thanks to full compatibility. "A chief problem for high-tech products is compatibility and how it may affect other components in a system." (The Music Trades, Feb. 93) Current MIDI equipment connected to Xmidi equipped devices retains full functionality. Cabling is done with ordinary MIDI cables and needs no interface or adaptor of any kind. Xmidi does not make the messages longer nor does it use more bandwidth. It uses ternary instead of binary logic to pack more data into the same message framing structure as the current MIDI. The main advantage of Xmidi is to bring denser data transmission and new message capabilities without losing compatibility. For instance, channels have now extension subchannels, giving a total of 324 addressable devices per line. The total amount of different presets addressable with Xmidi, when using bank switching, is 753,145,430,616. Among the new applications envisaged are: sample dumps to within 24 bit accuracy, using only two bytes instead of four currently needed; quarter tone or microtonal information within the normal note message; Xmidi controller data feeding both current and Xmidi devices, the latter being able to use the finest resolution embedded in the message. New instruction variations can be created such as 'update mode' or 'relative values' for automated desks and sound editing. Controllers may be assigned for all existing synthesizer parameters (more than 1.5 trillion are available in Xmidi). Furthermore, Xmidi is a bidirectional protocol within the transmission cable. This allows an automated process for channel assignment, checksums acknowledge during dumps, status and setups retrieval, automatic high speed mode, . . . freeing the musician from the hassle too frequently encountered in setting up a MIDI system.

MIDI 1.0 vs. Xmidi
Channels 16 <-> 324
Linear values resolution (level, velocity, . . . ) 128 <-> 510
Non linear values (control #, program change, . . . ) 128 <-> 4374
Different instructions (opcodes) 23 <-> 2611
Bidirectional within TX line alone no <-> yes
Automatic high speed mode no <-> yes
Fully compatible with any MIDI device yes <-> yes


THE ELECTRONICS BEHIND XMIDI



The off-state of binary bits is used optionally to generate reverse polarity current for replacing the two-state logic with three-state logic.

This method is totally transparent to all existing MIDI devices because they are protected with a reverse polarized diode and can not sense the reverse current. They will only "see" the MIDI v1.0 information within the Xmidi message.


THE FORMULA BEHIND XMIDI



According to the invention, a part of the message is converted to ternary logic in place of binary logic. The total number of message variations allowed by N symmetrical bits in a message of M bits + P bits is given by the following formula:

Ntot = 3 to the power of N multiplied by 2 to the power of(M-N) multiplied by 2 to the power of P

- In which N, M, and P, are integers so that N is smaller or equal to M.
- N is the number of bits in the rest state due to the binary status of the
message, and thus available to ternary logic (0 to 8).
- M is the number of significant bits in the message (8).
- P is the number of extra bits fixed to the rest state in the initial message,
and thus not allowed to be in the "normal" active state (1 stop bit).

The total number of message variations allowed = 512 to 13122.

Xmidi is a ternary layer atop a variable size binary layer.


RELATION BETWEEN SPEED AND DENSITY



Xmidi can express figures up to 13122 in a single byte. MIDI needs a second byte to express a figure bigger than 256. Xmidi can transmit more information in a given time slot due to the packing of more meaning in the same message length and number of bits. Transmitting more during the same period of time equates to a speed increase.


THE BANDWIDTH LIMITATION



The Xmidi denser message avoids the sending of auxiliary messages cluttering the bandwidth:
A single Xmidi program change (2 bytes) allows the selection of a preset among 4374. Today MIDI uses a bank select message (3 bytes) followed by a program change (2 bytes) to go beyond the 128 presets (total = 5 bytes instead of 2).

The 324 channels available do not mean you have to play 2000 note chords with polyphonic aftertouch and bender all along! The real limit will be that of a real piece of music. Anyway, if you are time cautious and the MIDI flow becomes too dense, it is advised to use more than one MIDI link from the controlling device to the sound modules. The Xmidi modules are on their high speed line and the MIDI ones on another line. On a line composed of Xmidi devices only, they will automatically switch to high-speed mode, allowing an even denser transmission for a given time slot. On a line composed of Xmidi and MIDI devices, Xmidi allows a dynamic speed switching for point-to-point communication between Xmidi devices only without bothering MIDI devices.

IS MIDI STRONG ENOUGH TO BE EXTENDED THROUGH XMIDI?



It has sometimes been pointed out that MIDI is slow. Based on which criteria? One MIDI byte is 320 uSec long (1/3125th of a second). In the same time length, the sound travels 109 mm (4 inches). If you think this is slow, you d'better monitor your mixes through headphones to avoid the delay of the sound traveling from the speakers to your ears. MIDI in itself is not slow. The real slowness comes from the poor software handling of the MIDI stream in the instruments and sequencing software. Most of the music devices have underpowered microprocessors. The (US) KEYBOARDS magazine benchtested various synthesizers and drum machines to check how fast they react to note-on commands. Their results were surprising: for a single note, some devices needed more than 19 mSec to start sounding (1/52nd of a second). For an 8-note burst this delay was up to 49 mSec before reacting! (1/20th of a second) For the same duration, the sound can travel 17 meters (56 feet), and 153 MIDI or Xmidi bytes could be transmitted! This clearly makes evidence that MIDI is not the weak link in the MIDI music chain delay. The weak link sits in the underpowered microprocessors that are purchased for their low price. The promoters of very high speed incompatible LANs should face this reality.

You cannot request of a manufacturer to put a fast 32-bit RISC processor in a US$300 peripheral just to recognize a program change command lost in gigabits of incoming data. MIDI (XMIDI) is a command and control medium. It is cheap and adequate for the required task. Fast links able to transmit multiple channels of digital audio are not needed in ALL devices in a studio. Both systems must coexist and will coexist for one good reason: cost.



A2. WHAT ARE XMIDI CAPABILITIES?



Just a few examples describing real life applications of Xmidi:


AUTO SETUP



Imagine you are installing your new setup around your sequencing computer. You connect your new Xmidi sound modules to one Xmidi output in a thru/in link, and a mix of ol'trusty MIDI synths plus a pair of Xmidi controlled sound processors on the other Xmidi out of the computer. You boot the sequencer software. A message is warning you that new devices are connected since last session and gives you the option to configure the setup for you or let you do it. You click on the automatic setup option and get the next message: [.... MIDI V1.0 device(s) found on output B Please describe MIDI device(s) connected to line B [name, number of MIDI channel(s) needed] to proceed:

After entering the details about your 3 beloved oldies, you get the next report:

2 Xmidi device(s) found on output A.

SYNTHESIZER MODULE found: BRAND-X1 (version 1.14 from July 1995).
1024 preset(s) retrieved and stored in "BRAND-X1 def.bank" file of PRESET MANAGER.
Max speed allowed: 4X (125 Kbaud).
Max polyphony: 48 notes.
Total channels assigned: 32 (from 15-1 to 15-32).

SYNTHESIZER MODULE found: BRAND-X2 (version 1.01 from June 1995).
2500 preset(s) retrieved and stored in "BRAND-X2 def.bank" file of PRESET MANAGER.
Max speed allowed: 8X (250 Kbaud).
Max polyphony: 96 notes.
Total channels assigned: 64 (from 16-1 to 16-64).

Output A has been switched to 4 time(s) MIDI speed (125 Kbaud) due to BRAND-X1 connected.
14 MIDI / 228 Xmidi channels still available on output A.

2 Xmidi device(s) found on output B.

EFFECT PROCESSOR found: BRAND-X3 (version 2.0 from Sept. 1995).
1000 preset(s) retrieved and stored in "BRAND-X3 def.bank" file of PRESET MANAGER.
Max speed allowed: 8X (250 Kbaud).
Total channels assigned: 2 (from 16-1 to 16-2).

DTD RECORDER found: BRAND-X4 (version 1.3 from Oct. 1995).
1 preset(s) retrieved and stored in "BRAND-X4 def.bank" file of PRESET MANAGER.
Max speed allowed: 4X (125 Kbaud).
Total channels assigned: 1 (from 16-3 to 16-3).

3 MIDI device(s) on output B assigned to channel(s): 1, 2, 3.

Output B has been switched to 1 time(s) MIDI speed (31.25 Kbaud) due to MIDI device(s) connected.
12 MIDI / 301 Xmidi channels still available on output B.

Automatic setup done. Sequencer setup file (setupdev.rsc) created.
Accept/Cancel/Manual setup?
.....]

Xmidi allowed the computer to detect which devices are connected, in which order, identify their manufacturer, version and capabilities. The sounds were retrieved and stored for backup and the channel assignment has been done without user intervention on the connected Xmidi devices. The maximum speed has been set accordingly and a report summarizes the job done and the remaining available channels This is an easier way to assign a setup than the current one.


THOUSANDS OF SOUNDS IN A DRUMKIT WITHOUT PROGRAM CHANGE



A drum sound module has its sounds organized in presets (kits). Each preset is an assignment of particular sounds to each of the 128 possible notes. As you can play only one preset at a time, each preset is a copy of another one with some variations. You end with tens of presets in which 80% of sounds are the same. You also need to call the right preset with a program change before playing. This is tedious and prone to errors.

With 324 channels and 4374 virtual keys keyboard available, Xmidi simplifies it a lot. For instance, you can assign a few channels to one single drum sound module. Each channel will play one preset only. All sounds available will each be assigned to one location (key) only. As all the channels are open at once, all sounds are always available (i.e.: 4 channels x 4374 sounds (keys) = 17496 drum sounds). There is no more need to duplicate the sounds in multiple kits, and no need for program changes. This method is straightforward.


"ENSEMBLE" SOUNDS MADE OF MULTIPLE SOLOISTS



Today, to play a violin section, a violin sound is selected, and a number of notes are played to render an ensemble. To make the play more realistic, a number of MIDI controls are available: pitch-bend, vibrato, expression, etc. . . . Unfortunately, these are global changes applying to all violins at once, giving an artificial effect far from reality.

With 324 channels available, Xmidi allows each "violinist" to have his channel, with individual nuances of bending, vibrato, . . . as in an authentic violin section. This new approach is made possible by the number of channels in Xmidi. Microtonal information is included in the note-on (note-off) message to play the right scale. Moreover, an embedded status flag allows the playing of a note without retriggering (legato).


MIXING DESK AUTOMATION



Today, the world of mixing automation is split in two categories:

1) The full featured professional automated mixing desks using a custom communication system:
These are powerful but non-standard and thus expensive.

2) The amateur to mid-range devices based on MIDI:
With some weaknesses, but universal and affordable.

The weaknesses of the latter systems are due to various MIDI limitations and restrictions. In MIDI, only 128 different levels can be expressed, this may translate in 0.5 dB steps at best on a limited range of 56 dB, the -56 to -90 dB range being covered in 16 steps only. In MIDI all transmitted values express an absolute level, no provision is made to update a mix with relative values. Moreover, MIDI messages do not contain punch-in/out status information to let the sequencer know how to handle the incoming data from the different faders.

The power of Xmidi can overcome all of these problems and even go further. Comparing with the above example, Xmidi with its 510 levels gives a finer resolution of 0.125 dB per step on the same 56 dB range, the rest of the scale being covered with 62 steps. If a new controller is defined for FINE LEVEL, a step of 0.02 dB is available on the whole 90 dB range. Xmidi allows any controller message to contain an absolute/relative flag bit further defining the purpose of the message. A second flag bit dedicated to normal/update mode, will tell the sequencer how to handle each incoming data individually. An added feature is available by assigning an Xmidi channel (324 are available) to each input channel on the mixing desk, giving standard and universal parameters for each knob on the desk: volume, pan, effect sends, all EQ parameters, gating, compressing, . . .

This brings a new concept for automated mixing made from the connection of standardized units from different manufacturers: any Xmidi control device feeding any automation sequencing system driving any slave mixer. The freedom of playing any master keyboard to any sequencer driving any synth module will be given to the world of automated mixing. These new Xmidi systems will reach and even surpass the capabilities and ease of use of today's best automation systems, were they MIDI or not.


CABLING COMPLEXITY



Today, with ordinary MIDI, a setup including a computer, a synth keyboard and two modules should be cabled with a patchbay. This allows to play the modules through the sequencing computer or edit/retrieve the patches of the modules and keyboard. The programmable patchbay stores the 4 different configurations needed depending on the purpose:
- Playing/sequencing the modules and keyboard.
- Edit/retrieve patches in the 1st module.
- Edit/retrieve patches in the 2nd module.
- Edit/retrieve patches in the keyboard.


The same result may be achieved with Xmidi with a simplified cabling and without a patchbay.
The 4 different functions are possible at any time.
The keyboard OUT goes to the computer IN.
The computer OUT goes to the first module IN.
The two modules and the keyboard are connected in a THRU-IN, THRU-IN chain.



A3. THE INITIATOR



The inventor and initiator of the Xmidi project is Eric LUKAC-KURUC, a Belgian citizen born in 1959. Presently Field Application Engineer in electronics, he has been actively involved in MIDI and electronics for many years: technical editor in various MIDI magazines, founder designer and manufacturer of MIDI products, owner of his music shop, advisor/subcontractor/programmer for electronic design offices, etc. He is also a keyboard player and a MIDI equipment user.



B1. EXPANDING THE CURRENT MIDI MARKET WITH XMIDI



To explain it simply, let us take two examples based on the channel extension capability of Xmidi:

1. MIDI can only transmit 16 channels on an output port. Today any cheap sound module is able to listen and use all 16 channels at once! So, a setup with only one output on the transmitting device (like a PC with a MIDI card) can talk to only one sound module. And the system is locked! By comparison, Xmidi can transmit 324 channels on the same single output port, leaving ample room for more modules. Moreover, this single Xmidi connection is bidirectional, a feature unavailable with MIDI.

2. In lighting equipment, MIDI has played a second role, due to intrinsic weaknesses. As soon as you are allowed to assign a channel to each projector or light effect on a stage, with standardized Xmidi parameters, you can easily control the light intensity, color and effect filter selection, focus, elevation, rotation, etc., for up to 324 devices connected to your lighting console with a single cable, and also get the feedback from the devices for acknowledge and troubleshooting.

These two examples show that Xmidi is able to unlock the first situation and make the second one feasible at last.

Other areas of interest are in studio automation, both professional and home studio, recorders, live music and stage sound automation, midified acoustic pianos,... "...(MIDI)... can provide the missing link in a "total" automation system eminently suitable for professional studios...The next threatened conquest of MIDI is in the area of professional-level mixer automation." (Chris Meyer, chief engineer ROLAND R&D, in Studio Sound, JAN 93). The current technology is hampered by an ageing MIDI whose weaknesses show more and more. MIDI musical instrument business is dull for a couple of years, and something new is expected by the market, some kind of miracle that would revive the interest. "Electronic music product sales were also adversely impacted by an absence of dramatic new technology. Most new products incorporated subtle, evolutionary improvements rather than the type of "great leaps forward" that automatically drove customers into the store." (The Music Trades, Jan 94)



B2. XMIDI'S NEW MARKETS



MIDI overcame the expectations of its conceptors and it is difficult today to predict how far Xmidi will go. The original MIDI was not designed to handle features like time code or machine control, but there was room enough to implement them. Today, it as almost reached its limits, and is nearly stuck. In contrast to MIDI, Xmidi is bidirectional, denser, faster, and its code is 51,25 times richer. Xmidi is the tool the developers need in areas where MIDI is not enough powerful: studio and stage equipment control (especially PA, see B3), light show and still unknown music applications...



B3. COMPETITION



Basically, the competition for Xmidi is the same as for MIDI. In areas where its capability is sufficient, MIDI has no competitors. The established base is far too big, and most of this equipment doe not go automatically obsolete (as in the PC world). All this contributes to make the MIDI almost immortal. MIDI cannot be avoided by a "music" manufacturer. If MIDI lacks power or features for a new product, two options are available:

1. Compatibility is mandatory:
Implementation of both MIDI (for part of the functions and to give an impression of compatibility) and some other communication system (fully featured for the most powerful functions) is required. This is an inelegant and awkward implementation (seen only too often).

2. Compatibility is not required:
Use of another communication system is chosen.
The products will be in a separate market, closed and dull, out of the main stream. The best example is that of the PA market using the medialink communication system. This system, while being technically elegant and very powerful, cannot expand outside such a closed market due to its incompatibility with the MIDI mainstream.

But Xmidi offers a third option: By its total compatibility with all MIDI devices, Xmidi is somehow MIDI! Its power while not equaling that of medialink, ethernet, or other PC LANs, offers most of their capabilities and adds them to MIDI in full compatibility, which is something these LANs will never be able to do! The strength of Xmidi lies in its ability to breathe a new life in an existing market of millions of devices.

Concerning competition:
Check also at end of section A1, the last paragraph in " IS MIDI STRONG ENOUGH TO BE EXTENDED THROUGH XMIDI? "




B4. RESEARCH AND DEVELOPMENT



The Xmidi developments made to date allows the commercialization of the first mass produced component.

Xmidi, when defined in technical/commercial terms is much more than just a process protected by a patent: it holds a number of extensions tied to the basic system. It is the symbiosis of all those parts that makes the Xmidi system attractive. They are its power. They will accelerate its market acceptance, open new markets and ensure it a long life.



B5. PATENT, LICENSES & PRICING



A patent is pending since 2 March 1993.

There is no licence required to use Xmidi.
A licence is required only for the Xmidi chips designing and manufacturing.

If has the resources to develop and manufacture its own Xmidi chip, there is no restriction for him to obtain an Xmidi licence. The Xmidi licence is available for direct agreement.

For any music manufacturer, the purchase of Xmidi chips will not differ from the purchase of any other component: Today, they buy and use hundreds of components tied to hundreds of patents, and nevertheless, they need no licence nor pay any fee. All is included in the price of the component they acquire. They will go to the supplier of their choice and buy the quantity they want, when they want.

Xmidi is not dedicated to high-end and expensive products only. As we want the Xmidi being largely used, the component price will be below US$ 5.0,- for small quantities.

Moreover, to avoid any monopoly situation, there will be a minimum of 3 competitive suppliers. Second sourcing is a key point in our partnership with chip manufacturers.