forked from lsp-plugins/lsp-plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
488 lines (406 loc) · 23.8 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
*******************************************************************************
* TODO LIST
*******************************************************************************
=== Planned ===
- Implemented Frequenzselektiver Kompressor (Multiband Compressor) Mono, Stereo, LeftRight, MidSide
plugin series
- Refactored and optimized filter transfer function calculation.
- Migrated to CMake build system.
- Review implementation of multiband compressor according to the article:
https://www.modernmetalproduction.com/linkwitz-riley-crossovers-digital-multiband-processing/
=== 1.1.11 ===
- Decomposition of core modules into submodules.
- Additional code updates to get compatibility with WindowsNT platform.
- Research the work of plugins under Audacity.
- Implemented sampler plugin series with stereo outputs.
- Added possibility to place direct output to the pre-mixer/post-mixer position in the sampler.
- Optimize DSP for AArch64 architecture.
- Additionally optimized DSP code with AVX, AVX2 and FMA3 instruction set.
- Added possibility to double-click the parameter's value number and enter it manually with keyboard.
- Added bookmarks to file opening dialog.
- Added audio preview to file open dialog.
- Added subsystem for loading missed files.
- Implement drag&drop function for the file dialog/file widget.
- Added frequency-domain spectral analysis to convolver plugin series.
- Added frequency-domain spectral analysis to profiler plugin series.
*******************************************************************************
* Release steps
*******************************************************************************
* Update version in Makefile
* Update CHANGELOG.txt and TODO.txt
* Run make clean && make test to build testing system
* Run .test/lsp-plugins-test utest for running all unit tests and
ensure that there are no broken unit tests
* Run make clean && make uninstall && make install && make clean to
build and install binaries
* Make video
* Add video cover to res/video-covers
* Upload release video to the site
* Add link to the video to src/doc/config/youtube.php
* Commit all changes to GIT into devel branch
* Run ./release.sh to build binaries
* Merge all changes from devel branch to master branch including complete
change set in the message
* Tag version in GIT at master branch
* Upload binaries to sourceforge
* Copy contents of src/doc and res/doc/img/plugins to the site
* Publish video on youtube
* Publish news
*******************************************************************************
* PLUGIN LIST
*******************************************************************************
* Compressor
* Convolver
* Expander
* Gate
* Graphic Equalizer
* Impulse Reverb
* Limiter
* Linear Audio Profiler
* Multi-Sampler
* Multiband Compressor
* Parametric Equalizer
* Phase Compensator
* Phase Detector
* Sampler
* Slap-back delay
* Spectrum Analyzer
* Trigger
- Dynamic equalizer
- One-band compressor
- Multiband expander
- Multiband gate
- Multiband limiter
- Nonlinear audio profiler
- Hysteresis-based saturator
- Saturator
- Doubler (Stereo enhancer)
- Feedback Destroyer
- Verstärker Profiler (Amplifier profiler)
- Noise suppressor
- Transient Designer
- Reverb Simulator
- Pitch Shifter
- Circuit Switcher
- Corellometer
- Transient designer
- Decapitator
- HeadCrusher
- Dynamic Equalizer
- Dynamic panner
- Distortion
- Real sampler (with sample recording option)
*******************************************************************************
* BUG REPORTS: Detailed
*******************************************************************************
sysrqer:
The graphics seem to be a little buggy on my system, turning a band on/off
sometimes doesn't update the graph properly. Also when switching to band
view leaves part of the old view at the bottom.
*******************************************************************************
* FEATURE REQUESTS: Detailed
*******************************************************************************
==== FFT analysis of the Profiler and Convolver ====
Could it be possible to add a frequency-domain display mode?
It'd make it much easier to quickly identify room modes and such. Or if the
plugin could play back the created IR sample - I could use another plugin to analyze that.
==== Rack / Channel strip plugin ====
Tobbe:
Another thing I come and think about is Channel Strip Plugin. Anything you been thinking
About? I saw a video and that guy using Studio One and the (I think) stock plugin is called
Fat Channel, where he can add plugin in a rack and shift order the way he like.
Everything is vertical: Gate, Compressor, EQ ie Compressor, EQ Gate with a touch of a button.
It's like drag'n'drop plugins the way you want. Looks pretty cool. I know there's tons of them
for Windows, but now when I'm a Linux drivers since mid 2000 I rather see things like that for
Linux also.
Exactly what I mean :D a real Channel Strip console where you have the freedom to put whatever
you like in whatever order you want. Reverb, Delay, Gate, Compressor...you name it. Maybe it's a
crazy idea but what the heck :mrgreen:
I know about Carla, but that's get me a plugin to add another plugin (like all the Calf Suite)
because Reaper only support linux vst for now. Maybe more in the future. Or else I might learn
more about Ardour...but I like Reaper alot so...
==== Sampler ====
naught101:
So, the features I was thinking for Klangerzueger were:
- file preview in the file load dialog
- pitch/tune control (note and fine tuning)
- Allowing a single sample to be used across a range of midi notes (with pitch shifting away from a centre note).
- looping (start/end, fade length)
I've also been considering a modification of Helm that might cover the same functionality,
and I'm not sure which is the better path to tackle. Helm has a lot of nice modulation options
that are pretty attractive, but maybe also a bit overkill for a simple sampler.
Probably also a filter would be good, and velocity mappable the filter cut-off,
and tail cut/fade-out. Some of these things might be easier to do in Helm,
since the modulation and filter is already built in.
==== Convolution Reverb ====
cooltechno
If it's possible, one feature request: to make a sound-preview in adding samples window in Klangerzeuger
ufug:
LSP offers the most tweakable one, but it does not seem to have a browser for easily auditioning your
collection of impulse responses (as far as I can see)
funkmuscle:
Also the older versions, you could of bookmarked the dir where IR files are. I can't seem to figure out
how to do it with the version.
sadko4u:
Currently because all dialogs were written from scratch, there are no bookmarks currently.
==== UI ====
tom-:
- Make all grid lines more 'darken' in the UI.
- Add possibility to activate bands not only by switching dropdown menu in the Combo Group.
- Implement tabs instead of combo group.
==== Reference Looper ====
lordbullingdon
Hey. Does anyone know of a native Linux tool for easy mix referencing in the likes of
https://www.producerspot.com/magic-ab-2-utility-plugin-by-sample-magic
Sample Magic intros Magic AB 2, the second version of their plugin utility that can be used to
switch between the audio you are working on in your music software, and up to nine reference tracks.
Magic AB v2 is an entirely new plugin, rebuilt from the ground up into a new framework.
Magic AB 2 is an indispensable mixing tool and a workflow improver that allow you to compare multiple
audio streams, like your track you are working on, with any commercially produced reference track in a
variety of audio formats (mp3, Aiff, Wav, m4a, AAC). Flick between them and your mix with a single mouse click.
Magic AB 2 new version comes with new features and powerful workflow improvements including two new referencing
modes, RAM-bypass mode, drag and drop files, Mono/Stereo switching – Compare stereo mixes or flip to mono
to check mono compatibility, also it features up to four programmable Cue and Loop point per track and many more.
==== Equalizer tuning ====
Jan Lentfer
it would be very cool if the parametric EQs could import settings exported from "Room EQ Wizard".
That would make life so much easier :D
https://www.roomeqwizard.com/
Thanks and keep up the great work!
The content of a text exported file looks like this:
Filter Settings file
Room EQ V5.18
Dated: 10.01.2018 18:58:28
Notes:
Equaliser: Generic
Average 1
Filter 1: ON PK Fc 42.0 Hz Gain -6.5 dB Q 13.20
Filter 2: ON PK Fc 47.6 Hz Gain -3.3 dB Q 16.77
Filter 3: ON PK Fc 62.0 Hz Gain 9.0 dB Q 5.41
Filter 4: ON PK Fc 67.1 Hz Gain -12.3 dB Q 5.02
Filter 5: ON PK Fc 86.2 Hz Gain -15.4 dB Q 3.01
Filter 6: ON PK Fc 122 Hz Gain 6.3 dB Q 15.03
Filter 7: ON PK Fc 132 Hz Gain -9.1 dB Q 6.77
Filter 8: ON PK Fc 150 Hz Gain -8.5 dB Q 10.00
Filter 9: ON PK Fc 165 Hz Gain 4.3 dB Q 26.53
Filter 10: ON PK Fc 190 Hz Gain -19.7 dB Q 5.03
Filter 11: ON PK Fc 202 Hz Gain 9.0 dB Q 5.00
Filter 12: ON PK Fc 247 Hz Gain -9.2 dB Q 5.00
Filter 13: ON PK Fc 258 Hz Gain 9.0 dB Q 5.00
Filter 14: ON PK Fc 2073 Hz Gain -4.2 dB Q 5.00
Filter 15: ON PK Fc 10879 Hz Gain -3.8 dB Q 5.00
Filter 16: ON None
Filter 17: ON None
Filter 18: ON None
Filter 19: ON None
Filter 20: ON None
I thought about an option to "just" read in such a file and set the Freq, Gain and Q values from this file. As far as I understood,
these are just peak filters.
==== Noise reduction ====
<unknown>:
I think noise reduction is the other big hole in LA currently.
Marcel:
P.S. I hear there is also a great need for a good noise reduction similar
to the Audacity one.
==== Spectrum analyzer ====
sysrqer:
I've been using the spectrum analyser recently and I have one question which is puzzling me - how can I
find out what the exact frequency is of a particular peak or area? I would expect to have a display of
where my mouse is to easily see the frequency. I tried to use the selector but it moves in increments
so sometimes it is not possible to get to the frequency you want to know, especially in the low end.
Am I missing something here or would this be a feature request?
I came across Melda's MMultiAnalyser in a video recently, it has a very interesting feature of showing
the frequency spectrum of collisions/clashes, would this be something could be implemented at some point?
Here is a quick overview of it https://youtu.be/Za7cbeKJUoY?t=164
====
bhilmers:
A channel-strip style drum plugin would be really great for Linux. Maybe someone will get inspired one day and make it.
Wish I could! Not my area of expertise.
http://www.kvraudio.com/product/bdm-broken-drum-machine-by-nusofting
BDM is a plugin instrument designed for the musicians who love chaos and usually find the unpredictable behaviour of an
uncontrollable sound machine stimulating and inspiring.
BDM basically offers 4 drum pads like an old, small, beat box with: Bass Drum, Snare, Hi-Hat and Stick, each of those has
controls like Decay, Pitch and Filter. But the creative power of the BDM is all in the four "Broken" sliders, one for each
pad. With those sliders you can set the amount of wild, weird, chaotic and unpredictable variations to the sound, just
like the circuits inside go crazy producing bleeps and glitches you never thought you'd hear from this machine.
Sound source is double: a "Osc.Mix.PCM" slider, per pad, allows to choose between the internal VA oscillator or an external
Wav sample, or a mix of the two.
The output is configured as 1 stereo + 4 mono outs.
==== Curve equalizer ====
12strings2hands:
The Voxengo CurveEQ can generate an EQ curves based on the input, in this case they use pink noise through 2
microphones and you can use the curves to make one mic match the other.
Given that there are a lot of other differences between mics, I can see a lot of uses for something like this.
Is there a linux equivalent?
Here's a couple of links to the subject:
https://groupdiy.com/index.php?topic=67322.msg0
https://www.youtube.com/watch?v=0qoGEpOuY6U
==== Filters ====
A filter collection where you could use bezier or pixel-pencil to draw filter sweeps.
==== Extension of filter set ====
unfa:
I've stumbled upon these while trying to understand how Optimod works.
The seem to have the steepest possible transition from the pass and to the stopband. Could sound pretty cutting edge I guess ;)
Do we have any implentations of these on the Linux audio world? I'm pretty sure SoX has something, but I never managed to use it.
====
Conor Mc Cormack:
I also have a suggestion for the list of plugins on your site in the manuals section.
As much as anything else it is for selfish reasons as i feel it would make it easier for
me to keep the list on LMP up to date :) However, I also think it might help others too.
So for example, instead of -
Limiter Mono - Begrenzer Mono
Limiter Stereo - Begrenzer Stereo
Dynamic Processor LeftRight - Dynamikprozessor LeftRight
Dynamic Processor MidSide - Dynamikprozessor MidSide
Dynamic Processor Mono - Dynamikprozessor Mono
Dynamic Processor Stereo - Dynamikprozessor Stereo
Maybe something like this -
Begrenzer (limiter)
Limiter Mono - Begrenzer Mono
Limiter Stereo - Begrenzer Stereo
Dynamikprozessor (Dynamic Processor)
Dynamic Processor LeftRight - Dynamikprozessor LeftRight
Dynamic Processor MidSide - Dynamikprozessor MidSide
Dynamic Processor Mono - Dynamikprozessor Mono
Dynamic Processor Stereo - Dynamikprozessor Stereo
It is great that you have so many output configurations but maybe bundling them together
would make for easier navigation?
==== Saturator ====
<unknown>:
I'd say I think we're missing subtle saturation / distortion plugins. Stuff like
VarietyOfSound used to put out -- FerricTDS, Tessla, the saturation stage in NastyVCS.
Braxton Salyer:
Hey guys, LOVE YOUR WORK. Makes doing pro-audio in linux so much more viable.
One thing we're definitely missing though is a good saturation plugin (a-la Decapitator,
HeadCrusher, and similar). Is something like this in the works, our would it be in consideration?
====
rghvdberg:
The reduction meter on the compressors. I think they are a bit to fast to read out. It's also talked about in the lm forum.
==== Feedback Destroyer ====
mattpepin:
A useful plugin for live situations would be a feedback analyzer/destroyer like Waves X-FDBK.
It would be a matter of combining the Analyzer and an EQ strip and make it into a standalone plugin.
==== Formant Processor ====
unfa:
AFAIK apart from Autotalent there is no opensource formant-processing capable plugin. And Autotalent
is pretty limited in that regard. Do you think a dedicated formant processor would be good thing to
have? I guess there are more things possible todo with formants than just shifting, I guess compressing/
expanding formant could also be a thing, and possibly amplifying/attenuating the formant depth could
also be a thing.
==== Ducker/SideChain Compressor ====
adiknoth
Hi!
There's this awesome Waves plugin named "OneKnob pumper", it's essentially a side-chain compressor
with a builtin side-chain signal generator.
This video illustrates it: https://youtu.be/lVrw3StPi24?t=1m25s
So three buttons: amount, rate, offset.
I think you already have all the ingredients, it's only about chaining components together.
FYI: There are more OneKnob plugins: https://youtu.be/HSjMtYzqlL8. They're all just stripped-down
versions of existing tools to simplify the workflow. Instant magic sauce. ;)
==== Shuffler ====
pms967:
would be really nice to have: a good "Blumelein Shuffler".
See: http://www.aes.org/e-lib/browse.cfm?elib=6686
See also here: http://www.audiosignal.co.uk/Resources/Stereo_shuffling_A4.pdf
(there you'll also find a very interesting PFB-based analog implementation, which may be inspiring)
...and here: http://kokkinizita.linuxaudio.org/linuxaudio/zita-bls1-doc/quickguide.html
(but this otherwise very nice implementation -unfortunately available only as a stand-alone jack app, no plugin-
is somewhat specific and optimized for a special use-case).
Well, I know that a similar results can be obtained e.g. applying different shelving eq. to the mid/side
signals using your great "5 band Eq" plugin (possibly in combination with the "Stereo Tools" to adjust the
overall M-to-S ratio, etc), which in fact is what I'm currently using. Yet, a dedicated plugin would be handy
and could provide more specific features, such as different / optimized shelving filters, possibly with
phase / delay compensation, etc.
Moreover, it would have the welcome side effect to have more people re-discover this ancient but very effective
and useful technique. :-)
====
unfa:
Are you looking for an idea to code a cool LV2 plugin?
I guess we are all familiar with wavetable synthesis - a concept where an oscillator has a list (or a table)
of looping waveforms and allows the user to alter the sound by picking different table indexes at any given moment.
Mainstream exampls are NI Massive and Serum, an opensource one - Calf Wavetable.
What can this concept have to do with convolution (impulse response) reverbs?
What if we had a plugin that could load 128 short IR samples instead of one (like IR.lv2 or Klangfalter)
and allowed the user to automate the table index for which sample is used at any given time? This could
probably sound like morphing the physical environment of the room you're playing in. Maybe it'd be a boring
thing, like there's nothing too amazing about automating a standrd C* Plate 2x2 reverb's tail length, or maybe...
If we treated the IR table just like a wavetable synthesizer (think more Serum than Massive now), using
very short (a few miliseconds) loops extracted from recorded or syntesized sounds like explosions, human
speech, mechanical noises, randomly generated sequeces (creating short looped noise bursts - if you ever
looped radom 30 samples of a sound in Audacity and loved the tone you know what I mean. Now imagine shifting
the looped "selection" along a soundfile and using this as your virtual "stompbox emulation" for playing
an instrument or a synth?
Maybe instead of loading 128 soundfiles, load 1 and split it automatically at zero-crossings? That should be
much easier to work with, who can manually cut up a soundfile to 128 chunks and remain sane after that?
Adding an LFO and an envelope follower to the table index control, spiced up with manual automation - this
could create some interesting moving sounds, from crazy growling bass synths to haunting ambient pads.
Or maybe we could make a convolution processor that has a sidechain input - it uses that and slices it at zero
crossings to create a short IR sample, and uses that to convolute the main input? A bit like a granular vocoder,
w wicked stuff?
Feeling inspired? Or am I crazy?
==== Sample replacing ====
Nekosounds:
Is there any search/replace function implemented in case of lost impulse samples when moving your session to another computer?
LSP Project:
Currently there is no search/replace method. Information about location of the file is stored as a pathname. If you have any suggestions
about search/replace algorithm, we can discuss it.
Nekosounds:
For me the best solution of this problem is in Ableton Live:
- the program stores file path but also fingerprints
- when loading a project and the samples are missing a warning is displayed
- user can choose the location where to search for samples
- program finds all candidate files with needed name and automatically replaces missing sample with the first file whose fingerprints matches pattern
- if the program cannot find a file witch correct fingerprint, but filenames matches a dialog is displayed and user can choose the right file from the list
- if no files found then a warning is displayed, user can manually replace the file with all settings preserved
LSP Project:
Displaying plugins error messages when loading project is possible at least for VSTs - eg. Sforzando behaves this way
==== Modulation Reverb ====
A nice reverb plugin based on freeverb 3. It's old but does sound good IMHO.
==== Transient Designer ====
Transient Designer I like to see. Calf has one but Calf works only sometimes in Ardour.
==== Tape simulator ====
That's what I miss right now, as to what I really would like? A really good tape/dub delay with
parameter changes which causes extreme zipper type effects, like Analogic Delay can produce.
Tal Dub is amazing but it does not make the crazy sounds when you change the delay time which
is a shame.
==== Spring reverb ====
Looking at scientific publications like this one, an accurate physical model of a spring reverb
in real time seems out of reach for a longtime.
http://www.ness-music.eu/wp-content/uploads/2013/06/dafx13.pdf
Do we have any resonator plugins? I used to use the on in ableton live years ago to create some
quite nice spring reverb sounding fx when combined with the autofilter before the input. I can't
think of any linux plugins that do anything similar.
==== Mastering ====
On topic: I'd like to see, for example, a decent saturator, a multiband compressor, and
a maximizer, possibly combined into one big mastering plugin.
==== Stereo image ====
alexthebassist
Oh, and one more. The thing we starve for really long is a good stereo image expander. Like the
one you wrote for Calf project, but better.
==== Dynamic Equalizer ====
Feature request for creating a Dynamic EQ plugin. If you're not familiar with them,
it's basically an EQ, but it isn't applied until level passes the user defined threshold
level. Or the inverse version where it is applied when the level drops below the threshold.
Each parametric band would have it's own threshold / attack / release settings.
Bonus points if a sidechain can be used for the dynamic triggering. Double bonus points if
the dynamic triggering can optionally be set up to also (or possibly even exclusively) expand
or contract the Q level. All the functionaly currently exist in the code base, it should mostly
just be a matter of re-wiring the components.
There is no LV2 implementation of this plugin to my knowlege. Outside of LV2, the free
Nova Dynamic EQ vst plugin is an example of this implemented elsewhere.
==== Parameter entering ====
In other subject, it would be great to be able to enter numerical values by double clicking
on the DB value under the knobs.
==== Music stuff ====
i plan on switching completely to linux for my mixing and mastering needs, i like the calf plugins,
i appreciate the plugins it already contains, i just feel some cool things I'm looking for aren't there
these are my feature request,
- analog style emulated compresses, eqs, etc.
- auto tune plugin
- vocal rider type of plugin, that rides the track volume like the one pro tools has
==== Delay ====
Re-implement Jesse Chappell's per-frequency delay from FreqTweak as a plugin. Bonus points:
include frequency modulator functionality.
This is kinda random, but there are not ladspa, lv2 plugins anything like the spectral delay
functionality found in freqtweak. And it is starting to suffer from some significant bit-rot.
Would be nice to be able to use it as a plugin.