STKWurley — STKWurley simule par synthès FM un piano électrique Wurlitzer.
Opcode du greffon stkopd. Ce greffon se trouve dans le répertoire des greffons et il doit être installé séparément. Le répertoire des greffons est ici : https://github.com/csound/plugins
STKWurley simule par synthès FM un piano électrique Wurlitzer. Il utilise deux paires FM simples additionnées ensemble, aussi connu comme l'algorithme 5 du TX81Z.
asignal STKWurley ifrequency, iamplitude, [kmod, kv1[, kcross, kv2[, klfo, kv3[, klfodepth, kv4[, kadsr, kv5]]]]]
ifrequency -- Fréquence de la note jouée, en Hz.
iamplitude -- Amplitude de la note jouée (entre 0 et 1).
kmod -- contrôleur 2, index 1 du modulateur. kv1 compris entre 0 et 127.
kcross -- contrôleur 4, fondu enchaîné des sorties. kv2 compris entre 0 et 127.
klfo -- contrôleur 11, vitesse de l'oscillateur basse-fréquence. kv3 compris entre 0 et 127.
klfodepth -- contrôleur 1, intensité de l'oscillateur basse-fréquence. kv4 compris entre 0 et 127.
kadsr -- contrôleur 128, cible de l'ADSR 2 et 4. kv5 compris entre 0 et 127.
Notes | |
---|---|
Le code pour cet opcode vient directement de la classe Wurley 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 kc1, kv1, kc2, kv2, kc3, kv3, kc4, kv4, kc5, kv5, kc6, kv6, kc7, kv7, kc8, kv8 -- Jusqu'à 8 paires de contrôle facultatives au taux-k pour les opcodes STK. Chaque paire de contrôle est constituée d'un numéro de contrôleur (kc) suivi d'une valeur de contrôleur (kv). Le numéro de contrôleur ainsi que la valeur associée sont des variables de taux-k. Cependant, durant l'exécution, les numéros de contrôleur sont habituellement constants tandis que les valeurs correspondantes peuvent changer à tout moment. L'ordre des paires de contrôle est arbitraire mais elles doivent apparaître après iamplitude. Il n'est pas non plus nécessaire d'utiliser toutes les paires. |
Voici un exemple de l'opcode STKWurley. Il utilise le fichier STKWurley.csd.
Exemple 1034. Exemple de l'opcode STKWurley.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o STKWurley.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifrq = p4 kv1 line p5, p3, p6 ;(FM) Modulator Index One kv3 = p7 asig STKWurley cpspch(p4), 1, 2,kv1, 4, 10, 11, kv3, 1, 30, 128, 75 outs asig, asig endin </CsInstruments> <CsScore> i 1 0 .5 7.00 75 0 20 i 1 + . 8.00 120 0 20 i 1 + 1 6.00 50 120 20 i 1 + 4 8.00 10 10 127 e </CsScore> </CsoundSynthesizer>