background image

 

 

 
 

 

THE TINYBOX 

 

User Manual  v.1.4

 

 

Содержание TinyBox

Страница 1: ...THE TINYBOX User Manual v 1 4...

Страница 2: ...The TinyBox ControlCenter software 10 Launching TinyBox ControlCenter 10 Displaying TinyBox status info on the laptop 13 Using the TinyBox editor 14 Managing setlists song lyrics and music scores 15...

Страница 3: ...ntrol commands 51 5 5 Delay command 52 5 6 Filter router commands 52 5 6 1 Filtering certain MIDI message types 53 5 6 2 Filtering certain MIDI channels 53 5 6 3 Routing MIDI channels 54 5 6 4 Filteri...

Страница 4: ...tency from virtual FCB1010 trigger to MIDI OUT 88 Document versions Version 1 4 20 08 2020 Support for extra SysCommon and SysRealtime messages added SwitchOn SwitchOff commands no longer restricted t...

Страница 5: ...d send MIDIStart MIDIStop or MIDIContinue messages a programmable delay can be added between MIDI messages an optional Direct Bank switch can give one click access from all banks to an extra set of 9...

Страница 6: ...relessly connect an iPad Windows or Android tablet to the computer and you get a wireless FCB1010 status display TinyBox ControlCenter acts as a webserver for your tablet Use the browser to view real...

Страница 7: ...ED 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 1 Th...

Страница 8: ...act in exactly the same way as if a real FCB1010 was used MIDI keyboard players can choose to use the lowest octave of their keyboard as TinyBox remote control instead of the FCB1010 12 keys could rep...

Страница 9: ...ng on the FCB1010 itself The floorboard just sends key presses to the TinyBox and the TinyBox takes control over the FCB1010 display and LEDs Instructions for replacing the FCB1010 firmware PROM can b...

Страница 10: ...wser can connect to it and display live status info of the FCB1010 and TinyBox In the simplest scenario you can use ControCenter itself to show the status view directly on your laptop however you can...

Страница 11: ...ng bank preset activated effects etc a web server hosting the same status window so that the info can be displayed on a remote device connected through WIFI a TinyBox firmware upgrade tool Launching T...

Страница 12: ...will be enabled and you can click the topmost menu item to see the webserver address An iPad or other remote device can surf to that address in order to display the current FCB1010 status and optiona...

Страница 13: ...as backup Please be aware that the Linux version of the software is experimental and not officially supported We do our best to keep the software source code as platform independent as possible which...

Страница 14: ...t 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 Whenever you touch the screen to selec...

Страница 15: ...allow you to create rename and delete setups save changes and download a setup to your TinyBox One of the advantages of the TinyBox approach is that its setups are purely text based so you can very e...

Страница 16: ...a TinyBox setup Then download this setup to your 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 uploa...

Страница 17: ...our example that s the case for the song de do do do which we just renamed Indeed we now see the renamed song de do do do de da da da in our setlist with no song files uploaded yet We can delete the f...

Страница 18: ...he 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...

Страница 19: ...the score files will be scrolled through as follows if you have 3 files per song On the FCB1010 the small green LEDs next to the songnumber display show how many lyrics pages are still to be shown fo...

Страница 20: ...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 an...

Страница 21: ...firmware file It will be automatically downloaded to the TinyBox and installed You will understand that under no circumstance should you power off or disconnect the TinyBox during this upgrade proces...

Страница 22: ...ntial concept in any programming language The content of a variable can be set or modified in one preset then in another preset you can use conditional if then else statements to act upon the variable...

Страница 23: ...contain any combination of different types of commands MIDI commands like ProgChange CtrlChange NoteOn NoteOff MIDIStart MIDIContinue MIDIStop MIDIClock SysEx a Wait command which halts MIDI transmis...

Страница 24: ...r rec play Looper dub etc SWEEPS volume wah whammy etc Then organize all presets effects and triggers in a bank layout BANKS Looper Looper on off Looper rec play Looper dub Looper reverse Preset bank...

