]> Shamusworld >> Repos - ardour-manual/blob - include/osc58-personal-monitoring-control.html
Menu: add references to now available documentation
[ardour-manual] / include / osc58-personal-monitoring-control.html
1
2 <p>
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.
8 </p>
9 <h3>Setup</h3>
10 <p>
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.
14 </p>
15         <ul>
16                 <li>
17                         Create a bus for each performer who will have personal
18                         monitoring. A good practice is to name the bus with the
19                         performers name.
20                 </li>
21                 <li>
22                         Connect the output of that bus to one of the audio
23                         interface's playback ports that is not otherwise used.
24                 </li>
25                 <li>
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.
32                 </li>
33                 <li>
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
37                         Fader.
38                 </li>
39         </ul>
40 <p>
41         This gives stage or studio monitoring for the performer.
42 </p>
43
44 <h3>The OSC commands and feedback for personal monitoring</h3>
45 <p>
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. 
49 </p>
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>
52 </p>
53 <p>
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:
59 </p>
60 <table>
61  <tr>
62   <td>
63         <figure>
64         <img alt="TouchOSC Screenshot"
65         src="/images/osc-cue-touchosc.jpg">
66     <figcaption>Personal Monitor controller using TouchOSC</figcaption>
67         </figure>
68   </td>
69   <td>
70         <figure>
71         <img alt="Control Screenshot"
72         src="/images/osc-cue-control.jpg">
73     <figcaption>Personal Monitor controller using Control</figcaption>
74         </figure>
75   </td>
76  </tr>
77 </table>
78
79 <p>
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
82         its own foldback bus.
83 </p>
84 <p class="note">
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.
89 </p>
90 <h4>Commands</h4>
91 <table class="dl">
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.
115
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>
127 </table>
128 <h4>Feedback</h4>
129 <table class="dl">
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>
154 </table>
155 <p>
156         While a fader is being adjusted, the corresponding <em>/*/name</em>
157         text will give the level in db.
158 </p>
159 <h2 id="select-fldbck">Setting up a Foldback bus from a selected strip</h2>
160 <p>
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.
168 </p>