cps2pch
Converts a pitch-class value into cycles-per-second (Hz) for equal divisions of the octave.
Syntax
icps cps2pch ipch, iequal
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.
Note
-
The following are essentially the same
ia = cpspch(8.02)
ib cps2pch 8.02, 12
ic cpsxpch 8.02, 12, 2, 1.02197503906
-
These are opcodes not functions
- Negative values of ipch are allowed.
Examples
Here is an example of the cps2pch opcode. It uses the file cps2pch.csd.
Example of the cps2pch opcode. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out Audio in
-odac -iadc ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o cps2pch.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; Use a normal twelve-tone scale.
ipch = 8.02
iequal = 12
icps cps2pch ipch, iequal
print icps
endin
</CsInstruments>
<CsScore>
; Play Instrument #1 for one second.
i 1 0 1
e
</CsScore>
</CsoundSynthesizer>
|
Its output should include lines like this:
Here is an example of the cps2pch opcode using a table of frequency multipliers. It uses the file cps2pch_ftable.csd.
Example of the cps2pch opcode using a table of frequency multipliers. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out Audio in
-odac -iadc ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o cps2pch_ftable.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
ipch = 8.02
; Use Table #1, a table of frequency multipliers.
icps cps2pch ipch, -1
print icps
endin
</CsInstruments>
<CsScore>
; Table #1: a table of frequency multipliers.
; Creates a 10-note scale of unequal divisions.
f 1 0 16 -2 1 1.1 1.2 1.3 1.4 1.6 1.7 1.8 1.9
; Play Instrument #1 for one second.
i 1 0 1
e
</CsScore>
</CsoundSynthesizer>
|
Its output should include lines like this:
Here is an example of the cps2pch opcode using a 19ET scale. It uses the file cps2pch_19et.csd.
Example of the cps2pch opcode using a 19ET scale. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out Audio in
-odac -iadc ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o cps2pch_19et.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
; Use 19ET scale.
ipch = 8.02
iequal = 19
icps cps2pch ipch, iequal
print icps
endin
</CsInstruments>
<CsScore>
; Play Instrument #1 for one second.
i 1 0 1
e
</CsScore>
</CsoundSynthesizer>
|
Its output should include lines like this:
See also
Pitch Converters: Tuning Opcodes
Credits
Author: John ffitch
University of Bath/Codemist Ltd.
Bath, UK
1997
New in Csound version 3.492