icps cps2pch ipch, iequal icps cpsxpch ipch, iequal, irepeat, ibase
iequal - if positive, the number of equal intervals into which the `octave' is divided. Must be less than or equal to 100. if negative is the number of a table of frequency multipliers
irepeat - Number indicating the interval which is the `octave'. The integer 2 corresponds to octave divisions, 3 to a twelveth, 4 is two octaves, and so on. This need not be an integer, but must be positive.
ibase - The frequency which corresponds to pitch 0.0
Note: 1. The following are essentially the same
ia = cpspch(8.02) ib cps2pch 8.02, 12 ic cpsxpch 8.02, 12, 2, 1.021975039062. These are opcodes not functions.
3. Negative values of ipch are allowed, but not negative irepeat, iequal or ibase.
inote cps2pch p5, 19 ; convert oct.pch to cps in 19ET inote cpsxpch p5, 12, 3, 261.62561 ; Pierce scale centered ; on middle A inote cpsxpch p5, 21, 4, 16.35160062496 ; 10.5ET scaleThe use of a table allows exotic scales by mapping frequencies in a table. For example the table:
f2 0 16 -2 1 1.1 1.2 1.3 1.4 1.6 1.7 1.8 1.9can be used with:
ip cps2pch p4, -2
to get a 10 note scale of unequal divisions.