pvsarp — Arpège les composantes spectrales d'un flux de signal pv.
Cet opcode arpège les composantes spectrales, en amplifiant un bin et en atténuant tous les autres autour de ce dernier. Utilisé avec un LFO il fournit un arpégiateur semblable au programme specarp de Trevor Wishart.
fsig -- flot pv de sortie
fsigin -- flot pv d'entrée
kbin -- bin cible, normalisé entre 0 et 1 (0Hz - Nyquist).
kdepth -- importance de l'atténuation des bins voisins
kgain -- renforcement du gain appliqué au bin cible
![]() |
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 pvsarp. Il utilise le fichier pvsarp.csd
Exemple 651. Exemple de l'opcode pvsarp.
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 ; Audio out Audio in No messages -odac -iadc ;;;-d RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o pvsarp.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 ksmps = 100 nchnls = 1 0dbfs = 1 instr 1 asig in ; get the signal in idepth = p4 fsig pvsanal asig, 1024, 256, 1024, 1 ; analyse it kbin oscili 0.1, 0.5, 1 ; ftable 1 in the 0-1 range ftps pvsarp fsig, kbin+0.01, idepth, 2 ; arpeggiate it (range 220.5 - 2425.5) atps pvsynth ftps ; synthesise it out atps endin </CsInstruments> <CsScore> f 1 0 4096 10 1 ;sine wave i 1 0 10 0.9 i 1 + 10 0.5 e </CsScore> </CsoundSynthesizer>
Voici un autre exemple de l'opcode pvsarp. Il utilise le fichier pvsarp2.csd
Exemple 652. Exemple de l'opcode pvsarp.
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 ; Audio out Audio in -odac ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o pvsarp2.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 16 nchnls = 1 0dbfs = 1 ;; example written by joachim heintz 2009 instr 1 ifftsize = 1024 ioverlap = ifftsize / 4 iwinsize = ifftsize iwinshape = 1; von-Hann window Sfile1 = "fox.wav" ain1 soundin Sfile1 fftin pvsanal ain1, ifftsize, ioverlap, iwinsize, iwinshape ;make 3 independently moving accentuations in the spectrum kbin1 linseg 0.05, p3/2, .05, p3/2, .05 farp1 pvsarp fftin, kbin1, .9, 10 kbin2 linseg 0.075, p3/2, .1, p3/2, .075 farp2 pvsarp fftin, kbin2, .9, 10 kbin3 linseg 0.02, p3/2, .03, p3/2, .04 farp3 pvsarp fftin, kbin3, .9, 10 ;resynthesize and add them aout1 pvsynth farp1 aout2 pvsynth farp2 aout3 pvsynth farp3 aout = aout1*.3 + aout2*.3 + aout3*.3 out aout endin </CsInstruments> <CsScore> i 1 0 3 e </CsScore> </CsoundSynthesizer>