]> git.sesse.net Git - nageru-docs/blobdiff - audio.rst
Start writing about MIDI controllers.
[nageru-docs] / audio.rst
index e1b8d19100d91aa28a1b85c3822cb97a5cd192f0..8023a5f705c4eb3b2f3a545bcdd3632f2e6180e9 100644 (file)
--- a/audio.rst
+++ b/audio.rst
@@ -45,6 +45,8 @@ can do. (In fact, simple mode constructs a multichannel setup
 behind-the-scenes and then runs the multichannel audio code.)
 
 
+.. _audio-meters:
+
 Audio meters
 ------------
 
@@ -115,6 +117,7 @@ are indications of common issues:
 A healthy stereo stream will usually have a correlation somewhere
 around 0.7–0.8, and this section is marked in green.
 
+.. _audio-strip:
 
 The audio strip
 ---------------
@@ -171,12 +174,186 @@ that got through the other compressors—a classic example is a
 speaker suddenly coughing, or a very loud bass drum. This prevents
 both clipping and blowing out the speakers' ears.
 
-(TODO: write more)
+At this point, the audio signal is *almost* where we'd like it
+to be, but the overall sound level might not be quite right.
+All the previous compressors have been working in the objective
+domain, but as explained in the :ref:`previous section <audio-meters>`,
+this does not necessarily correspond to the desired overall
+audio loudness. (Their default levels have been calibrated so
+that they end up around 0 LU for typical speech content,
+but they could easily miss by a few LU in many cases.)
+
+Thus, there's a final **makeup gain** at the end to compensate
+for these issues. When the “Auto” checkbox is ticked, which is
+by default, it will very slowly (filter constant of 30 seconds)
+adjust itself so that the overall level goes toward 0 LU,
+ie., the reference level. It is so slow because the R128 calculations
+inherently must go over a certain amount of time (what we want
+to change with this gain is the *overall* sound level,
+not the *immediate* one). In periods where the makeup gain is
+far off, such as when the stream is all silent, it doesn't update
+at all. As with the other knobs, you can uncheck the “Auto”
+checkbox and tune this yourself if you want to.
 
 
 Multichannel mode
 -----------------
 
