diff options
author | Nil Geisweiller <a-lin@sourceforge.net> | 2007-01-18 22:12:34 +0000 |
---|---|---|
committer | Nil Geisweiller <a-lin@sourceforge.net> | 2007-01-18 22:12:34 +0000 |
commit | 19b563b5974f6bbd0c35caf36436c9de1d05b815 (patch) | |
tree | 208671a2612e0b55444b6620399c9d614110f3f6 /muse/synti/deicsonze | |
parent | 989da86bd6c1a3f7f64f22b7d1d9d3552bb3fdb9 (diff) |
see ChangeLog
Diffstat (limited to 'muse/synti/deicsonze')
-rw-r--r-- | muse/synti/deicsonze/deicsonze.cpp | 20 | ||||
-rw-r--r-- | muse/synti/deicsonze/deicsonze.h | 2 |
2 files changed, 12 insertions, 10 deletions
diff --git a/muse/synti/deicsonze/deicsonze.cpp b/muse/synti/deicsonze/deicsonze.cpp index cf45ace7..9cbf8ab0 100644 --- a/muse/synti/deicsonze/deicsonze.cpp +++ b/muse/synti/deicsonze/deicsonze.cpp @@ -1742,14 +1742,14 @@ inline double outLevel2Amp(int ol) { //--------------------------------------------------------- // lowlevel2amp, -// 127->0dB->1.0, 0->-27dB->0 +// 127->0dB->1.0, 0->-25dB->0 //--------------------------------------------------------- inline double lowlevel2amp(int l) { double a, b, c, db; if(l==0) return 0.0; else { - a = 27.0/127.0; - b = -27.0; + a = DB_MIN/127.0; + b = -DB_MIN; db = a*l+b; c = -log(2)/3; return exp(-c*db); @@ -1758,14 +1758,14 @@ inline double lowlevel2amp(int l) { //--------------------------------------------------------- // level2amp, -// 255->0dB->1.0, 0->-27dB->0 +// 255->0dB->1.0, 0->-25dB->0 //--------------------------------------------------------- inline double level2amp(int l) { double a, b, c, db; if(l==0) return 0.0; else { - a = 27.0/255.0; - b = -27.0; + a = DB_MIN/255.0; + b = -DB_MIN; db = a*l+b; c = -log(2.0)/3.0; return exp(-c*db); @@ -1774,11 +1774,11 @@ inline double level2amp(int l) { //--------------------------------------------------------- // amp2level -// 1.0->0dB->255, 0->-27dB->0 +// 1.0->0dB->255, 0->-25dB->0 //--------------------------------------------------------- inline int amp2level(double amp){ double a, b, c; - a = 255.0/27.0; + a = 255.0/DB_MIN; b = 255.0; c = log(2.0)/3.0; return (int)(a*(log(amp)/c)+b); @@ -1786,11 +1786,11 @@ inline int amp2level(double amp){ //--------------------------------------------------------- // amp2lowlevel -// 1.0->0dB->127, 0->-27dB->0 +// 1.0->0dB->127, 0->-25dB->0 //--------------------------------------------------------- inline int amp2lowlevel(double amp){ double a, b, c; - a = 127.0/27.0; + a = 127.0/DB_MIN; b = 127.0; c = log(2.0)/3.0; return (int)(a*(log(amp)/c)+b); diff --git a/muse/synti/deicsonze/deicsonze.h b/muse/synti/deicsonze/deicsonze.h index 4bc49b16..5e1f74b7 100644 --- a/muse/synti/deicsonze/deicsonze.h +++ b/muse/synti/deicsonze/deicsonze.h @@ -69,6 +69,8 @@ #define MAXSTRLENGTHFXLIB 256 #define MAXSTRLENGTHFXLABEL 256 +#define DB_MIN 25.0 + //coef determined by ear to sound like the YAMAHA DX11 #define COEFFEEDBACK 0.3 #define COEFPLFO(x) (x==0?0.0:(x==1?0.06:(x==2?0.12:(x==3?0.25:(x==4?0.5:(x==5?0.9:(x==6?3.9:7.9))))))) //return pitch amplitude with respect to sensitivity pitch |