pvsarp
Prev | Opcodes et opérateurs de l'orchestre | Next

## 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

| Warning
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

Example 673. 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

Example 674. 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.

Prev | Up | Next
pvsanal | Home | pvsbandp