Страница 25: ...d PRESET Vox Ac 30 SendMidi Profiler ProgChange 2 or multiple lines surrounded by curly braces PRESET 65_Bassman SendMidi Profiler ProgChange 5 SendMidi Helicon ProgChange 17 SendMidi Octaver CtrlChan...

Страница 26: ...ff 76 0 SendMidi MySynth NoteOff 72 0 The Wait command above inserts a delay between 2 MIDI messages It is expressed in 0 1s units so Wait 20 introduces a 2 second delay SendRealtime MIDIClock 120 BPM...

Страница 27: ...ammy EFFECT_OFF ActivateWhammy Pedal 2 wah you can even define a virtual tipswitch or heelswitch for each expression pedal Tipswitch 2 ActivateWhammy If you link the effect above to the tipswitch of p...

Страница 28: ...se this is a boolean variable VAR currentSong Go with the flow this is a string variable You can set the value of each variable whenever a certain preset is triggered PRESET no_one currentSong No one...

Страница 29: ...d another set of messages a switch statement checks the value of a variable and specifies the code to be executed for each value switch currentSong case No one knows SendMidi MyGear CtrlChange 112 127...

Страница 30: ...me block certain MIDI channels or channel ranges block certain ControlChange numbers block a range of Note messages Some examples of the commands available for programming the MIDI filter INIT_TINYBOX...

Страница 31: ...full blown MIDI master keyboard with different zones controlling different synths or you could transpose the keyboard to the key of each song Some examples of the commands available for programming t...

Страница 32: ...st 4 Optionally define commands to be sent when powering the TinyBox 5 Optionally define commands to be sent when selecting each song or bank 6 Define all contents for the presets effects triggers and...

Страница 33: ...send both on effect activation and on effect deactivation a trigger is very similar to an effect except that it doesn t toggle between 2 states on each click Instead it goes ON when pressing the foot...

Страница 34: ...tting up this initial setup structure after creating a new setup type to get a dropdownlist of available commands Clicking ENTER 4 times on the proposed command list will give you the 4 empty lists wh...

Страница 35: ...ill automatically propose a list of available presets to choose from Also when defining the preset contents further down the setup a dropdown list will appear to select each of the available presets e...

Страница 36: ...this default layout of 199 sequential banks accessible using the Up Down switches you can also choose to add a Direct Bank This Direct Bank typically contains a number of presets or effects which you...

Страница 37: ...s prior to the BANKS specification When doing so the editor will automatically fill in the given preset name s on the given switch position s in each new bank For instance after specifying switch 5 to...

Страница 38: ...ical separator lines in the bank definition Remark It is good to understand exactly how the GLOBALSWITCH definitions which can be added prior to the bank list work Actually these are just a convenienc...

Страница 39: ...u can use a multiline comment to have a number of different setlists added to your setup file and before each gig you simply uncomment the setlist you want to use that night What are the advantages of...

Страница 40: ...the preset definitions is described in later chapters 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 t...

Страница 41: ...all MIDI channels you intend to use the setup editor will show a dropdown box will those names each time a MIDI channel needs to be specified A big advantage of this approach is also that you can very...

Страница 42: ...ata format the variable will contain a numeric value between 0 and 127 a boolean value true or false or a string value any text between double quotes VAR currentPreset 56 VAR delay false VAR currentSo...

Страница 43: ...to the 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...

Страница 44: ...en selecting that preset using the FCB1010 preset switches Optionally a preset can also send MIDI messages on switch release although this behavior is more appropriate for triggers which are designed...

Страница 45: ...fect which sends a different message on switch press and on switch release Both messages or message groups can be specified as follows TRIGGER_CLICK OctaveUp SendMidi Octaver CtrlChange 15 127 TRIGGER...

