Old 11-15-2011, 07:51 AM   #1
domino49
Human being with feelings
 
Join Date: Nov 2011
Location: Angers, France
Posts: 27
Default BBE Sonic Maximizer

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;

Last edited by domino49; 03-21-2013 at 09:04 AM.
domino49 is offline   Reply With Quote
Old 11-15-2011, 08:04 AM   #2
matey
Human being with feelings
 
matey's Avatar
 
Join Date: Apr 2008
Location: Civitavecchia (Italy)
Posts: 574
Default

great Domino, it sounds very good on my workplace laptop...
thanks
__________________
"You know what a miracle is. Not what Bakunin said. But another world's intrusion into this one".
Thomas Pynchon, The Crying of Lot 49
matey is offline   Reply With Quote
Old 11-15-2011, 08:24 AM   #3
Mich
Human being with feelings
 
Join Date: May 2009
Posts: 1,265
Default

Does the same thing as 3-Band-EQ, no? Except for fixing the x-over frequncies.
__________________
Quote:
Originally Posted by vBulletin Message
Sorry pipelineaudio is a moderator/admin and you are not allowed to ignore him or her.
Mich is offline   Reply With Quote
Old 11-15-2011, 08:57 AM   #4
domino49
Human being with feelings
 
Join Date: Nov 2011
Location: Angers, France
Posts: 27
Default

Yes it's based on the 3Band-splitter and the 3Band-Joiner because the électronic works similarly.
http://www.radio-flier.com/PDF%20Files/BBE%20482i.pdf
In the schematic you can look a analog 3 bands splitter and 3 inputs summator.
domino49 is offline   Reply With Quote
Old 11-16-2011, 03:38 AM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
Default

Thanks! Working really well on some muddy guitar picking I'm working on. Cleans it up nicely and brings out the detail. I think I'll find this extremely useful.
IXix is offline   Reply With Quote
Old 11-16-2011, 09:12 AM   #6
sebas777
Human being with feelings
 
sebas777's Avatar
 
Join Date: Nov 2006
Posts: 2,182
Default

Thank you for your valuable contribution, domino49 !
sebas777 is offline   Reply With Quote
Old 11-16-2011, 10:07 AM   #7
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
Default

I haven't tried this yet, but it seems like a cool plug-in. It certainly is way ahead of its time...

Quote:
Originally Posted by domino49 View Post
// (C) 20011, Dominique Guichaoua.
Tale is offline   Reply With Quote
Old 11-17-2011, 06:43 PM   #8
andrew grove
Human being with feelings
 
andrew grove's Avatar
 
Join Date: Mar 2007
Location: Nashville, Tennessee
Posts: 484
Default

Quote:
Originally Posted by domino49 View Post
A JS modelisation of the "BBE Sonic Maximizer" directly by the elctronic scematic.

// (C) 20011, Dominique Guichaoua.

//BBE Sonic Maximizer modelisation

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)

@init
cDenorm=10^-30;
c_ampdB = 8.65617025;

freqHP = 2192.2;
xHP = exp(-2.0*$pi*freqHP/srate);
a0HP = 1.0-xHP;
b1HP = -xHP;

freqLP = 153.92;
xLP = exp(-2.0*$pi*freqLP/srate);
a0LP = 1.0-xLP;
b1LP = -xLP;

@slider
band1 = exp((slider1+3)/c_ampdB);
band2 = exp(0/c_ampdB);
band3 = exp((slider2+3)/c_ampdB);
amp=exp(slider3/c_ampdB);

@sample
s0 = spl0;
s1 = spl1;

sp0 = (tmplLP = a0LP*s0 - b1LP*tmplLP + cDenorm);
sp1 = (tmprLP = a0LP*s1 - b1LP*tmprLP + cDenorm);

sp4 = s0 - (tmplHP = a0HP*s0 - b1HP*tmplHP + cDenorm);
sp5 = s1 - (tmprHP = a0HP*s1 - b1HP*tmprHP + cDenorm);

sp2 = s0 - sp0 - sp4;
sp3 = s1 - sp1 - sp5;

spl0 = (sp0 * band1 + sp2 * band2 + sp4 * band3)*amp;
spl1 = (sp1 * band1 + sp3 * band2 + sp5 * band3)*amp;
Can someone tell me how to compile this or if someone did compile this can they post it as a DLL thanks
andrew grove is offline   Reply With Quote
Old 11-17-2011, 09:12 PM   #9
benj.calderon
Human being with feelings
 
Join Date: Oct 2011
Posts: 2
Default

There's no need to compile it...

just create a text file in the "effects" folder in reaper folder and then paste the code there and that's all

I just tried it and it sound great! I make some A/B test with the original BBE Sonic Maximizer plugin which I have and they are very similar in sound. Seems like it's going to be very used in my studio
benj.calderon is offline   Reply With Quote
Old 11-18-2011, 08:18 AM   #10
Link0126
Human being with feelings
 
Link0126's Avatar
 
Join Date: Jul 2010
Posts: 1,268
Default

