pvscfs — Coefficient tout pôle par analyse cepstrale.
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.
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).
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).
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>