temposcal

temposcal — Traitement par vocodeur à verrouillage de phase avec détection/traitement d'attaque et "pondération du tempo".

Description

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).

Syntaxe

asig temposcal ktimescal, kamp, kpitch, ktab, klock [,ifftsize, idecim, ithresh]
      

Initialisation

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).

Exécution

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.

Exemples

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

Exemple 957. 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>


Crédits

Auteur : Victor Lazzarini
Février 2010

Nouveau greffon dans la version 5.13

Février 2005.