rdk

Check-in [38faa7c0f3]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:SchlemmerReverb/zita_ref1c.jgtk --> preset: glocke (suzanne_orig.wav) (/initrd/mnt/dev_save/dsp/rdk/SchlemmerReverb/zita_ref1c-presets) funny
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | www
Files: files | file ages | folders
SHA1:38faa7c0f369368a85264e21a5660689247ea8cc
User & Date: root 2019-01-03 05:02:25
Context
2019-01-03
12:53
compiled /initrd/mnt/dev_save/dsp/rdk/SchlemmerReverb/zita_ref1d.dsp to zita_ref1d.jgtk using f2jgtk. 8 in for pd auralization check-in: 437ba4f225 user: root tags: www
05:02
SchlemmerReverb/zita_ref1c.jgtk --> preset: glocke (suzanne_orig.wav) (/initrd/mnt/dev_save/dsp/rdk/SchlemmerReverb/zita_ref1c-presets) funny check-in: 38faa7c0f3 user: root tags: www
03:54
compiled /initrd/mnt/dev_save/dsp/rdk/SchlemmerReverb/zita_ref1c.dsp to zita_ref1c.jgtk using f2jgtk. sim_orig check-in: a6b78cca83 user: root tags: www
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to SchlemmerReverb/zita_ref1.gui.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
guigroup1(fx)=vgroup("[1]Zita_Extended",tgroup("",vgroup("2 Room Model",fx)));
guigroup2(fx)=vgroup("[1]Zita_Extended",tgroup("",vgroup("1 Reverb",fx)));
guigroup3(fx)=vgroup("[1]Zita_Extended",tgroup("",hgroup("3 Outmix",fx)));

  SIM_GUI_ROOM(i)       =guigroup1(hgroup("1",nentry("SIM_ROOM(%i)[unit:m]",SIM_ROOM(i),0,100,0.001)));
  SIM_GUI_SOURCE(i)     =guigroup1(hgroup("2",nentry("SIM_SOURCE(%i)[unit:percent]",SIM_SOURCE(i),0,100,.001))); 
  SIM_GUI_DESTINATION(i)=guigroup1(hgroup("3",nentry("SIM_DESTINATION(%i)[unit:percent]",SIM_DESTINATION(i),0,100,.001))); 
  SIM_GUI_RS            =guigroup2(hslider("[0]RoomSize",RoomSize,0.010,4,.001));
  //1c:
   SIM_GUI_LR           =guigroup1(hgroup("3",hslider("SIM_LR[unit:percent]",SIM_LR,0,1,.001))); 
   SIM_GUI_DISTANCE     =guigroup1(hgroup("3",hslider("SIM_DISTANCE[unit:percent]",SIM_DISTANCE,0,1,.001))); 

  ZE_GUI_APG(i)         =guigroup2(hslider("[15]AP_G",AP_G,0,.9,.01)); 
  ZE_GUI_FLTON          =guigroup2(checkbox("compare_loss_filters"));
  ZE_GUI_MAINFB         =guigroup2(hslider("[12]RT",RT,0,.999,.001));
  ZE_GUI_ERCOMPRESSION  =guigroup2(hslider("[17]ER_COMPRESSION_FACTOR",ER_COMPRESSION_FACTOR,0,1,.01));
  ZE_GUI_APPERCENT      =guigroup2(hslider("[13]APDELAY_PERCENT",APDELAY_PERCENT,0,1,.01));
  






|


|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
guigroup1(fx)=vgroup("[1]Zita_Extended",tgroup("",vgroup("2 Room Model",fx)));
guigroup2(fx)=vgroup("[1]Zita_Extended",tgroup("",vgroup("1 Reverb",fx)));
guigroup3(fx)=vgroup("[1]Zita_Extended",tgroup("",hgroup("3 Outmix",fx)));

  SIM_GUI_ROOM(i)       =guigroup1(hgroup("1",nentry("SIM_ROOM(%i)[unit:m]",SIM_ROOM(i),0,100,0.001)));
  SIM_GUI_SOURCE(i)     =guigroup1(hgroup("2",nentry("SIM_SOURCE(%i)[unit:percent]",SIM_SOURCE(i),0,100,.001))); 
  SIM_GUI_DESTINATION(i)=guigroup1(hgroup("3",nentry("[3]SIM_DESTINATION(%i)[unit:percent]",SIM_DESTINATION(i),0,100,.001))); 
  SIM_GUI_RS            =guigroup2(hslider("[0]RoomSize",RoomSize,0.010,4,.001));
  //1c:
   SIM_GUI_LR           =guigroup1(hgroup("3",hslider("[2]SIM_LR[unit:percent]",SIM_LR,0,1,.001))); 
   SIM_GUI_DISTANCE     =guigroup1(hgroup("3",hslider("[1]SIM_DISTANCE[unit:percent]",SIM_DISTANCE,0,1,.001))); 

  ZE_GUI_APG(i)         =guigroup2(hslider("[15]AP_G",AP_G,0,.9,.01)); 
  ZE_GUI_FLTON          =guigroup2(checkbox("compare_loss_filters"));
  ZE_GUI_MAINFB         =guigroup2(hslider("[12]RT",RT,0,.999,.001));
  ZE_GUI_ERCOMPRESSION  =guigroup2(hslider("[17]ER_COMPRESSION_FACTOR",ER_COMPRESSION_FACTOR,0,1,.01));
  ZE_GUI_APPERCENT      =guigroup2(hslider("[13]APDELAY_PERCENT",APDELAY_PERCENT,0,1,.01));
  

