STKRhodey — Instrument STK, piano électrique comme un Fender Rhodes, réalisé par synthèse FM.
Instrument STK, piano électrique comme un Fender Rhodes, réalisé par synthèse FM.
Cet opcode implémente un instrument basé sur deux paires simples de MF additionnées ensemble, aussi connu comme l'algorithme 5 du TX81Z de Yamaha. Il simule le son d'un piano électrique Rhodes, et d'autres sons approchants.
asignal STKRhodey ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]
ifrequency -- Frequency of note played, in Hertz.
iamplitude -- Amplitude de la note jouée (entre 0 et 1).
kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8 -- Jusqu'à 8 paires de contrôleurs facultatifs au taux-k pour les opcodes STK. Chaque paire de contrôleurs est constituée d'un numéro de contrôleur (kc) suivi d'une valeur de contrôleur (kv). Les 5 numéros de contrôleur et les valeurs qui fonctionnent pour STKRhodey sont :
kc, kv -- 2, index 1 du modulateur.
kc, kv -- 4, fondu enchaîné des sorties.
kc, kv -- 11, vitesse de l'oscillateur basse-fréquence.
kc, kv -- 1, intensité de l'oscillateur basse-fréquence.
kc, kv -- 128, cible de l'ADSR 2 et 4.
![]() |
Note |
---|---|
Le code pour cet opcode vient directement de la classe Rhodey du Synthesis Toolkit en C++ par Perry R. Cook et Gary P. Scavone. On peut en savoir plus sur les classes STK ici : https://ccrma.stanford.edu/software/stk/classes.html |
Voici un exemple de l'opcode STKRhodey. Il utilise le fichier STKRhodey.csd.
Exemple 815. Exemple de l'opcode STKRhodey.
<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 STKRhodey.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifrq = p4 kndx line p5, p3, p6 ;(FM) Modulator Index One kadsr = p7 ;ADSR 2 and 4 target asig STKRhodey cpspch(p4), 1, 2, kndx, 4, 10, 11, 100, 1, 3, 128, p7 outs asig, asig endin </CsInstruments> <CsScore> i 1 0 .5 7.00 75 0 0 i 1 + . 8.00 120 0 120 i 1 + 1 6.00 50 120 50 i 1 + 4 8.00 10 120 100 e </CsScore> </CsoundSynthesizer>