pvstencil — Transforme un flot pvoc selon une table de fonction de masquage.
Transforme un flot pvoc selon une table de fonction de masquage ; si l'amplitude du flot pvoc tombe sous la valeur de la fonction pour un canal pvoc spécifique, un gain est appliqué à ce canal.
Les amplitudes du flot pvoc sont comparées à une table de masquage ; si elles tombent sous les valeurs de la table, elles sont pondérées par kgain. Avant l'opération, les valeurs de la table sont pondérées par klevel, qui peut être utilisé comme contrôle de l'importance du masquage.
Les tables doivent avoir une taille d'au moins fftsize/2 ; pour la plupart des GENS il est important d'utiliser un point de garde (taille en puissance-de-deux plus un), cependant ceci n'est pas nécessaire avec GEN43.
Un des usages typiques de pvstencil est la réduction de bruit. Une empreinte de bruit peut être analysée avec pvanal en un fichier PVOC-EX et chargée dans une table avec GEN43. On peut ensuite utiliser celle-ci comme table de masquage pour pvstencil et l'importance de la réduction est contrôlée par kgain. Si l'on ignore la post-normalisation, les amplitudes moyennes de l'empreinte de bruit originale sont conservées. Cela fournit un bon point de départ pour une réduction de bruit réussie (si bien que klevel peut généralement être proche de 1).
D'autres effets de transformation sont possibles, tels que le filtrage et le "masquage inverse".
fsig -- flot pv de sortie
fsigin -- flot pv d'entrée
kgain -- gain du "pochoir"
klevel -- niveau de la fonction de masquage (pondère la ftable avant le "pochoir").
iftable -- table de la fonction de masquage
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 pvstencil. Il utilise le fichier pvstencil.csd.
Exemple 853. Exemple de l'opcode pvstencil.
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 real audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o pvstencil.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 ; By Stefano Cucchi - 2021 instr 1 fsource pvsdiskin "fox.pvx", 1, 0.2 kgain1 randomh p4, p5, p6 fstencil1 pvstencil fsource, kgain1, 1, 1 aout1 pvsynth fstencil1 kgain2 randomh p7, p8, p9 fstencil2 pvstencil fsource, kgain2, 1, 1 aout2 pvsynth fstencil2 outs aout1*0.2, aout2*0.2 endin </CsInstruments> <CsScore> f1 0 513 -7 0 128 0.01 256 0 128 0.9 i1 0 10 4 70 4.2 12 95 3.8 e </CsScore> </CsoundSynthesizer>
Pour un autre exemple de pvstencil, voir
GEN43