cent — Calculates a factor to raise/lower a frequency by a given amount of 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.
Here is an example of the cent opcode. Play cent.csd
Example 124. Example of the cent opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<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