STKVoicForm — STKVoicForm est un instrument de synthèse à quatre formants.
STKVoicForm est un instrument de synthèse à quatre formants. Cet instrument contient une table d'onde d'excitation de voix chantée (onde bouclée avec vibrato aléatoire et périodique, lissage de fréquence, etc.), bruit d'excitation et quatre résonances complexes balayables. Des données de formant mesurées sont comprises et il y a suffisamment de données pour supporter la synthèse en parallèle ou en cascade. En virgule flottante, la synthèse en cascade est la plus naturelle et c'est donc celle-ci que l'on trouve ici.
asignal STKVoicForm ifrequency, iamplitude, [kc1, kv1[, kc2, kv2[, kc3, kv3[, kc4, kv4[, kc5, kv5]]]]]
ifrequency -- Fréquence de la note jouée, en Hz.
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 STKVoicForm sont :
kc, kv -- 2, voiced/unvoiced mix.
kc, kv -- 4, vowel/phoneme selection.
kc, kv -- 11, speed of low-frequency oscillator.
kc, kv -- 1, depth of low-frequency oscillator.
kc, kv -- 128, loudness (spectral tilt).
![]() |
Note |
---|---|
Le code pour cet opcode vient directement de la classe VoicForm 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 STKVoicForm. Il utilise le fichier STKVoicForm.csd.
Exemple 789. Exemple de l'opcode STKVoicForm.
<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 STKVoicForm.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ifrq = p4 ksel line p5, p3, p6 ;Vowel/Phoneme Selection asig STKVoicForm cpspch(p4), 1, 2, 1, 4, ksel, 128, 100, 1, 10, 11, 100 asig = asig * .5 ;too loud outs asig, asig endin </CsInstruments> <CsScore> i 1 0 5 7.00 100 0 i 1 + 10 7.00 1 50 e </CsScore> </CsoundSynthesizer>