Страница 46: ...nding on the current context The syntax for defining sweep contents will look familiar by now SWEEP whammy SendMidi DX7 PitchBend 0 127 SWEEP volume SendMidi Profiler CtrlChange 7 0 127 SlowRising Sen...

Страница 47: ...and 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...

Страница 48: ...ess Footswitch 6 Delay Footswitch 7 Flanger Footswitch 8 Chorus MIDI commands Pedal assignments are necessary in order to define what the function is for each of the 2 expression pedals If you want to...

Страница 49: ...eparate footswitch to change pedal behavior you can do it with the pedal itself Similarly a virtual heel switch can be defined This one is triggered by moving the expression pedal all the way up heel...

Страница 50: ...have any MIDI capability SwitchOn effectname SwitchOff effectname SendTrigger triggername Close Relay1 Open Relay1 Close Relay2 Open Relay2 Remark When using the SwitchOn SwitchOff or SendTrigger comm...

Страница 51: ...ed however in a realistic use case this command will be used to send rather short SysEx messages for effect or preset parameter tweaking not entire patchdumps The values are written in hexadecimal not...

Страница 52: ...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...

Страница 53: ...sible delay is 12 7 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 Wait command 5 6 Filter rou...

Страница 54: ...e the MIDI ActiveSense messages sent every 250ms by some devices The commands for this are BlockMidi ActiveSense blocks FE MIDI messages BlockMidi SystemRealtime blocks F8 FA FB FC MIDI messages Block...

Страница 55: ...lRouting 5 6 4 Filtering or routing MIDI notes This functionality can be of great use for keyboard players It can turn a very simple MIDI keyboard into a powerful master keyboard with several zones co...

Страница 56: ...tering or routing MIDI ControlChange messages Very similar to the commands discussed in the previous topics a number of filter commands allow to block specific ControlChange numbers or copy or move th...

Страница 57: ...127 It can be incremented or decremented a fixed value can be added or subtracted or the value of another numeric variable can be taken and modified intvarname2 value A boolean variable can be set to...

Страница 58: ...for instance in order to do a fade in fade out effect see Example 5 in a previous chapter for an example of this Of course the while statement needs to be used with care making sure that you don t cre...

Страница 59: ...qual to var nn is less than nn being a value between 0 and 127 or another numeric variable for string variables var any string var any string for boolean variables var1 var2 var1 and var2 are both tru...

Страница 60: ...ds 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 else else If you prefer y...

Страница 61: ...a numeric variable switch currentPreset case 2 any number of commands break case 15 any number of commands break case 123 any number of commands break default if none of the above values match execut...

Страница 62: ...61 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...

Страница 63: ...alue expr pedal A B position The appendix at the very end of this manual gives more info about the internal signal routing in the TinyBox with a specific topic about this UseKeyboardControl use case T...

Страница 64: ...s effects triggers sweeps bank layout songs and setlist PRESETS preset name EFFECTS effect name TRIGGERS trigger name SWEEPS continuous control name GLOBALSWITCH 1 10 presetname USE_DIRECT_BANK BANKS...

Страница 65: ...h 1 2 preset effect trigger name nothing Pedal 1 2 sweep name nothing Effect activation commands SwitchOn effectname SwitchOff effectname SendTrigger triggername MIDI Commands SendMidi channelname Pro...

Страница 66: ...hannelname ccnr to channelname ccnr MoveCC channelname ccnr to channelname ccnr ResetCCRouting channelname ccnr ResetMidiFilter ModifyVelocity from from till to from till from till 0 127 Variable Comm...

Страница 67: ...eral USB connectors labeled USB MIDI 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...

Страница 68: ...ect a preset within the current bank when it receives a command from the FCB1010 which indicates a click on one of the ten footswitches It will send whatever sweep is programmed in the TinyBox setup w...

Страница 69: ...0x19 RELAY1 2 ON value 0x20 0x29 LED OFF for switch 1 10 value 0x2a 0x2b LED OFF for expr pedal A B value 0x2c 0x36 LED OFF for fcb menu LEDs value 0x38 0x39 RELAY1 2 OFF ControlChange 0x0d value 0x00...