Changes to SchlemmerReverb/zita_ref1.lib.

46
47
48
49
50
51
52
53

54
55
56
57
58
59
60
61
62
63
64
65
ssq(7) = -Ls , 2*B-Bs , 2*H-Hs ; //right + ceiling + rear

vector(i) = ssq(i), (-Lr,-Br,-Hr) :> bus(3) ; 

betrag(i) = vector(i) : par(i,3,quadrat) :> sqrt ;
 quadrat(x) = x*x ;



reflectiondelay_ms(i) = ((betrag(i) - direct_m) / SPEED_OF_SOUND) *1000 ;
reflectionlevel(i) = direct_m/(betrag(i)) *(ERCOMPRESSION) + makeup ;
 makeup = 1 - ERCOMPRESSION ;

direct_m = (Ls-Lr), (Bs-Br), (Hs-Hr) : par(i,3,quadrat) :> sqrt ;

};

sim = environment {

//-----------------------------------------------
//      Source Image Model







<
>

|
<
<
<







46
47
48
49
50
51
52

53
54
55



56
57
58
59
60
61
62
ssq(7) = -Ls , 2*B-Bs , 2*H-Hs ; //right + ceiling + rear

vector(i) = ssq(i), (-Lr,-Br,-Hr) :> bus(3) ; 

betrag(i) = vector(i) : par(i,3,quadrat) :> sqrt ;
 quadrat(x) = x*x ;


direct_m = (Ls-Lr), (Bs-Br), (Hs-Hr) : par(i,3,quadrat) :> sqrt ;
reflectiondelay_ms(i) = ((betrag(i) - direct_m) / SPEED_OF_SOUND) *1000 ;
reflectionlevel(i) = direct_m/(betrag(i));




};

