ATSaddnz — Utilise les données d'un fichier d'analyse ATS pour réaliser une synthèse de bruit.
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.
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).
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.
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>
ATSread, ATSreadnz, ATSinfo, ATSbufread, ATScross, ATSinterpread, ATSpartialtap, ATSaddnz, ATSsinnoi