I have tried this out briefly and it seems pretty cool. Easy to change the overall sound of the track. But can someone explain this sliders a little better or describe what this is actually doing in more detail.
Link0126 is offline   Reply With Quote
Old 11-18-2011, 09:03 AM   #11
RunBeerRun
Human being with feelings
 
Join Date: Jan 2007
Posts: 562
Default

Awesome, this one's a keeper. They should upgrade the JS list, I mean who really depends on SlightlyLouderator or whatever that one was.
__________________
Free Synthedit/Synthmaker plugins that I made: runbeerrun dot blogspot dot com
RunBeerRun is offline   Reply With Quote
Old 11-18-2011, 11:10 AM   #12
grinder
Human being with feelings
 
grinder's Avatar
 
Join Date: Jan 2009
Location: New Zealand
Posts: 2,905
Default code

Hi all
I am a little mature and do not know which part of this should be left out of "The Code" on the text file.
(I know what a text file is I think?)
Would this include the Author and BBE Sonic Maximizer modelization or just the script below these two?
..................................

A JS modelisation of the "BBE Sonic Maximizer" directly by the elctronic scematic.

// (C) 20011, Dominique Guichaoua.

//BBE Sonic Maximizer modelisation

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)

@init
cDenorm=10^-30;
c_ampdB = 8.65617025;

freqHP = 2192.2;
xHP = exp(-2.0*$pi*freqHP/srate);
a0HP = 1.0-xHP;
b1HP = -xHP;

freqLP = 153.92;
xLP = exp(-2.0*$pi*freqLP/srate);
a0LP = 1.0-xLP;
b1LP = -xLP;

@slider
band1 = exp((slider1+3)/c_ampdB);
band2 = exp(0/c_ampdB);
band3 = exp((slider2+3)/c_ampdB);
amp=exp(slider3/c_ampdB);

@sample
s0 = spl0;
s1 = spl1;

sp0 = (tmplLP = a0LP*s0 - b1LP*tmplLP + cDenorm);
sp1 = (tmprLP = a0LP*s1 - b1LP*tmprLP + cDenorm);

sp4 = s0 - (tmplHP = a0HP*s0 - b1HP*tmplHP + cDenorm);
sp5 = s1 - (tmprHP = a0HP*s1 - b1HP*tmprHP + cDenorm);

sp2 = s0 - sp0 - sp4;
sp3 = s1 - sp1 - sp5;

spl0 = (sp0 * band1 + sp2 * band2 + sp4 * band3)*amp;
spl1 = (sp1 * band1 + sp3 * band2 + sp5 * band3)*amp;

Many thanks in anticipation

Grinder
grinder is offline   Reply With Quote
Old 11-18-2011, 05:08 PM   #13
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Quote:
Originally Posted by Link0126 View Post
But can someone explain this sliders a little better or describe what this is actually doing in more detail.
Yes please.
I also wondered about it.
nofish is offline   Reply With Quote
Old 11-19-2011, 03:55 AM   #14
Cisco Kid
Human being with feelings
 
Cisco Kid's Avatar
 
Join Date: Nov 2010
Location: Seattle WA
Posts: 100
Default

Talk about synchronicity! I was just looking at this plugin and hardware unit from a Sweetwater magazine earlier today. When I get some time tomorrow ill play around with your JS version.

I know this is probably a long and complicated question...but...How do you take the schematics from the circuitry and convert that to a JS plugin? I know it can be done but its way above my head.


Thanks for your effort.
__________________
"Insert amusing little quip"
Cisco Kid is offline   Reply With Quote
Old 11-19-2011, 05:17 AM   #15
sinkmusic
Human being with feelings
 
sinkmusic's Avatar
 
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
Default

Quote:
Originally Posted by nofish View Post
Yes please.
I also wondered about it.
http://www.google.fr/search?q=bbe+so...ient=firefox-a
sinkmusic is offline   Reply With Quote
Old 03-21-2021, 04:42 AM   #16
explainlight
Human being with feelings
 
Join Date: Jan 2018
Posts: 3
Default Question about how to work with Effect Scripts in Reaper

Quote:
Originally Posted by domino49 View Post
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?
explainlight is offline   Reply With Quote
Old 03-21-2021, 04:44 AM   #17
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by explainlight View Post
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?
vitalker is offline   Reply With Quote
Old 03-21-2021, 10:25 AM   #18
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

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.
JamesPeters is offline   Reply With Quote
Old 09-23-2021, 08:40 AM   #19
Nixon
Human being with feelings
 
Nixon's Avatar
 
Join Date: Dec 2011
Posts: 406
Default

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 ?
Nixon is offline   Reply With Quote
Old 09-23-2021, 09:40 AM   #20
Paul Eye
Human being with feelings
 
Join Date: Feb 2006
Location: Helsinki, Finland
Posts: 305
Default

Quote:
Originally Posted by Nixon View Post
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
Paul Eye is offline   Reply With Quote
Old 11-23-2021, 03:21 PM   #21
JonLinnarson
Human being with feelings
 
JonLinnarson's Avatar
 
Join Date: Jul 2020
Posts: 724
Default

Quote:
Originally Posted by Nixon View Post
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.
JonLinnarson is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 11:04 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.