pvslpc

pvslpc — Analyse par prédiction linéaire sur un flux.

Description

Cet opcode réalise l'analyse par prédiction linéaire sur un flux à partir d'un signal en entrée et produit un fsig qui peut être utilisé par d'autres opcodes pvs.

Syntaxe

fsig pvslpc asrc, idftsiz, ihop, iord[,iwin] 

Initialisation

idftsiz -- taille d'une trame d'entrée lpc en échantillons et d'une trame d'analyse fsig. Doit être une puissance de deux.

iord -- ordre du prédicteur linéaire.

ihop -- taille du saut d'analyse.

iwin -- numéro d'une table de fonction de fenêtrage (facultatif).

Exécution

fsig -- fsig en sortie.

asrc -- signal source pour l'analyse lpc.

Cet opcode fait partie d'une suite d'opcodes de prédiction linéaire sur un flux. Il analyse un signal d'entrée et produit un ensemble de coefficients LPC pour un filtre tout-pôle qui modélise l'enveloppe spectrale du signal. La fonction de transfert de ce filtre est ensuite calculée et son spectre d'amplitudes est sorti sous la forme d'un flux de vocodeur de phase.

Les paramètres d'analyse fondamentaux sont la taille de trame en entrée et l'ordre du filtre. Des trames d'entrée plus longues produiront un résultat plus précis en termes de résolution en fréquence, mais induiront aussi plus de calculs. Ceci est dû au calcul de la fontion d'autocorrélation, qui est utilisée ensuite dans le calcul des coefficients. Cette partie est plus efficace et dépend seulement de l'ordre de la prédiction linéaire. qui est aussi le nombre de coefficients calculés. Les ordres typiques de lp peuvent aller de 30 à 100 coefficients, mais on peut utiliser de plus grandes valeurs.

Les analyses sont produites tous les ihop échantillons. Une fois le signal extrait de l'entrée audio il peut être facultativement fenêtré si une table de fonction est fournie. Bien que ce soit facultatif, c'est une procédure recommandée (GEN20 peut fournir les fenêtres les plus communes). Le signal est ensuite analysé et les coefficients sont produits. Le fsig produit par cet opcode est donné dans le format AMP-FREQ. Les amplitudes contiennent l'enveloppe spectrale du signal d'entrée, et les fréquences sont dérivées de l'estimation d'une fréquence fondamentale calculée à partir de la fonction d'autocorrélation. Elles ne représent pas les fréquences dans le signal d'entrée à n'importe quel degré de précision ; ce sont seulement des espaces réservés.

Exemples

Voici un exemple de l'opcode pvslpc qui utilise un signal d'entrée audio comme source lpc. Il utilise le fichier pvslpc.csd.

Exemple 811. Exemple de l'opcode pvslpc.

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>
-odac -d
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 64
nchnls = 1
0dbfs = 1

gifw ftgen 0,0,1024,20,2,1

instr 1
a1 diskin "fox.wav",1,0,1
a2 diskin "beats.wav",1,0,1
fenv pvslpc a1,1024,128,64,gifw
fexc pvsanal a2,1024,128,1024,1
fsig pvsfilter fexc,fenv, 1, 0.5
a3 pvsynth fsig
a3 dcblock a3
out a3
endin

</CsInstruments>
<CsScore>
i1 0 30
</CsScore>
</CsoundSynthesizer>


Voir aussi

lpcfilter, allpole