1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>TAP-plugins</title>
7
<meta name="generator" content="GNU Emacs 21.2.1">
8
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9
<meta name="description" content="Tom's Audio Processing plugins for
10
audio engineering on the Linux platform.">
11
<meta name="keywords" content="TAP-plugins TAP Reverb Editor
12
Reverberator Equalizer EQ Vibrato Tremolo Echo Tom Szilagyi LADSPA
13
JACK Plugin Linux Audio">
14
<meta name="author" content="Tom Szilagyi">
17
<body bgcolor=#ffffff>
18
<table cellpadding="5" cellspacing="0" border="0" bgcolor=#ffffc0 width="100%">
20
<font size="+2" color=#004060><b>TAP</b>-plugins</font><br>
21
<font color=#004060>Tom's Audio Processing plugins</font><br>
22
<font size="-1" color=#004060><i>for audio engineering on the Linux platform</i></font>
25
<a href="../index.html">[ Home ]</a>
26
<a href="../ladspa.html">[ LADSPA plugins ]</a>
27
<a href="../reverbed.html">[ TAP Reverb Editor ]</a>
31
<a href="install.html">[ Compiling & installing ]</a>
32
<a href="manual.html">[ User Manual ]</a>
38
<font size="5">TAP Reverb Editor</font><br>
39
<font size="6"><b>User Manual</b></font>
42
<h2>Starting the program</h2>
44
If the program is <a href="install.html">correctly installed</a> on
45
your system, all you have to do is type
46
<code>reverbed</code>. However, there are a few command-line
47
parameters that are worth mentioning:
52
<li><b>-a</b>: by default, the program does not connect its inputs and
53
outputs to any JACK port. When this option is used, the program will
54
try to connect its inputs to the first two hardware capture ports, and
55
its outputs to the first two hardware playback ports.</li>
57
<li><b>-i</b>: same as <b>-a</b>, but connect only the inputs to
58
hardware capture ports.</li>
60
<li><b>-o</b>: same as <b>-a</b>, but connect only the outputs to
61
hardware playback ports.</li>
63
<li><b>-c <i><client_name></i></b>: use
64
<i><client_name></i> instead of the default 'reverbED' when
65
registering to JACK. You need this option if you want to run more than
66
one instance of the program at the same time, since JACK client
67
programs must have unique client names.</li>
72
<h2>The main window</h2>
74
<img src="editor1.png" alt="Editor window (1)">
77
The main window (as shown above) lets you do most of the work. It
78
consists of three areas: the top part provides controls for adjusting
79
global parameters of the reverberation unit, as well as three buttons
80
to launch additional windows (<i>Port Setup</i>, <i>Save / Export</i>,
81
<i>About</i>). The middle part (with the combo box and the <i>New</i>,
82
<i>Copy</i>, <i>Rename</i>, <i>Del</i> buttons) lets you manage your
83
Reverb Types by creating new ones from scratch or from an existing
84
one, as well as renaming and deleting them. Finally, the notebook
85
provides controls to adjust internal parameters of a chosen Reverb
86
Type. So let's describe them in detail.
90
<h2>Global parameters</h2>
94
<li><b>Comb filters</b>: this toggle button switches processing of
95
comb filters on/off, the default being switched on. Comb filters
96
simulate the early reflections part of the reverb sound.</li>
98
<li><b>Allpass filters</b>: switches processing of allpass filters
99
on/off, the default being switched on. Allpass filters simulate the
100
dense 'tail' of the reverb; they add more depth to the reverberated
103
<li><b>Bandpass filter</b>: switches the bandpass filter on/off, the
104
default being switched on. The bandpass filter has a low and high
105
cutoff frequency; the spectral content that falls outside this range
106
is attenuated. It processes the sound coming from the comb and allpass
107
filters, and makes the effect more natural by filtering out those
108
frequencies that normally do not occur in natural reverberation.</li>
110
<li><b>Enhanced Stereo</b>: adds spatial spread to the reverb sound,
111
largely adding to its depth and dimension. It sounds so great, it's
112
best to always leave this on. It does not consume extra CPU, just
113
changes the way internal parameters are calculated.</li>
118
The <a href="../ladspa/reverb.html">TAP Reverberator</a> manual has
119
detailed advice about setting the following plugin parameters.
124
<li><b>Decay</b>: adjusts a mostly important global parameter of the
125
whole effect. Larger values create depth, while smaller ones create
126
the feel of tighter, smaller spaces.</li>
128
<li><b>Dry Level</b>: adjusts the amount of the incoming dry signal in
129
the output signal.</li>
131
<li><b>Wet Level</b>: adjusts the amount of processed signal in the
137
Some people will agree that the <b>BYPASS</b> button provides the most
138
useful feature of the program. ;-)
142
<h2>Managing Reverb Types</h2>
145
It's all about creating the perfect sounding reverb for your own use!
146
TAP Reverb Editor comes with a set of Reverb Types, but the whole
147
point is that you can create your own ones. Let's see what the program
148
provides to this end.
153
<li>The <b>Reverb Type</b> selector combo box holds the name of all
154
currently available Reverb Types. Use it to select a Reverb Type to
155
listen to, or operate on.</li>
160
These buttons provide functions for Reverb Type management:
165
<li><b>New</b>: create a new Reverb Type from scratch. After you enter
166
the new name in the dialog that pops up when you press this button, an
167
'empty' Reverb Type with that name is created and inserted into the
168
list, so it will show up in the combo box. The new Reverb Type is not
169
completely empty: it has one comb filter and one allpass filter, with
170
their parameters set to default values. The bandpass low and high
171
cutoff frequencies are also set to default values.</li>
173
<li><b>Copy</b>: create a new Reverb Type, starting out as a copy of
174
the currently selected Reverb Type. Use this to enhance existing
175
Reverb Types while keeping the old version as well. Or create a
176
working copy of an already satisfactory Reverb Type for random
177
experimentations without spoiling the original.</li>
179
<li><b>Rename</b>: change the name of the currently selected Reverb
182
<li><b>Delete</b>: remove a Reverb Type that you don't like.</li>
187
Any changes you make to any Reverb Type (including creating, renaming
188
and deleting them) remains in memory until you explicitly tell the
189
program to save Reverb Types to file (more on saving later). So if you
190
mess something up, just exit the program without using the <i>Save /
191
Export</i> button, and all your changes will be gone.
195
<h2>Editing a Reverb Type</h2>
198
Reverberation is modelled by a set of comb filters, allpass filters
199
and a bandpass filter. The maximum number of comb filters is 20, and
200
the same limit applies to allpass filters. (It's easy to heighten this
201
limit in the source code, but that is beyond the scope of this
206
<h3>Mastering the filters</h3>
209
The notebook pages <i>Comb Filters</i> and
210
<i>Allpass Filters</i> consist of a graphical display representing
211
each comb/allpass filter with a vertical line. There are controls to
212
cycle through all filters (<i>Next</i> and <i>Prev</i> buttons),
213
add/remove filters (<i>New</i>, <i>Del</i>) and adjust the parameters
214
of the currently selected filter (spin/slider controls at the bottom
215
of the page). The currently selected filter is highlighted in the
219
The reverb sound will immediately follow the changes you make to
220
filter settings. It is possible to set filters so hot that they start
221
operating as oscillators instead of filters (usually at extreme high
222
feedback <i>and</i> extreme low delay time settings). If this happens
223
while you are editing a Reverb Type, <b>don't panic</b>. Just hit the
224
BYPASS button -- that will zero out all internal buffers so everything
225
will cool down. While the effect is bypassed, move the filter
226
parameters that caused trouble back to the 'safe area', then re-enable
231
<h4>Comb filters</h4>
234
Comb filters are responsible for creating early reflections. They have
235
three parameters: <i>Delay</i>, <i>Feedback</i> and
236
<i>Freq. Response</i>. The delay time is proportional to the distance
237
the sound travels before it reaches your ear as an early
238
reflection. As each comb filter simulates a certain area where
239
acoustic reflection occurs (a wall or the ceiling for example, but
240
possibly other objects as well), the delay time you set determines the
241
virtual distance of this object from the sound source and the
242
listener. In the graphical display, the horizontal position of the
243
line representing the filter depends on this parameter.
246
Various kinds of materials reflect and absorb acoustic energy in
247
various degrees. The feedback parameter provides control of this
248
effect. For something that is a very good reflector (a flat brick-wall
249
for example) a reasonably high feedback value should be used. In the
250
graphical display, the length of the line representing the filter
251
depends on this parameter.
254
There is a secondary effect taken into account when simulating early
255
reflections: not only does the reflection ratio of acoustic surfaces
256
vary from one to another, but the reflection ratio of surfaces is also
257
frequency-dependent. Higher frequencies are attenuated more, thus high
258
frequency components decay in a shorter time. The <i>Frequency
259
Response</i> slider sets the amount of high attenuation for a given
260
comb filter. There is nearly no extra attenuation of high frequencies
261
when it is set to zero. In the graphical display, the color of the
262
line representing the filter depends on this parameter. Filters with
263
lower Freq. Response values (which mean smaller extra attenuation of
264
high frequencies) will be plot with a 'hotter' shade.
268
<h4>Allpass filters</h4>
271
Allpass filters are responsible for creating a reverb tail that makes
272
the reverberation thicker and more natural sounding. They have two
273
parameters, identical to the first two parameters of comb filters.
274
Note, however, that the maximum delay time of allpass filters is about
275
an order of magnitude lower than of comb filters. The graphical
276
representation of allpass filters is done in the same way as comb
277
filters, but here each line has the same color.
280
<h4>Bandpass filter</h4>
283
This notebook page provides two sliders to set the low and high cutoff
284
frequencies of the bandpass filter.
289
<h3>Impulse Response: a visual aid</h3>
291
<img src="editor2.png" alt="Editor window (2)">
294
A cornerstone of linear systems theory is that any linear system (such
295
as a complex digital filter like this reverb) is unequivocally
296
determined by its impulse response. Apart from this theoretical
297
curiosity, it may be useful to take a look at the impulse response of
298
a Reverb Type while inspecting or modifying it.
301
The <i>Length</i> slider below the plot lets you choose the end time
302
of the simulation (with the start point being at time zero). The time
303
needed to finish plotting is proportional to the time simulated. As
304
this is quite a CPU-demanding operation, it is never performed
305
automatically: you have to press the <i>Recalculate</i> button every
306
time you want to see a new plot of the currently active Reverb Type.
309
Please note that the simulation shows the impulse response of the
310
'clean' reverb: the settings of the dry and wet levels as well as the
311
BYPASS button are irrelevant. The decay time setting and the global
312
switches (Comb Filters, Allpass Filters, Bandpass Filter, Enhanced
313
Stereo) do affect the plot, though.
320
<img src="ports.png" alt="Port Setup dialog">
323
When you press the <i>Port Setup</i> button, a dialog similar to the
324
above pops up. It is very much like the input/output connections
325
dialog of a mixer-strip in Ardour, the only difference being that here
326
the input and output ports setup is performed in one dialog.
329
The upper half of the window handles connections to the input
330
ports. On the left, each input port has a list of its current
331
connections. By clicking on any list item, that connection will be
332
removed. The <i>Clear connections</i> button removes all connections
333
from the input ports.
336
The notebook on the right has a page for all client programs and
337
hardware devices available to the JACK server. By selecting a page,
338
you will see a list of that client's output ports. Clicking on a list
339
item connects the port to the currently selected input port (which has
340
a blue header). You can change the selected input port by clicking on
341
the unselected (grey) list header. When you add connections to the
342
input ports, the selection alters between the two inputs.
345
Connecting the outputs can be performed in the same manner. If you
346
start up another JACK client while the dialog is open, you may press
347
the <i>Rescan</i> button to make it appear in the notebooks on the
348
right. Closing and re-opening the dialog has the same effect, since
349
JACK ports are re-read and a new dialog instance is built every time.
354
<h2>Save / Export</h2>
356
<img src="export.png" alt="Save / Export dialog">
358
<h3>Saving your work</h3>
361
After you have had a good time messing around with Reverb Types, you
362
may want to leave everything as it was. In this case, just exit the
363
program and every change you made will be lost. However, there may be
364
times when you do have something to save: in this case, you will want
365
to make the changes permanent. So press the <i>Save / Export</i>
366
button, and the above dialog will appear.
369
Since there is quite a lengthy explanation included in this dialog,
370
things are pretty straightforward. The program stores everything there
371
is to Reverb Types in one file, and reads it every time you start the
372
program. The file read on program startup is always
373
<code>~/.reverbed</code> (a file called <code>.reverbed</code> in your
374
home directory), but you have the option to write to another file in
375
case you want to maintain different versions of the file.
379
<h4><u>A request to all users</u></h4>
380
<i>The author of this program kindly asks you that if you develop any
381
new Reverb Type that you think would be of general interest, please
382
send him your </i><code>.reverbed </code> <i>file via e-mail, along
383
with your name (if your mail headers don't tell it all). Good Reverb
384
Types will be included in the next release (with due credit given to
385
the original author, that's why I need your name). This is a perfect
386
way to give something back for this software, and other users will
387
benefit from it as well. Thank you.</i> </blockquote>
390
<h3>Exporting to TAP Reverberator</h3>
393
Since this program is a JACK client, it cannot be automated from
394
within powerful hosts such as Ardour. However, if you created a good
395
Reverb Type, the program supports transferring its data into <a
396
href="../ladspa/reverb.html">TAP Reverberator</a>, which is a LADSPA
397
plugin for the same reverberation algorithm. It has the advantage of
398
being automatable on Ardour mixes, but it has no capabilities for
399
editing Reverb Types (that's why TAP Reverb Editor was created, after
403
Exporting is the process of making the set of Reverb Types in TAP
404
Reverberator be identical to the set of Reverb Types in this
405
program. To do this, you have to export two files named
406
<code>tap_reverb_presets.h</code> and <code>tap_reverb.rdf</code> to
407
an arbitrary place on your computer storage. In the source code
408
directory of the TAP-plugins LADSPA plugin package you will find two
409
files with these names. Overwrite them with the newly exported ones,
410
and re-compile and re-install the TAP-plugins package. That's all, you
411
will have the same Reverb Types available in TAP Reverberator after
412
that. Pretty cool, eh?
418
$Id: manual.html,v 1.2 2004/06/22 13:36:36 tszilagyi Exp $