pvsifd

pvsifd — Distribution de Fréquence Instantanée, analyse de magnitude et de phase.

Description

L'opcode pvsifd prend en entrée un signal de taux-a et effectue une analyse de magnitude et de phase en Fréquence Instantanée, en utilisant la TFCT et la Distribution de Fréquence Instantanée, suivant la méthode décrite dans Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial Tracking", Proc.of ICMC05, Barcelona. Il génère deux flots de signal PV, l'un contenant les amplitudes et les fréquences (comme la sortie de pvsanal) et l'autre contenant les amplitudes et les phases non réduites.

Syntaxe

ffr, fphs pvsifd ain, ifftsize, ihopsize, iwintype[, iscal]

Exécution

ffr -- flot pv en sortie au format AMP_FREQ

fphs -- flot pv en sortie au format AMP_PHASE

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

ihopsize -- taille de saut en échantillons

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

iscal -- facteur d'amplitude (1 par défaut).

[Avertissement] Avertissement

Il est dangereux d'utiliser la même variable-f à la fois comme entrée et comme sortie des opcodes pvs. Ceci peut produire un comportement indéfini de certains de ces opcodes. Utilisez une variable différente à gauche et à droite de l'opcode.

Exemples

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

Exemple 839. Exemple de l'opcode pvsifd.

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 pvsifd.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

ifftsize    =   p4
ihopsize    =   p5
ain	diskin2  "beats.wav", 1, 0, 1                  
fs1,fsi2 pvsifd  ain, ifftsize, ihopsize, 1		; pvsifd analysis
fst	partials fs1, fsi2, .1, 1,3, 500	; partial tracking
aout	resyn    fst, 1, 1.5, 500, 1		; resynthesis (up a 5th)
	outs	aout, aout

endin
</CsInstruments>
<CsScore>
;sine
f1 0 4096 10 1
;           size    hop
i 1 0 2     2048    512  
i 1 3 2     1024    256      
e
</CsScore>
</CsoundSynthesizer>


L'exemple ci-dessus montre une analyse pvsifd enchainée à un suivi de partiel puis à une resynthèse additive avec interpolation cubique de la phase et transposition de hauteur.

Crédits

Auteur : Victor Lazzarini
Juin 2005

Nouveau greffon dans la version 5

Novembre 2004.