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

## pvscross

pvscross — Réalise une synthèse croisée entre deux sources fsig.

## Description

Réalise une synthèse croisée entre deux sources fsig.

## Syntaxe

    fsig pvscross fsrc, fdest, kamp1, kamp2

## Exécution

L'opération de cet opcode est identique à celle de pvcross sauf que l'on utilise des fsigs plutôt que des fichiers d'analyse, et qu'il n'y a pas de préservation de l'enveloppe spectrale. Les amplitudes de fsrc et de fdest (en utilisant les facteurs d'échelle kamp1 pour fsrc et kamp2 pour fdest) sont appliquées aux fréquences de fsrc. kamp1 et kamp2 doivent rester dans l'intervalle entre 0 et 1.

Avec cet opcode, on peut réaliser une synthèse croisée sur une entrée audio temps réel, en utilisant pvsanal pour générer fsrc et fdest. Ils doivent avoir le même format.

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

Example 685. Exemple de l'opcode pvscross.

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
    ipermut	=		p4; 1 = change order of soundfiles
    ifftsize	=		1024
    ioverlap	=		ifftsize / 4
    iwinsize	=		ifftsize
    iwinshape	=		1; von-Hann window
    Sfile1		=		"fox.wav"
    Sfile2		=		"wave.wav"
    ain1		soundin	Sfile1
    ain2		soundin	Sfile2
    fftin1		pvsanal	ain1, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file 1
    fftin2		pvsanal	ain2, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file 2
    ktrans		linseg		0, p3, 1; linear transition
    if ipermut == 1 then
    fcross		pvscross	fftin2, fftin1, ktrans, 1-ktrans
    else
    fcross		pvscross	fftin1, fftin2, ktrans, 1-ktrans
    endif
    aout		pvsynth	fcross
    		out		aout
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 2.757 0; frequencies from fox. wav; amplitudes moving from wave to fox
    i 1 3 2.757 1; frequencies from wave.wav, amplitudes moving from fox to wave
    e
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

pvsanal, pvsynth, pvsadsyn

## Crédits

Auteur : Richard Dobson
Août 2001

Novembre 2003. Grâce à Kanata Motohashi, le lien vers l'opcode pvcross a été fixé.

Nouveau dans la version 4.13

Prev | Up | Next
pvscent | Home | pvsdemix