pvswarp

pvswarp — Déforme l'enveloppe spectrale d'un signal PVS.

Description

Déforme l'enveloppe spectrale d'un signal PVS par translation et pondération.

Syntaxe

fsig pvswarp fsigin, kscal, kshift[, klowest, kmeth, kgain, kcoefs]

Exécution

fsig -- flot pv de sortie

fsigin -- flot pv d'entrée

kscal -- rapport de pondération de l'enveloppe spectrale. Les valeurs > 1 étirent l'enveloppe et les valeurs < 1 la compresse.

kshift -- translation de l'enveloppe spectrale (en Hz). Les valeurs > 0 décalent l'enveloppe linéairement vers le haut et les valeurs < 0 la décalent vers le bas.

klowest -- fréquence décalée la plus basse (n'affecte que kshift, vaut 0 par défaut).

kmethod -- méthode d'extraction de l'enveloppe spectrale. 1 : méthode du cepstre décalé ; 2 : méthode d'enveloppe véritable (vaut 1 par défaut).

kgain -- pondération de l'amplitude (1 par défaut).

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

[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 pvswarp. Il utilise le fichier pvswarp.csd.

Exemple 748. Exemple de l'opcode pvswarp.

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 pvswarp.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kscal = p4
kshift = p5
asig  soundin "fox.wav"			; get the signal in
fsig  pvsanal asig, 1024, 256, 1024, 1	; analyse it
ftps  pvswarp fsig, kscal, kshift		; warp it
atps  pvsynth ftps			; synthesise it                      
      outs atps/2, atps/2

endin
</CsInstruments>
<CsScore>
 ;change scale
i 1 0 3 1
i 1 + . 1.5
i 1 + . 3
i 1 + . .25
 ;change shift
i 1 + . 1 0
i 1 + . . 300
i 1 + . . 0
i 1 + . . -300
e
</CsScore>
</CsoundSynthesizer>


Utilisé avec des sons vocaux, il décale les formants ce qui donne un changement du timbre des voyelles, semblable à l'effet de l'inhalation d'hélium sur la voix d'un chanteur (l'effet "donald duck").

Voir aussi

pvsanal, pvsynth, pvsadsyn

Crédits

Auteur : Victor Lazzarini
Novembre 2004

Nouveau greffon dans la version 5

Novembre 2004.