pvscfs

pvscfs — Coefficient tout pôle par analyse cepstrale.

Description

Cet opcode prend un signal pvs au format AMP *, applique la transformée de cepstre et calcule les coefficients d'un filtre tout pôle.

Syntaxe

kCoef[],krms,kerr  pvscfs fsig, iord[,imod]

Initialisation

iord -- ordre du filtre tout pôle.

imod -- mode de stabilisation du filtre (0 = pas de stabilisation ; 1 = reflexion de pôle ; 2 = limitation de pôle ; vaut 1 par défaut).

Exécution

kCoef[] -- coefficients du filtre tout pôle. (tableau de la taille de l'ordre du filtre).

krms -- valeur efficace estimée du signal source.

kerr -- erreur (ou résidu).

fsig -- signal d'entrée pvs signal au format PV_AMP_*.

Cet opcode fait partie d'une suite d'opcodes de prédiction linéaire sur un flux. Il prend un fsig, applique une transformée de cepstre, retenant iord coefficients, et calcule les coefficients pour un filtre tout pôle. Contrairement au cas de la prédiction linéaire, le filtre résultant peut être instable. Pour résoudre ce problème, deux méthodes de stabilisation sont offertes : les pôles peuvent être réfléchis à l'intérieur du cercle unité, ou limités à celui-ci. C'est plutôt gourmand en calcul, si bien que l'on a aussi l'option de ne pas l'utiliser (si le cas particulier le permet).

Exemples

Voici un exemple de l'opcode pvscfs utilisant un signal audio en entrée comme source lpc. Il utilise le fichier pvscfs.csd.

Exemple 821. Exemple de l'opcode pvscfs.

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

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

instr 1

a1   diskin "fox.wav", 1 
a2   diskin "wave.wav", 1, 0, 1         ; uses noisy wave
fenv pvsanal a1, 1024, 256, 1024, 1
kcfs[],krms,kerr pvscfs fenv, p4
a3 allpole a2*krms*kerr, kcfs
a3 dcblock a3
outs a3*8, a3*8
endin

</CsInstruments>
<CsScore>
;           order
i1 0 2.7      3
i1 3 2.7      30
i1 6 2.7      70
</CsScore>
</CsoundSynthesizer>


Voir aussi

lpcfilter, allpole