home *** CD-ROM | disk | FTP | other *** search
/ earth.cs.bath.ac.uk / earth.cs.bath.ac.uk.zip / earth.cs.bath.ac.uk / pub / dream / Version4_09.Notes < prev    next >
Text File  |  2000-12-04  |  14KB  |  366 lines

  1. Release Notes for 4.09
  2. ======================
  3.  
  4.  
  5. Bug Fixes
  6. ---------
  7.  
  8. Some internal strings had been changed by mistake, confusing some
  9. operating systems.
  10.  
  11. On Windows there was a bug in sfont stuff, now fixed
  12.  
  13.  
  14. Language Changes
  15. ----------------
  16.  
  17. It is more likely that // and /* */ comments will work in .csd files
  18.  
  19. Peak chunks can be switched off with a -K option
  20.  
  21. There is a new form in a .csd file which allows version checking.  One
  22. can police whether the version of Csound can run a particular piece.
  23. Format is
  24. <CsVersion>
  25. Before #.#      or After #.#    or #.#
  26. </CsVersion>
  27. The last two forms are equivalent
  28.  
  29. There was a simple but devistating bug in reading AIFF files
  30.  
  31.  
  32. Opcode Fixes
  33. ------------
  34.  
  35. The 31-bit pseudo random number generators are now bipolar as they
  36. should have been.
  37.  
  38. The sliders can now have text labels, which can be set with setctrl
  39. opcode, which is extended to allow case 4 (label)
  40.  
  41. In sfont opcode there is a filter to stop teh printing of unprintabel
  42. characters which was upsetting xterms on some unixes.
  43.  
  44. There was a bug in expseg which I had never seen but could occur if a
  45. structure was reused internally.
  46.  
  47. There was a fence-post problem in looping oscilators.
  48.  
  49. The whole of wgpluck has been reworked.  The bug whereby the first use
  50. was quiet has been fixed, and the excitation of the string moved to
  51. the correct place (it used to be added to outout of string not the
  52. input).  The loop filter has been reworked, for simpler and shorter
  53. code, but i am still not convinced that it is correct.  It is at least
  54. no worse.
  55.  
  56.  
  57.  
  58. New Opcodes 
  59. -----------
  60.  
  61. babo -- Ball in a Box resonator (note copyright on this)
  62.  
  63. sense -- Check is a (computer) key has been pressed [Unix only at present]
  64.  
  65. transeg -- a mixed linear and exponential envelope opcode, rather like
  66. in cmusic.
  67.  
  68. GEN16 -- new gen to do the same as transeg
  69.  
  70.  
  71.  
  72. Other Changes:
  73. -------------
  74.  
  75. vreverb revised significantly to allow a more flexible structure
  76.  
  77. The entry table has been split into two to make it more manageable,
  78. and in particular to allow a M68K system to be created.
  79.  
  80. Incorporation of BeOS patches
  81.  
  82. Windows GUI Changes
  83. -------------------
  84.  
  85.  
  86.  
  87. ------------------------------------------------------------------------
  88. ==John ff
  89.   2000 October
  90. ========================================================================
  91. en      ar    nreverb    asig, krvt, khdif [, iskip] [,inumCombs, ifnCombs] [,inumAlpas, ifnAlpas]
  92.  
  93.  
  94. INITIALIZATION
  95.  
  96. inumCombs - number of filter constants in comb filter. If omitted, the
  97. values default to the nreverb constants.
  98.  
  99. ifnCombs - function table with inumCombs comb filter time values
  100. directly followed the same number of comb gain values. The ftable
  101. should not be rescaled (use negative fgen number).
  102.     Positive time values are in seconds. The given time is
  103. converted internally into number of samples, and then set to the
  104. nearest greater prime number.
  105.     If time is negative, it is interpreted directly as time in
  106. sample frames, and no processing is done (except negation).
  107.  
  108. inumAlpas, ifnAlpas - same as inumCombs/ifnCombs, for allpass filter.
  109.  
  110.  
  111. PERFORMANCE
  112.  
  113. This is a revision of nreverb which adds the possibility of reading
  114. any number of comb and allpass filter constants from a ftable.
  115.  
  116.  
  117. EXAMPLES
  118.  
  119. Orchestra:
  120. a1    soundin    "neopren.wav"
  121. a2    nreverb    a1, 1.5, .75, 0, 8, 71, 4, 72
  122.     out    a1 + a2 * .4
  123.  
  124. Score:
  125. ; freeverb time constants, as direct (negative) sample, with arbitrary gains
  126. f71 0 16   -2  -1116 -1188 -1277 -1356 -1422 -1491 -1557 -1617  0.8  0.79  0.78  0.77  0.76  0.75  0.74  0.73  
  127. f72 0 16   -2  -556 -441 -341 -225  0.7  0.72  0.74  0.76
  128.  
  129.  
  130. i1   0     7
  131. e
  132. ------------------------------------------------------------------------
  133. BABO(Csound)                                         BABO(Csound)
  134.  
  135.  
  136. Babo
  137.        ar,al babo asig,ksrcx,ksrcy,ksrcz,irx,iry,irz[,idiff[,ifno]]
  138.  
  139. DESCRIPTION
  140.        Babo  stands  for  BAll-within-the-BOx.   It is a physical
  141.        model reverberator based on the paper by Davide  Rocchesso
  142.        "The  Ball  within  the Box: a sound-processing metaphor",
  143.        Computer Music Journal,  Vol  19,  N.4,  pp.45-47,  Winter
  144.        1995.
  145.  
  146.        A  short  description of the opcode should mention that it
  147.        allows to define the resonator geometry along with some of
  148.        its response characteristics, the position of the listener
  149.        within the resonator, and the position of  the  source  of
  150.        sound.   Babo  then calculates early and later reflections
  151.        by means of a tapped delay line and a  circulant  feedback
  152.        delay network.
  153.  
  154. INITIALIZATION
  155.        irx,iry,irz - the  coordinates of the geometry of the res
  156.                      onator (length of the edges in meters)
  157.  
  158.        idiff -       is  the  coefficient  of  diffusion  at  the
  159.                      walls,  which regulates the amount of diffu
  160.                      sion (0-1, where 0 = no diffusion, 1 = maxi
  161.                      mum diffusion - default: 1)
  162.  
  163.        ifno -        expert  values  function:  a function number
  164.                      that holds all the additional parameters  of
  165.                      the resonator
  166.  
  167. INITIALIZATION (Expert Values)
  168.        These  values  are  contained  in  a function, typically a
  169.        GEN2--type function used in non-rescaling mode.
  170.  
  171.        decay -       main decay of the resonator (default: 0.99)
  172.  
  173.        hydecay -     high  frequency  decay  of   the   resonator
  174.                      (default: 0.1)
  175.  
  176.        rcvx,rcvy,rcvz -
  177.                      the  coordinates  of  the  position  of  the
  178.                      receiver (=the listener) (in  meters;  0,0,0
  179.                      is the resonator center)
  180.  
  181.        rdistance -   is  the  distance  in meters between the two
  182.                      pickups (i.e. your ears,  for  example...  -
  183.                      default: 0.3)
  184.  
  185.        direct -      is  the  attenuation  of  the  direct signal
  186.                      (0-1, default: 0.5)
  187.  
  188.        early_diff -  is the attenuation coefficient of the  early
  189.                      reflections (0-1, default: 0.8)
  190.  
  191. PERFORMANCE
  192.        ar,al -       the stereo output signal
  193.  
  194.        asig -        the input signal
  195.  
  196.        ksrcx,ksrcy,ksrcz -
  197.                      the  virtual  coordinates  of  the source of
  198.                      sound (i.e. the  input  signal);  these  are
  199.                      allowed  to  move  at k-rate and provide all
  200.                      the  necessary  variations   in   terms   of
  201.                      response of the resonator
  202.  
  203. EXAMPLES
  204.    Orchestra File - Simple usage
  205.                    ;
  206.                    ; minimal babo instrument
  207.                    ;
  208.                    instr 1
  209.                    ix     =p5          ; x position of source
  210.                    iy     =p6          ; y position of source
  211.                    iz     =p7          ; z position of source
  212.                    ixsize =p8          ; width  of the resonator
  213.                    iysize =p9          ; depth  of the resonator
  214.                    izsize =p10         ; height of the resonator
  215.  
  216.        ainput      soundin p4
  217.  
  218.        al,ar       babo    ainput*0.9, ix, iy, iz, ixsize, iysize, izsize
  219.  
  220.                    outs    al,ar
  221.  
  222.                    endin
  223.  
  224.    Score File - Simple Usage
  225.        ;
  226.        ; simple babo usage:
  227.        ;
  228.        ;p4     : soundin number
  229.        ;p5     : x position of source
  230.        ;p6     : y position of source
  231.        ;p7     : z position of source
  232.        ;p1     : width  of the resonator
  233.        ;p12    : depth  of the resonator
  234.        ;p13    : height of the resonator
  235.        ;
  236.        i1  0 10 1  6  4  3     14.39 11.86 10
  237.        ;           ^^^^^^^     ^^^^^^^^^^^^^^
  238.        ;           |||||||     ++++++++++++++: optimal room dims according to
  239.        ;           |||||||                     Milner and Bernard JASA 85(2), 1989
  240.        ;           +++++++++: source position
  241.        e
  242.  
  243.    Orchestra File - Expert usage
  244.                    ;
  245.                    ; full blown babo instrument with movement
  246.                    ;
  247.                    instr 2
  248.                    ixstart=p5          ; start x position of source (left-right)
  249.                    ixend  =p8          ; end   x position of source
  250.                    iystart=p6          ; start y position of source (front-back)
  251.                    iyend  =p9          ; end   y position of source
  252.                    izstart=p7          ; start z position of source (up-down)
  253.                    izend  =p10         ; end   z position of source
  254.                    ixsize =p11         ; width  of the resonator
  255.                    iysize =p12         ; depth  of the resonator
  256.                    izsize =p13         ; height of the resonator
  257.                    idiff  =p14         ; diffusion coefficient
  258.                    iexpert=p15         ; power user values stored in this function
  259.  
  260.        ainput      soundin p4
  261.        ksource_x   line    ixstart, p3, ixend
  262.        ksource_y   line    iystart, p3, iyend
  263.        ksource_z   line    izstart, p3, izend
  264.  
  265.        al,ar       babo    ainput*0.9, ksource_x, ksource_y, ksource_z,                    ixsize, iysize, izsize, idiff, iexpert
  266.  
  267.                    outs    al,ar
  268.  
  269.                    endin
  270.  
  271.    Score File - Expert Usage
  272.        ; full blown instrument
  273.        ;p5         : start x position of source (left-right)
  274.        ;p6         : end   x position of source
  275.        ;p7         : start y position of source (front-back)
  276.        ;p8         : end   y position of source
  277.        ;p9         : start z position of source (up-down)
  278.        ;p10        : end   z position of source
  279.        ;p11        : width  of the resonator
  280.        ;p12        : depth  of the resonator
  281.        ;p13        : height of the resonator
  282.        ;p14        : diffusion coefficient
  283.        ;p15        : power user values stored in this function
  284.  
  285.        ;         decay  hidecay rx ry rz rdistance direct early_diff
  286.        f1  0 8 -2  0.95   0.95   0  0  0    0.3     0.5      0.8  ; brighter
  287.        f2  0 8 -2  0.95   0.5    0  0  0    0.3     0.5      0.8  ; default (to be set as)
  288.        f3  0 8 -2  0.95   0.01   0  0  0    0.3     0.5      0.8  ; darker
  289.        f4  0 8 -2  0.95   0.7    0  0  0    0.3     0.1      0.4  ; to hear the effect of diffusion
  290.        f5  0 8 -2  0.9    0.5    0  0  0    0.3     2.0      0.98 ; to hear the movement
  291.        f6  0 8 -2  0.99   0.1    0  0  0    0.3     0.5      0.8  ; default vals
  292.        ;        ^
  293.        ;         ----- gen. number: negative to avoid rescaling
  294.  
  295.  
  296.        i2   10 10 1  6  4  3   6   4  3  14.39  11.86  10   1   6 ; defaults
  297.        i2   +   4 2  6  4  3   6   4  3  14.39  11.86  10   1   1 ; hear brightness 1
  298.        i2   +   4 2  6  4  3  -6  -4  3  14.39  11.86  10   1   2 ; hear brightness 2
  299.        i2   +   4 2  6  4  3  -6  -4  3  14.39  11.86  10   1   3 ; hear brightness 3
  300.        i2   +   3 2  .6 .4 .3 -.6 -.4 .3  1.439  1.186  1.0 0.0 4 ; hear diffusion 1
  301.        i2   +   3 2  .6 .4 .3 -.6 -.4 .3  1.439  1.186  1.0 1.0 4 ; hear diffusion 2
  302.        i2   +   4 2 12  4  3 -12  -4 -3  24.39  21.86  20   1   5 ; hear movement
  303.        ;
  304.        i2   +   4 1  6  4  3   6   4  3  14.39  11.86   10  1   1 ; hear brightness 1
  305.        i2   +   4 1  6  4  3  -6  -4  3  14.39  11.86   10  1   2 ; hear brightness 2
  306.        i2   +   4 1  6  4  3  -6  -4  3  14.39  11.86   10  1   3 ; hear brightness 3
  307.        i2   +   3 1  .6 .4 .3 -.6 -.4 .3  1.439  1.186  1.0 0.0 4 ; hear diffusion 1
  308.        i2   +   3 1  .6 .4 .3 -.6 -.4 .3  1.439  1.186  1.0 1.0 4 ; hear diffusion 2
  309.        i2   +   4 1 12  4  3 -12  -4 -3  24.39  21.86   20  1   5 ; hear movement
  310.        ;            ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^   ^
  311.        ;            |||||||||||||||||||  |||||||||||||||||  |    --: expert values function
  312.        ;            |||||||||||||||||||  |||||||||||||||||  +--: diffusion
  313.        ;            |||||||||||||||||||  ----------------: optimal room dims according to Milner and Bernard JASA 85(2), 1989
  314.        ;            |||||||||||||||||||
  315.        ;            --------------------: source position start and end
  316.        e
  317.  
  318. AUTHORS
  319.        Davide  Rocchesso  (rocchesso@sci.univr.it) invented Babo,
  320.        Padova 1994.
  321.  
  322.        Paolo Filippi (paolfili@tiscalinet.it)  coded  the  csound
  323.        implementation, Padova 1999
  324.  
  325.        Nicola   Bernardini (nicb@axnet.it) wrote the  manual page
  326.        and cleaned up the code, Rome 2000.
  327.  
  328. ------------------------------------------------------------------------
  329. ksig    sense
  330.  
  331. Returns the ascii code of one of the keys that has been pressed, or -1
  332. if no key.
  333.  
  334. Note that this is not properly verified, and seems not to work at all
  335. on Windows.
  336.  
  337. (JPff)
  338.  
  339. ------------------------------------------------------------------------
  340.  
  341. ar      transeg     istart, idur, itype, ivalue, [idur, itype, ivalue,]*
  342. kr      transeg     istart, idur, itype, ivalue, [idur, itype, ivalue,]*
  343.  
  344. Constructs an envelope between istart and ivalue for a duration of
  345. idur seconds.  If itype is 0 then a straight line is produced;
  346. otherwise is creates the curve 
  347.     istart + (ivalue - istart) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
  348. for n steps
  349.  
  350. Thus if itype > 0  there is a slowly rising, fast decaying (convex)
  351. curve, while is itype < 0  the curve is fast rising, slowly decaying
  352. (concave).
  353.  
  354. (JPff -- with assistance from a number of people)
  355. ------------------------------------------------------------------------
  356.  
  357. GEN16 
  358.         f # time size 16 start dur type end [dur type end ....]
  359.  
  360. Creates a table from start to end of dur steps. It typoe is 0 this is
  361. a straight line.  Otherwise it is 
  362.         start + (end - start)*(1 - exp(i*type/(N-1)))/(1 - exp(type))
  363.  
  364. (JPff -- with assistance from a number of people)
  365. ------------------------------------------------------------------------
  366.