pvsifd — Distribution de Fréquence Instantanée, analyse de magnitude et de phase.
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.
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 | |
---|---|
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. |
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.