filescal

filescal — Traitement vocoder à verrouillage de phase avec détection/traitement d'attaque, 'pondération du tempo'.

Description

filescal implémente un traitement vocoder à verrouillage de phase à partir de fichiers sur disque, avec reéchantillonnage si nécessaire.

Cet opcode permet une pondération indépendante du temps et de la fréquence. Le temps progresse en interne, contrôlé par un paramètre facteur d'échelle du tempo ; quand une attaque est détectée, la pondération temporelle est momentanément interrompue pour éviter une dégradation des attaques. La qualité de l'effet est généralement améliorée lorsque le verrouillage de phase est actif.

filescal pondère également la hauteur, indépendamment de la fréquence, avec un facteur de transposition de taux-k.

Syntaxe

asig[, asig2] filescal ktimescal, kamp, kpitch, Sfile, klock [,ifftsize, idecim, ithresh]
      

Initialisation

Sfile -- fichier son source ; des fichiers mono ou stéréo sont acceptés, mais ils doivent correspondre au nombre de sorties.

ifftsize -- taille de TFR (puissance de deux), 2048 par défaut.

idecim -- décimation, 4 par défaut (ce qui signifie hopsize = fftsize/4).

idbthresh -- seuil basé sur le rapport en dB des spectres de puissance entre deux fenêtres successives. Un rapport détecté supérieur à celui-ci annule momentanément la pondération temporelle, pour éviter une dégradation (vaut 1 par défaut).

Exécution

ktimescal -- rapport de pondération temporelle, < 1 étirement, > 1 contraction. Nombres non-négatifs seulement.

kamp -- pondération de l'amplitude.

kpitch -- pondération de la hauteur des grains (1 = hauteur normale, < 1 inférieure, > 1 supérieure ; négative, lecture inversée).

klock -- active (valeur différente de zéro) ou désactive (zéro) le verrouillage de phase.

Exemples

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

Exemple 299. Exemple de l'opcode filescal.

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>
</CsOptions>
<CsInstruments>

instr 1
p3 = filelen("fox.wav")/p4
k1 linen 1,0.01,p3,0.1
a1 filescal p4,0.5,1,"fox.wav",1
  out a1*k1
endin

</CsInstruments>
<CsScore>
i1 0 1 1.25
i1 2.5 1 .75
</CsScore>
</CsoundSynthesizer>


Crédits

Auteur : Victor Lazzarini
Avril 2016

Nouveau dans la version 6.07

Avril 2016.