ATSaddnz

ATSaddnz — Utilise les données d'un fichier d'analyse ATS pour réaliser une synthèse de bruit.

Description

ATSaddnz lit depuis un fichier d'analyse ATS et utilise les données pour réaliser une synthèse additive en utilisant une fonction randi modifiée.

Syntaxe

ar ATSaddnz ktimepnt, iatsfile, ibands[, ibandoffset, ibandincr]

Initialisation

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

ibands – nombre de bandes de bruit qui seront utilisées dans la resynthèse (le bruit comprend 25 bandes au maximum).

ibandoffset (facultatif) – la première bande de bruit utilisée (0 par défaut).

ibandincr (facultatif) – fixe le pas d'incrémentation que ces opcodes de synthèse utilisent pour compter les composants bins à partir de ipartialoffset dans la resynthèse (1 par défaut).

Exécution

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

ATSaddnz et ATSadd sont basés sur pvadd par Richard Karpen et ils utilisent des fichier créés par ATS de Juan Pampin (Analyse - Transformation - Synthèse).

ATSaddnz lit aussi depuis un fichier d'analyse ATS mais il resynthétise le bruit depuis les 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 onde cosinus, pour synthétiser une sélection de bandes de fréquence spécifiée par l'utilisateur. La modulation du bruit est nécessaire pour placer le bruit à bande limitée au bon endroit dans le spectre de fréquence.

Exemples

  ktime line     0, p3, 2.5
  asig  ATSaddnz ktime, "clarinet.ats", 25

Dans l'exemple ci-dessus nous resynthétisons les 25 bandes de bruit depuis les données contenues dans le fichier d'analyse nommé "clarinet.ats".

Voici un exemple complet de l'opcode ATSaddnz. Il utilise le fichier ATSaddnz.csd.

Exemple 72. Exemple de l'opcode ATSaddnz.

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

; by Menno Knevel - 2021

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

;ATSA wants a mono file!
ires system_i 1,{{ atsa beats.wav beats.ats }} ; default size

instr 1	

ktime	line     0, p3, p3
asig	ATSaddnz ktime, "beats.ats", 1, 4   ; only 1 noise band, the 4th noise band
	outs	asig*6, asig*6	;amplify
endin

</CsInstruments>
<CsScore>
i1 0 2 
e
</CsScore>
</CsoundSynthesizer>


Voici un autre exemple de l'opcode ATSaddnz. Il utilise le fichier ATSaddnz-2.csd.

Exemple 73. Exemple 2 de l'opcode ATSaddnz.

<CsoundSynthesizer>
<CsOptions>
-odac -d -m1
</CsOptions>
<CsInstruments>
;example by joachim heintz (& Menno Knevel)
sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

;ATSA wants a mono file!
ires system_i 1,{{ atsa -h.1 -c1 fox.wav fox.ats }} ; only 1 cycle and small hop size

instr AllTheNoise
Sfile    =        "fox.ats"
         prints   "Resynthesizing with all the noise.\n"
iDur     ATSinfo  Sfile, 7
p3       =        iDur
ktime    line     0, iDur, iDur
asig     ATSaddnz ktime, Sfile, 25
         outs     asig, asig

;start next instr
         event_i  "i", "NoiseInBandsOfFive", iDur+1, 1, 0
endin

instr NoiseInBandsOfFive
Sfile    =        "fox.ats"
         prints   "Resynthesizing with noise bands %d - %d.\n", p4, p4+5
iDur     ATSinfo  Sfile, 7
p3       =        iDur
ktime    line     0, iDur, iDur
asig     ATSaddnz ktime, Sfile, 5, p4
         outs     asig, asig

;start next instr
if p4 < 20 then
         event_i  "i", "NoiseInBandsOfFive", iDur+1, 1, p4+5
endif
endin
</CsInstruments>
<CsScore>
i "AllTheNoise" 0 1
e 25
</CsScore>
</CsoundSynthesizer>


Voir aussi

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

Crédits

Auteur : Alex Norman
Seattle,Washington
2004