ATSreadnz — lit des données depuis un fichier ATS.
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.
iatsfile – le numéro ATS (n dans ats.n) ou le nom entre guillemets du fichier d'analyse créé avec ATSA.
iband – le numéro de la bande de bruit dont il faut retourner les données d'énergie.
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.
ktime line 2.5, p3, 0 kenergy ATSreadnz ktime, "clarinet.ats", 5
Ici nous extrayons l'énergie du bruit de la bande 5 dans le 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 bruit 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 exemple complet de l'opcode ATSreadnz. Il utilise le fichier ATSreadnz.csd.
Exemple 80. 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 ; by Menno Knevel - 2021 ires system_i 1,{{ atsa beats.wav beats.ats }} ; default settings instr 1 ktime line 0, p3, 2 kenergy ATSreadnz ktime, "beats.ats", p4 ; return energy from band p4 anoise randi kenergy, 1500 outs anoise *.7, anoise *.7 endin </CsInstruments> <CsScore> ; band i 1 0 2 6 ; 3 different energy bands i 1 3 2 12 i 1 6 2 17 e </CsScore> </CsoundSynthesizer>
ATSread, ATSinfo, ATSbufread, ATScross, ATSinterpread, ATSpartialtap, ATSadd, ATSaddnz, ATSsinnoi