cent
Calculates a factor to raise/lower a frequency by a given amount of cents.
Syntax
This function works at a-rate, i-rate, and k-rate.
Initialization
x -- a value expressed in cents.
The value returned by the cent function is a factor. You can multiply a frequency by this factor to raise/lower it by the given amount of cents.
Examples
Here is an example of the cent opcode. It uses the file cent.csd.
Example of the cent opcode. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac ;;;RT audio out
;-iadc ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o cent.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1 ; original pitch
iroot = 440 ; root note = A (440 Hz)
print iroot ;print out
asig oscili 0.6, iroot, 1
outs asig, asig
endin
instr 2
iroot = 440 ; root note = A (440 Hz)
icents = p4 ; change root note by 300 and 1200 cents
ifactor = cent(icents) ; calculate new note
inew = iroot * ifactor
print iroot ; Print all
print ifactor
print inew
asig oscili 0.6, inew, 1
outs asig, asig
endin
</CsInstruments>
<CsScore>
; sine wave
f1 0 32768 10 1
i 1 0 2 ;no change
i 2 2.5 2 300 ;note = C above A
i 2 5 2 1200 ;1 octave higher
e
</CsScore>
</CsoundSynthesizer>
|
Its output should include lines like:
instr 1: iroot = 440.000
instr 2: iroot = 440.000
instr 2: ifactor = 1.189
instr 2: inew = 523.251
instr 2: iroot = 440.000
instr 2: ifactor = 2.000
instr 2: inew = 880.000
See also
Pitch Converters: Functions
New in version 4.16