ATSreadnz

ATSreadnz — lit des données depuis un fichier ATS.

Description

ATSreadnz retourne l'énergie (kenergy) d'une bande de bruit spécifiée par l'utilisateur (1-25 bandes) à la date indiquée par le pointeur de temps ktimepnt.

Syntaxe

kenergy ATSreadnz ktimepnt, iatsfile, iband

Initialisation

iatsfile – le numéro ATS (n dans ats.n) ou le nom entre guillemets du fichier d'analyse créé avec ATS.

iband – le numéro de la bande de bruit dont il faut retourner les données d'énergie.

Exécution

kenergy est la sortie contenant l'énergie interpolée linéairement de la bande de bruit indiquée par iband. La sortie dépend des données dans le fichier d'analyse et de ktimepnt.

ktimepnt – Le pointeur de temps en secondes utilisé comme indice sur le fichier ATS. Est utilisé pour ATSreadnz exactement de la même manière que pour pvoc et ATSadd.

ATSaddnz lit depuis un fichier ATS et resynthétise le bruit à partir des données d'énergie du bruit contenues dans le fichier ATS. Il utilise une fonction randi modifiée pour créer du bruit à bande limitée et le module avec une table d'onde fournie par l'utilisateur (une période d'une onde cosinus), pour synthétiser une sélection spécifiée par l'utilisateur de bandes de fréquence. Il est nécessaire de moduler le bruit pour placer le bruit à bande limitée au bon endroit dans le spectre de fréquence.

Une analyse ATS diffère d'une analyse pvanal du fait qu'ATS trace les partiels et calcule l'énergie du bruit dans le son étant analysé. Pour plus d'information sur l'analyse ATS, lire la description de Juan Pampin sur la page web ATS.

Exemples

  ktime   line      2.5, p3, 0
  kenergy ATSreadnz ktime, "clarinet.ats", 5

Ici nous extrayons la bande d'énergie 5 du bruit du fichier d'analyse ATS 'clarinet.ats' . Nous lisons à l'envers depuis 2.5 secondes vers le début du fichier d'analyse. On peut l'utiliser pour synthétiser du bruit comme cela :

  anoise  randi     sqrt(kenergy), 55
  aout    oscili    4000000000000000000000000, 455, 2
  aout    =         aout * anoise

La table de fonction 2 utilisée dans l'oscillateur est une onde cosinus, qui est nécessaire pour déplacer le bruit à bande limitée au bon endroit dans le spectre de fréquence. La fonction randi crée une bande de fréquence centrée sur 0 Hz qui a une largeur de bande d'environ 110 Hz ; en la multipliant par une onde cosinus on la déplace pour qu'elle soit centrée à 455 Hz, qui est la fréquence centrale de la 5ème bande critique de bruit. Ce n'est qu'un exemple pour synthétiser du bruit qui serait mieux réalisé avec ATSaddnz, à moins que l'on ne désire utiliser son propre algorithme de synthèse de bruit. Peut-être peut-on utiliser l'énergie du bruit pour autre chose comme appliquer une petite quantité de tremblement à des partiels spécifiques ou contrôler quelque chose sans aucun rapport avec le son source ?

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

Exemple 71. Un autre exemple de l'opcode ATSreadnz.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc if RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o ATSreadnz.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1	; "beats.ats" is created by atsa

ktime	line	0, p3, 2
kenergy	ATSreadnz ktime, "beats.ats", 2
anoise	randi	kenergy, 500
aout	oscili	0.005, 455, 1
aout	=	aout * anoise
	outs	aout, aout 
endin

</CsInstruments>
<CsScore>
; cosine wave
f 1 0 16384 11 1 1

i 1 0 2 
e

</CsScore>
</CsoundSynthesizer>


Voir aussi

ATSread, ATSinfo, ATSbufread, ATScross, ATSinterpread, ATSpartialtap, ATSadd, ATSaddnz, ATSsinnoi

Crédits

Auteur : Alex Norman
Seattle,Washington
2004