pvread — Lit un fichier d'analyse par vocodeur de phase et retourne la fréquence et l'amplitude d'un canal d'analyse ou bin.
pvread lit depuis un fichier pvoc et retourne la fréquence et l'amplitude d'un canal d'analyse ou bin. Les valeurs retournées peuvent être utilisée à n'importe quel autre endroit de l'instrument de Csound. Par exemple, on peut les utiliser comme arguments d'un oscillateur pour synthétiser une composante d'un signal analysé ou on peut utiliser un banc de pvreads pour resynthétiser le son analysé en synthèse additive en passant les valeurs de fréquence et de magnitude à un banc d'oscillateurs.
ifile -- le numéro pvoc (n dans pvoc.n) ou le nom entre guillemets du fichier d'analyse créé avec pvanal. (Voir pvoc.)
ibin -- le numéro du canal d'analyse duquel seront retournées la fréquence en Hz et la magnitude.
kfreq, kamp -- sorties de l'unité pvread. Ces valeurs, récupérées d'un fichier d'analyse par vocodeur de phase, représentent les valeurs de fréquence et d'amplitude d'un canal d'analyse spécifié par l'argument ibin. Une interpolation a lieu entre les trames d'analyse avec une résolution au taux-k et elle dépent bien sûr de la vitesse et de la direction de ktimpnt.
ktimpnt -- l'écoulement du temps, en secondes, dans ce fichier. ktimpnt doit toujours être positif, mais il peut avancer ou reculer dans le temps, être stationnaire ou discontinu, comme pointeur dans le fichier d'analyse.
L'exemple ci-dessous montre l'utilisation de pvread pour synthétiser un seul composant à la fois à partir d'un fichier d'analyse de vocodeur de phase. Il faut noter que l'on peut utiliser les sorties kfreq et kamp pour n'importe quel type de synthèse, de filtrage, de traitement, etc.
Exemple 752. Exemple de l'opcode pvread.
<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 pvread.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 instr 1 ; analyze "fox.wav" with PVANAL first ibin = p4 ktime line 0, p3, 2.8 kfreq, kamp pvread ktime, "fox.pvx", ibin ;read data from 7th analysis bin. asig poscil kamp, kfreq, 1 ;function 1 is a stored sine outs asig*5, asig*5 ;compensate loss of volume endin </CsInstruments> <CsScore> ;sine wave f1 0 4096 10 1 i 1 0 6 7 i 1 + 6 15 i 1 + 2 25 e </CsScore> </CsoundSynthesizer>