13155 Falcon Point Place
Truckee, CA 96161 USA
cell:  925-765-2883
email:  SierraDigitalAudio@gmail.com
Buy Me A Coffee  If you find something useful,
 A coffee is very appreciated!

image by danblaushild@gmail.com
  • Midi System Designs
  • Embedded Systems Programming
  • Windows Device Drivers
  • CAD and 3D Printing
  • Custom PC Builds



MidiXLate Midi Router

Midi routing is the process of transmitting and receiving music data (digitally encoded music notes and control messages) from one musical device (ex: your keyboard) to another musical device (ex: your PC recording software). Typically, Midi communication is accomplished by connecting all Midi enabled music devices to a Midi 'hub' which 'broadcasts' ALL Midi music data received at the hub to ALL Midi devices connected to the hub. This hub approach generates excessive Midi network traffic and complicates the configuration of each Midi device. A more strict definition of 'routing' is to define 'routing rules' that are downloaded to the router defining how Midi data received at the router will be routed (and optionally enhanced) to one or more Midi devices, not ALL midi devices (like a hub)! This approach simplifies the midi network setup and optimizes Midi network performance by minimizing network Midi traffic, resulting in minimized midi network latency. As for the router's performance, the router has an ARM 84 MHz processor can that can parse, process, and route Midi data in tens of micro seconds, where as the Midi protocol is relatively slow operating at 31,250 bits per second. The router's throughput is hundreds of times faster than Midi data speed. Performance (ie: latency) will not be a problem.

                   


MidiXLate Additional Information
Click here for a basic Midi overview.


Midi Overview
MIDI (Musical Instrument Digital Interface) is a technical standard and communication protocol that allows musical devices (instruments, computers, recording software, pedalboards, effects processors, and more) to communicate with each other. Midi is used to communicate music note data, music commands, and vendor specific (system exclusive) commands.

Music Note Data:, Midi can be used to record and play musical notes. For example, when you press a note on a Midi keyboard, the note number (ie: the note pressed), the note velocity (how hard the note was played) and the keyboard 'channel' are encoded into digital Midi data which is sent to your computer's recording (DAW) software. Software such as Pro Tools, Reaper, Cubase, can read, record, and play back midi data. Playback of midi recorded data will sound identical to the original performance. Midi music data encoding is standardized across all music gear manufacturers.

Music Commands:Your digital piano keyboard likely has buttons, sliders, foot pedals, and wheels to adjust volume, pitch bend a note,..... In Midi jargon, these are called 'continuous controllers', or more commonly, 'controllers'.. Controllers do not change the note being played but rather transmit information to the listening device. For example, your keyboard may have a slider that is used to control the volume of your keyboard. This slider does not affect the note being played, but 'controls' the volume of the note being played (by sending a Midi 'continuous controller 7' information to your PC, amplifier, or PA system). The target device recognizes the volume controller and adjusts the keyboard volume accordingly. Midi Continuous Controller implementation is mostly standardized across all music gear manufacturers.

Vendor Specific Commands:, Midi provides a free form Midi format called 'System Exclusive' which provides musical equipment vendors with options to implement manufacturer specific functions in their musical equipment. For example, you may own a Roland guitar effects processor that has hundreds of 'patches'. Each patch has many possible settings, such as reverb, chorus, delay,... Since Roland's guitar effects processors have unique internal circuitry that does not apply across all Midi device manufacturers, Roland implements unique SysEx commands to control their devices. The most common SysEx commands are backup and restore commands; to backup and restore your Midi device configuration to your PC.

Click here for more MidiXLate router details.


MidiXLate router details.
The MidiXLate router is a true router, meaning every midi packet is inspected and 'routed' to it's intended destination(s). Routing Midi data greatly reduces Midi network traffic, eliminating a flood of extraneous midi network data. Excessive Midi note data and Midi 'active sensing' commands can easily increase Midi network latency, killing a Midi network's efficiency. With Midi routing, the sending and receiving midi devices are now much simpler to configure because the midi data received at a midi device is guaranteed to be intended solely for that midi device. For the average home user with only a few Midi devices, a Midi router may not add much value. A Midi hub is the right option. For a performing group (or sophisticated home studio) with a large number of midi devices and complicated midi network, the MidiXLate router can be a life saver. With MidiXLate, you have complete control of Midi 'port filtering', 'translation', and 'channel locking' capabilities. As for MidiXLate's performance, the engine of the router is a blinding fast Atmel SAM3X8E ARM Cortex-M3 processor running at 84 MHz, providing extremely low latency.

In addition to Midi routing, the MidiXLate router provides 'port filtering' capabilities. For each of the six input ports and six output ports, you can specify, by port, to process or ignore, note on/off, continuous control, progam change, and/or system exclusive commands.
The router also provides a pseudo Network Address Translation (NAT) features called 'Translation' where midi data can be 'translated from one Midi format (such as note data) to another Midi format (such as continuous controller). This is extremely helpful when there is no direct path for one piece of midi gear to control another piece of Midi gear.
Next, the router has a Channel Locking feature providing flexible rules to lock midi data (sent to an output port) to a particular midi channel. For example, assume you have a drum machine attached to output port 6. All drum notes are required (by Midi standard) to be encoded to Midi channel 10,yet some drum patch providers fail to encode their drum patches to midi channel 10. With MidiXLate, you can force all data to your drum machine to midi port 10. Channel Locking has many other useful features.

Click here for a simple MidiXLate router use case.


MidiXLate router use case.
Assume you have a keyboard (with keys, sliders, knobs, switches, and drum pad) connected to the MidiXLate router on input Port 1.
Further assume you have a Yamaha MU15 drum machine connected to MidiXLate router on output Port 2.
Further assume you have a Roland Integra Synth module connected to MidiXLate router on output Port 3.
Further assume you have a Reaper Digital Analog Workstation (DAW) connected to MidiXLate router input port 4 and output port 4.
Lastly assume you have MidiOX running on a development PC connected to MidiXLate router output port 4.
Configure the MidiXLate software to send Keyboard drum pad data to Yamamha MU15 drum synth.
Next, configure the MidiXLate software to send keyboard keys to Roland Integra synth.
Next, configure the MidiXLate software to send keyboard knobs, sliders, and switches to select Roland synth patches, volume, tempo,...
Next, configure the MidiXLate software to send keyboard transport controls (start,stop, play, record) to Reaper synth.
Next, configure the MidiXLate software to send keyboard knobs, sliders, and switches to select Reaper channels, volume, tempo,...
Optionally, split your keyboard keybed into 'zones' using the MidiXLate 'Translation' feature
Optionally, configure your Reaper DAW to send recorded Midi performance data to the Yamaha drum synth and Roland Integra synth.
Lastly, start MidiOx on your development PC and monitor ALL the Midi traffic on your Midi network!
This configuration would be VERY DIFFICULT to accomplish with a Midi HUB, but moderately easy with MidiXLate!

Click here for MidiXLate router pricing and availibility.


MidiXLate pricing and availability.
MidiXLate routers are custom builds. I typically build a handful of routers each year. If you would like to 'try before you buy', send an email to SierraDigitalAudio@gmail.com. I rent demo routers for $150 month (in 2024) and the customer pays for shipping (both ways). The price of renting a router is applied to the purchase price. If you want to purchase a new router, the purchase price is $850 (in 2024). I hand build these routers in the mountains of northern California and the profit margin on each router is slim. As a customer, you will receive excellent support (limited phone and unlimited email), discounts for router upgrades & accessories, and priority for router (hardware and software) customizations.




MidiControl Software (for Windows 10 and above)     FREE!

Have you every wanted to control all of your Midi devices from your PC desktop?
For example, assume you have a Roland Integra 7 Sound Module and you currently use the scroll wheel on the face of the Integra 7 to tediously navigate to your favorite 50 sounds. Rather than using the Integra 7 scroll wheel, you can create a list of your favorite 50 sounds in MidiControl and easily switch between the Integra 7 sounds with a simple press of a mouse button on your PC. Much easier!
MidiControl is a FREE Windows PC desktop utility used to organize the Midi commands you use in your music production. MidiControl is not designed to play Midi files, rather it is used to catalog and organize your Midi commands for use from your desktop. MidiControl provides 24 bookmarks for up to 2000 Midi commands. Bookmarks can be arranged by Midi device, song, setlist,... giving you simple control of all your Midi devices from your PC desktop.


MidiControl additional information (click here)