Страница 70: ...he 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 acti...

Страница 71: ...bination of FCB1010 and TinyBox is powerful enough to take simultaneous control over many devices Another more useful example would be to have a MIDI keyboard connected to the MIDI IN and your synths...

Страница 72: ...ges from your computer to your MIDI hardware As can be seen on the schematic above all messages leaving your computer on MIDI USB port 1 run through the MIDI mapper and filter and leave the TinyBox on...

Страница 73: ...that this USB port connects to the TinyBox internal system just like the FCB1010 does through the 7 pins port Indeed this allows TinyBox ControlCenter to receive the current FCB1010 TinyBox status whi...

Страница 74: ...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 map...

Страница 75: ...1010 has problems sending or receiving MIDI messages you can use a MIDI monitor application and check if a footswitch press or expression pedal movement results in the expected messages being sent In...

Страница 76: ...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...

Страница 77: ...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...

Страница 78: ...surements and it is done for 3 messages types 1 byte 2 byte 3 byte o The same test is done with the TinyBox without any MIDI cable connected The TinyBox has built in loopthrough functionality which fo...

Страница 79: ...I 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 i...

Страница 80: ...mChange MIDI message A second test uses a setup with more complex TinyBox functionality conditional logic and additional effect activation in order to measure the influence of this functionality on la...

Страница 81: ...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 SendTrigger Cha...

Страница 82: ...iSport 1 1 1 byte messages Average latency 3 66 ms jitter ca 3ms Average latency 0 25 ms jitter ca 0 3ms Average latency 0 68ms jitter ca 0 3ms 0 10 20 30 40 50 0 500 1000 1500 2000 2500 3000 3500 400...

Страница 83: ...itter ca 0 3ms Average latency 1 06ms jitter ca 0 3ms 0 5 10 15 0 1000 2000 3000 4000 5000 6000 7000 MidiSport 2x4 MIDI loopthrough 0 20 40 60 80 0 1000 2000 3000 4000 5000 6000 7000 TinyBox MIDI USB...

Страница 84: ...ter ca 0 3ms Average latency 1 45ms jitter ca 0 4ms 0 5 10 15 20 0 1000 2000 3000 4000 5000 6000 7000 MidiSport 2x4 MIDI loopthrough 0 5 10 15 20 0 1000 2000 3000 4000 5000 6000 7000 TinyBox MIDI USB...

Страница 85: ...e TinyBox which reacts faster on each incoming MIDI byte 2 TinyBox latency MIDI IN MIDI OUT In the next measurements we compare total latency values of a MidiSport with MIDI cable shortcut between MID...

Страница 86: ...Average total latency 3 85 ms Average TinyBox added latency 0 19 ms 0 5 10 15 20 25 30 35 40 45 50 2000 2500 3000 3500 4000 4500 5000 5500 6000 Reference measurement 0 5 10 15 20 25 30 35 2000 2500 30...

Страница 87: ...ge total latency 5 41 ms Average TinyBox added latency 0 92 ms 0 2 4 6 8 10 12 14 16 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 Reference measurement 0 5 10 15 20 25 30 35 2500 3000 3500 4...

Страница 88: ...ms Average TinyBox added latency 1 31 ms 0 5 10 15 20 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500 Reference measurement 0 5 10 15 20 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 8500...

Страница 89: ...and corresponding latency on the Y axis 0 5 10 15 20 25 30 35 40 0 200 400 600 800 1000 1200 1400 1600 1800 2000 trigger IN to MIDI OUT 0 2 4 6 8 10 12 14 16 18 20 0 200 400 600 800 1000 1200 1400 160...

Страница 90: ...luence the latency by using a huge switch statement we gradually increase the number of commands executed by each preset from 3 to 300 and we measure a proportional increase in latency from 0 9ms to 1...

Отзывы: