75
APPENDIX : Tinybox latency measurements
For many musicians
latency
of a MIDI controller is an important spec. Even if you never heard about
this technical term, you would soon find out if your MIDI footcontroller introduces too much latency
in your rig.
What is latency ?
Wikipedia says : “Latency is a time interval between the stimulation and response”
Or translated to the music world : “Latency is the delay between when you strike a note and hear the
resulting sound on your speakers.”
Most people agree that anything fewer than 10 ms is generally acceptable in real-time music
environments. That number, however, is the total latency of your system, which comprises several
different stages of latency, a MIDI controller being just one possible link in the chain.
The importance of latency for a MIDI controller also depends on its usage. If you use the controller just
to change sounds in between songs or to activate an effect when soloing, you will understand that a
slight delay is acceptable. However if you use your MIDI controller to control a looper for instance, it’s
a different story – looping can be very timing critical. Another obvious example where MIDI controller
latency is critical is when the controller is forwarding MIDI from a keyboard, MIDI guitar or MIDI wind
controller to a sound module (software or hardware). In that case the MIDI controller can be
considered part of the audio path, and an extra delay can become noticeable or even disturbing.
How does TinyBox keep latency down ?
When creating a MIDI controller with highly advanced functionality, like the TinyBox, it is important to
constantly keep latency in mind during the implementation. Sometimes doing things the easy way can
ruin this important spec. No higher programming language was used to implement the TinyBox core
functionality, everything was coded using assembly language, which is very tedious but allows to keep
full control over the way MIDI messages are generated and propagated through the system. The
TinyBox allows to modify a MIDI stream in several ways: move messages to a different MIDI channel,
transpose notes, expand keyboard velocity, etc. These transformations are all pre-calculated and
stored in multiple look-up tables. This results in a very low realtime processing time, at the cost of
extra memory needed for the different look-up tables.
Содержание TinyBox
Страница 1: ...THE TINYBOX User Manual v 1 4...