pvsinfo — Retourne de l'information sur une source au format PVOC-EX.
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.
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).
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