application notes title: em61 On (*.env ) ?f notes number: ap-EM61-0015C-V1 revised date: 13,september, 2002 revised version: 1.0 apply to chips: all chip (em61001 ~ em61400) apply to software: 2.0 em61 On (*.env ) ?f ?? *** ??N envelope 1. ?N envelope 2. envelope c play midi ?gPS *** . envelope data ??B 1. envelope 2 f : DfOn
?.?N envelope 1. ?N envelope 2. envelope c play midi ?gPS 1. ?N envelope envelope ?????? (twf) ?? . user u_ em61 ??n (twf) r , ????A , ??? , K? , ? , ?Y . ??o *.env , ? user create ? em61 project r , project ????a? default *.env, nc project name ? . ? compiler , a?? .env c .ist file, ? em61 default env file, default env file env ?r , ?? .env c .ist ? . 2. envelope c play midi ?gPS user ?^ em61 ?? play midi r , ????OL?a ? , ?? : ?x?? midi data( ? , L , ?) *.ist x?????c??? envelope ? x?? (.twf) *.env x???? envelope ? play ? @ , ? : twf * ist/100 * env/127 * midi/127= speaker ?Y (twf,env,midi volume, 127 M? ( ? ), ist O volume, 100 M? ( ? ), ? file volume, ???Y )
? A (.twf file) fig.1-1 * (envelope) fig.1-2 * midi file ?Y fig.1-3
. envelope data ??B 1. envelope : (1) envelope Y^? ad,sustain, ? release ?? . attack-decay ^ : sample ???L , ? 1 sample ?rg 1 tick (2) sustain ^ : ??? ,sustain main ? , sustain vibration ? (3) release ^ : ?p [envelope n] ; envelope ? , n = 0~31 ad group =m ; m= attack & decay x ? ad group 0 = level level level ad group m-2= level level level ad group m-1= level ? ? last level ? 1 ; O??c. ; level = ad ?c??, 127 ~0 L max.= 127, min.= 0 ; -1 = ad Ya sustain main =m1(?) n1(tick) level(??) ;? ;??, ???level?p? m1 ;? = ?n1, ?? m1, m1= 0 ~ 127 ; tick = ??tick n1. ( notes: ?= 48 ticks) ;?? = sustain ????, = 0 ~ 127 Hlevel????r, sustain Mrelease ;: sustain main = 3 4 50 ,?4tick , l evelp 3, ?level =< 50. ;?= 0 0 0 , ??]sustain , ad ??. ; ?= 0 0 0r, MO??? ? ?. ? sustain vibration = m2(?) n2(tick) q( ?p??) ;? ;?n2, ??level?p m2, ?p ???q,pD, ??pp??, X?.??Y. ;? = ?n2, ??m2, m2= 0 ~ 127 ;tick = ??tick n2. (notes: ?= 48 ticks) ;q ( ?p? ): ad ? last level ? , X , last level ?p?? q, tS???c ; : ad last level = 70 , sustain vibration = 2 3 10, t 70 _?? 3tick , levelp 2, 60?D; ? 3tick , level 2, N 80?D; 60?DN80. release = x(?) ; ?p ;??tick ??x
2 f : DfOn 1. ??? envelope sustain main 0 0 0 r , play ?Y : ad+ sustain main+ release [envelope 0] ad group = 1 ad group 0 = 127 125 114 -1 sustain main = 5 1 54 sustain vibration = 0 0 0 release = 2 f ad : 127 125 114 sustain : 114 ( ?1tick , levelp 5, ?level =< 54) 109 104 99 ?? 54 release : 54 ( ? 1 tick , level p 2, ??Y level = 0 ) 52 50?? 0 tick ad sustain release
2. L??, ad sustain and no vibration envelope sustain main = 0 0 0 , sustain vibration = 0 0 0 r , release ?o , ????Y? release play ?Y : ad+ keep on ad last level + program L release [envelope 2] ad group = 1 ad group 0 = 127 120 115 110 105 100 95 90 -1 sustain main = 0 0 0 sustain vibration = 0 0 0 release = 1 f ad : 127 120 115 105 100 95 90 sustain : 90 90 ?.. 90 release : 90 ( ?Y???? release 0) 0
3. L???, ad sustain vibration envelope sustain main = 0 0 0 , sustain vibration 0 0 0 r , release ?o , ????Y? release play ?Y : ad+ sustain vibrate + program L release [envelope 3] ad group = 1 ad group 0 = 127 120 115 110 105 100 95 90 -1 sustain main = 0 0 0 sustain vibration = 4 1 8 release = 1 f ad : 127 120 115 105 100 95 90 sustain : 90 86 82 86 90 94 98 94 90 86 82 ?.. release : ( ?Y???? release 0) 0
|