Table of Contents

Advertisement

Quick Links

THE TINYBOX
User Manual v.1.4

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TinyBox and is the answer not in the manual?

Questions and answers

Summary of Contents for Gordius TinyBox

  • Page 1 THE TINYBOX User Manual v.1.4...
  • Page 2: Table Of Contents

    A setlist manager, lyrics display, sheet music app ..............5 The TinyBox hardware ..........................6 Getting started ............................8 Make sure the FCB1010 can connect to the TinyBox ..............8 Turn the FCB1010 into a TinyBox slave ..................8 Install TinyBox ControlCenter ...................... 8 Make all connections ........................
  • Page 3 5.9. UseKeyboardControl ......................62 APPENDIX : TinyBox programming language reference ..............63 APPENDIX : the Tinybox MIDI routings – a detailed rundown ............66 Communication between FCB1010 and TinyBox ................67 Controlling your MIDI enabled hardware ..................69 The MIDI IN to MIDI OUT routing ...................... 70...
  • Page 4 The latency measurements : overview ..................... 76 The latency measurement results ..................... 81 Comparison TinyBox – MidiSport ..................81 TinyBox latency MIDI IN – MIDI OUT ..................84 TinyBox latency from virtual FCB1010 trigger to MIDI OUT ..........88 Document versions Version 1.4 20/08/2020...
  • Page 5: Introduction: What Is The Tinybox

    Introduction: what is the TinyBox ? As an ideal companion to the Behringer FCB1010, the TinyBox is many things in a tiny black box. It will take a comprehensive manual to explain all features in detail, but here’s a short overview: 1.
  • Page 6: A Midi-Usb Interface

    MIDI OUT port and to software running on a computer connected through USB. The MIDI-USB interface is also used for reliable transfer of setups to the TinyBox. Gone are the days of buying and trying different MIDI interfaces to find one which is compatible with the Behringer FCB1010 patch dumps.
  • Page 7: The Tinybox Hardware

    6. Red power LED 7. Blue USB status LED Along with the TinyBox comes a dedicated FCB1010 firmware chip, which turns the FCB1010 into a “TinyBox slave”. Programming the FCB1010 is no longer needed, all configuration is done in the TinyBox.
  • Page 8 The illustration below compares the 7-pins connector with regular MIDI IN and MIDI OUT connectors: Although the TinyBox is designed as an add-on for the Behringer FCB1010, it is also possible to use all its features even without an FCB1010 connected: as mentioned in the introduction an iPad can serve as a “virtual FCB1010”...
  • Page 9: Getting Started

    2. Turn the FCB1010 into a TinyBox slave Your TinyBox order includes a firmware chip for the FCB1010, which turns it into a TinyBox slave. With this firmware it is no longer necessary to do any programming on the FCB1010 itself. The floorboard just sends key presses to the TinyBox, and the TinyBox takes control over the FCB1010 display and LEDs.
  • Page 10: Using A Computer With The Tinybox

    Using a computer with the TinyBox In order to program the TinyBox you need to connect it to a computer (Windows PC or Mac) using a USB cable. The computer runs the TinyBox ControlCenter software. You will find out all details about this software in the next chapter.
  • Page 11: The Tinybox Controlcenter Software

    The TinyBox ControlCenter software This software can be freely downloaded from our web shop. Once you have purchased a TinyBox a download link will appear on your account page. Installers are available for Windows and Mac. Like the Tinybox itself also TinyBox ControlCenter is many things in one. It contains...
  • Page 12 As long as no TinyBox is connected to an USB port, some of the menu options will remain disabled. As soon as a TinyBox is detected on the USB port (you don’t need to install any drivers for that!) all menu options will be enabled, and you can click the topmost menu item to see the webserver address.
  • Page 13 Remark : a ‘disclaimer’… Next to the Windows and Mac versions of the software, we have also released a Linux version which is compatible with Raspberry Pi 3 (and higher). Being a very cost effective solution, the Raspberry Pi is gaining popularity.
  • Page 14: Displaying Tinybox Status Info On The Laptop

    Next to showing you the current status, this screen can also be used as an actual remote control for the TinyBox. You can use it as a “virtual FCB1010” which can even replace the real FCB1010. Keyboard players for instance might prefer using the iPad in front of them instead of a floorboard.
  • Page 15: Using The Tinybox Editor

    TinyBox. One of the advantages of the TinyBox approach is that its setups are purely text based, so you can very easily copy-and-paste your setup into an external text file for backup on a stick, for sharing with others on a forum, etc…...
  • Page 16: Managing Setlists, Song Lyrics And Music Scores

    TinyBox. The setlist manager tool lists all songs which are defined in the setup currently stored in the TinyBox. For each song you are now able to upload one or multiple files. On the server the files will be renamed to match the song name, and they are sorted in alphabetical order of their original file name.
  • Page 17 For instance, suppose we rename the song “de do do do” in our TinyBox setup to “de do do do de da da da”. As a result, we will see the following when we open setlist manager : Songs for which you have uploaded song files to the server, but which are no longer part of your TinyBox setup, are shown in red at the bottom of the setlist.
  • Page 18 After uploading song files in the setlist manager, the FCB1010 representation on the status page will be shrinked in order to take less space while still showing the same status info, and the song files (lyrics or music scores) will be displayed under the FCB1010 image :...
  • Page 19 The setlist manager lets you choose to display two images or text files simultaneously next to each other, or to display one single image or text file at a time. Image files are scaled to take all the available space, while for text files the used font size will be adapted to fill the available space. If readability of song lyrics is a problem you can increase the font size by splitting up the text in multiple separate text files.
  • Page 20: Monitoring The Tinybox Midi Messages

    Midi Studio on Mac MIDI-OX on Windows Port 3 is used for transferring TinyBox setups, port 2 is used for getting TinyBox status info and for remotely controlling the TinyBox from your iPad or laptop. Port 1 is available for your setup, through this port you can control any music software application with your FCB1010.
  • Page 21: Upgrading The Tinybox Firmware

    You will be notified about the successful firmware download, after which you have to power cycle the TinyBox for the new firmware to be applied. It’s definitely a good idea to also quit and (if needed) relaunch TinyBox ControlCenter after a TinyBox power cycle.
  • Page 22: Programming The Tinybox

    As a TinyBox setup can be described in plain text format, it is very easy to save, share or backup your setups as text files. Also editing a setup is very simple: any text editor will do. However, we do provide a very intuitive setup editor for the TinyBox, which can do more than a regular text editor: it has “intelligent code completion”...
  • Page 23: The Tinybox Setup Structure

    A TinyBox setup can use up to 128 numeric variables, up to 256 boolean variables, and up to 256 string variables.
  • Page 24: Example 1 : Structure Of A Typical Tinybox Setup

    Example 1 : structure of a typical TinyBox setup /* Below you see the general structure of a TinyBox setup. You can add as much text comment to a setup as you like. A single-line comment starts with 2 slashes, as shown below.
  • Page 25 CHANNEL Strymon = 3 CHANNEL Octaver = 10 // Before defining the presets, you might want to specify some global initialization // which is done when the TinyBox is powered : INIT_TINYBOX = Pedal 1 = volume Pedal 2 = wah BlockChannels [11-16] // It’s also possible to define MIDI commands to be sent when a certain song or bank...
  • Page 26: Example 2 : Sending Midi Messages

    Example 2 : sending MIDI messages // The example below gives an overview of all supported MIDI messages // A preset can send one single message or multiple messages on different channels CHANNEL MyGear = 10 CHANNEL MySynth = 3 // Instead of using fixed values you can also use “variables”...
  • Page 27: Example 3 : Programming Expression Pedals

    Example 3 : programming expression pedals CHANNEL MyGear = 10 // You can modify the MIDI commands, range and sweep type for each of the expression pedals. // Sweep type is linear by default, but can also be set to SlowRising or FastRising // First you define all available continuous controls or “sweeps”...
  • Page 28: Example 4 : Using Variables

    Example 4 : using variables // The use of 'variables' is something very common in programming languages. // It adds huge possibilities to the TinyBox. // There are 3 types of variables: // - integer ( = numeric ) // - boolean ( = true or false )
  • Page 29: Example 5 : Using Conditional Commands

    Example 5 : using conditional commands // 'Conditional commands' are another common concept in traditional programming languages: // 'if...then...else...' statements allow an application to make decisions. // The examples below show how your setup can behave differently depending on the value // of any variable.
  • Page 30: Example 6 : A Programmable Midi Filter

    Example 6 : a programmable MIDI filter // The TinyBox can act as a fully programmable and dynamic MIDI filter. // You can configure a fixed MIDI filter for all incoming MIDI, // or you program presets to adapt that filter at any time.
  • Page 31: Example 7 : A Programmable Midi Router

    Example 7 : a programmable MIDI router // The TinyBox can act as a fully programmable and dynamic MIDI router. // This means that you can move or copy MIDI messages from one MIDI channel // to another, from one CC number to another, or from one Note range to another.
  • Page 32: The Tinybox Programming Language

    The TinyBox programming language The following pages describe in detail the syntax to be used for creating a TinyBox setup. It is important to preserve the correct order of the different parts in your setup : 1. Define preset, effect, trigger and sweep names 2.
  • Page 33: Defining Preset, Effect, Trigger And Sweep Names

    MIDI commands each of the pedals will send when moving them – it will typically be ControlChange commands for modifying volume, expression, or continuous effects like wah or whammy. The fact that a TinyBox setup provides “sweep” elements allows you to easily modify the expression pedal behavior depending on the currently active preset for instance.
  • Page 34 In each of the 4 lists, specify one name per line. The autocomplete or “intellisense” functionality of the TinyBox editor helps you setting up this initial setup structure : after creating a new setup, type ‘?’ to get a dropdownlist of available commands.
  • Page 35 The TinyBox setup editor uses these name lists in order to help you when specifying further parts of the setup. For instance when defining the bank layout (as explained later on in this chapter), the editor will automatically propose a list of available presets to choose from :...
  • Page 36: Defining The Bank Structure

    Once you have listed all presets, effects and triggers to be used in your setup, you can start organizing them in banks. By default a TinyBox setup is structured in banks of 10 presets, corresponding with the 10 preset switches on the FCB1010 floorboard. The Up and Down switches allow you to browse through all banks.
  • Page 37 SYNTAX : GLOBALSWITCH [1…10] = [presetname] BANKS = [bank name] : [preset name] | [preset name] | … | [preset name] [bank name] : [preset name] | [preset name] | … | [preset name] … // or if you want to use the Direct Bank functionality : GLOBALSWITCH [1…10] = [presetname] USE_DIRECT_BANK BANKS =...
  • Page 38 The editor fills the switch position automatically for you. Other than that, this global switch definition is not sent to the TinyBox, so in fact the switch is not “forced” to contain this one preset only – you can still modify the content of a global switch in any of the banks afterwards.
  • Page 39: Defining Songs And Setlist

    When using the song lyrics or score functionality described in an earlier chapter, remember that renaming a song in your TinyBox setup will also require re-linking the uploaded lyrics or score files to the renamed song. See the earlier chapter about managing lyrics and score files.
  • Page 40: Defining Preset Contents

    4. Defining preset contents SYNTAX : CHANNEL channelname = [1…16] VAR $intvarname = [0…127] // up to 128 int vars VAR $boolvarname = [true/false] // up to 256 bool vars VAR $stringvarname = “any string” // up to 256 string vars INIT_TINYBOX = …...
  • Page 41: Defining Midi Channels

    In order to ease the setup, and also to make the setup more readable, each used MIDI channel in a TinyBox setup is given a name. Those MIDI channel definitions have to be the first instructions in this part of the setup.
  • Page 42: Defining Data Variables

    A variable name always starts with ‘$’. Give the variable an initial value, this way the TinyBox setup compiler can detect which data format the variable will contain: a numeric value (between 0 and 127), a boolean value (true or false), or a string value...
  • Page 43: Defining The Tinybox Initial State

    TinyBox. It will be clear that in that case it is necessary to power the TinyBox as last component in your rig, or else to do a quick power cycle of the TinyBox once all other gear is connected and up and running.
  • Page 44: Defining The Preset Contents

    4.5. Defining the preset contents In many cases a preset can be very simple: a single MIDI ProgChange command can be used to select a certain patch or sound in an effects module for instance. In this case the preset content can be described on a single line in the setup : PRESET Vox Ac-30 = SendMidi Profiler ProgChange 2 In other cases a preset can be more complex, sending multiple MIDI commands to multiple devices.
  • Page 45: Defining The Trigger Contents

    4.7. Defining the trigger contents A trigger can be used to send one or multiple MIDI commands on the click of a footswitch. The syntax again supports both a one-line or a multiline content definition : TRIGGER_CLICK Overdub = SendMidi Looper NoteOn 15 127 TRIGGER_CLICK HalfSpeed = // any combination of multiple MIDI commands As explained in an earlier chapter a “trigger”...
  • Page 46: Defining The Sweep Contents

    4.8. Defining the sweep contents A “sweep” might be a less intuitive concept in the TinyBox setup architecture. It’s a way to describe the functionality of an expression pedal. You first list the different required functionalities (volume, wah, expression, … ) as the possible “sweeps” in your setup. In the sweep definition (see syntax below) you specify the MIDI commands necessary for each of those functions.
  • Page 47: The Command Set

    Obviously the MIDI command will be the most used command type, probably more than 90% of your setup will consist of MIDI commands. However the TinyBox offers much more than just the basic MIDI functionality of a regular FCB1010. The next sub-chapters handle each of the different command types supported in a TinyBox setup : ...
  • Page 48: Switch And Pedal Assignment Commands

    Pedal assignments are necessary in order to define what the function is for each of the 2 expression pedals. If you want to have a fixed pedal setup (for instance : left pedal = volume, right pedal = wah) you can specify the pedal assignment in the TinyBox initialization mentioned before : INIT_TINYBOX =...
  • Page 49 Those pedals typically require 2 separate jack cables running to your gear. With the TinyBox you can obtain this same behavior with the regular FCB1010 expression pedals! Once you assign a preset or effect to “virtual tip switch 1”, you can trigger that preset by pushing...
  • Page 50: Effect Activation And Relay Activation Commands

    EFFECT_ON effect 1 = SwitchOn effect 1 It is obvious that this line of code would cause the TinyBox to lock up, with the same command being executed over and over again. This kind of loop is not always as easy to detect as in the example above.
  • Page 51: Midi Commands

    SendRealtime SystemReset As the TinyBox is in the first place a MIDI controller, “MIDI command” will without doubt be the most used command type in a TinyBox setup. One of the TinyBox strengths is the fact that you can combine any number of MIDI messages, sent on different MIDI channels, into one single preset.
  • Page 52: Continuous Control Commands

    CC 11 = expression controller The transmitted value range for those MIDI messages is 0 (heel down) to 127 (tip down). With the TinyBox you got some powerful extra options which you will probably not find in any other MIDI controller : next to CtrlChange messages it is also possible to send PitchBend or ChannelPressure messages.
  • Page 53: Delay Command

    1 second delay, and the maximum possible delay is 12.7 Wait 10 seconds. Be aware that such delay is “blocking”: the TinyBox cannot process any switch press or pedal movement or do anything else while it is executing the command.
  • Page 54: Filtering Certain Midi Message Types

    Apart from being a very powerful MIDI controller (and many other things, as described in the introduction of this manual), the TinyBox also contains a MIDI filter + MIDI router. This filter is placed between the MIDI IN and MIDI OUT connectors, so all MIDI messages coming in through the MIDI IN connector run through the MIDI filter/router before being forwarded to the MIDI OUT connector.
  • Page 55: Routing Midi Channels

    5.6.3. Routing MIDI channels The MIDI processing block between MIDI IN and MIDI OUT connectors is called a “filter/router” : it not only filters out certain MIDI message types or channels, but it can also route one MIDI channel to another.
  • Page 56: Filtering Or Routing Midi Controlchange Messages

    Another MIDI note related command allows you to modify the touch sensitivity of your keyboard. As you will know each MIDI NoteOn/NoteOff command contains a velocity value. Some velocity sensitive keyboards don’t have the optimal sensitivity for certain sounds. In that case the ModifyVelocity command allows you to extend or compress the velocity range.
  • Page 57: Variable Commands

    5.7. Variable commands We have mentioned in a previous chapter how you can define numeric, boolean or string variables in your setup. Of course the use of variables only makes sense when you have the possibility to change their values when selecting a certain preset or effect, and then to react upon those changed values. You can do that with the variable commands of this chapter and the conditional commands of the next chapter.
  • Page 58: Conditional Commands

    5.8. Conditional commands SYNTAX : if (condition*) { … else if (condition*) { … else { … while(condition*) { … * condition : $intvarname [ > >= == != <= < ] [0…127] $intvarname [ > >= == != <= < ] $intvarname2 $stringvarname [ == != ] “any string”...
  • Page 59: The Condition Syntax

    5.8.1. The condition syntax All conditional commands check the value of a data variable to see if a certain condition is true. The possible checks are : for numeric variables : $var > // is bigger than $var >= nn // is bigger than or equal to $var == nn // is equal to...
  • Page 60 { // if none of the conditions apply // execute the commands in this segment You can even have nested conditional statements (although we don’t think a TinyBox setup will require that amount of complexity…) : if (condition) { if (subcondition) { …...
  • Page 61: While Statement

    5.8.3. while statement The while statement has an identical syntax as the if statement : while (condition) { // any number of commands… 5.8.4. switch statements A switch statement is a shortcut for a long series of if statements. It is used to check a variable against a larger series of different possible values.
  • Page 62 A small example of the conditional logic in action: with the few lines of code below you can program 2 footswitches to browse through all sounds of your synth or modeler :...
  • Page 63: Usekeyboardcontrol

    Let’s end with one very specific command which doesn’t belong in any of the preciding command categories, so it gets its own subchapter. Most of you will be using the FCB1010 along with the TinyBox and will not have any interest in using this command. When you add this command to the...
  • Page 64: Appendix : Tinybox Programming Language Reference

    APPENDIX : TinyBox programming language reference Comments : // single-line comment : any text… multi-line comment : any text… Defining presets, effects, triggers, sweeps, bank layout, songs and setlist : PRESETS = [preset name] … EFFECTS = [effect name] …...
  • Page 65 Defining preset content : CHANNEL channelname = [1…16] VAR $intvarname = [0…127] VAR $boolvarname = [true/false] VAR $stringvarname = “any string” INIT_TINYBOX = … (single command, or list of commands between curly braces) INIT_SONG song = … “ INIT_BANK bank = …...
  • Page 66 Filter/Router commands : [BlockMidi/AllowMidi] ActiveSense -> FE [BlockMidi/AllowMidi] SystemRealtime -> F8/FA/FB/FC [BlockMidi/AllowMidi] SystemCommon -> F1/F2/F3/F6 BlockChannels channelrange (e.g.[1-16], [1-4,5,10-16], …) BlockChannel channelname MoveChannel channelname to channelname CopyChannel channelname to channelname ResetChannelRouting channelname BlockNotes channelname from-till (from,till = C-1 -> G9) MoveNotes channelname from-till to channelname [from] CopyNotes...
  • Page 67: Appendix : The Tinybox Midi Routings - A Detailed Rundown

    PORT 1” or “USB-MIDI PORT 2”. In reality these 2 MIDI-USB ports share the same physical USB connector. Actually, the TinyBox contains 3 MIDI-USB ports in total. Port 3 is a dedicated port for patchdumps and firmware updates, and is therefore not shown in the schematic representations of...
  • Page 68: Communication Between Fcb1010 And Tinybox

    TinyBox will send the necessary commands to the FCB1010 to turn the corresponding LEDs on or off. So again, it’s the TinyBox which is in full control of the FCB1010, which is just a “dummy” slave showing on its LEDs whatever the TinyBox tells it to show.
  • Page 69 ControlChange 0x11 value 0x00-0x47 = show value 128-199 on display ControlChange 0x12 value 0x00-0x7f = as 0x10 but with ‘+’ added ControlChange 0x13 value 0x00-0x47 = as 0x11 but with ‘+’ added (*) bit6..0 = --> a (**) bit6..0 = dp3 dp2 dp1 ‘+’ Communication protocol FCB1010 - TinyBox...
  • Page 70: Controlling Your Midi Enabled Hardware

    Controlling your MIDI enabled hardware This can be considered the main function of the TinyBox: you create the necessary presets to control your gear, you organize them in banks, and you download this setup to the TinyBox. FCB1010 switch presses are processed and result in a certain preset or effect to be activated. The preset content is a...
  • Page 71: The Midi In To Midi Out Routing

    MIDI OUT. This way you can control all your sounds with the FCB1010 at your feet while playing the keyboard. For this scenario the TinyBox adds a powerful MIDI mapper and MIDI filter to this MIDI routing. It allows you to block certain note ranges, move them to a different MIDI channel, transpose them up or down, and so on.
  • Page 72: Midi-Usb Port 1

    “TinyBox port1”, “TinyBox port2” and “TinyBox port3”. Port 1 is available for general use. Thanks to this port the TinyBox can control not only your MIDI hardware but also any MIDI enabled software application: DAW, soft synth, VST plugin, guitar amp modeler, …...
  • Page 73: Midi-Usb Port 2

    Although you will see “TinyBox Port 2” as an available MIDI-USB port when connecting the TinyBox to your computer, this port cannot be used by your music software. It is reserved for use by TinyBox ControlCenter. The schematic shows that this USB port connects to the TinyBox internal system just like the FCB1010 does through the 7-pins port.
  • Page 74: A Special Case : "Usekeyboardcontrol

    With the adapted routing above, the FCB1010 switch presses can be simulated by sending these same NoteOn/NoteOff messages to the TinyBox from a keyboard connected to MIDI IN, or even from a computer application, through TinyBox MIDI-USB port 1. It is important to notice that the TinyBox MIDI mapper is still available in this routing.
  • Page 75: A Special Case : Troubleshooting

    You can force the TinyBox in “troubleshooting” mode by powering it up with a MIDI cable connected directly from MIDI OUT to MIDI IN connector. In this mode the full TinyBox functionality is omitted, all MIDI messages coming from the FCB1010 are directly forwarded to MIDI-USB port 1, and all messages coming from MIDI-USB port 1 are directly forwarded to the FCB1010.
  • Page 76: Appendix : Tinybox Latency Measurements

    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.
  • Page 77: The Latency Measurements : Overview

    The latency measurements : overview There are several paths which can be followed by MIDI messages running through or generated by the TinyBox. Therefore multiple different latency measurements are done. The TinyBox internal routing All latency measurements are done using a computer and a standard commercial MIDI-USB interface,...
  • Page 78 In a first test, the TinyBox MIDI-USB latency is compared to the MIDI-USB latency of the commercial interface. o A MIDI cable is connected from MIDISPORT Out 1 to MIDISPORT In 1, a MIDI message is sent to the MIDI-USB OUT 1 port and the same message is received on the MIDI-USB IN 1 port.
  • Page 79 In a second test, the TinyBox MIDI latency between MIDI IN and MIDI OUT connectors is measured by comparing it with a “shorted” MIDI connection : This test is repeated with full MIDI mapper functionality activated, in order to check the...
  • Page 80 In a last set of tests, the TinyBox MIDI latency for triggering presets is measured. To do so, the “virtual FCB1010” functionality is used, which allows to simulate a click on an FCB1010 footswitch from a computer. The delay between this “virtual” click and the resulting MIDI message sent by the activated preset is measured.
  • Page 81 CHANNEL 01 = 1 VAR $current = "" TRIGGER_CLICK ChangeSound = switch($current) case "preset 01": SendMidi 01 ProgChange 1 break case "preset 02": SendMidi 01 ProgChange 2 break case "preset 100": SendMidi 01 ProgChange 100 break PRESET preset 01 = $current = "preset 01"...
  • Page 82: The Latency Measurement Results

    The latency measurement results All graphs show latency value in microseconds on the horizontal axis, and the number of occurrences of this value after 1000 sequential measurements on the vertical axis. 1. Comparison TinyBox – MidiSport 1.1. 1-byte messages MidiSport 2x4 (MIDI loopthrough)
  • Page 83 MidiSport 2x4 (MIDI loopthrough) 1000 2000 3000 4000 5000 6000 7000 Average latency : 4.49 ms ( jitter : ca 3ms ) TinyBox (MIDI-USB loopthrough) 1000 2000 3000 4000 5000 6000 7000 Average latency : 0.31 ms ( jitter : ca 0.3ms )
  • Page 84 MidiSport 2x4 (MIDI loopthrough) 1000 2000 3000 4000 5000 6000 7000 Average latency : 5.25 ms ( jitter : ca 3ms ) TinyBox (MIDI-USB loopthrough) 1000 2000 3000 4000 5000 6000 7000 Average latency : 1.3 ms ( jitter : ca 0.3ms )
  • Page 85: Tinybox Latency Midi In - Midi Out

    In the next measurements, we compare total latency values of a MidiSport with MIDI cable “shortcut” between MIDI IN and MIDI OUT, and a MidiSport with a TinyBox added to the MIDI chain. So in these graphs we don’t look at the absolute latency values, but rather at the difference in latency between the 2 configurations.
  • Page 86 Reference measurement 2000 2500 3000 3500 4000 4500 5000 5500 6000 Average latency : 3.66 ms TinyBox added 2000 2500 3000 3500 4000 4500 5000 5500 6000 Average total latency : 3.85 ms Average TinyBox added latency : 0.19 ms...
  • Page 87 3500 4000 4500 5000 5500 6000 6500 7000 7500 Average latency : 4.49 ms TinyBox added 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 Average total latency : 5.41 ms Average TinyBox added latency : 0.92 ms...
  • Page 88 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500 Average total latency : 6.57 ms Average TinyBox added latency : 1.32 ms TinyBox added, with transpose, channel move, velocity mapping 3500 4000 4500 5000 5500 6000 6500 7000 7500...
  • Page 89: Tinybox Latency From Virtual Fcb1010 Trigger To Midi Out

    3. TinyBox latency from virtual FCB1010 trigger to MIDI OUT trigger IN to MIDI OUT 1000 1200 1400 1600 1800 2000 Average latency : 0.99 ms trigger IN to MIDI OUT, with advanced preset logic 1000 1200 1400 1600 1800 2000 Average latency : 1.58 ms...
  • Page 90 MIDI-USB interface with no logic. In the MIDI IN to MIDI OUT path, which typically is inserted between a sound triggering device (like a MIDI keyboard) and a sound generator (like a synth module), the TinyBox mapper/filter logic doesn’t introduce noticeable extra latency.

Table of Contents