pvsmaska — Modifie les amplitudes en utilisant une table de fonction, avec mise à l'échelle dynamique.
Modifie les amplitudes de fsrc en utilisant une table de fonction, avec mise à l'échelle dynamique.
ifn -- La table-f à utiliser. Si le fsrc donné a N bins d'analyse, la table ifn doit être de taille supérieure ou égale à N. Il n'est pas nécessaire de normaliser la table, mais ses valeurs doivent être comprises entre 0 et 1. Elle peut provenir de la partition de la manière habituelle ou bien de l'orchestre en utilisant pvsinfo pour trouver la taille de fsrc, (retournée par pvsinfo dans inbins), qui peut ensuite être passée à ftgen pour créer la table-f.
kdepth -- Contrôle le degré de modification appliqué à fsrc, en utilisant une simple échelle linéaire. 0 laisse les amplitudes inchangées, 1 applique le profil complet de ifn.
Noter que les tailles de TFR en puissances de deux sont particulièrement adaptées au traitement basé sur des tables, car le nombre de bins d'analyse (inbins) est alors une puissance de deux plus un, pour lequel une table-f correspondant exactement peut être créée. Dans ce cas il est important que la table-f soit créée avec un taille de inbins au lieu d'une puissance de deux, car sinon la première valeur de la table sera copiée dans le point de garde, ce qui ne convient pas pour cet opcode.
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 pvsmaska. Il utilise le fichier pvsmaska.csd.
Exemple 844. Exemple de l'opcode pvsmaska.
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 pvsmaska.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 ;; example written by joachim heintz 2009 ; function table for defining amplitude peaks (from the example of Richard Dobson) giTab ftgen 0, 0, 513, 8, 0, 2, 1, 3, 0, 4, 1, 6, 0, 10, 1, 12, 0, 16, 1, 32, 0, 1, 0, 436, 0 instr 1 imod = p4; degree of midification (0-1) ifftsize = 1024 ioverlap = ifftsize / 4 iwinsize = ifftsize iwinshape = 1; von-Hann window Sfile = "fox.wav" ain soundin Sfile fftin pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file fmask pvsmaska fftin, giTab, imod aout pvsynth fmask; resynthesize out aout, aout endin </CsInstruments> <CsScore> i 1 0 2.757 0 i 1 3 2.757 .5 i 1 6 2.757 1 e </CsScore> </CsoundSynthesizer>