STKVoicForm

STKVoicForm — STKVoicForm est un instrument de synthèse à quatre formants.

Description

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.

Syntaxe

asignal STKVoicForm ifrequency, iamplitude, [kmix, kv1[, ksel, kv2[, klfo, kv3[, klfodepth, kv4[, kloud, kv5]]]]]

Initialisation

ifrequency -- Fréquence de la note jouée, en Hz.

iamplitude -- Amplitude de la note jouée (entre 0 et 1).

Exécution

kmix -- contrôleur 2, mélange voisé/non voisé. kv1 compris entre 0 et 127.

ksel -- contrôleur 4, sélection voyelle/phonème. 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.

kloud -- contrôleur 128, intensité (pente spectrale). kv5 compris entre 0 et 127.

[Note] Notes

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

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.

Exemples

Voici un exemple de l'opcode STKVoicForm. Il utilise le fichier STKVoicForm.csd.

Exemple 943. Exemple de l'opcode STKVoicForm.

<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 STKVoicForm.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

ifrq	=	p4
kv2	line	p5, p3, p6				;Vowel/Phoneme Selection

asig	STKVoicForm cpspch(p4), 1, 2, 1, 4, kv2, 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>


Crédits

Auteur : Michael Gogins (d'après Perry Cook)
Irreducible Productions
New York, NY

Nouveau dans la version 5.11 de Csound.