sim = environment {

//-----------------------------------------------
//      Source Image Model

Added SchlemmerReverb/zita_ref1c-presets/glocke.

























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
394.75 zita_ref1c/Zita_Rev1/Decay_Times_in_Bands_(see_tooltips)/LF_X
3 zita_ref1c/Zita_Rev1/Decay_Times_in_Bands_(see_tooltips)/Low_RT60
3.015 zita_ref1c/Zita_Rev1/Decay_Times_in_Bands_(see_tooltips)/Mid_RT60
13060.5 zita_ref1c/Zita_Rev1/Decay_Times_in_Bands_(see_tooltips)/HF_Damping
0.01 zita_ref1c/Zita_Extended//1_Reverb/RoomSize
0.35 zita_ref1c/Zita_Extended//1_Reverb/RT
0.62 zita_ref1c/Zita_Extended//1_Reverb/APDELAY_PERCENT
0.62 zita_ref1c/Zita_Extended//1_Reverb/AP_G
0.46 zita_ref1c/Zita_Extended//1_Reverb/ER_COMPRESSION_FACTOR
0 zita_ref1c/Zita_Extended//1_Reverb/compare_loss_filters
42 zita_ref1c/Zita_Extended//2_Room_Model/1/SIM_ROOM(1)
19 zita_ref1c/Zita_Extended//2_Room_Model/1/SIM_ROOM(2)
16 zita_ref1c/Zita_Extended//2_Room_Model/1/SIM_ROOM(3)
33 zita_ref1c/Zita_Extended//2_Room_Model/2/SIM_SOURCE(1)
11 zita_ref1c/Zita_Extended//2_Room_Model/2/SIM_SOURCE(2)
3 zita_ref1c/Zita_Extended//2_Room_Model/2/SIM_SOURCE(3)
1 zita_ref1c/Zita_Extended//2_Room_Model/3/SIM_DISTANCE
0.724 zita_ref1c/Zita_Extended//2_Room_Model/3/SIM_LR
1 zita_ref1c/Zita_Extended//2_Room_Model/3/SIM_DESTINATION(3)
0 zita_ref1c/Zita_Extended//3_Outmix/Out1/BY(1)
0.3 zita_ref1c/Zita_Extended//3_Outmix/Out1/Outlevel(1)
0 zita_ref1c/Zita_Extended//3_Outmix/Out2/BY(2)
256 zita_ref1c/Zita_Extended//3_Outmix/Out2/Outdelay
-0.5 zita_ref1c/Zita_Extended//3_Outmix/Out2/Outlevel(2)
0 zita_ref1c/Zita_Extended//3_Outmix//Directivity/Flute/DIR_WD
0.004 zita_ref1c/Zita_Extended//3_Outmix//LFO/ZE_SinusDepth
1.18 zita_ref1c/Zita_Extended//3_Outmix//LFO/ZE_SinusFreqHz

Changes to SchlemmerReverb/zita_ref1c.defaults.

15
16
17
18
19
20
21
22
23
24
25
26
SIM_ROOM(2)=19.00;
SIM_ROOM(3)=16.00;
SIM_SOURCE(1)=33;
SIM_SOURCE(2)=11;
SIM_SOURCE(3)=3;
SIM_DISTANCE=0.91;
SIM_LR=0.50;
SIM_DESTINATION(i)=1; 
SIM_MOVEMENT=0.02;

ZE_SinusFreqHz=1.18;
ZE_SinusDepth=0.004;







|




15
16
17
18
19
20
21
22
23
24
25
26
SIM_ROOM(2)=19.00;
SIM_ROOM(3)=16.00;
SIM_SOURCE(1)=33;
SIM_SOURCE(2)=11;
SIM_SOURCE(3)=3;
SIM_DISTANCE=0.91;
SIM_LR=0.50;
SIM_DESTINATION(3)=1; 
SIM_MOVEMENT=0.02;

ZE_SinusFreqHz=1.18;
ZE_SinusDepth=0.004;

Changes to SchlemmerReverb/zita_ref1c.dsp.

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
///Extending Zita Reverb with Virtual Room Acoustics 
//Life coding/sound processing and modification of the famous zita reverb by fons adriaensen.

//---------------------------------------------------------------------------------------
re=library("effect.lib"); // doesn't work because with {} is used for 'member' functions.
//---------------------------------------------------------------------------------------



/* klingt der _sim-lfo_ wirklich genau so gut?
sinusi=library("../rdk.lib").sinusi(freq,phase);
zitaLFO(i)=sinusi(ZT_GUI_SinusFreqHz,i*.125 )*(ZT_GUI_SinusDepth)+1.0;
  ZT_GUI_SinusFreqHz=1;
  ZT_SinusFreqHz=1;
  ZT_GUI_SinusDepth=0.01;
  ZT_SinusDepth=0.01;
*/

M=8;

process = zt.zita_distrib2(M):
  //zt.zita_rev_fdn(zt.f1,zt.f2,zt.t60dc,zt.t60m,zt.fsmax)
  zitaCore
  :ze.reflevel(M)
  :dir.eq82
  :ze.lexicon_trick(M)
  :bus(2)
;

zitaCore=(bus(2*M):>
  ze.fbdelaylines(M):
  ze.allpass_combs(M))
      ~(

      zt.feedbackmatrix(M):
      cl.wdn(M,zt.delayfilters(M,ze.freqs,ze.durs),ZE_GUI_FLTON)
      :cl.wdn(M,ze.reverbtime(M),(1-(ZE_GUI_FLTON)))
        );
      
ze = environment{
  


  freqs = (ztgui.f1,ztgui.f2); 
  durs = (ztgui.t60dc,ztgui.t60m);
  




///step 1: main loop
reverbtime(N) = par(i,N,*(ZE_GUI_MAINFB)) ;
///step 2.0: change delay to fdelay
fbdelaylines(zt.N)=par(i,zt.N,(fdelay(zt.maxfbdelay(i),(ze.fbdelay(i)))));
///step 2.1: change *g to UI
allpass_combs(N)=par(i,zt.N,(allpass_fcomb(zt.maxapdelay(i),ze.apdelay(i),ZE_GUI_APG(i)))) with {
  
  allpass_fcomb(maxdel,N,aN) = (+ <: fdelay(maxdel,N-1),*(aN)) ~ *(-aN) : mem,_ : + ;//filters.lib
  }; 
///step 3: change delay(i) lenths to reflect SIM
//apdelay(i)=sim.ssq(i+1)*ZE_GUI_APPERCENT*SR/1000.0; //samples //rename ssq reflection
//fbdelay(i)=sim.ssq(i+1)*SR/1000.0;

apdelay(i)=sim_orig.reflectiondelay_ms(i)*ZE_GUI_APPERCENT*SR/1000.0; //samples //rename ssq reflection
fbdelay(i)=sim_orig.reflectiondelay_ms(i)*SR/1000.0;

///step 4: change delay(i) lenths to reflect SIM
reflevel(N) = par(i,N,*(reflectionlevel(i)));
reflectionlevel(i) = sim.D0/(sim.ref(i+1)) *(ZE_GUI_ERCOMPRESSION) + makeup ;
 makeup = 1 - ZE_GUI_ERCOMPRESSION ;

///step 5: apply the lexicon trick
lexicon_trick(N)=bus(N)<:bus(2*N):(reva,refb):bus(4):>bus(2)
with {
  reva=bus(N):>bus(2):par(i,2,*(ZE_GUI_OUTLEVEL(1)));
  refb=bus(N):>bus(2):par(i,2,@(ZE_GUI_OUTDELAY)):par(i,2,*(ZE_GUI_OUTLEVEL(2)));
  };

};
declare name "zita_ref1c.dll (zita_ref1c.dsp)(20181223-13:00+0100)" ; //added by f2w32vst







<
<
<
<
<
<
<
<
<
<
<


|



|





|
<

>






|
>
>
|
|
|
>
>
>
>



|

|







|
|

|

|











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
///Extending Zita Reverb with Virtual Room Acoustics 
//Life coding/sound processing and modification of the famous zita reverb by fons adriaensen.

//---------------------------------------------------------------------------------------
re=library("effect.lib"); // doesn't work because with {} is used for 'member' functions.
//---------------------------------------------------------------------------------------












M=8;

process = zt.zita_distrib2(M):dir.eq82:
  //zt.zita_rev_fdn(zt.f1,zt.f2,zt.t60dc,zt.t60m,zt.fsmax)
  zitaCore
  :ze.reflevel(M)
//  :dir.eq82
  :ze.lexicon_trick(M)
  :bus(2)
;

zitaCore=(bus(2*M):>
  ze.fbdelaylines(M))

      ~(
      ze.allpass_combs(M):
      zt.feedbackmatrix(M):
      cl.wdn(M,zt.delayfilters(M,ze.freqs,ze.durs),ZE_GUI_FLTON)
      :cl.wdn(M,ze.reverbtime(M),(1-(ZE_GUI_FLTON)))
        );
      
ze = environment{

maxapdelay(i) = 1<<16 ;
maxtdelay(i) = 1<<16 ;
freqs = (ztgui.f1,ztgui.f2); 
durs = (ztgui.t60dc,ztgui.t60m);

// klingt der _sim-lfo_ wirklich genau so gut? - ja. muss rein.
sinusi(freq,phase)=component("../rdk.lib").rdk.sinusi(freq,phase);
zitaLFO(i)=sinusi(ZE_GUI_SinusFreqHz,i*.125 )*(ZE_GUI_SinusDepth)+1.0;

///step 1: main loop
reverbtime(N) = par(i,N,*(ZE_GUI_MAINFB)) ;
///step 2.0: change delay to fdelay
fbdelaylines(zt.N)=par(i,zt.N,(fdelay(ze.maxtdelay(i),(ze.fbdelay(i)))));
///step 2.1: change *g to UI
allpass_combs(N)=par(i,zt.N,(allpass_fcomb(ze.maxapdelay(i),ze.apdelay(i),ZE_GUI_APG(i)))) with {
  
  allpass_fcomb(maxdel,N,aN) = (+ <: fdelay(maxdel,N-1),*(aN)) ~ *(-aN) : mem,_ : + ;//filters.lib
  }; 
///step 3: change delay(i) lenths to reflect SIM
//apdelay(i)=sim.ssq(i+1)*ZE_GUI_APPERCENT*SR/1000.0; //samples //rename ssq reflection
//fbdelay(i)=sim.ssq(i+1)*SR/1000.0;

apdelay(i)=sim_orig.reflectiondelay_ms(i)*ZE_GUI_APPERCENT*SR/1000.0:min(ze.maxapdelay(i)):max(10); //samples 
fbdelay(i)=sim_orig.reflectiondelay_ms(i)*SR/1000.0:min(ze.maxtdelay(i)-(100)):max(100)*zitaLFO(i);

///step 4: reflection level
reflevel(N) = par(i,N,*(reflectionlevel(i)));
reflectionlevel(i)=sim_orig.reflectionlevel(i)*(ZE_GUI_ERCOMPRESSION) + makeup ;
 makeup = 1 - ZE_GUI_ERCOMPRESSION ;

///step 5: apply the lexicon trick
lexicon_trick(N)=bus(N)<:bus(2*N):(reva,refb):bus(4):>bus(2)
with {
  reva=bus(N):>bus(2):par(i,2,*(ZE_GUI_OUTLEVEL(1)));
  refb=bus(N):>bus(2):par(i,2,@(ZE_GUI_OUTDELAY)):par(i,2,*(ZE_GUI_OUTLEVEL(2)));
  };

};
declare name "zita_ref1c.dll (zita_ref1c.dsp)(20181223-13:00+0100)" ; //added by f2w32vst