temposcal — Traitement par vocodeur à verrouillage de phase avec détection/traitement d'attaque et "pondération du tempo".
temposcal implémente un traitement par vocodeur à verrouillage de phase utilisant des tables de fonction qui contiennent des sources sonores échantillonnées avec GEN01. Il acceptera ainsi des tables à allocation différée.
Cet opcode permet une pondération indépendante du temps et de la fréquence. Le temps progresse en interne mais il est contrôlé par un paramètre de pondération du tempo ; lorsqu'une attaque est détectée, l'échelonnement du temps est momentanément interrompue pour éviter le brouillage des attaques. La qualité de l'effet est généralement améliorée avec le verrouillage de phase activé.
temposcal pondère aussi la hauteur, indépendamment de la fréquence, en utilisant un facteur de transposition (taux-k).
ifftsize -- taille de la TFR (puissance de deux), vaut par défaut 2048.
idecim -- décimation, 4 par défaut (ce qui signifie que hopsize = fftsize/4).
idbthresh -- seuil basé sur le rapport du spectre de puissance en dB entre deux fenêtres successives. Un rapport détecté au-dessus du seuil annule momentanément l'échelonnement du temps, pour éviter le brouillage des attaques (vaut 1 par défaut).
ktimescal -- rapport d'échelonnement du temps, < 1 étirement, > 1 contraction.
kamp -- pondération de l'amplitude.
kpitch -- pondération de la hauteur de grain (1=hauteur normale, < 1 plus grave, > 1 plus aigu ; négatif, à l'envers).
klock -- 0 ou 1, pour désactiver/activer le verrouillage de phase.
ktab -- table de fonction du signal source. Les tables à allocation différée (voir GEN01) sont acceptées, mais l'opcode attend une source mono. On peut changer de table au taux-k.
Voici un exemple de l'opcode temposcal. Il utilise le fichier temposcal.csd.
Exemple 1094. Exemple de l'opcode temposcal.
Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o temposcal.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 instr 1 ilock = p4 itab = 1 ipitch = 1 iamp = 0.8 ktime linseg 0.3, p3/2, 0.8, p3/2, 0.3 asig temposcal ktime, iamp, ipitch, itab, ilock outs asig, asig endin </CsInstruments> <CsScore> f 1 0 0 1 "fox.wav" 0 4 0 i 1 0 3.8 0 ;no locking i 1 4 3.8 1 ;locking e </CsScore> </CsoundSynthesizer>