STKSaxofony — STKSaxofony simule un instrument à anche et perce conique.
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
STKSaxofony simule un instrument à anche et perce conique. Cet opcode utilise un instrument "hybride" à guide d'onde numérique qui peut générer une variété de sons de type vents. Il est aussi connu sous le nom de modèle de "corde soufflée". La section du guide d'onde est essentiellement celle d'une corde, avec une extrémité rigide et l'autre dissipative. La fonction non-linéaire est une table d'anche. La corde peut être "soufflée" n'importe où entre les extrémités, tandis que, comme pour les cordes, il est impossible d'exciter le système à l'une de ses extrémités. Si l'excitation a lieu au milieu de la corde, le son est celui d'une clarinette. Aux points plus proches du "chevalet", le son se rapproche de celui d'un saxophone.
asignal STKSaxofony ifrequency, iamplitude, [kstiff, kv1[, kapert, kv2[, kblow, kv3[, knoise, kv4[, klfo, kv5[, klfodepth, kv6[, kbreath, kv7]]]]]]]
ifrequency -- Fréquence de la note jouée, en Hz.
iamplitude -- Amplitude de la note jouée (entre 0 et 1).
kstiff -- contrôleur 2, raideur de l'anche. kv1 compris entre 0 et 127.
kapert -- contrôleur 26, ouverture de l'anche. kv2 compris entre 0 et 127.
kblow -- contrôleur 11, position su souffle. kv3 compris entre 0 et 127.
knoise -- contrôleur 4, gain du bruit. kv4 compris entre 0 et 127.
klfo -- contrôleur 29, vitesse de l'oscillateur basse-fréquence. kv5 compris entre 0 et 127.
klfodepth -- contrôleur 1, intensité de l'oscillateur basse-fréquence. kv6 compris entre 0 et 127.
kbreath -- contrôleur 128, pression du souffle. kv7 compris entre 0 et 127.
Notes | |
---|---|
Le code pour cet opcode vient directement de la classe Saxofony 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 STKSaxofony. Il utilise le fichier STKSaxofony.csd.
Exemple 1026. Exemple de l'opcode STKSaxofony.
<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 STKSaxofony.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifreq = p4 kv1 = p5 ;reed stiffness kv3 line p6, p3, p7 ;blow position kv6 line 0, p3, 127 ;depth of low-frequency oscillator asig STKSaxofony cpspch(p4), 1, 2, kv1, 4, 100, 26, 70, 11, kv3, 1, kv6, 29, 100 asig = asig * .5 ;too loud outs asig, asig endin </CsInstruments> <CsScore> i 1 0 3 6.00 30 100 10 i 1 + . 8.00 30 100 100 i 1 + . 7.00 90 127 30 e </CsScore> </CsoundSynthesizer>