Use Non-Frames Version Previous Page Next Page
Pitch Convertors: Tuning Opcodes

cps2pch, cpsxpch

  icps     cps2pch    ipch, iequal
  icps     cpsxpch    ipch, iequal, irepeat, ibase

Description

Converts a pitch-class notation into cycles-per-second (Hz) for equal divisions of the octave (for cps2pch) or for equal divisions of any interval. There is a restriction of no more than 100 equal divisions.

Initialization

ipch – Input number of the form 8ve.pc, indicating an 'octave' and which note in the octave.

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 twelfth, 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.02197503906
    
  2. These are opcodes not functions
  3. Negative values of ipch are allowed, but not negative irepeat, iequal or ibase.

Example

  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 scale

The 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.9

can be used with:

  ip  cps2pch  p4, -2

to get a 10 note scale of unequal divisions.

Author

John ffitch
University of Bath/Codemist Ltd. Gabriel Maldonado
Italy
1998 (New in Csound version 3.492)
Bath, UK
1997


Use Non-Frames Version Previous Page Next Page
Pitch Convertors: Tuning Opcodes