-
-MIDI control
-------------
+**Multichannel mode** expands on simple audio mode by allowing you
+to have multiple *buses* of audio. (In a sense, it could more accurately
+be called “multibus mode” instead, but the name would be too confusing.)
+A bus in Nageru is a pair of channels (left/right), sourced from
+a video capture or ALSA card. The channel mapping is flexible; my USB
+sound card has 18 channels, for instance, and you can use that to make
+several buses. Each bus has a name (for instance, something like
+“Blue microphone” or “Speaker PC”), which is just for convenience;
+Nageru doesn't care what you write here, but the labels are useful
+for the operator.
+
+
+Input mappings
+''''''''''''''
+
+.. image:: images/input-mapping.png
+
+The input mapping dialog should be pretty much self-explanatory;
+you can use the + button to add a new bus, and the - button to remove
+the currently selected one (you select by clicking on it). The up and
+down buttons rearrange the order by moving the currently selected bus
+up or down, if possible.
+
+Because mappings can be tedious to setup, you wouldn't want to set up
+a complicated one every time you started Nageru. Therefore, mappings
+can be saved and loaded from disk; the stored file is a
+`protocol buffer <https://developers.google.com/protocol-buffers/>`_
+in textual format. You can also load one at start with the
+“--input-mapping” parameter, which also implies multichannel mode
+(--multichannel).
+
+Nageru strives to keep the mapping consistent even
+in the face of a changed environment—for instance, if you unplug and
+replug a USB sound card, Nageru will attempt to keep your buses mapped to
+that card still mapped. (While the card unplugged, the main display will show
+the relevant buses as “(disconnected)”.) Similarly, if an ALSA device
+is taken by another program on startup and cannot be accessed by Nageru,
+it will mark it as “(busy)” and try again in the background. However,
+there are edge cases where Nageru simply cannot do the right thing,
+for instance if you unplug two identical cards and plug them back
+in the reverse order; USB cards don't carry any kind of serial number
+or other forms of unique identification.
+
+
+The audio views
+'''''''''''''''
+
+.. image:: images/audio-view-selector.png
+
+Once multichannel mode is active, a little selector shows up to the right,
+just below the level meters. The arrows (or equivalently, the PgUp/PgDown
+keys on the keyboard) allow you to select between two views:
+
+  * In the **compact audio view** (which is the default), each bus is
+    represented only by its label, its peak meter (see below) and its
+    fader. This takes up little screen estate, and allows the video channels
+    to be visible. This is the typical view you'd use once you've set up
+    everything and are actually doing live video editing; the controls
+    from the full audio view are still in effect, but you cannot see or
+    interact with them.
+
+  * The **full audio view** contains a lot more controls, but leaves no
+    room for the video channels. These are useful when you are doing initial
+    setup of your mix, or if you want to go back and tune something.
+    The full audio view will be described in detail in the following section;
+    the interpretation of the corresponding controls in the compact audio view
+    is the same.
+
+.. image:: images/audio-bus-controls.png
+
+(TODO: fix image)
+
+There's one set each of these controls for every bus. The most
+important parts of the mix are given the most screen estate,
+so even though the way through the signal chain is left-to-right
+top-to-bottom, we'll go over it in the opposite direction.
+
+By far the most important part is the audio level, so the **fader** naturally is
+very prominent. (Note that the scale is nonlinear; you want more resolution
+in the most important area.) Changing a fader with the mouse or keyboard is
+possible, and probably most people will be doing that, but Nageru also
+supports USB faders (see :ref:`midi-control`). There's a mute button
+if you just want to silence a bus temporarily; it has exactly the same
+effect as pulling the fader all the way down, ie., it will make the bus
+go all silent.
+
+Then there's the **peak meter** to the left of that. For each bus, unlike
+for the meters used for mastering (see :ref:`audio meters`),
+you don't want to know loudness; you want to know recording levels,
+so this is a peak meter, *not* a loudness meter. (There's some holdoff
+so you can see the actual peaks over a short period.) In particular,
+you don't want the bus to send clipped data to the master
+(which would happen if you set it too high); Nageru can handle
+this situation pretty well (unlike most digital mixers, it mixes in
+full 32-bit floating-point so there's no internal clipping,
+and the limiter described in :ref:`audio-strip` will usually save you)
+but it's still not a good place to be in, so if you peak,
+the **historical peak label** under the meter will go red if it happens.
+If you want to reset it, click on it using the mouse.
+
+The peak meter doubles as an input peak check during
+setup; if you turn off all the effects and set the fader to neutral, you can
+see if the input hits peak or not, and then adjust it down. Left and right
+channel are shown separately, so you can see if they are approximately
+the same level or even completely mono.
+
+The **compressor** is well-known from the simple audio mode, but in this view,
+it also has a **reduction meter**, so that you can see whether it kicks in or not.
+(This is also nonlinear, and each step is marked with number of decibels
+the compressor had to reduce the signal.) Most casual users
+would want to just leave the gain staging and compressor settings alone, but
+a skilled audio engineer will know how to adjust these to each speaker's
+antics—some speak at a pretty even volume and thus can get a bit of
+headroom, while some are much more variable and need tighter settings.
+
+Finally (or, well, first), there's the EQ section. The **lo-cut** is again
+well-known from the simple audio mode (the filter is separate for each
+bus, the cutoff **frequency** is the same across all buses),
+but there's now also a simple **three-band EQ** per bus. Simply ask the speaker
+to talk normally for a bit, and tweak the controls until it sounds good.
+People have different voices and different ways of holding the microphone,
+and if you have a reasonable ear, you can use the EQ to your advantage to
+make them sound a little more even on the stream. Either that, or just
+put it in neutral, and the entire EQ code will be bypassed.
+
+.. _midi-control:
+
+MIDI controllers
+----------------
+
+If you are doing audio work beyond just setting up a mix and letting it
+stay there, dragging controls with the mouse can feel limiting. There's
+a wide range of controllers out there that have physical faders and knobs
+you can twiddle for a much more tactical feel; all the way up from about
+$50 to more than $5000. (For reference, Nageru has been tested with the
+`Akai MIDImix <http://www.akaipro.com/product/midimix>`_ and the
+`Korg nanoKONTROL2 <http://www.korg.com/us/products/computergear/nanokontrol2/>`_,
+and both work fine, although the nanoKONTROL2 needs some one-time Korg-specific
+SysEx commands before the lights and buttons will work with Nageru.)
+Nageru supports these in multichannel mode only.
+
+For historical reasons, these speak the MIDI protocol as if they
+were instruments, and thus, Nageru refers to them as **MIDI controllers**.
+However, you won't really notice; they come with USB plugs to transport
+the MIDI data, so you just plug them in and have Nageru automatically
+talk to them. (For simplicity, Nageru will assume *any* MIDI device
+connected to your machine is such a controller.)
+
+Since different controllers have different numbers of faders, knobs,
+buttons and lights, you will need to make a mapping. However, just like
+with the audio input mapping, this can be done once and then saved
+to disk for later loading. (You can load a given mapping on startup
+using the “--midi-mapping” flag.) The dialog, loaded with the included
+preset for the Akai MIDImix, looks like this:
+
+.. image:: images/midi-controller-setup.png
+
+(TODO: Write more.)