semitone

semitone — Calcule un facteur pour élever/abaisser une fréquence d'un certain nombre de demi-tons.

Description

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

Syntaxe

semitone(x)

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

Initialisation

x -- une valeur exprimée en demi-tons.

Exécution

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

Exemples

Voici un exemple de l'opcode demi-ton. Il utilise le fichier semitone.csd.

Exemple 824. 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
.......

Voir aussi

cent, db, octave

Crédits

Nouveau dans la version 4.16