|
|
|
08-04-2018, 10:37 AM
|
#81
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
this looks interesting, is this in stock JS plugins now? or should I get one of the versions from this thread? if its not in the stock JS plugins, which version of the JS is the most up to date/bug free?
|
|
|
08-04-2018, 11:00 AM
|
#82
|
Human being with feelings
Join Date: Jun 2010
Location: Somewhere PRO
Posts: 1,049
|
The one by LiteOn in post #20 of this thread, is the one.
I think he has it in his download pack, in his sig, which might be more up to date.
__________________
"REAPER... You're simply the best" - Tina Turner
|
|
|
03-21-2021, 04:42 AM
|
#83
|
Human being with feelings
Join Date: Jan 2018
Posts: 3
|
Question about how to work with Effect Scripts in Reaper
Quote:
Originally Posted by domino49
A JS modelisation of the "BBE Sonic Maximizer" directly by the electronic schematic.
Last version :
Code:
/*
BBE Sonic Maximizer modelisation
(C) 20011, Dominique Guichaoua.
Peek Detector code is Copyright (C) 2011 lubomir i. ivanov
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
desc:BBE Sonic Maximizer
slider1:0<0,10,.1>Low Contour (dB)
slider2:0<0,10,.1>Process (dB)
slider3:0<-30,0,.1>Output Level (dB)
slider4:0<0,10,.1>Peek Detector Level
@init
c_ampdB = 8.65617025;
//Electronic Components
R=21500;
C1=0.0000000033;
C2=0.000000033;
Te=1/srate;
//Input Gain
Gin=-2;
//Band Pass Gain
GBP=0.72;
//Low Pass initial Gain (dB)
GLP0=0.47;
//High Pass initial Gain(dB)
GHP0=0.47;
//High Pass Coefficient
a0HP = -Te/(2*R*C1);
b0HP = a0HP;
//Low Pass Coefficient
a0LP = -Te/(2*R*C2);
b0LP = a0LP;
//Peek Detector Coefficients
// Copyright (C) 2011 lubomir i. ivanov
a0cv = 0.0003;
b0cv = 1 - a0cv;
//end lubomir i. ivanov code
//Front Panel Controls
@slider
//Low Pass Gain
GLP = GLP0*exp((slider1)/c_ampdB);
//High Pass Gain
GHP = GHP0*exp((slider2+GHP0)/c_ampdB);
//Ouput Gain
amp=exp(slider3/c_ampdB);
//Peek Detector close loop gain
// Copyright (C) 2011 lubomir i. ivanov
cv_k = slider4;
//end lubomir i. ivanov code
@sample
//Input Buffer
s0=spl0*Gin;
s1=spl1*Gin;
//Peak Detector
// Copyright (C) 2011 lubomir i. ivanov
cv0 = 1 - abs(s0)*cv_k;
cv1 = 1 - abs(s1)*cv_k;
cv_rc0 = a0cv*cv0 + b0cv*cv_rc0;
cv_rc1 = a0cv*cv1 + b0cv*cv_rc1;
//end lubomir i. ivanov code
//Pseudo State-Variable Filter (Trapezes)
BP0 = a0HP*HP0 + b0HP*HP0tmp + BP0;
BP1 = a0HP*HP1 + b0HP*HP1tmp + BP1;
HP0tmp = HP0;
HP1tmp = HP1;
LP0 = a0LP*BP0 + b0LP*BP0tmp + LP0;
LP1 = a0LP*BP1 + b0LP*BP1tmp + LP1;
BP0tmp = BP0;
BP1tmp = BP1;
HP0 = s0 + 1.5*BP0 - LP0;
HP1 = s1 + 1.5*BP1 - LP1;
//Summing Output Buffer
spl0 = -(LP0 * GLP + BP0 * GBP + HP0 * GHP * cv_rc0)*amp;
spl1 = -(LP1 * GLP + BP1 * GBP + HP1 * GHP * cv_rc1)*amp;
|
When I copy this code and paste it into the Reaper effects folder, when I open Reaper FX browser should it be listed as BBE Sonic Maximizer.txt ? How do get it to list without the ".txt" suffix?
|
|
|
03-21-2021, 04:44 AM
|
#84
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by explainlight
When I copy this code and paste it into the Reaper effects folder, when I open Reaper FX browser should it be listed as BBE Sonic Maximizer.txt ? How do get it to list without the ".txt" suffix?
|
Save as file without extension?
|
|
|
03-21-2021, 10:25 AM
|
#85
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Use the one by Liteon. It's capable of a neutral output (and adjusting from there), plus it has a very useful CV control.
There's a slightly updated version of that in the thread linked below, at the bottom of the first post in a zip file (along with other plugins):
https://forums.cockos.com/showthread.php?t=27764
Last edited by JamesPeters; 09-02-2021 at 05:15 PM.
|
|
|
09-23-2021, 08:40 AM
|
#86
|
Human being with feelings
Join Date: Dec 2011
Posts: 406
|
Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
|
|
|
09-23-2021, 09:40 AM
|
#87
|
Human being with feelings
Join Date: Feb 2006
Location: Helsinki, Finland
Posts: 305
|
Quote:
Originally Posted by Nixon
Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
|
You mean these?
https://github.com/asb2m10/jsusfx/tr...scripts/liteon
|
|
|
09-24-2021, 02:20 AM
|
#88
|
Human being with feelings
Join Date: Dec 2011
Posts: 406
|
yes
|
|
|
09-24-2021, 03:57 PM
|
#89
|
Human being with feelings
Join Date: Dec 2015
Posts: 172
|
What a great topic
|
|
|
11-23-2021, 03:21 PM
|
#90
|
Human being with feelings
Join Date: Jul 2020
Posts: 724
|
Quote:
Originally Posted by Nixon
Just a train of thought: Is it possible(allowed?) to get sonic enhancer and the other goodies from liteon that aren't included into reaper into the Reateam/jsfx repository ?
|
It is allowed, yes. Hahaha!
Just copy the code from whichever of Liteons JS plugins you want into a empty .txt file, save it, replace .txt with .jsfx and place it in the "Effects" folder in the Reaper resource path (usually C:\Users\ your computers name\AppData\Roaming\REAPER).
Next time you open up Reaper, it should be listed in the JS list.
|
|
|
11-23-2021, 07:20 PM
|
#91
|
Human being with feelings
Join Date: Dec 2011
Posts: 406
|
yeah but I mean the community puts his effects into the reapack reateam repo
|
|
|
03-17-2024, 04:02 PM
|
#92
|
Human being with feelings
Join Date: Jun 2016
Location: UK
Posts: 285
|
Just posting my version of this jsfx
I changed the range of high and low contour to a more usable amount.
New Dynamic Unmask control, makes the high band try to stay in proportion to the mid band. It often boosts a bit, but can also cut with cymbals and ess sounds.
Gain meter for high band dynamics.
Code:
/*
sonic enhancer thing
Copyright (C) 2011 lubomir i. ivanov
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
desc: Sonic Mix Enhancer
slider1:0<-12, 12, 0.1>Input
slider2:0<-6, 6, 0.1>Low Contour
slider3:0<0, 6, 0.1>High Contour
slider4:1<0,1,0.01>Dynamic Unmask
slider5:0<-12, 12, 0.1>Output
//options:gfx_idle
@init
cv_BP0 = 1;
cv_BP1 = 1;
cv_HP0 = 1;
cv_HP1 = 1;
gr_meter=1;
gr_meter_decay = exp(1/(1*srate));
ext_gr_meter = 0;
nf_k = 2^-32;
rc0_h1 = exp(-1/(srate*0.001*70));
rc0_h0 = 1-rc0_h1;
rc0_m1 = exp(-1/(srate*0.001*60));
rc0_m0 = 1-rc0_m1;
rc0_k1 = exp(-1/(srate*0.001*25));
rc0_k0 = 1-rc0_k1;
fc = 700;
fs = srate;
pi2 = 2*$pi;
q = 0.23;
omega = pi2 * fc / fs;
sn = sin(omega);
cs = cos(omega);
alpha = sn / (2.0 * Q);
b0_ap = 1.0 / (1.0 + alpha);
b1_ap = (-2.0 * cs) * b0_ap;
b2_ap = (1.0 - alpha) * b0_ap;
a0_ap = b2_ap;
a1_ap = b1_ap;
a2_ap = 1;
b0_lp = 1.0 / (1.0 + alpha);
b1_lp = (-2.0 * cs) * b0_lp;
b2_lp = (1.0 - alpha) * b0_lp;
a1_lp = (1.0 - cs) * b0_lp;
a0_lp = a1_lp * 0.5;
a2_lp = a0_lp;
b0_hp = 1.0 / (1.0 + alpha);
b1_hp = (-2.0 * cs) * b0_hp;
b2_hp = (1.0 - alpha) * b0_hp;
a1_hp = -(1.0 + cs) * b0_hp;
a0_hp = -a1_hp * 0.5;
a2_hp = a0_hp;
@slider
g_in = 10^((slider1-0.5)/20);
g_lp = 10^(slider2/20);
g_hp = 10^(slider3/20);
cv_k = slider4;
dist_3 = slider4/96;
g_out = 10^(slider5/20);
@sample
nf0 = 0.0;
nf1 = 0.0;
//noise_floor
nf0 = (rand(2.0) - 1.0)*nf_k;
nf1 = (rand(2.0) - 1.0)*nf_k;
in0 = spl0*g_in + nf0;
in1 = spl1*g_in + nf1;
out_ap0 = a0_ap*in0 + a1_ap*x1_ap0 + a2_ap*x2_ap0 - b1_ap*y1_ap0 - b2_ap*y2_ap0;
x2_ap0 = x1_ap0;
x1_ap0 = in0;
y2_ap0 = y1_ap0;
y1_ap0 = out_ap0;
out_ap1 = a0_ap*in1 + a1_ap*x1_ap1 + a2_ap*x2_ap1 - b1_ap*y1_ap1 - b2_ap*y2_ap1;
x2_ap1 = x1_ap1;
x1_ap1 = in1;
y2_ap1 = y1_ap1;
y1_ap1 = out_ap1;
out_lp0 = a0_lp*in0 + a1_lp*x1_lp0 + a2_lp*x2_lp0 - b1_lp*y1_lp0 - b2_lp*y2_lp0;
x2_lp0 = x1_lp0;
x1_lp0 = in0;
y2_lp0 = y1_lp0;
y1_lp0 = out_lp0;
out_lp1 = a0_lp*in1 + a1_lp*x1_lp1 + a2_lp*x2_lp1 - b1_lp*y1_lp1 - b2_lp*y2_lp1;
x2_lp1 = x1_lp1;
x1_lp1 = in1;
y2_lp1 = y1_lp1;
y1_lp1 = out_lp1;
out_hp0 = a0_hp*in0 + a1_hp*x1_hp0 + a2_hp*x2_hp0 - b1_hp*y1_hp0 - b2_hp*y2_hp0;
x2_hp0 = x1_hp0;
x1_hp0 = in0;
y2_hp0 = y1_hp0;
y1_hp0 = out_hp0;
out_hp1 = a0_hp*in1 + a1_hp*x1_hp1 + a2_hp*x2_hp1 - b1_hp*y1_hp1 - b2_hp*y2_hp1;
x2_hp1 = x1_hp1;
x1_hp1 = in1;
y2_hp1 = y1_hp1;
y1_hp1 = out_hp1;
out_bp0 = out_ap0-out_lp0-out_hp0;
out_bp1 = out_ap1-out_lp1-out_hp1;
foo = 1-(9*sqrt(0.000001));
cv_BP0 = (9*sqrt(0.000001 + (out_bp0^2)))+foo; env_BP0 = rc0_m0*cv_BP0 + rc0_m1*env_BP0;
cv_BP1 = (9*sqrt(0.000001 + (out_bp1^2)))+foo; env_BP1 = rc0_m0*cv_BP1 + rc0_m1*env_BP1;
bar = 1-(24*sqrt(0.000001));
cv_HP0 = (24*sqrt(0.000001 + (out_hp0^2)))+bar; env_HP0 = rc0_h0*cv_HP0 + rc0_h1*env_HP0;
cv_HP1 = (24*sqrt(0.000001 + (out_hp1^2)))+bar; env_HP1 = rc0_h0*cv_HP1 + rc0_h1*env_HP1;
//compare bandpass to highpass
cv0 = (1*env_BP0)/(1*env_HP0);
cv1 = (1*env_BP1)/(1*env_HP1);
//reduce range
cv0 = -2/(1+exp(2*cv0-2))+2;
cv1 = -2/(1+exp(2*cv1-2))+2;
cv0 = cv_k*cv0 + (1-cv_k);
cv1 = cv_k*cv1 + (1-cv_k);
//smooth env
cv_rc0 = rc0_k0*cv0 + rc0_k1*cv_rc0;
cv_rc1 = rc0_k0*cv1 + rc0_k1*cv_rc1;
//stereo link
cv_rc00 = 0.6*cv_rc0 + 0.4*cv_rc1;
cv_rc11 = 0.4*cv_rc0 + 0.6*cv_rc1;
//low harmonics
out_lp0 = out_lp0 - dist_3*out_lp0^3;
out_lp1 = out_lp1 - dist_3*out_lp1^3;
//merge bands
out_sv0 = out_bp0 + out_hp0*cv_rc00*g_hp + out_lp0*g_lp;
out_sv1 = out_bp1 + out_hp1*cv_rc11*g_hp + out_lp1*g_lp;
out_dc0 = out_sv0;
out_dc1 = out_sv1;
spl0 = out_dc0*g_out + nf1;
spl1 = out_dc1*g_out + nf0;
grv = 0.5*cv_rc00 + 0.5*cv_rc11;
//grv = 1;
grv <= gr_meter ? gr_meter=grv : ( gr_meter*=gr_meter_decay; gr_meter>2?gr_meter=2; );
@gfx 0 32 // request horizontal/vertical heights (0 means dont care)
gr_meter < 0.5 ? gr_meter = 0.5; // max GR so if the audio processing stops it doesnt "stick"
gfx_r=0.9; gfx_g=gfx_b=0.1; gfx_a=0.8;
meter_bot=12;
meter_h=min(gfx_h,32);
xscale=gfx_w*20/meter_bot;
gfx_y=0;
gfx_x=gfx_w + log10(0.5*gr_meter)*xscale;
gfx_rectto(gfx_w,meter_h);
gfx_r=gfx_g=gfx_b=1.0; gfx_a=0.75;
s2=sqrt(2)/2;
g = s2;
while(
gfx_x=gfx_w + log10(g)*xscale;
gfx_x >= 0 ?
(
gfx_y=0;
gfx_lineto(gfx_x,meter_h,0);
gfx_y=meter_h-gfx_texth;
gfx_x+=2;
gfx_drawnumber(log10(g*2)*20,0);
gfx_drawchar($'d');
gfx_drawchar($'B');
);
g*=s2;
gfx_x >=0;
);
gfx_a=1;
gfx_x=0; gfx_y=meter_h/2 - gfx_texth/2;
gfx_drawnumber(log10(gr_meter)*20,1);
gfx_drawchar($'d');
gfx_drawchar($'B');
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:39 AM.
|