pvsarp

pvsarp — Arpège les composantes spectrales d'un flux de signal pv.

Description

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.

Syntaxe

fsig pvsarp fsigin, kbin, kdepth, kgain

Exécution

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] 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.

Exemples

Voici un exemple de l'opcode pvsarp. Il utilise le fichier pvsarp.csd

Exemple 702. 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 703. 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>


Voir aussi

pvsanal, pvsynth, pvsadsyn

Crédits

Auteur : Victor Lazzarini
Avril 2005

Nouveau greffon dans la version 5

Avril 2005.