3 Personal monitoring can allow a performer with a smart phone to set
4 their personal monitor mix for a floor wedge or in-ear monitoring.
5 In Ardour 5.6 OSC commands to allow this were added for use with aux
6 buses. Ardour 6.0 added Foldback buses for this purpose and these
7 commands work directly for those.
11 Foldback buses can be added from the GUI
12 (see: <a href="@@foldback-strip">Foldback section</a>)
13 or using the <kbd class="osc">/cue/new_bus</kbd> OSC command.
17 Create a bus for each performer who will have personal
18 monitoring. A good practice is to name the bus with the
22 Connect the output of that bus to one of the audio
23 interface's playback ports that is not otherwise used.
26 Add a foldback send to each channel the performer needs to hear
27 in their personal mix. Many performers only need three or
28 four sources to be mixed. If the performer needs to hear a
29 a set of inputs that are combined into a bus, adding the
30 foldback send to that bus may make more sense than adding ten
31 drum channels for example.
34 If the performer wishes to hear effects in their monitor,
35 an extra send from the effects bus or a plugin can be added in line in
36 the foldback bus itself. Foldback sends are always just before the
41 This gives stage or studio monitoring for the performer.
44 <h3>The OSC commands and feedback for personal monitoring</h3>
46 All of the personal monitoring commands and feedback start with a
47 <em>/cue</em>. It is expected that a surface used as a personal
48 monitor control will use only <em>/cue</em> commands.
50 <p class="note"> There is one OSC command apart from the <code>/cue</code>
51 commands: <a href="#select-fldbck"><code>/select/add_fldbck_send</code></a>
54 Most phone OSC applets (TouchOSC, Control) require manual port to be set.
55 There are certainly more controls than needed. Using send enables for
56 example, may lead to wasted time discovering why a send has no sound.
57 A good easy to use controller that fits on most phones while still
58 being controllable even with big fingers might look like:
64 <img alt="TouchOSC Screenshot"
65 src="/images/osc-cue-touchosc.jpg">
66 <figcaption>Personal Monitor controller using TouchOSC</figcaption>
71 <img alt="Control Screenshot"
72 src="/images/osc-cue-control.jpg">
73 <figcaption>Personal Monitor controller using Control</figcaption>
80 Ardour is not limited to talking to one personal monitor controller
81 at a time, but is able to deal with many simultaneously, each controlling
85 The send controls and feedback all have the send id (1 to n) in line
86 as part of the OSC path. So the path for the second send would be
87 <em>/cue/send/fader/2</em> to set the level. It is considered that
88 most surfaces used for this will only be able to handle one parameter.
92 <tr><th><kbd class="osc">/cue/connect</kbd></th>
93 <td>Returns a list of foldback busses and connects to the first.</td></tr>
94 <tr><th><kbd class="osc">/cue/bus <em>index</em></kbd></th>
95 <td>where <em>index</em> is an integer or float which is the
96 foldback bus number this surface will use.</td></tr>
97 <tr><th><kbd class="osc">/cue/next_bus</kbd></th>
98 <td>Sets the the foldback bus to one bus higher.</td></tr>
99 <tr><th><kbd class="osc">/cue/previous_bus</kbd></th>
100 <td>Sets the foldback bus to one bus lower. This can also be used as a
101 "connect" button to save space in a phone layout.</td></tr>
102 <tr><th><kbd class="osc">/cue/connect_output <em>output</em></kbd></th>
103 <td>where <em>output</em> is a string that is the name of an output port
104 or the number of the output port if the port is a system:playback port
105 to connect the foldback bus to.</td></tr>
106 <tr><th><kbd class="osc">/cue/new_bus <em>name</em> <em>l-output</em>
107 <em>r-output</em></kbd></th> <td>where <em>name</em> is the name for
108 the new foldback bus as a string, <em>l-output</em> (optional) is the name
109 of the output port to connect to. And <em>r-output</em> (if present) will
110 make the new foldback bus stereo and connect the right output port to the
111 named port. All parameters are string type.
112 <tr><th><kbd class="osc">/cue/new_send <em>strip</em></kbd></th>
113 <td>where <em>strip</em> is a string with the name of the strip to add
114 a foldback send to that sends to the current foldback bus.
116 <tr><th><kbd class="osc">/cue/fader <em>position</em></kbd></th>
117 <td>where <em>position</em> is a float for the position of the fader
118 between 0.0 and 1.0.</td></tr>
119 <tr><th><kbd class="osc">/cue/mute <em>state</em></kbd></th>
120 <td>where <em>state</em> is a float of 0.0 for mute off and 1.0 for
121 the foldback bus mute on.</td></tr>
122 <tr><th><kbd class="osc">/cue/send/fader/<em>id</em> <em>position</em></kbd></th>
123 <td>where <em>position</em> is a float for the position of the send
124 fader between 0.0 and 1.0.</td></tr>
125 <tr><th><kbd class="osc">/cue/send/enable/<em>id</em> <em>state</em></kbd></th>
126 <td>where <em>state</em> is a float of 0.0 for disable and 1.0 for enable.</td></tr>
130 <tr><th><kbd class="osc">/cue/name <em>name</em></kbd></th>
131 <td>where <em>name</em> is a string that is the name of the currently
132 selected foldback bus.</td></tr>
133 <tr><th><kbd class="osc">/cue/name/<em>id</em> <em>name</em></kbd></th>
134 <td>where <em>name</em> is a string that is the name of the foldback bus
135 that <em>id</em> belongs to.</td></tr>
136 <tr><th><kbd class="osc">/cue/fader <em>position</em></kbd></th>
137 <td>where <em>position</em> is a float from 0.0 to 1.0 that shows the
138 fader position for the selected foldback bus.</td></tr>
139 <tr><th><kbd class="osc">/cue/mute <em>state</em></kbd></th>
140 <td>where <em>state</em> is a float of 0.0 or 1.0 that shows the state
141 of the mute for the selected foldback bus.</td></tr>
142 <tr><th><kbd class="osc">/cue/signal <em>activity</em></kbd></th>
143 <td>where <em>activity</em> is a float of 0.0 or 1.0 that shows audio
144 activity for the selected foldback bus.</td></tr>
145 <tr><th><kbd class="osc">/cue/send/name/<em>id</em> <em>name</em></kbd></th>
146 <td>where <em>name</em> is a string that is the name of the channel
147 that send <em>id</em> belongs to.</td></tr>
148 <tr><th><kbd class="osc">/cue/send/fader/<em>id</em> <em>position</em></kbd></th>
149 <td>where <em>position</em> is a float from 0.0 to 1.0 that is the position
150 for the fader for the send that <em>id</em> belongs to.</td></tr>
151 <tr><th><kbd class="osc">/cue/send/enable/<em>id</em> <em>state</em></kbd></th>
152 <td>where <em>state</em> is a float of 0.0 or 1.0 that is the state
153 of the enable for the send that <em>id</em> belongs to.</td></tr>
156 While a fader is being adjusted, the corresponding <em>/*/name</em>
157 text will give the level in db.
159 <h2 id="select-fldbck">Setting up a Foldback bus from a selected strip</h2>
161 A selected or expanded strip can create a foldback send and create
162 a foldback bus at the same time using:
163 <kbd class="osc">/select/add_fldbck_send <em>name</em></kbd>
164 where <em>name</em> is a string with the name of the desired foldback
165 bus. If the name matches an existing foldback bus the new send will
166 be added to the selected or expanded strip that feeds that bus. If there
167 is no strip of that name, one will be created.