pvsinfo

pvsinfo — Retourne de l'information sur une source au format PVOC-EX.

Description

Retourne de l'information sur le format de fsrc, que celui-ci soit créé par un opcode comme pvsanal ou qu'il soit obtenu à partir d'un fichier PVOC-EX par pvsfread. Cette information est disponible à l'initialisation et peut être utilisée pour fixer les paramètres d'autres opcodes pvs, en particulier pour créer des tables de fonction (par exemple pour pvsftw), ou pour fixer le nombre d'oscillateurs pour pvsadsyn.

Syntaxe

ioverlap, inumbins, iwinsize, iformat pvsinfo fsrc

Initialisation

ioverlap -- La taille de recouvrement du flot.

inumbins -- Le nombre de bins d'analyse (amplitude + fréquence) dans fsrc. La taille de TFR sous-jacente est calculée comme (inumbins - 1) * 2.

iwinsize -- La taille de la fenêtre d'analyse. Peut être supérieure à la taille de TFR.

iformat -- Le format de trame d'analyse. Si fsrc est créé par un opcode, iformat vaut toujours 0, ce qui signifie (amplitude + fréquence). Si fsrc est défini à partir d'un fichier PVOC-EX, iformat peut également valoir 1 ou 2 (amplitude + phase, complexe).

Exemples

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

Exemple 840. Exemple de l'opcode pvsinfo.

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

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

; by Menno Knevel 2021

; analyze sound file and output result to pvoc-ex file
ires  system_i 1,{{ pvanal fox.wav fox.pvx }}          ; default settings
ires1 system_i 1,{{ pvanal -n256 MSjungleMid.wav MSjungleMid.pvx }}    ; different frame size

instr 1

if p4 == 0 then
    idur filelen  "fox.pvx"		;find duration of analysis file
    kpos line     0,p3,idur		;to ensure we process whole file
    fsrc pvsfread kpos, "fox.pvx"	;create fsig from (mono) file
    prints  "\n---***you now hear the analyzed file fox.pvx***---"
else
    idur filelen  "MSjungleMid.pvx"		;find duration of analysis file
    kpos line     0,p3,idur		;to ensure we process whole file
    fsrc pvsfread kpos, "MSjungleMid.pvx"	;create fsig from (mono) file
    prints  "\n---***you now hear the analyzed file MSjungleMid.pvx***---"
endif

iovl,inb,iws,ifmt pvsinfo fsrc	;get info
prints "\n          Overlap size   = %d\n", iovl  ;print info
prints "          Number of bins = %d\n",inb
prints "          Window size    = %d\n",iws
prints "          Frame Format   = %d\n",ifmt
prints "\n"
aout pvsynth fsrc
     outs aout, aout

endin
</CsInstruments>
<CsScore>
i 1 0  3     0  ; the fox
i 1 5 13     1  ; the jungle
e
</CsScore>
</CsoundSynthesizer>


L'exemple produira la sortie suivante :

instr 1:  iovl = 256.000  inb = 513.000  iws = 2048.000  ifmt = 0.000

Crédits

Auteur : Richard Dobson
Août 2001

Nouveau dans la version 4.13