Steve Harris' LADSPA Plugin Docs: 1 Preamble 1
Steve Harris' LADSPA Plugin Docs: 1 Preamble 1
[email protected]
2007-01-31
Contents
1 Preamble
1.1 What plugins? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Where can I get them . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2 The plugins
2.1 Aliasing (alias, 1407) . . . . . . . . . . . . . . . . . . . . . .
2.2 Allpass delay line, noninterpolating (allpass_n, 1895) . . . . .
2.3 Allpass delay line, linear interpolation (allpass_l, 1896) . . . .
2.4 Allpass delay line, cubic spline interpolation (allpass_c, 1897)
2.5 AM pitchshifter (amPitchshift, 1433) . . . . . . . . . . . . . .
2.6 Simple amplifier (amp, 1181) . . . . . . . . . . . . . . . . . .
2.7 Analogue Oscillator (analogueOsc, 1416) . . . . . . . . . . .
2.8 Glame Bandpass Analog Filter (bandpass_a_iir, 1893) . . . .
2.9 Glame Bandpass Filter (bandpass_iir, 1892) . . . . . . . . . .
2.10 Bode frequency shifter (bodeShifter, 1431) . . . . . . . . . . .
2.11 Bode frequency shifter (CV) (bodeShifterCV, 1432) . . . . . .
2.12 Glame Butterworth X-over Filter (bwxover_iir, 1902) . . . . .
2.13 GLAME Butterworth Lowpass (buttlow_iir, 1903) . . . . . . .
2.14 GLAME Butterworth Highpass (butthigh_iir, 1904) . . . . . .
2.15 Chebyshev distortion (chebstortion, 1430) . . . . . . . . . . .
2.16 Comb Filter (comb, 1190) . . . . . . . . . . . . . . . . . . .
2.17 Comb delay line, noninterpolating (comb_n, 1889) . . . . . .
2.18 Comb delay line, linear interpolation (comb_l, 1887) . . . . .
2.19 Comb delay line, cubic spline interpolation (comb_c, 1888) . .
2.20 Comb Splitter (combSplitter, 1411) . . . . . . . . . . . . . . .
2.21 Constant Signal Generator (const, 1909) . . . . . . . . . . . .
2.22 Crossover distortion (crossoverDist, 1404) . . . . . . . . . . .
2.23 DC Offset Remover (dcRemove, 1207) . . . . . . . . . . . . .
2.24 Debug Plugin (debug, 1184) . . . . . . . . . . . . . . . . . .
2.25 Exponential signal decay (decay, 1886) . . . . . . . . . . . .
2.26 Decimator (decimator, 1202) . . . . . . . . . . . . . . . . . .
2.27 Declipper (declip, 1195) . . . . . . . . . . . . . . . . . . . .
2.28 Simple delay line, noninterpolating (delay_n, 1898) . . . . . .
2.29 Simple delay line, linear interpolation (delay_l, 1899) . . . . .
1
1
1
2
2
3
3
3
4
4
4
5
5
5
5
5
5
5
6
6
7
7
7
8
8
8
8
8
8
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2.30
2.31
2.32
2.33
2.34
2.35
2.36
2.37
2.38
2.39
2.40
2.41
2.42
2.43
2.44
2.45
2.46
2.47
2.48
2.49
2.50
2.51
2.52
2.53
2.54
2.55
2.56
2.57
2.58
2.59
2.60
2.61
2.62
2.63
2.64
2.65
2.66
2.67
2.68
2.69
2.70
2.71
2.72
2.73
2.74
2.75
9
9
10
11
11
11
12
12
13
13
13
14
14
15
15
15
16
17
18
19
22
22
23
24
24
25
25
25
25
26
27
27
27
27
28
29
29
29
30
30
30
30
30
31
31
31
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
31
32
32
32
33
33
33
34
34
34
35
35
36
37
38
39
40
40
40
40
41
41
41
41
42
43
44
44
44
44
44
44
45
45
45
45
46
1 Preamble
1.1 What plugins?
This is the documentation for some plugins that I have written for the Linux Audio
Developers Simple Plugin Architecture. It is a nice audio plugin architecture with a
very easy learning curve.
2 The plugins
2.1 Aliasing (alias, 1407)
Simulates aliasing using nyquist frequency modulation. Produces wacky results if the
blocks arent even numbers of samples long.
Aliasing level
Controls the amount of simulated aliasing in the output.
Waveform
Sine
Triangle
Square
Saw
Frequency (Hz)
The frequency of the output (Hz).
Warmth
The degree of softening that is applied to the generted waveform, reduces the number
of harmonics in the output.
Instability
The degree of pitch instability of the output. Turning this too high with square and saw
waves will produce an anoying jittery sound, I want to fix this but it is tricky.
Output 2
The difference output.
12
Amplitude change
The scaling factor between one amplitude and the next.
Amplitude random (%)
The random factor applied to the amplitude.
Dry/wet mix
The level of delayed sound mixed into the output.
13
Feedback (%)
The amount of the delays output that is mixed back into the delay.
Limit (dB)
The maximum output amplitude. Peaks over this level will be attenuated as smoothly
as possible to bring them as close as possible to this level.
Release time (s)
The time taken for the limiters attenuation to return to 0 dBs
Attenuation (dB)
The current attenuation of the signal coming out of the delay buffer.
16
Waveform
Sine
Triangle
Square
Saw
Frequency (Hz)
The frequency of the output (in Hertz).
17
19
Double delay
doubles the length of the delays, this will reduce the sound quality.
LFO frequency 1 (Hz)
The delay of the first LFO in seconds.
Delay 1 range (s)
The delay range of the first LFO in seconds.
LFO frequency 2 (Hz)
The delay of the second LFO in seconds.
Delay 2 range (s)
The delay range of the second LFO in seconds.
Feedback
The amount of the delays output that is mixed back into the delay.
Dry/Wet level
The ammounts of the input and effect mixed to produce the output.
21
Mic position
Controls the vertical position of the "microphone", 0 is the centre and 1 is the edge.
Inner size 1
The size of the upper, inner waveguide.
Inner stiffness 1 +
The stiffness of the gong against deflections in the positive direction.
Inner stiffness 1 The stiffness of the gong against deflections in the negative direction.
Inner size 2
The size of the right, inner waveguide.
Inner stiffness 2 +
The stiffness of the gong against deflections in the positive direction.
Inner stiffness 2 The stiffness of the gong against deflections in the negative direction.
Inner size 3
The size of the lower, inner waveguide.
Inner stiffness 3 +
The stiffness of the gong against deflections in the positive direction.
Inner stiffness 3 The stiffness of the gong against deflections in the negative direction.
22
Inner size 4
The size of the left, inner waveguide.
Inner stiffness 4 +
The stiffness of the gong against deflections in the positive direction.
Inner stiffness 4 The stiffness of the gong against deflections in the negative direction.
Outer size 1
The size of the upper right, outer waveguide.
Outer stiffness 1 +
The stiffness of the gong against deflections in the positive direction.
Outer stiffness 1 The stiffness of the gong against deflections in the negative direction.
Outer size 2
The size of the lower right, outer waveguide.
Outer stiffness 2 +
The stiffness of the gong against deflections in the positive direction.
Outer stiffness 2 The stiffness of the gong against deflections in the negative direction.
Outer size 3
The size of the lower left, outer waveguide.
23
Outer stiffness 3 +
The stiffness of the gong against deflections in the positive direction.
Outer stiffness 3 The stiffness of the gong against deflections in the negative direction.
Outer size 4
The size of the upper left, outer waveguide.
Outer stiffness 4 +
The stiffness of the gong against deflections in the positive direction.
Outer stiffness 4 The stiffness of the gong against deflections in the negative direction.
amp; Value
amp; 200
amp; 1.3
amp; 0.4
amp; 0.5
amp; 0
amp; -12
amp; 0
Roomsize (m)
The size of the room, in meters. Excessivly large, and excessivly small values will
make it sound a bit unrealistic.Values of around 30 sound good.
25
Known bugs
There is no bandwith limiting filter on the output, so it is easy to create excessively
high frequency harmonics that could cause aliasing problems. In practive this doesnt
seem to be a serious problem however.
Examples
There are many interesting effects you can achieve with sinewaves, one example is
producing bandlimited squarewaves from sinewaves. To do this set the parameters to
1, 0, -0.3333, 0, 0.2, 0, -0.14285, 0, 0.11111.To get a triangle like signal use 1, 0,
-0.3333, 0, -0.2, 0, -0.14285, 0, -0.11111.
Fundamental magnitude
The amplitude of the fundamental of the signal, reduce it to 0 to remove the base signal
altogether, or -1 to phase invert it.
2nd harmonic magnitude
The 2nd harmonic, its frequency is twice the frequency of the harmonic.Even harmonics add a distorted feel to the sound, valve (tube) amplifiers introduce distortions at all
the harmonics.
3rd harmonic magnitude
The 3rd harmonic, its frequency is three time the frequency of the fundamental.Transistor
amplifiers only introduce distortion into the odd harmonics.
27
Impulse
Unit impulse (identity)
My flat (light natural reverb)
Yamaha Marshall stack simulator
Fender 68 Vibrolux (SM57 on axis)
Fender 68 Vibrolux (SM57 off axis)
Fender 68 Vibrolux (Audio-technica AT4050)
Fender 68 Vibrolux (Neumann U87)
Fender Bassman (SM57 on axis)
Fender Bassman (SM57 off axis)
Fender Bassman (Audio-technica AT4050)
Fender Bassman (Neumann U87)
Fender Superchamp (SM57 on axis)
Fender Superchamp (SM57 off axis)
Fender Superchamp (Audio-technica AT4050)
Fender Superchamp (Neumann U87)
Marshall JCM2000 (SM57 on axis)
Marshall JCM2000 (SM57 off axis)
Marshall Plexi (SM57 on axis)
Marshall Plexi (SM57 off axis)
Matchless Chieftan (SM57 on axis)
Matchless Chieftan (SM57 off axis)
The first three were quickly grabbed by me using jack_impulse_grabber, and the others
we collected by someone else, but unfortunately Ive lost his email address and cant
find him on the web :(
28
Impulse ID
Selects the impulse to convolve with. New impulses have to be compiled in.
High latency mode
If you are running with blocks that are not whole powers of two long, or you are
hearing distortion, try changing this to 1.
Gain (dB)
Controls the gain of the output signal in dBs.
29
30
Spread
The width of the stereo image.
Dry/Wet level
The ammounts of the input and effect mixed to produce the output.
32
Width
0 is neutral (unmodified signal) + 128 is side only (=very wide) - 128 is mid only
(=mono)
33
34
Reverb time
Controls the RT60 time of the reverb. Actually controls the size of the plate. The
mapping betwwen plate size and RT60 time is just a heuristic, so its not very accurate.
Damping
Controls the degree that the surface of the plate is damped.
Dry/wet mix
Controls the balance between the dry and wet signals.
35
36
38
41
Smoothing
The amount of smoothing on the output signal.
44
reduce the width of the stereo image.The encoding will survive some processes (eg.
copying to CD, MD etc.), but may not survive conversion to MP3 or recoding to tape
with azimuth errors.
Legalese
This is a four channel matrix encoder, it happens to be compatible with Dolby Surround Pro-Logic.This implementation does not convey a license nor imply a right under any patent, or any other industrial or intellectual property right of Dolby Laboratories.
L
Left channel input. Can be treated as per normal stereo recoding, except that the
speaker should be at -22.5 , rather than the normal stereo -30 .
R
Right channel input. As per left channel.
C
Center channel input. Will be directly in front of the listener, stereo and mono compatible.
S
Surround channel. Should sound from the rear speakers, may also leak into the left
and right. Has slight delay and bandwidth reduction (cut below 100 Hz, and above 7
KHz) for leakage and noise reduction and enhanced psychoacoustic effects.Not mono
compatible.
45
Filter freq
Cutoff frequency, beware of high values with low sample rates.
Filter Q
The filters Q, or cutoff slope.
Filter resonance
The filters resonance, sort of separate from Q but very related (implemented with
feedback).Do not use with the bandpass mode.
46
3 Licensing
All this code is available under the GNU Public Licence, see the file COPYING
included with the source for more detials.
48