cent

cent — Calcule un facteur pour élever/abaisser une fréquence d'un certain nombre de cents.

Description

Calcule un facteur pour élever/abaisser une fréquence d'un certain nombre de cents.

Syntaxe

cent(x) 

Cette fonction travaille aux taux-i, -k et -a.

Initialisation

x -- une valeur exprimée en cents.

Exécution

La valeur retournée par la fonction cent est un facteur. On peut multiplier une fréquence par ce facteur pour l'élever/l'abaisser du nombre de cents spécifié.

Exemples

Voici un exemple de l'opcode cent. Il utilise le fichier cent.csd.

Exemple 124. Exemple de l'opcode cent.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<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>


Sa sortie contiendra ces lignes :

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

Voir aussi

db, octave, semitone

Nouveau dans la version 4.16