tabifd

tabifd — Distribution de fréquence instantanée, analyse d'amplitude et de phase.

Description

L'opcode tabifd prend en entrée une table de fonction et fait une analyse de fréquence instantanée, amplitude et phase, au moyen de la TFCT et tabifd (distribution de fréquence instantanée) comme décrit dans Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial Tracking", Proc.of ICMC05, Barcelone. Il génère deux signaus de flot PV, l'un contenant les amplitudes et les fréquences (une sortie similaire à celle de pvsanal) et l'autre contenant les amplitudes et les phases non repliées.

Syntaxe

ffr,fphs tabifd ktimpt, kamp, kpitch, ifftsize, ihopsize, iwintype,ifn

Initialisation

ifftsize -- taille d'analyse de la TFR, doit être une puissance de deux et un multiple entier de la taille du saut.

ihopsize -- taille du saut en échantillons.

iwintype -- type de la fenêtre (O : Hamming, 1 : Hanning).

ifn -- table de fonction source.

Exécution

ffr -- flot PV en sortie au format AMP_FREQ.

fphs -- flot PV en sortie au format AMP_PHASE.

ktimpt -- point (en secondes) où commence la lecture dans la table (s'il est inférieur à zéro ou supérieur à la longueur de la table, il est ramené dans les limites par une opération de modulo).

kamp -- mise à l'échelle de l'amplitude.

kpitch -- mise à l'échelle de la hauteur (transposition).

Exemples

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

Exemple 927. Exemple de l'opcode tabifd.

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 tabifd.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>
sr=44100
ksmps=1
nchnls=1
opcode TrackPlay, a, kkiiii
 ktime,kthr,isiz,ihsiz,ifcos,ifn  xin 
 idel = isiz-ihsiz*(isiz/(2*ihsiz)-1)
 ffr,fphs tabifd ktime,10000,1, isiz, ihsiz, 1, ifn
 ftrk partials ffr, fphs,kthr, 1, 1, 500
 aout tradsyn   ftrk, 2,1, 500, ifcos 
 xout aout
endop
instr 1
p3 = ftlen(2)/sr
ktime line 0,p3,p3
ares TrackPlay ktime, 0.003,2048,256,1,2
     outs ares
endin

</CsInstruments>
<CsScore>
f1 0 16384 9 1 1 90
f2 0 0 1 "fox.wav" 0 0 1
i1	0 1 
</CsScore>
</CsoundSynthesizer>


L'exemple ci-dessus montre l'analyse tabifd alimentant une resynthèse additive avec transposition de hauteur par poursuite de partiel et phase cubique.

Crédits

Auteur : Victor Lazzarini
Août 2015

Nouveau greffon dans la version 6

Août 2015