tabifd — Distribution de fréquence instantanée, analyse d'amplitude et de phase.
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.
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.
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).
Voici un exemple de l'opcode tabifd. Il utilise le fichier tabifd.csd.
Exemple 1062. 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.