Previous   Next

Questions :

How to setup WiFi rtpMIDI on a PC (Windows) ?
How to setup WiFi rtpMIDI on a Mac ?

How to use The Missing Link™ with TB MIDI Stuff ?

Does TB MIDI Stuff need an external pages editor ?

How many pages can be open simultaneously ?
How to re order/close opened pages ?
Can I open several instances of the same page ?
I want to use an app virtual MIDI port to drive another app and use a CoreMIDI interface at the same time : can I ?

What are Velocity Modes supported by Drum Pads ?
What are Velocity Modes supported by Piano Keys ?
Does Accelerometer Velocity is a real polyphonic one ?

What is the difference between “MIDI Messages” section and “Touch MIDI Messages” section ?

What is a Value Note message ?
Does a Value Note message is polyphonic ?
What musical scales are available in Value Notes Messages ?

What is Routing Mode ?

Can I use the built-in Keyboard’s Arpeggiator with my own pages ?
Can I use the built-in Keyboard’s Arpeggiator with an external MIDI keyboard ?
Can I use the built-in Pads Controller’s Repeat Mode with my own pages ?

Does TB MIDI Stuff be bi directional only with SysEx messages ?

How to use SysEx checksums ?
Must I use request messages to do bi directional SysEx ?
How to do bi directional SysEx with Roland devices ?

How work dynamics labels ?

Your question is not on the list ? Contact Us !

Answers :

How to setup WiFi rtpMIDI on a PC (Windows) ?

