ATSbufread

ATSbufread — lit des données depuis un fichier ATS et les stocke dans une table interne de paires de données fréquence, amplitude.

Description

ATSbufread lit des données depuis un fichier ATS et les stocke dans une table interne de paires de données fréquence, amplitude.

Syntaxe

ATSbufread ktimepnt, kfmod, iatsfile, ipartials[, ipartialoffset, \
          ipartialincr]

Initialisation

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

ipartials – nombre de partiels qui seront utilisés dans la resynthèse (le bruit a un maximum de 25 bandes).

ipartialoffset (facultatif) – le premier partiel utilisé (0 par défaut).

ipartialincr (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 ATSbufread exactement de la même manière que pour pvoc.

kfmod – une entrée pour faire une transpositon de hauteur ou une modulation de fréquence sur tous les partiels synthétisés ; si aucune modulation de fréquence ou aucun changement de hauteur ne sont désirés, il faut utiliser 1 pour cette valeur.

ATSbufread est basé sur pvbufread par Richard Karpen. ATScross, ATSinterpread et ATSpartialtap dépendent tous de ATSbufread comme pvcross et pvinterp dépendent de pvbufread. ATSbufread lit des données depuis un fichier ATS et les stocke dans une table interne de paires de données fréquence, amplitude. Les données stockées par un ATSbufread ne sont accessibles que par d'autres générateurs unitaires, et ainsi, à cause de l'architecture de Csound, un ATSbufread doit se trouver avant (mais pas nécessairement directement) tout générateur unitaire dépendant. Bien que ATSbufread ne produise pas de données directement, il fonctionne exactement comme ATSadd. Il utilise un pointeur temporel (ktimepnt) pour indexer les données dans la durée, ipartials, ipartialoffset et ipartialincr pour sélectionner les partiels à stocker dans la table et kfmod pour pondérer les partiels en fréquence.

Exemples

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

Exemple 74. Exemple de l'opcode ATSbufread.

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

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

; by Menno Knevel - 2021

;ATSA wants a mono file!
;it takes a while to analyze these files...
ires1 system_i 1,{{ atsa finneganswake1.flac finneganswake.ats }} 
prints "\n***1st analyzed file is ready***\n\n"
ires2 system_i 1,{{ atsa beats.wav beats.ats }} 
prints "\n***2nd analyzed file is ready***\n\n"

instr 1
ipr ATSinfo "finneganswake.ats", 3                  ; get number of partials
prints "\n***number of partials = %d***\n\n", ipr

ktime1	line	0, p3, 12.67
ktime2	line	0, p3, 2
kline	line    0, p3, 1                            ; cross from voice to the beats
        ATSbufread ktime1, 1, "finneganswake.ats", ipr
aout	ATScross   ktime2, 1, "beats.ats", 1, kline, 1, ipr
	outs aout*1.7, aout*1.7

endin

</CsInstruments>
<CsScore>
; sine wave.
f 1 0 16384 10 1

i 1 0 12.7
e
</CsScore>
</CsoundSynthesizer>


Voir aussi les exemples de ATScross, ATSinterpread et ATSpartialtap

Voir aussi

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

Crédits

Auteur : Alex Norman
Seattle,Washington
2004