OSC: Personal Monitoring Control
Personal monitoring can allow a performer with a smart phone to set their personal monitor mix for a floor wedge or in-ear monitoring. In Ardour 5.6 OSC commands to allow this were added.
Some setup needs to be done in the GUI mixer window before this can work.
- Create a bus for each performer who will have personal monitoring. A good practice is to name the bus with the performers name.
- Connect the output of that bus to one of the audio interface's playback ports that is not otherwise used. OSC will now include this bus in it's list of aux busses as it no longer has it's output connected to the Master bus.
- Add an aux send to each channel the performer needs to hear in their personal mix. Many performers only need three or four sources to be mixed. If the performer needs to hear a a set of inputs that are combined into a bus, adding the aux send to that bus may make more sense than adding ten drum channels for example.
- If the performer wishes to hear effects in their monitor, an extra send from the send bus, placing the performers aux send after the effect or a plugin can be added in line in the aux bus itself.
This gives stage or studio monitoring for the performer.
The OSC commands and feedback for personal monitoring
All of the personal monitoring commands and feedback start with a /cue. It is expected that a surface used as a personal monitor control will use only /cue commands.
Most phone OSC applets (TouchOSC, Control) require manual port to be set. There are certainly more controls than needed. Using send enables for example, may lead to wasted time discovering why a send has no sound. A good easy to use controller that fits on most phones while still being controllable even with big fingers might look like:
Ardour is not limited to talking to one personal monitor controller at a time, but is able to deal with many simultaneously, each controlling it's own Aux bus.
The send controls and feedback all have the send id (1 to n) in line as part of the OSC path. So the path for the second send would be /cue/send/fader/2 to set the level. It is considered that most surfaces used for this will only be able to handle one parameter.
|/cue/connect||Returns a list of aux busses and connects to the first.|
|/cue/aux aux-number||where aux-number is an integer or float which is the aux bus number this surface will use.|
|/cue/next_aux||Sets the the aux bus to one bus higher.|
|/cue/previous_aux||Sets the aux to one bus lower. This can also be used as a "connect" button to save space in a phone layout.|
|/cue/fader position||where position is a float for the position of the fader between 0.0 and 1.0.|
|/cue/mute state||where state is a float of 0.0 for mute off and 1.0 for the Aux bus mute on.|
|/cue/send/fader/id position||where position is a float for the position of the fader between 0.0 and 1.0.|
|/cue/send/enable/id state||where state is a float of 0.0 for disable and 1.0 for enable.|
|/cue/name name||where name is a string that is the name of the currently selected aux bus.|
|/cue/name/id name||where name is a string that is the name of the aux bus that id belongs to.|
|/cue/fader position||where position is a float from 0.0 to 1.0 that shows the fader position for the selected aux bus.|
|/cue/mute state||where state is a float of 0.0 or 1.0 that shows the state of the mute for the selected aux bus.|
|/cue/signal activity||where activity is a float of 0.0 or 1.0 that shows audio activity for the selected aux bus.|
|/cue/send/name/id name||where name is a string that is the name of the channel that send id belongs to.|
|/cue/send/fader/id position||where position is a float from 0.0 to 1.0 that is the position for the fader for the send that id belongs to.|
|/cue/send/enable/id state||where state is a float of 0.0 or 1.0 that is the state of the enable for the send that id belongs to.|
While a fader is being adjusted, the corresponding /*/name text will give the level in db.