As a typical musician, you likely have many midi devices such as keyboards, guitar effects, drum machines, voice processors, and more. You will find it helpful to catalog all of your Midi commands and optionally send those midi commands from your PC desktop to your midi devices (the same Midi commands that are sent from your Midi device.) For example, assume you have a performance where every song requires a different keyboard patch, drum pathch, guitar patch, guitar volume, .... With MidiControl, you can define groups (bookmarks) by song and list all the midi commands to setup each song. Using your PC desktop, you can send the Midi commands to all your midi devices to setup for the next song (patch changes, controllers, ...) Alternatively, as shown in the example screens, each bookmark can represent a Midi device and the Midi commands used to control the device.

To start, connect all of your midi devices to your computer via a Midi hub (which you have likely already have done). Next, download, install, and configure MidiControl (FREE!). When configuring midi control, define bookmarks (groups) for each midi device and/or song. Next, setup the midi commands used by your midi gear (keyboards, pedal boards, effects processors,...) Once your setup is complete, simply press the 'Send' button next to each Midi command to control your midi devices. You now have a simple means to control all of your Midi devices from your PC! Scripting of midi commands is being considered for the next release.



                  (click on image to enlarge image)


** New features will be added as MidiControl evolves. If you have a particular feature you would like added, please email us.



MidiOrganize Software (for Windows 10 and above)     FREE!

MidiOrganize provides a FREE and simple means to organize your Midi instrument loops (drum, bass, piano,...) and optimize the flexibility and performance of your DAW (Digital Analog Workstation, such as ProTools, Reaper, Cubase) mixes!   Think of MidiOrganize as a PC Midi librarian, used to catalog Midi loops by instrument, by song, by set list, or any other criteria you require. MidiOrganize is a stand alone PC program. Once setup, simply drag and drop Midi loops from MidiOrganize into your DAW Midi tracks. Additionally, there is a 'preview' feature in MidiOrganize to preview Midi loops inside MidiOrganize (via Microsoft's embedded Windows Media Player plugin) before adding the Midi loop to your DAW project.

MidiOrganize as a Cost and Performance Alternative to VSTs (click here)


MidiOrganize can be used to organize Midi loops for use with VSTs and/or external tone generators.
VST's are Midi 'virtual instruments' that run inside your DAW. The sound of the instrument is generated by the VST. VST's are typically expensive, require a license, and require an internet connection at start up (to validate your VST). The processing burden of a VST on your computer's CPU can be (and is often) severe. Many VSTs in your mix can add pops, dropouts, and delays to your final mix. MidiOrganize is purposely not a VST. It is a stand alone program that runs outside your DAW and can optionally be used to reduce the performance impact of various VSTs.

Consider the use case where Midi Organize is supporting high end sound modules, such as a Roland Integra 7 SuperNatual Sound Module or the more affordable Yamaha MU15 Tone Generator. When your DAW plays a Midi track, dont route the Midi data to a VST, send it an external tone generator connected to your mixer. This approach provides superior sound quality, eliminates costly VSTs, reduces the heavy VST load on your PC's CPU. MidiOrganize follows the 'drill down' look and feel of most popular drum VSTs. If you understand the drilldown structure of the most common drum VSTs, MidiOrganize will feel very natural.

For maximum flexibility, you can continue to build your DAW project using VSTs, but when performing or building a final mix, you may opt to route your Midi tracks to a superior external Midi sound module such as the Roland Integra 7 SuperNatual Sound Module. The sound quality of the Roland Integra 7 SuperNatual Sound Module is simply amazing!  

To conclude, if you currently use one of the many popular Drum VSTs (which I dare not mention here), consider the expense of the VST, the licensing of your VST, the VST internet connection required at startup, and most important, the heavy burden of the VST on your CPU (introducing latency and popping in your final mix), you can easily see the many advantages of MidiOrganize!.

My Personal Use Case (click here)


My Windows 10 music PC is optimized with 32 gig memory, 3 x 1TB M.2 gumstick drives, Intel 7 CPU, and Reaper DAW software.   I typically start to see Reaper performance degradation after loading a bass VST, a piano VST, and (the biggest culprit) a drum VST. VSTs have benefits and conveniences, but I prefer to limit my VST usage to optimize my Reaper performance with the added benefit of superior instument sounds. I choose to route my Midi piano and Midi bass to a Roland Integra 7 SuperNatual Sound Module and my Midi drums to a Yamaha MU15 Tone Generator. For live performances, I can use this configuration reliably on a minimally configured laptop without a licensing required internet connection!


                  (click on image to enlarge image)


** New features will be added as Scott MidiOrganize evolves. If you have a particular feature you would like added, please email us.