IDEA: Linkwitz-Transform LADSPA plugin with lookahead boost control

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Cool, having set that environment variable its apparently working now in ecasound - not throwing errors anyway.

Code:
ecasound -b 1024 -i:alsaplugin,0,0  -el:CLLTwbl,20,0.6,120,0.707,1,0.12,0.1
**************************************************************************
*        ecasound v2.9.1 (C) 1997-2014 Kai Vehmanen and others    
**************************************************************************
(eca-chainsetup-parser) Setting buffersize to (samples) 1024.
VST_PATH not set, defaulting to /home/z/vst:/usr/local/lib/vst:/usr/lib/vst
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
(eca-chainsetup) Chainsetup "untitled-chainsetup"
(eca-chainsetup) "rtlowlatency" buffering mode selected.
(eca-chainsetup) Opened input "alsaplugin", mode "read". Format: s16_le, channels 2, srate 44100, interleaved.
(eca-chainsetup) Opened output "alsa", mode "write". Format: s16_le, channels 2, srate 44100, interleaved.
- [ Connected chainsetup: "untitled-chainsetup" ] ------------------------
- [ Controller/Starting batch processing ] -------------------------------
- [ Engine - Driver start ] ----------------------------------------------

THIS IS A BETA RELEASE OF THIS PLUGIN. NOT FOR PUBLIC RELEASE.

--------- INFORMATION ---------------------------------------------------
This LT has 31.1261 dB gain at DC. 32 LTs divide the boost into 1dB increments.
5 lookahead frames will be used to approximate the attack time of 120 milliseconds.
The total audio latency is 139.32 milliseconds.

0 > 3
3 > 6
6 > 9
9 > 12
12 > 15
15 > 15
15 > 14.7678
14.7678 > 14.1251
14.1251 > 13.1673
13.1673 > 11.9674
11.9674 > 10.814
10.814 > 9.23179
9.23179 > 7.78477
7.78477 > 5.97715
5.97715 > 4.58926
4.58926 > 3.52363
3.52363 > 2.70545
2.70545 > 2.07724
2.07724 > 1.59491
1.59491 > 1.22457
1.22457 > 0.940227
0.940227 > 0.721907
0.721907 > 0.55428
0.55428 > 0.425577
0.425577 > 0.326758
0.326758 > 0.250885
0.250885 > 0.19263
0.19263 > 0.147901
0.147901 > 0.113558
0.113558 > 0.0871903
0.0871903 > 0.0669447
0.0669447 > 0.0514002
0.0514002 > 0.0394651
0.0394651 > 0.0303013
0.0303013 > 0.0232654
0.0232654 > 0.0178632
0.0178632 > 0.0137153
0.0137153 > 0.0105306
0.0105306 > 0
 
There is a new BETA version available, and the older one has been taken down. Here is the download link to the new one:
http://audio.claub.net/temp/CLLTwbl-BETA2.tar

The TAR file has a different name but the contents (folder, files) have the exact same names. Please DELETE ANY PREVIOUS VERSION FROM YOUR SYSTEM (e.g. delete the CLLTwbl folder and all contents) before extracting the TAR, or just replace all existing files with the new ones. You then need to make and install again as before.

@dynomike: Can you try to install the BETA 2 code and try it under Ardour? I changed the parameter info that the GUI will use to set the control slider min and max, and I would like to see if that works, avoids the previous problems, etc. Thanks.
 
While I was working the code yesterday I realized that it would be super easy for me to extend the functionality so that both a 6dB per octave boost curve (a 1st order bass shelving filter) or the LT (a 12dB per octave boost) can be produced. This might as easy as adding one more parameter that indicates which order (1st versus 2nd) is to be used, plus a couple of small adjustments in the code. I can offer both in the same plugin.

Why do this? Well, I created my LADSPA plugins in order to provide a suite of DSP functionality for loudspeaker crossovers. A 6dB per octave boost curve is used for baffle step correction and to flatten the response of open baffle speakers below the first peak in the response. Since the plugin is full range capable and does not need to be limited to subwoofer use, these applications could be easily accommodated and will allow the user to make the most of the available headroom while keeping the average signal level up. This is not compression, it's simply making it possible to have enough gain for the amplifiers in digital systems where the maximum output voltage has a hard ceiling. In the past, when using DSP processors I have found that this is a frustrating limitation, and this was part of the motivation for this plugin.
 
I did some re-coding and new the 1st order shelf option is working, too. I think I am more or less done with the code and just need to decide how and when to do some measurements. The main issue is that the plugin and processing all has latency, so I need some kind of dual channel setup where one channel that is not processed in any way but is delayed by the same amount is used to trigger data acquisition.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.