Install the rtpMIDI driver. (http://www.tobias-erichsen.de/rtpMIDI.html)
You will be directed to install Bonjour for Windows if you don’t already have it.
Run the rtpMIDI app.

Add a new session by clicking the plus sign, rename it and activate it by clicking the checkbox.
Make sure you set the option “who may connect to me” to either “anyone” or “only computers in my directory”.
Now start the TB MIDI Stuff app on the iPad.
Your iPad’s name will now appear in the Directory.
Click your iPad’s name then click the connect button.
Your iPad’s name will now appear in the Participants section.
You can now close the rtpMIDI window.
Open the global settings on TB MIDI Stuff app (the wrench icon on the toolbar) and select the created session for “MIDI In” and “MIDI Out”.

Note : we highly recommend to use an ad hoc WiFi network to lower the latency.

^ Top

How to setup WiFi rtpMIDI on a Mac ?

Go to your utilities folder and launch “audio midi setup”
If you don’t see the “midi studio” window, select “show midi window” in the top menu bar.
Now double click the network icon.
Add a new session by clicking the plus sign and activate it by clicking the checkbox.
Make sure you set the option “who may connect to me” to either “anyone” or “only computers in my directory”.
Now start the TB MIDI Stuff app on the iPad.
Your iPad’s name will now appear in the Directory.
Click your iPad’s name then click the connect button.
Your iPad’s name will now appear in the Participants section.
You can now close the midi setup windows.
Open the global settings on TB MIDI Stuff app (the wrench icon on the toolbar) and select the created session for “MIDI In” and “MIDI Out”.

Note : we highly recommend to use an ad hoc WiFi network to lower the latency.

^ Top

How to use The Missing Link™ with TB MIDI Stuff ?

Connect your iPad to the Missing Link™ WiFi network
Launch TB MIDI Stuff
Go to “Application Settings” (wrench top right icon) then enable the Missing Link™ : you have now a new MIDI In (“The Missing Link™ WiFi Output”) and a new MIDI Out (“The Missink Link™ WiFi Input”)
Select them and… enjoy !!!

You don’t have to do more, no OSC messages to set, TB MIDI Stuff does all for you.

Note : The Missing Link™ is a trademark of Jabrudian Industries LLC

^ Top

Does TB MIDI Stuff need an external pages editor ?

No. TB MIDI Stuff has a built-in pages editor, no desktop computer or laptop needed. We never made an external editor for it. All pages we provide was made with the app itself.

^ Top

How many pages can be open simultaneously ?

You can open up to 16 pages simultaneously.

^ Top

How to re order/close opened pages ?

First, go to the pages manager (the magnifying glass icon on top left). Then, tap and hold a page until all pages “dance” and a cross mark appears in top left of all pages.

If you want to re order page, tap and hold the page you want and move it to the desired place.

If you want to close a page, tap the corresponding cross mark

^ Top

Can I open several instances of the same page ?

Yes, you can. You can also set different MIDI In/Out port and/or a different MIDI channel.

^ Top

I want to use an app virtual MIDI port to drive another app and use a CoreMIDI interface at the same time : can I ?

Yes. Each pages can use a different from another MIDI In and/or Out driver at the same time.

^ Top

What are Velocity Modes supported by Drum Pads ?

Drum Pads support 6 Velocity Modes :

  • Accelerometer : the accelerometer is used to measure tap’s hit on the iPad
  • Bottom : Highest velocity at the bottom, Lowest velocity at the top
  • Top : Highest velocity at the top, Lowest velocity at the bottom
  • Left : Highest velocity at the left, Lowest velocity at the right
  • Right : Highest velocity at the right, Lowest velocity at the left
  • Center : Highest velocity at the center, Lowest velocity at the edges

^ Top

What are Velocity Modes supported by Piano Keys ?

Piano Keys support 2 Velocity Modes :

  • Accelerometer : the accelerometer is used to measure tap’s hit on the iPad
  • Bottom : Highest velocity at the bottom, Lowest velocity at the top

^ Top

Does Accelerometer Velocity is a real polyphonic one ?

No. As the accelerometer only provides the global iPad’s acceleration vector, we can’t distinguish fingers hits when they happen at the same time.

^ Top

What is the difference between “MIDI Messages” section and “Touch MIDI Messages” section ?

You put in the “MIDI Message” section all MIDI messages which depend of the control’s value. These messages are send when you change the value of a control.

Messages in the “Touch MIDI Messages” section are only send when control’s value change begins and ends and don’t depend on control’s value (except for Value Notes messages). You can choose to send only when the control’s value begins with switched on “Send Only On Values” in the “Touch MIDI Messages” section.

So, the “Touch MIDI Messages” section provide a push button on all controls which have it.

^ Top

What is a Value Note message ?

A Value Note message is not a real MIDI message. It is an internal message which sends Note On/Off MIDI messages according to a musical scale, a root key, a note range and a control’s value. It’s like a dynamic Note message.

Take an example. An horizontal slider have a Value Note message with Ionian scale, C root key and a range from C3 to C4. When you touch the slider, the value note message sends a Note On MIDI message according to its value. If the thumb is at left, a C3 Note On is sent. When you drag the thumb to the right, the played note will change according to the Value Note message parameter (scale, root key and range), so you will listen : C3 -> D3 -> E3 -> F3 -> G3 -> A3 -> B3 and C4 at the right of the slider.

^ Top

Does a Value Note message is polyphonic ?

No for all controls but one. The Multitouch XY Pad allows, in its “Global Touch MIDI Messages” section, Value Note Messages which are polyphonic.

^ Top

What musical scales are available in Value Notes Messages ?

31 pre-defined musical scales plus one are available with Value Note messages :

  • Chromatic
  • Ionian
  • Dorian
  • Phrygian
  • Lydian
  • Mixolydian
  • Aeolian
  • Locrian
  • Major Blues
  • Minor Blues
  • Diminish
  • Combination Diminish
  • Major Pentatonic
  • Minor Pentatonic
  • Raga Bhairav
  • Raga Gamanasrama
  • Raga Todi
  • Spanish
  • Gypsy
  • Arabian
  • Egyptian
  • Hawaiian
  • Bali Island Pelog
  • Japanese Miyakobushi
  • Ryukyu
  • Wholetone
  • Minor 3rd Interval
  • 3rd Interval
  • 4th Interval
  • 5th Interval
  • Octave Interval
  • Custom (user defined scale)

^ Top

What is Routing Mode ?

When a control receive a MIDI or OSC message which is one of those you assign to this control, TB MIDI Stuff reflect the message value to the control. It is only a passive control update, only the displayed value change.

Routing Mode allow you to do active bi directional MIDI or OSC messaging. When you set Routing Mode to “MIDI In”, “OSC In” or “MIDI In & OSC In” on a control and it receive a compatible MIDI/OSC message, the control acts like a user touch input so it sends all messages you assign to it.

Note : Be careful with Routing Mode, it can do MIDI closed loop if you use a device/application which do software MIDI Thru.

^ Top

Can I use the built-in Keyboard’s Arpeggiator with my own pages ?

No. The built-in keyboard is independent and can’t be driven by user’s pages.

^ Top

Can I use the built-in Keyboard’s Arpeggiator with an external MIDI keyboard ?

Yes. If you set the good MIDI In port and the correct MIDI channel on the built-in keyboard, you can drive the arpeggiator with an external MIDI keyboard.

^ Top

Can I use the built-in Pads Controller’s Repeat Mode with my own pages ?

No. The built-in Pads Controller is independent and can’t be driven by user’s pages.

^ Top

Does TB MIDI Stuff be bi directional only with SysEx messages ?

No. TB MIDI Stuff also handles receiving with control change messages (coarse and fine), program change messages, pitch wheel messages, channel pressure messages, note on/off messages and OSC messages.

^ Top

How to use SysEx checksums ?

TB MIDI Stuff needs to know where the checksum start to handle dynamic checksums (like Roland do for example).

You can choose one on the two following checksum methods :
- Normal, witch keep the 7 least significant bits of the calculated sum
- Two’s Complement, witch subtract the 7 least significant bits of the calculated sum to 128 (0×80)

‘Checksum Start’ key on the hexadecimal keyboard is here for mark the checksum start (represented in the message by ‘CS’).
‘Checksum Stop’ key is the calculated checksum (represented by ‘CE’) and must be the last byte in the message before the SysEnd end marker F7.

‘CS’ is just a marker and don’t represent any bytes. ‘CE’ is replaced by the calculated checksum on the fly.

Take a GS Master Volume SysEx as an example. For a full volume value, the message is :

F0 41 10 42 12 40 00 04 7F 3D F7

41 is the corresponding manufacturer code of Roland
10 is the device id (most of Roland’s device use this id)
42 is the model id (GS synth in our case)
12 specify we send a value
40 00 04 is the address of the parameter we want to change
7F is the volume value (full volume in this case
3D is the checksum

We don’t want to always send full volume, so we change the 7F value by control value (‘xx’) :

F0 41 10 42 12 40 00 04 xx 3D F7

This new message will fail for every value than 7F because 3D is only the correct checksum value with 7F. We will change that point.

Roland devices start to calculate checksum with parameter address (40 00 04 in our case), so we put the checksum start just before it :

F0 41 10 42 12 CS 40 00 04 xx 3D F7

Then, we can replace 3D by the calculated checksum :

F0 41 10 42 12 CS 40 00 07 xx CE F7

We have to choose what calculation method we want to use. In our case (Roland GS SysEx message), the checksum method must be ‘Two’s Complement’.

We have now a correct SysEx message witch works with all volume values.

^ Top

Must I use request messages to do bi directional SysEx ?

It depends on device you want to drive. Some of them don’t need request messages, some other need some.

Yamaha devices generally don’t have request mode, Roland devices have one.

Read your device documentation to know if it need request messages to send its parameters.

^ Top

How to do bi directional SysEx with Roland devices ?

Roland devices use a generic SysEx message system on all their devices. We will explain how to generate parameter set messages and parameter request messages.

The message format is :
F7 41 device_number device_id message_type parameter_address value checksum F7
where :

  • ’41′ is the manufacturer identifier, Roland in our case.
  • device_number is an identifier assigned to a device in case of multiple devices are on the same MIDI network (the default value is ’10′ in hexadecimal format)
  • device_id is the identifier of a specific device (JD 800, GR-55, etc.). This identifier has one, two or three bytes (see your device documentation to find it).
  • message_type is ’12′ for parameter set, ’11′ for parameter request.
  • parameter_address is the device address of a parameter. Three bytes on some models (like JD 800), four bytes on other (like GR-55) .See your device documentation to know the correct address size.
  • value depends on what message_type you use :
    • For parameter set, it represent the value to set to the parameter (some parameter use only one byte, some other use two, three or four bytes with a “Nibble (Big Endian)” as value format method).
    • For parameter request, it represent the number of bytes the parameter use, represented with the same byte count as the parameter_address (three or four).
  • checksum is a validity value to check the message. The checksum calculation use “Two’s Complement” method and starts just after message_type and ends after value. So, in TB MIDI Stuff format, you will have “F7 41 device_number device_id message_type CS parameter_address value CE F7″

^ Top

How work dynamics labels ?

Labels can be dynamic with using SysEx messages and/or OSC string messages.
They are only receiver.
You can set a prefix text and a suffix text which are not dynamic, only the text value can be changed dynamically.

^ Top

Previous   Next