212 lines
8.1 KiB
HTML
212 lines
8.1 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head>
|
|
<meta name="generator" content="Generated by MUP v3.5">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<link type="text/css" rel="stylesheet" href="mup.css">
|
|
<title>Non Mixer User Manual</title>
|
|
</head>
|
|
<body>
|
|
<div id=cover>
|
|
<h1>Non Mixer User Manual</h1>
|
|
<h3></h3>
|
|
<address>
|
|
Jonathan Moore Liles <a href="mailto:male@tuxfamily.org"><male@tuxfamily.org></a><br>
|
|
January 21, 2010<br>
|
|
|
|
</address><hr></div>
|
|
<div id=body>
|
|
<div id=toc>
|
|
<h1 id=toc>Table Of Contents</h1>
|
|
<ul>
|
|
<li><a href="#n:1.">1. User Manual</a>
|
|
<ul><li><a href="#n:1.1.">1.1. The Mixer</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.">1.1.1. Mixer Strip</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.1.">1.1.1.1. Signal Processing</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.1.1.">1.1.1.1.1. Signal Chain</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.1.1.1.">1.1.1.1.1.1. Modules</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.1.1.1.1.">1.1.1.1.1.1.1. Module Parameter Editor</a>
|
|
|
|
<li><a href="#n:1.1.1.1.1.1.2.">1.1.1.1.1.1.2. Controls</a>
|
|
|
|
<ul><li><a href="#n:1.1.1.1.1.1.2.1.">1.1.1.1.1.1.2.1. Control Voltages</a>
|
|
|
|
</ul></ul></ul></ul><li><a href="#n:1.1.1.2.">1.1.1.2. JACK I/O</a>
|
|
|
|
</ul></ul></ul></ul></ul><hr></div>
|
|
<h1 id="n:1.">1. User Manual</h1>
|
|
<h2 id="n:1.1.">1.1. The Mixer</h2>
|
|
<center><div class="fig image"><table id="Fig.1.1" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.1.</strong> Mixer
|
|
</caption>
|
|
|
|
<tr><td><img src="non-mixer-complex.png" alt="fig. 1.1"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
The Non-Mixer is a stand-alone audio mixer, utilizing JACK as an audio subsystem. At the time of writing, the architecture of Non-Mixer is unique. By making the mixer stand-alone, concepts such as busses, sends, and inserts are eliminated, as the same goals can be achieved by simply adding more strips to the mixer.
|
|
</p>
|
|
<p>
|
|
Start by creating a new project.
|
|
</p>
|
|
<center><div class="fig image"><table id="Fig.1.2" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.2.</strong> New Project
|
|
</caption>
|
|
|
|
<tr><td><img src="new-project.png" alt="fig. 1.2"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
<h3 id="n:1.1.1.">1.1.1. Mixer Strip</h3>
|
|
<center><div class="fig image"><table id="Fig.1.3" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.3.</strong> Mixer Strip
|
|
</caption>
|
|
|
|
<tr><td><img src="single-strip.png" alt="fig. 1.3"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
Each mixer strip has a name and color, each of which may be defined by the user. Names, but not colors, must be unique. In addition, each strip has controls to move it left or right (the arrows) in the display and to remove it entirely (the 'X').
|
|
</p>
|
|
<p>
|
|
Strips start out in <i>narrow</i> mode, with the <i>fader</i> view enabled. Click the desired button to toggle the mode or view.
|
|
</p>
|
|
<p>
|
|
The fader view comprises a large gain control and digital peak meter indicator. These are automatically connected to the default gain and meter modules of the strips signal chain.
|
|
</p>
|
|
<p>
|
|
To see how an audio signal traveling through this strip will be processed, switch to its <i>signal</i> view.
|
|
</p>
|
|
<h4 id="n:1.1.1.1.">1.1.1.1. Signal Processing</h4>
|
|
<h5 id="n:1.1.1.1.1.">1.1.1.1.1. Signal Chain</h5>
|
|
<p>
|
|
The signal chain view of a mixer strip provides a way to view and manipulate the signal processing of a mixer strip.
|
|
</p>
|
|
<h6 id="n:1.1.1.1.1.1.">1.1.1.1.1.1. Modules</h6>
|
|
<center><div class="fig image"><table id="Fig.1.4" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.4.</strong> Modules
|
|
</caption>
|
|
|
|
<tr><td><img src="modules.png" alt="fig. 1.4"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
All signal processing in Non Mixer occurs in <i>Modules</i>. Modules are
|
|
</p>
|
|
<p>
|
|
<p>
|
|
Modules are displayed as named blocks. Some modules may have additional GUI components.
|
|
</p>
|
|
<p>
|
|
<p>
|
|
An indicator in the upper left-hand corner of each module block indicates whether the module has any parameters bound to controls.
|
|
</p>
|
|
<p>
|
|
Non Mixer has several built-in modules. They are:
|
|
</p>
|
|
<dl>
|
|
<dt><em>JACK</em></dt>
|
|
<dd>Performs JACK I/O</dd>
|
|
<dt><em>Gain</em></dt>
|
|
<dd>Applies gain in dB</dd>
|
|
<dt><em>Meter</em></dt>
|
|
<dd>Digital Peak meter</dd>
|
|
<dt><em>Mono Pan</em></dt>
|
|
<dd>Performs intensity panning of a mono signal into a stereo signal.</dd>
|
|
<dt><em>Plugin</em></dt>
|
|
<dd>Hosts a LADSPA plugin</dd>
|
|
</dl>
|
|
<p>
|
|
Left-clicking on a module brings up the Module Parameter Editor.
|
|
</p>
|
|
<p>
|
|
Shift+Left-clicking on a module brings up a menu which allows you to pick a new module to insert before this one in the chain.
|
|
</p>
|
|
<p>
|
|
Control+Right-clicking on a module causes it to be removed from the chain (modules added by default cannot be removed).
|
|
</p>
|
|
<h7 id="n:1.1.1.1.1.1.1.">1.1.1.1.1.1.1. Module Parameter Editor</h7>
|
|
<center><div class="fig image"><table id="Fig.1.5" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.5.</strong> Module Parameter Editor
|
|
</caption>
|
|
|
|
<tr><td><img src="gverb-parameters-knobs.png" alt="fig. 1.5"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
The Module Parameter Editor is used to alter the values of a module's parameters, and, further more, to bind its parameters to controls. A menu button in the upper left-hand corner allows you to select between knob, vertical slider and horizontal slider controls.
|
|
</p>
|
|
<center><div class="fig image"><table id="Fig.1.6" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.6.</strong> Horizontal Sliders
|
|
</caption>
|
|
|
|
<tr><td><img src="gverb-parameters-hsliders.png" alt="fig. 1.6"></td></tr>
|
|
</table></div></center>
|
|
<center><div class="fig image"><table id="Fig.1.7" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.7.</strong> Vertical Sliders
|
|
</caption>
|
|
|
|
<tr><td><img src="gverb-parameters-vsliders.png" alt="fig. 1.7"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
Underneath each control is a bind button. Clicking adds a new control to the chain's <i>Controls</i> view and binds it to the parameter in question. For simplicity, only one control at a time may be bound to a given parameter.
|
|
</p>
|
|
<h7 id="n:1.1.1.1.1.1.2.">1.1.1.1.1.1.2. Controls</h7>
|
|
<center><div class="fig image"><table id="Fig.1.8" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.8.</strong> Control View
|
|
</caption>
|
|
|
|
<tr><td><img src="controls.png" alt="fig. 1.8"></td></tr>
|
|
</table></div></center>
|
|
<p>
|
|
<div class=admonition>
|
|
<table width=100%>
|
|
<tr><td>NOTE:
|
|
All knob and slider controls respond to mousewheel
|
|
events. Hold down the `Ctrl` key while scrolling the mousewheel to
|
|
achieve finer resolution.
|
|
</td></table>
|
|
</div>
|
|
<h8 id="n:1.1.1.1.1.1.2.1.">1.1.1.1.1.1.2.1. Control Voltages</h8>
|
|
<p>
|
|
The control voltage concept should be familiar to anyone who has experience with pre-MIDI hardware synthesizers designs. MIDI definitely has its advantages, but MIDI control data is multiplexed and connecting one MIDI control to a parameter usually involves configuring settings on both ends of the connection in order to separate the control data streams.
|
|
</p>
|
|
<p>
|
|
Control Voltages provide a simple 1:1 source to sink relationship and offer much higher resolution, both in time and value, than can be natively expressed through MIDI. The chief advantage of CV in the context of Non-DAW is the ease with which an control sequence can be connected to a mixer module parameter. If you have a MIDI controller that you'd like to use to control parameters of Non-Mixer, consider <i>jm2cv</i>, a JACK MIDI to Control Voltage daemon which was written by Peter Nelson specifically for use with Non-Mixer. jm2cv can be acquired by:
|
|
</p>
|
|
<div class="fig example"><table width=100%><tr><td><pre>
|
|
git clone git://fuzzle.org/jm2cv.git
|
|
</pre></td></tr>
|
|
</table></div>
|
|
<h4 id="n:1.1.1.2.">1.1.1.2. JACK I/O</h4>
|
|
<p>
|
|
Each mixer strip is presented as a separate JACK "client". This helps to avoid the necessity of internally duplicating JACK's routing logic and, with JACK2, permits the possibility of parallel execution of mixer strip signal chains.
|
|
</p>
|
|
<p>
|
|
The JACK client name of each strip will correspond to the name of the strip.
|
|
</p>
|
|
<div class=admonition>
|
|
<table width=100%>
|
|
<tr><td>NOTE:
|
|
The JACK API makes implementing this far more difficult and kludgey than it should have to be.
|
|
Please petition your local JACK developer to accept jack_client_set_name() into the API.
|
|
</td></table>
|
|
</div>
|
|
<center><div class="fig image"><table id="Fig.1.9" border=1>
|
|
<caption>
|
|
<strong>Fig. 1.9.</strong> Patchage
|
|
</caption>
|
|
|
|
<tr><td><img src="non-mixer-and-non-daw-in-patchage.png" alt="fig. 1.9"></td></tr>
|
|
</table></div></center>
|
|
</div>
|
|
</body>
|
|
</html>
|