pvstrace

pvstrace — Ne retient que les N bins les plus forts.

Description

Traite un flot PV en ne retenant que les N bins avec la plus grande amplitude, annulant les autres.

Syntaxe

fsig pvstrace fsigin, kn 
fsig, kBins[] pvstrace fsigin, kn[, isort, imin, imax] 

Initialisation

isort -- s'il est non nul, les bins reportés dans kBins sont triés par amplitude décroissante. Facultatif, vaut 0 par défaut.

imin, imax -- s'ils sont non nuls, la recherche se fait entre une valeur min et une valeur max (0 par défaut, pas de min ni de max).

Exécution

fsig -- Flot PV en sortie.

kBins[] -- un tableau contenant tailleTFR/2 + 1 valeurs, dont les N premières valeurs reportent les kn numéros de bin retenus par pvstrace. Les autres positions sont mises à zéro. Il peut être trié en option.

fsigin -- Flot PV en entrée.

kn -- Nombre de bins à retenir.

[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'utilisation de l'opcode pvstrace. Il utilise le fichier pvstrace.csd.

Exemple 854. Exemple de l'opcode pvstrace.

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

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

instr 1

kn = p4
asig  diskin2	"beats.wav", 1
fsig  pvsanal   asig, 1024, 256, 1024, 1; analyse it
ftps  pvstrace   fsig, kn		; keep kn bins
atps  pvsynth   ftps			; synthesise it
      outs      atps, atps

endin
</CsInstruments>
<CsScore>
	
i1 0 2  5
i1 + 2  10
i1 + 2  20
i1 + 2  40
i1 + 2  80
i1 + 2  160
e
</CsScore>
</CsoundSynthesizer>


Voir aussi

pvsanal, pvsynth, pvsadsyn

Crédits

Auteur : Victor Lazzarini
2017

Nouveau greffon dans la version 6.09