semitone — Calcule un facteur pour élever/abaisser une fréquence d'un certain nombre de demi-tons.
La valeur retournée par la fonction semitone est un facteur. On peut multiplier une fréquence par ce facteur pour l'élever/l'abaisser du nombre de demi-tons spécifié.
Voici un exemple de l'opcode demi-ton. Il utilise le fichier semitone.csd.
Exemple 948. Exemple de l'opcode demi-ton.
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 ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o semitone.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 iroot = 440 ; root note is A above middle-C (440 Hz) ksem lfo 12, .5, 5 ; generate sawtooth, go from 5 octaves higher to root ksm = int(ksem) ; produce only whole numbers kfactor = semitone(ksm) ; for semitones knew = iroot * kfactor printk2 knew printk2 kfactor asig pluck 1, knew, 1000, 0, 1 asig dcblock asig ;remove DC outs asig, asig endin </CsInstruments> <CsScore> i 1 0 5 e </CsScore> </CsoundSynthesizer>
Sa sortie contiendra des lignes comme celles-ci :
i1 880.00000 i1 2.00000 i1 830.65625 i1 1.88786 i1 783.94665 i1 1.78170 i1 739.98885 i1 1.68179 i1 698.49586 i1 1.58749 i1 659.21793 i1 1.49822 i1 622.25397 i1 1.41421 i1 587.36267 i1 1.33492 i1 554.33399 i1 1.25985 i1 523.25113 i1 1.18921 i1 493.91116 i1 1.12253 i1 466.13747 i1 1.05940 i1 440.00000 i1 1.00000 .......