resyn

resyn — Synthèse additive d'un flot de suivi de partiel avec interpolation cubique de la phase, contrôle de hauteur et modification de l'échelle temporelle de l'entrée.

Description

L'opcode resyn prend en entrée un flot de signal PV TRACKS (tel que généré par l'opcode partials par exemple). Il resynthétise le signal avec interpolation linéaire de l'amplitude et interpolation cubique de la phase pour piloter une banque d'oscillateurs interpolants avec pondération de l'amplitude et de la hauteur. resyn est une version modifiée desinsyn, qui permet la resynthèse de données avec modification de la hauteur et de l'échelle temporelle.

Syntaxe

asig resyn fin, kscal, kpitch, kmaxtracks, ifn

Exécution

asig -- signal audio de sortie

fin -- flot PV TRACKS d'entrée

kscal -- pondération de l'amplitude

kpitch -- pondération de la hauteur

kmaxtracks -- nombre maximum de pistes dans la resynthèse. En limitant ce dernier, on obtient un effet de filtrage non-linéaire (les pistes sont ordonnées respectivement par date de début et par fréquence ascendante).

ifn -- table de fonction contenant une période de fonction sinusoïdale (sinus ou cosinus).

Exemples

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

Exemple 827. Exemple de l'opcode resyn.

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

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

instr 1

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

endin
</CsInstruments>
<CsScore>
;sine
f1 0 4096 10 1

i 1 0 2.7 500
i 1 3 2.7 10	;non-linear filtering effect	

e
</CsScore>
</CsoundSynthesizer>


L'exemple ci-dessus montre le suivi de partiel d'un signal d'analyse par distribution de fréquence instantanée et la 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.