| jpff@codemist.co.uk wrote:
> do not seem to have made the manual yet.
GEN51 documentation was posted by Gabriel Maldonado, and is
quoted here:
========================== MANUAL ========================
GEN51
This subroutine fills a table with a fully customized micro-tuning
scale, in the manner of Csound opcodes cpstun, cpstuni and cpstmid.
f# time size -51 numgrades interval basefreq basekey tuningRatio1
tuningRatio2 .... tuningRationN
The first four parameters (i.e. p5, p6, p7 and p8) define the following
generation directives:
p5 (numgrades) - the number of grades of the micro-tuning scale
p6 (interval) - the frequency range covered before repeating the grade
ratios, for example 2 for one octave, 1.5 for a fifth etcetera
p7 (basefreq) - the base frequency of the scale in cps
p8 (basekey) - the integer index of the scale to which to assign
basefreq unmodified
The other parameters define the ratios of the scale:
p9...pN (tuningRatio1...etc.) - the tuning ratios of the scale
For example, for a standard 12-grade scale with the base-frequency of
261 cps assigned to the key-number 60, the corresponding f-statement in
the score to generate the table should be:
; numgrades basefreq tuning-ratios
(eq.temp) .......
; interval basekey
f1 0 128 -51 12 2 261 60 1 1.059463
1.12246 1.18920 ..etc...
After the gen has been processed, the table f1 is filled with 64
different frequency values. The 60th element is filled with the
frequency value of 261, and all other elements (preceding and
subsequents) of the table are filled according to the tuning ratios
Another example with a 24-grade scale with a base frequency of 440
assigned to the key-number 48, and a repetition interval of 1.5:
; numgrades basefreq tuning-ratios .....
; interval basekey
f1 0 128 -2 24 1.5 440 48 1 1.01 1.02 1.03
..etc...
I did not write a manual for GEN52 yet, but here is how it is used
in general:
f # time size 52 nchannels channel_params_1 channel_params_2 ...
where each channel_params consists of three values in the
following order:
* source ftable number
* start offset
* location increment
GEN52 creates an interleaved multichannel table from the specified
source tables, in the format expected by the 'ftconv' opcode.
It can also be used to extract a channel from a multichannel table
and store it in a normal mono table.
Example:
; source tables
f 1 0 16384 10 1
f 2 0 16384 10 0 1
; create 2 channel interleaved table
f 3 0 32768 -52 2 1 0 1 2 0 1
; extract first channel
f 4 0 16384 -52 1 3 0 2
; extract second channel
f 5 0 16384 -52 1 3 1 2
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |