pvread

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.

Description

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 une banque 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.

Syntaxe

kfreq, kamp pvread ktimpnt, ifile, ibin

Initialisation

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.

Exécution

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.

Exemples

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 648. 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>


Voir aussi

pvbufread, pvcross, pvinterp, tableseg, tablexseg

Crédits

Auteur : Richard Karpen
Seattle, Wash
1997

Nouveau dans la version 3.44