pvstrace — Ne retient que les N bins les plus forts.
Traite un flot PV en ne retenant que les N bins avec la plus grande amplitude, annulant les autres.
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).
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 | |
---|---|
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. |
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>