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

## pvshift

pvshift — Décale les composantes de fréquence d'un flot pv, étirant/compressant son spectre.

## Description

Décale les composantes de fréquence d'un flot pv, étirant/compressant son spectre.

## Syntaxe

    fsig pvshift fsigin, kshift, klowest[, kkeepform, igain, kcoefs]

## Exécution

fsig -- flot pv de sortie

fsigin -- flot pv d'entrée

kshift -- quantité de décalage (en Hz, positive ou négative).

klowest -- fréquence la plus basse à décaler.

kkeepform -- tente de préserver les formants du signal d'entrée ; 0 : ne pas garder les formants ; 1 : conserve les formants en utilisant une méthode de cepstre décalé ; 2 : conserve les formants en utilisant une méthode avec une véritable enveloppe (vaut 0 par défaut).

kgain -- modification d'amplitude (1 par défaut).

kcoefs -- nombre de coefficients du cepstre utilisés pour la préservation des formants (vaut 80 par défaut).

Cet opcode décale les composantes d'un flot pv à partir d'une certaine fréquence, vers le haut ou vers le bas, d'une quantité fixe (en Hz). On peut l'utiliser pour transformer un spectre harmonique en un spectre inharmonique. L'indicateur kkeepform peut être utilisé pour essayer de préserver les formants pour des modifications du spectre intéressantes et inhabituelles.

| 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

Example 698. Exemples

    asig  in                                 ; get the signal in

    fsig  pvsanal   asig, 1024, 256, 1024, 1 ; analyse it
    ftps  pvshift   fsig, 100, 0             ; add 100 Hz to each component
    atps  pvsynth   ftps                     ; synthesise it

En fonction de l'entrée, ceci transformera un son à hauteur définie en un son inharmonique comme celui d'une cloche.

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

Example 699. Exemple de l'opcode pvshift.

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>
    -odac
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 16
    nchnls = 1
    0dbfs = 1

    ;; example written by joachim heintz 2009

    instr 1
    ishift		=		p4; shift amount in Hz
    ilowest	=		p5; lowest frequency to be shifted
    ikeepform	=		p6; 0=no formant keeping, 1=keep by amps, 2=keep by spectral envelope
    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
    fshift		pvshift  	fftin, ishift, ilowest, ikeepform; shift frequencies
    aout		pvsynth	fshift; resynthesize
    		out		aout
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 2.757 0 0 0; no shift at all
    i 1 3 2.757 100 0 0; shift all frequencies by 100 Hz
    i 1 6 2.757 200 0 0; by 200 Hz
    i 1 9 2.757 200 0 1; keep formants by method 1
    i 1 12 2.757 200 0 2; by method 2
    i 1 15 2.757 200 1000 0; shift by 200 Hz but just above 1000 Hz
    i 1 18 2.757 1000 500 0; shift by 1000 Hz above 500 Hz
    i 1 21 2.757 1000 300 0; above 300 Hz
    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

pvsanal, pvsynth, pvsadsyn

## Crédits

Auteur : Victor Lazzarini
Novembre 2004

Nouveau greffon dans la version 5

Novembre 2004.

Prev | Up | Next
pvsgain | Home | pvsifd