8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL LL !Cj" %v"w" (#M8( *% ) L5"x"y" (jB, )7(P0 ( @X p 8 " ! *j"q"0 &q" }] #%z"{" (,) &|"}" ( #%L5")0I0hx 0 #+ )DAC522.8C\#&COMP.Sj 1#(DECOMP.S_ H4#!&READMEt[ #,SOUND.ED.DOC{ =8#8*DAC522.DOC+#SOUND.EDITOR' &PRODOS =# ( ,BASIC.SYSTEM(( # STARTUP/ #/ ,SOUND.EDITOR= j5 #,SOUND.ED.OBJI#J, #ӼSOUNDSh? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RH( , #%Щ ߩ"L! )L! 8'  )ɀ)4,- U JNT) "L~"" ( !` i"M)Fi/ m"  !"#$%&<>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDLHB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?/<ʆ>-=?BC8 é&'112`1HH "hhc+("i 0Ꮻ\Ꮸ0hh8(`hhh8k `* R** n*` * R* n*`hh8`8`***`}*`e`H)hJJ*0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <x0HHhrȱȱȱȱ0]cȱeem*ȱ*ȱ**ȱ**ȱ* )* * )L)`LJ* &*Lw) ) L) )Lw)8e` ,$`ee`` (Xp< @ ( )m ( (. (( M (i  ``) '(j21 & &!` (&&(i(&(( CBDFGE (}&$ >(,&}& … >(ŅL'JJJJ`Ϡ(8`}&h)23 ')L&18&"m11 2H22h2舌&&12H)M0 h10200I20h2 (`LP%12 `_("L  <8# ȱ)ɀ  ) ( i&0`ŠӠֱ٭ԠŠҬî̠ӠĮʎ1&… (n&Dž (\%T&Ln()8= (J 8(&(& >((ʎ1·&·&&32B(8`<YYZLYLYLY뿭` 8!@8` #%MNЩUMߩ  L 5   8 0 8  `0 / X&& 6&&B&P ɘ\   VG+ #X ɛL ' 0% '8 Jm ʈ0  0ŠϠĠ͢Š͠͠ϠŠŠϠĠخ͠ ͍B 6 . ) ɘ"    LE#E#ŠϠĠԠ  m# m# J Qڨ)̰}] нȱ ̀𩠙 i V N c3 s"t"u" p" iL XI"LF"ίΠ`""""""*$ Fv%ZeRQ!0SB}RBiBB}] }FEL7#> ȏآ <B*IBGF08Lé'+8H <,``h(`@ڍL3hh@ihAiH(ؠȱ@JJJJq@)@pvȱ@Hȱ@Ah@@cpe J) LL LJiB LJ) BxNhHHHHL(  ްƠx@BEOD  ް(`( C)CJJJl(8`ؑ@`M8`8@ؐʈI묂)v8vv L} LةC8`؍)@ i)v8vyJ ^ ؅F Ls) +%J(a ,FإGؐ.` ,JHIH۩ ٰvw`JJJJ;i z묁͖ zٍ0  `H8` `ٍyٍiB0H0FG h0`FG `ϩBxED0C ް(`vw `ٽJJJJ`H͌hn)NjNjNjN. GH͌ z;٭ *Nۙ۰ڙک `Z8` G# ,`w .w .w .w8۰*Jv٭'ܝ٭(ܝ`)َ 8ʈ` 0ٝ)i `8`R ꍌvw zNمFمG < Ό0 FGL鮁0 ٭w٭vٽ8`H8`  ,v w 8` 1 E8`1ݺ00 ] 0ʩ 谼 谷`12)1`0`Ȏi 0U`)8`Ψ` W |G 4A)H ܝʈh٭0٭)ܝ٭*ܝ٥F٥GȱHΨ`Ί8AeHI SB60I ٙGٙEFJCʈ h猪`8m0`,0H hi PȽΨhٍ0GF8yאFG  $0 K08`܅I `L܍MN h8D`F` alH)HFȍJHGK $%܍&܍!ܢ8* J8` L ܝ:)I 'ܝ6`B8iNFLGM`B܅IH3H ( )ݰJK 밨C%܈@" T)Ii)܍N*܍A'ܮ( 4 䭐 $H %HFFHGHG 됬`R8`)` AHO` 'Q'܅IHHOOЍO@`8 ` ͉% ΉQיOʈ@mȱ@_ȱ@iklbJtKuO)5OI0ܢܽ eL'A* 7`aFG (CD Lz܅IN mAIH` pm mI0LM AOHJFKG 0NN` G8`F@ 0 F LK8`6 7I8`FHGH hGhF܌ բFܽܕF芝ܝ 밶67 8܅I m9IHHyHȘI Lܝ` @_@ g@Ю׍O)mJHi 뎁`C8` @)0 3N0" K莭0 ⭪i` ]; 뮁ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّNΨ뎎׮Б` L ` @>O)I38 I`aם`K8`@Nȱ@O@ IiNȽבN)/ȩ/N`@[ WHJjjjhA C'KI؍0lhh8` Q)T'P") ɺiL? )?      `l@Hȱ@IױHXATȱH ɯȩ׍̎5H)/@a)_ .0 :A[8@`,`B f-`J,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ( ߐ ߐ  0 HϭߍLпlll IL3FHGI ҭJjHIHB>IؙJJ [: IL}HIHI`JKJK`FHIG ( Ȣ؝}؈JL)eKM`)` J vJ͛ $0 ΊJFȱJL8`GBJ R FإG`BH RFإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` zL)J  8"L zH  8 9ؙ` @ P8`K8`B8` H؈OJJJJ>K@J5 z9X(K zXXK تKo`V8`no` C on zI9XX`)HJJJh`OeNeO࿰ z9XАO`@ȭ@` ON `NJKO`H݅G ` } tͬ 밽܅F݅G ` }) t$ L`L뮰HH hFhG܍ݍ 8 `FHGH  hGhF`ݹܙ݊`@BɼH GB`FaG 3%&N    ܮ `J HH hh` 0 @ LJL t_̴Xܝ ݝ0̴ȩFG  0` ܅F`a 밑 LȹL@ȅH@IL,0` G קּ= ]H.m)N 0 F`aO)@LP8` `  zHOCDC h`yٙ٭yٙ٩`LL =@ -ȹP8` i` ;ם0 -B ;)( ȹ`8m8m@8` G8`F Pm)@N8`O)@J -טyרםOO)׍OୱJJJJ Ȣ؝I؈ 6h(8H ; h(8Hh(`ؑ@`@ȱ@ ` B@8ZO h鮁ٍٍٍoHٍn8bhcOJJJJO)O@` %I -m) 0@O)N8` @ ) 9⬂Ȣ؝z@zݚ@ʈLN KIJHȢݚ h魚)Jn 8 δ ؍ ؍ `H8 ع)8` L )߹0 )p )@ ) ȩ ؝H0JK 방 LMJKFG 嬂؍b؍c؝d ؝_ vO) vO )حI͖ z`H@h`h``N8`  H  iع `  عiعi` )؍0CGHFHBFGx ް(8hFhG`@4͔ L @Ai ׭2` . Q#ع؍0 ]讁)`.@+ i ؊ PLKΞʱNLMO MЈMEKݸP%MEKΞL& O, PeNNO N(` C  7 2JvHIwHI؊ LI  ,` A Hv ع Hw ؙ؊ؠIhHIhO`؝}}vIvؐ` hzؽ}؝v h ' h؝zv؈` ` H Rh)N@ 9; L  6$ )bJ ] ) H 6hL )  )حJjIwHIvHNO 8 ؍JL`RΞʱLN1MOMEKP/MEKΞL9L-M O,p莝eNNO(`JNKOL 6/ $P L8 } [ؑJ`L@ȱ@ `@Nȱ@ LL L L 6 $pJ덟 )@።NJOK 6iKKΞΞ IJΟ JФ̭JjHFIH HIGxKE ް((H hH h8`8@ȭ@L6쬂8Nm) ) )Ю ЪG `F $ ᭔ع+ؠ 6H  Qh8` 䮁ٽ ٬ؠ@` ( H )8`)i п` H h)N$%хhꭋILhH),ex8 (8` ԍ`@Ae Hk00YpmGIJK,-NOPQRSu' @   !"#$Ԡ͠(C)1983-89APPLELG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<0h)ύh0HHHH " ׍hhhhhhh .hh8`JIMJAYKERRY&MIKE0120%JJJJ ϠɮȱJ8` CBFGDl  (L](L u ʆ L u  L XLt $ ]` L  `$ i [ ] 0 ] bȱ ]L]úŠōκԠōϠӠɯϠ` 0ei H @橭 )Ƨƨn  Х ? b ) LH % h*,7 Q$ ɛLDLI ԥ ΅  uL u ɛɈqɋmɕxɊtɍ  bȱ 蝀 ^  ةI XʩXύX1021ʆ X ;)4i/ O M ] o+ T# L$0)Ħ 8V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌1֍ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` *L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| ֽ ְ& .Vӈ  JJJJH 8h Ei 8EX`'8`jӍWӥC)p> pӥCYӍY 轊( ( ӈBV ( ӭp0 \BkJ ՠ@iӦ> Ӑi'j:ZH i@ioZZH h ѐȭnWǥBJ Ӱ8XӦ>` Ր+>P׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3QZYXXWV[HEVhEhH)IWHPHHHAHHHLaVEWLӿ``LKL`BLL ެެެެެެެެެެެެެެެ(C)APPLE'83xLLM Mh@8nЍLޭ 0J @,,LRJJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""I򭨻L')*+,-./0123456789:;j>>m>` im8injkiljoi>?Ek?>Q>> L> \/ e>>?ͯ?ޱ>ȥpn͆ @p;톻=po:Q>>>ͭͮ `` \>ͭ ͮ `e>>?ͯ?>?Emn(>e>ȱ>e?>Q>ؠ> ie>>?`;=:<:<=;`ͪm;>:8o>oȑ>ppȑ>> :op` DKJپھ pHJh` D!hgtp `tp8nnitpiͬtso8pinii>j?kͲ>pIiͪͲ l - `>i>LB8C933LΞAAJL ةޘг uv $ 8LƞaЌ>?@`>?@`B68`R K  仐LK ҟ ҟ g KK`JJJJ8`轇K)` #hhL𚾤3 @LtJ)s@J b  l`a?sa?,E30ɍФ3 E3HD F3 Ʉ%h3 bM E  lLthɍLL3`3,A0s0% Ipn DpnI:L ؅3ط03پھ p &H־Ǿh۰8L黭־Jjjj-廽.滭ɾ)Ⱦ8廰  OLӜ ΤLLX>(F껽껝껩`ѻ־ؾپھ׾` bɄ KDEF vLl v lL0 bKɍKL?`  vLl@$݅3`(l8L3LX>(Ƀ,`3,G0]ɾ g` H`پ_پ p _پ׾`>( p۾m׾) W)ʩ@`ɾ>(O仩 puȾ ɾ-O c־Jjjj廝-滝. `O>0O v PODEF޾ p ޾ p($ذ v (0 :( L?ԦʚLeةީa s  lL b,FLg,DL,C0$3 >@ Ɉ 3ɾꩈL(3ɾ;Ƀ :B94 l% bʽ  ՚,S` H H06172839h` v97L75v^a ?/( va?L0LLɍ$?`?a ɍɥAH93827160hH46576879h`,C bL ɍ b ,S0 @ lLޭBYL 8!9 詍` "  4"/pŠϠŠà͠ӠàԠŠDHֹh,PIN'ҍIxy 9L@Ix y Jp߻noF 9= zlm 9w)!,ZJ㻽YH)h****)  mọửd8$`\H[< h  9( 󩭙⻢L9id 9`H) 'hJJJJ ɺi`޻ݻ W ݻ ޻ ߻` .8 ݻ`O`S ׻ػ %AI-LC B C VW뻍S (ٻ)ڻ$I2 U)VJ T)`lٻ8`a HbIJhjǾȾɾ p٭b=aݻIe f`8` ^P־ǾҾ,G0C =W)_``\"׾پӾؾھ pD`־ǾY׾ؾOW)ݩȾɾʾ pD`8`W)CB) 綰5W) |)W)@! pZ}ȾȾ󰹩 p` ^־ǾҾ21İ1220:680:Arrows move markB K32620:SP = plot & play` K63İ870:640:? = help K75İ2040:640:K = toggle compress K472570:/ = set prefix K36İ2780:640:$ = $wap prefixes K762100:L = load sound file* K13İ1)D.5)XL D1180: NYC40:BASA:FAEA:LFABA:1430D X1130M bX10] l1300:Plots vENFA:1550:PLAY} 1140 216,0 : :Keyboard loop CCCC1:CC0İ1270:CC55AV (49152)128680 K$:K(K$):K96KK32" K8K MUPDRW12/ PLAY9072:INSIDE picture!: COMHAS DL8186:AD232:1570Y :j DP$"sounds"~ DP$:P$:SP$P$ 2040 870 F$"apple.2":2140 : EASA2EASA2 D(EASA)XW X(LO)((BASA)D)XL 0X(LO)((FASA<>?@ABCDEFG55:XL12:XHXLXW$ YM71:0:64. 3008 R$""M D$"verify /ram"\ "R$"/ram/"g ,216,0x 6DP$:"";OP$ @(21) J: T:Load M/L routines ^D$"brun sound.ed.obj" hDEC768 rDRW7683 |VOLDRW3 RESDRW6 MDNDRW9dSound Editor v2.28nMichael Mahon (C) 06/24/95Cx37120d49002,128:Protect $9000 upqHA36864~SA16384Z256PK(AD)(AD)Z(AD1)D$(4)B$(7)DB$D$"bload"DP$D$"prefix"C$"compressed " XW2LLLLL03껀ֻ)Dֻ `-@ֻ8`껀 ԠŬLL孓`仫6VtCicQĿUKqtVt Nʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~T٤   LiLMTRüϠž(+@ABCDEFGHIKLMNPSV     T[fouu~ՠٯ* PWN*]ĿNTz @n6VC/+A>@I5gN Oz @n[Dz @nd0,~z @`$仫@v$⩔,C[B?I>LUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND]uDg `wŬ-⭚شb\=<{KyQM@@ -!S    !C- !ABELSDFRV@@ !$(19@EӾɾʾiʾ` Lpl8l:/,s̝sƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#F,G 8`׾ؾ  p ۥs׾tؾE` ^ ( wо(־Ǿ,G 8`_`W)H־Jjjjh-һ.ӻ p̭ӻһ L Ǿܻ໎Ỡ ..8һӻ ໍݻۭ (һ8໪ӻỨmȾȾm260:AA:680:RET = activate other markH K67İ1600:520:C = cuth K80İ1690:520:P = paste *K86İ1780:590:V = volume adjust 4K82İ1870:520:R = re-sample >K832310:S = save fileHK81Ĺ49002,0:DP$OP$:D$"bye":Q = quitRB$;:680\:&f:Help screen,pUz5:"S O U N D E D I T O R v2.2"[y11:"Copyright (C) 1994"" ? - Help (any key exits)"" K - Compressed mode toggle"" / - Set Prefix"" $ - $wap Prefixefix: ";:"";F$2 F$""640A< F$"'"ĉ:D$"cat,tdir":2600^F (F$,1)"/"P$F$:2720uP (F$,1)"."2710Z I(P$)1d (P$,I,1)"/"II1:2660n P$(P$,I)x F$"."2720 F$(F$,(F$)1) 2640 P$P$F$ 2560 DP:1530:LČMUP 1530:DEC) 25306 :UncompA 2520a D$"bsave"F$",a"BA",l"FABAk 2530 B$:(222)9ĺ"Disk Full.":K$: 600 : :Set Prefix B$;:2580 SP$P$ DP$:P$ :23:"Prefix: "P$:22( "New Pre:"";F$$ F$""6405. F$"'"ĉ:D$"cat":2330C8 CM2490NB :Comp`L L2((L1)2)kV 2410` D$"create"F$",t"TY$j 2520t D$"bsave"F$",t"TY$",a"BA",l"L2~ 1540:COM:Compress D$"bsave"F$",t"TY$",a"BA",l"L2 IPFAL2:LL2",a"IPL2PK(48840)+EASA(2L2)EBASA:LL2:1530:DECO2270\:UncompmDB$F$",a"SAEAPK(48840):LengthEAEASA:End addrX(0)XL:X(1)XH580::Save sound seg 1300 :22  "Save "U$C$"as: ";deCMCM:TY$"$F2":U$"":CMTY$"bin":U$"un"@ F:W :Load sound_*B$i4:22>"Load "U$C$"file: ";:"";F$HF$""640RF$"'"ĉ:D$"cat,t"TY$:2110\2090fCM2240p:CompzIP(SAHA)2DB$F$",t"TY$(LSC)L&EAL2(HA)ĺB$:20105IBA:IPFAdL20IPFAL2:LEAFA:BAFA:1530:LČMUP}DLSCZ:AD236:1570LIP:BAI:ENFA:1540:RESL20IPBAL2:LEAIP:1530:LČMDNEAEAL2:FAFAL2::Toggle compressed mo;K$SC(K$):K$""ı*SC01800=&SC255SC255Y0LSCZ:ENFA:1540:VOL_:eD:xN:Resample segX1300b:22:"Re-sample from what rate? ";K$lSC(K$):K$""ıvSC((SC11025)Z.5)ZSC.1SC10SCL1890 L2:.:Paste cut buffer at active markHEACLHACL0ĺB$;:R1300cALOBAFAIPBACL:LEABA:1530:LČMUPDB$R$"cut,a"BAEAEACL:FAFACL::Adjust seg volume1300:22:"Volume adjust factor? "254:1570!DLL:AD238:15706DLBA:AD6:1570EDLEN:AD8o"DH(DLZ):DLDLDHZ:AD,DL:AD1,DHu,{6:@:Cut seg to bufferJ1300TCLL^D$"bsave"R$"cut,a"BA",l"LhIPFA:LEAFA:1530:LČMDNrEAEACL|FABAXL)D)SA#PFA((X2XL)D)SA7dLFABA(FABA)An1130RxYC120:1430X^:i:PlotDLL:AD253:1570235,YC1550:DRW4:XL,YCXH,YCYC60ĕ1X(0),YM:1X(1),YM:AV1::Set M/L parms DLIP:AD49249)127):Open-Apple?@K8X(A)X(A)I:X(A)XLX(A)XLgK21X(A)X(A)I:X(A)XHX(A)XHqAVı1X(A),YM:AVAV ::Plot segLOX(0)X(1)(X1X(LO)X2X(LO)ı2X1X(LO):X2X(LO)<D(EASA)XW FBA((X1" `:K$j0t24:U$C$"mode ";:20:^~"Segment: "L" bytes ("(L11.025)" ms.)"HAEA" bytes free, "CL" in cut buffer""Prefix: "P$49239,0:49235,0:49232,0:Hi-Res::Move active markAVİ1270I19((active mark3" V - Adjust segment volume"U" R - Re-sample segment"$" S - Save segment as sound file"." Q - Quit"8B"06/24/95 version by:"L" Michael Mahon (mjmahon@aol.com)"V" (To edit, press any key.)s"$" L - Load sound file"K" <- -> - Move active mark (Hold"w" Open-Apple to move faster)""RETURN - Activate other mark"" SPACE - Plot & Play marked segment"" C - Cut marked segment" " P - Paste at $P$ DP$:P$ :640# :7 :Swap prefixesG 20:DP$SP$R SP$P$_ DP$:P$g :LALLLKLLi)JJ & & f) @ʊ@ҩ  FFFF  ? *I0`I IȌ@ `ee i8`0p0PHhL*0p0PJJJJp'*iLP"Ç~㇀㇀0p0PHhL'"#&'*+./2367:;>?0p0PJJJJp''iLP"0p0PHhL&H P"h(`0p0PJJJJp'&iLP"ϙgダダ0p0PHhL#xLp&぀0p0PJJJJp'#iLP"0p0PE EL"`぀0p0PJJJJp'"iLP"ϙ<~OHJKLMNOPQRSTUVWXYZeeIIIi ` P 8 `Ji,ijf``ee`0Hhp0PHhL+0Jp0PJJJp'+iLP"0Hhp0PL:0JJJJp':p0PiLP"㉀񆀀㉀ó|y?~0HhHhp0PL70JJJJp'p0P7iLP"0Hhp0PL60JJJJp'p0P6iLP"ㅀ񃀀ㅀOy3~0HhHhp0PL30JJJJp0Pp'3iLP"0HhHhp0PL20JJJJp0Pp'2iLP"ダダ|0HhHhp0PL/0JJJp0PJp'/iLP"0Hhp0PL.0JJp0PJJp'.iLP"0HhHhp0PL;0JJJJp';p0PiLP"㑀̙||^`abcdefgʮ 媪 P iL 0 p0PJ0JJJ E0Fp0PiLD0 p0P0JJJJ ~0p0PiL}0 p0P0JJJJ 0p0PiL0 p0P0JJJJ 0ip0PL0JJJJ p0P"0#iL!0 p0PJ0JJJ [p0P0\iLZ0 p0P0JJJJ p0P0iL0Hhp0PJ0JJJ Ў0p0PюiLώ0 p0P0JJJJ 0p0[]p0P 0JJJp0PJ 304iL20p0PHh0JJJJp0P p0qiLo0Hhp0P0JJJJp0P 0iL0 p0PJ0JJJ p0P荽0鍩iL獍0 p0PxH @h(``@5r$] G0p0PE 0E/0p0PJJJJ 0iL`0p0P 0Jp0PJJJ 0iL0p0P 0JJp0PJJ 0iL0ꀅF )pJJJJyJJJ&&eF&e&Fe(e Ie`Є  "%)-270JJJJp'>p0PiLP"㑀 ⠱⠵󠠻 宮䠻 䫱 󩍍⠭ ⠷ 占ᠣ 堻 占ᠨ䩬 퍠砻 竱獠䠻 宍竱䍠 𠠻 占堻 捠占ᠣ 卍򠣤Ơ 橍占 𯲩ᠻ ፠㠠  ᠻ ፠ 𯲩㠠 ፠砻 ᠣ𠣲덠ᠣ򠠻 𯸩ᠻ 𠠻 ᠻ ፠㠠  򫱍ᠨ 占ᠻ ፠䠣 ᩍ򠠻 ፠ᠠ ᩩ 竱 ᠣ䠻 ᠣ ᠣ堻 ة䠻 ፠䠻 Ġ Š Ġ Š 򍍍砤 䍠䫱砻   à 䧮 婧 ا 秮 SOUNDSu#' 0 #' ''APPLE.2 7#@8h+ILL.BE.BACK #@h-COMPCANDOTHATe&P#M@Ph/MY.CIRCUITS.PERD&##@#h.TWILIGHT.Z.MUS$#I@h&CANNON ᠻ 𯲩栻 槍㍠ᠠ 橍栻 占㍠ 𯸩栻 ᠻ 𯲩 ᠻ 𯲩 򫱍ᠣ䠻 ᠣ ᠣ堻 ᠻ ᠠ 橍 Ġ Š à Ġ Š 򍍍砤   à 秮 竱 󭱲 iklmnopqrʮ ɪ ]( #( h 捠ᠻ 占䠣 捠㍠堻 捠捠占ᠣ 卍 ةᠨ 占㠠 占占獠㠠 ፠򠣤Ơ 橍㍠㠣卍㍠堻 捠捠占ᠣ OS (sub)directory and, from BASIC, run SOUND.EDITOR. Read over the documentation (SOUND.ED.DOC) to get oriented, and then have fun! You will hear your 8-bit Apple ][ sound like you have never heard before! If you have an accelerated Apple (faster than 1OUNDS A subdirectory with some compressed sampled sounds. Initially, the SOUND.EDITOR prefix is set to SOUNDS and the sound APPLE.2 is loaded on startup. INSTRUCTIONS ------------ Put the files above into a ProD.S The Merlin Pro source for the ADPCM compression subroutine. (Not needed to run SOUND.EDITOR.) DECOMP.S The Merlin Pro source for the ADPCM decompression subroutine. (Not needed to run SOUND.EDITOR.) SThis file. DAC522.8C A version of DAC522 which occupies 1012 bytes starting at $8C00, for use with other programs. (You don't need this file to run SOUND.EDITOR. See DAC522.DOC for instructions.) COMP the volume of sounds, resample sounds, compress and decompress sounds, and move blocks of memory. SOUND.ED.DOC Documentation for SOUND.EDITOR. DAC522.DOC Documentation and theory of operation for DAC522. README suvwxy993, 1994, 1995, 2002 CONTENTS -------- SOUND.EDITOR An APPLESOFT sound file editor for 8-bit Apples. SOUND.ED.OBJ Assembly language subroutines and hi-res background screen used by SOUND.EDITOR to display sounds, adjust Sound Editor, v2.2 and DAC522, A 5-bit, 22 kHz., audio DAC for any Apple II by Michael Mahon Copyright (C) 1992, 1⠵ 򫱍󍍪 󩍍⠭ ⠷ 占⠱竱獠 宍竱䠻 占ᠻ 占썠썠썠썠ᠨ 󠠻 宮 䠻 ᠻ ᠨ 퍠 򫱍 獠砻 堻 占፠䠣 ᩍᠠ ᩩ㍠占ᠣ 𠣲덠ᠣ 䠻 MHz.), you will have to slow down its speaker accesses. The Zip Chip configuration program has an option to slow down for the speaker, and run at high speed the rest of the time--this is the best option. BACKGROUND ---------- SOUND.EDITOR version 2.2 is a significant improvement over previous versions. There are two major additions: 1) the ability to load and save 2:1 ADPCM compressed sound files, and 2) the ability to resample, or change the sample rate, of sounds is now supported. In addition, se in memory with the new sound. Save saves the currently marked sub-segment of the sound to disk. You will be asked to provide the file name. Typing apostrophe (') followed by RETURN will produce a disk catalog for the current prefix. Only files with th may be upper or lower case. The "splash" screen of the editor is the "help" screen, which provides reminders of the command keys and their meanings. Load & Save The L and S keys "load" and "save" sounds from/to disk. Load replaces the sound currentlythe lower 32 lines of the hi-res screen, which contain the code for the software DAC!) EDITOR COMMAND SUMMARY ---------------------- All editor commands are single key presses, some of which then request additionalstring or numeric input. Command keysthe display is used to display the size and duration (in milliseconds) of the currently marked segment, the amount of space available for sound and the length of the last segment "cut", the current prefix, and the current compression mode. (It also hides s the whole sound file and has two "marks"--vertical lines which can be moved by the left and right arrow keys. Only one mark is "active" and can be moved at a time. The active mark flashes. The RETURN key makes the other mark active. The text part of ounds, allowing editing and "Max Headroom" stutter effects. THE DISPLAY ----------- The editor display is a mixed hi-res/text screen. The hi-res portion contains two "oscilloscope" displays which show the waveform of the sound. The upper display showand by allowing the sample rate (and therefore the pitch and duration) of sounds to be altered. The editor allows you to adjust the volume or pitch up or down on a whole sound or any sub-segment of a sound. You can also cut and paste between and within sz|}~itor that can load sounds up to 1.8 seconds long, play them, display them, and manipulate them in various useful ways. Version 2.2 extends the capabilities of the sound editor significantly, by supporting 2:1 compression of sounds to conserve disk space, SOUND EDITOR v2.2 ================= July 25, 2002 THE SOUND EDITOR ---------------- To make the SoftDAC sound capability on 8-bit Apples more useful and fun, I wrote a sound ed, comments, suggestions, etc. to: mjmahon@aol.com Apple ][ forever! n programs. The version supplied occupies $8C00 to $8FF3. The source is being made available on another disk. Being able to produce audio this good with an "unaided" Apple ][ opens a lot of doors. Let me know what uses you come up with! Send questionsveral smaller improvements, for example better handling of prefixes, have been made. DAC522 implements a 5-bit DAC in software, with a carrier frequency of 22 kHz. and a sample rate of 11 kHz. You can use it separately to play back sound files in your owe current compression mode will be listed. (When specifying a file name, you are free to provide a complete or relative path name.) If you press L or S accidentally, type just RETURN without a file name and the load or save operation will be cancelled. The type of file loaded or saved depends on the current "compression mode", displayed in the lower left of the text area. In "uncompressed mode", raw binary sound files are loaded and saved. In "compressed mode", files loaded or saved are in a 2:1 compreto "equalize" parts of a sound that were of very different amplitudes when they were sampled, or it can be used to set a sub-segment to silence by supplying a factor of zero. Pressing just RETURN will cause the volume adjust operation to be cancelled. Noe marks. The paste operation is aborted if nothing has been previously cut or if there is insufficient space to complete the paste. Adjust Volume The V key adjusts the "volume" of the current sub-segment by a factor which you supply. This can be used cation of the active marker, unless doing so would exceed the available space. The cut buffer can be pasted multiple times to produce various effects. The position of the marks after a paste permits it to be "undone" by performing a cut without moving thsplayed in the text area. Both marks are left at the point of the cut, so if you cut the wrong thing, just do a paste (see below) and everything will be as it was. Paste The P key "pastes" the contents of the cut buffer into the current sound at the lont out of the sound and closes up the gap. The sound which was cut is saved in the "cut buffer", on /RAM disk. (If there is no /RAM volume when the editor is run, then the cut buffer will be saved at the current prefix.) The size of the cut buffer is dies The $ key "$waps" (if you'll pardon the expression!) the current prefix and the previous prefix. This is particularly handy when you are editing sounds in one directory and saving them in another. Cut The C key "cuts" the currently marked sub-segmewill find it's pretty easy to navigate. Both the current and the previous prefixes are saved, and can be "swapped" by the "$" command, below--this is, in some ways, handier than SF.Get! (I stole this handy feature from ProSel's Cat Doctor.) Swap Prefix ".", the last element of the pathname will be removed before the new prefix is appended. A "." alone simply drops off the last element of the pathname. (I wish that ProDOS's PREFIX command worked this way!) It's no "SF.Get" (not enough space!) but you rectory will be produced. If just RETURN is pressed, the set prefix operation will be cancelled. If the specified prefix starts with a "/", it is interpreted as a complete pathname. Otherwise, it is a relative prefix. If a relative prefix starts with af the marks, then plays the marked segment. Set Prefix The / key allows you to set the current prefix. The initial prefix is "/sounds". If you type apostrophe (') followed by RETURN, a catalog of the subdirectories in the current subdiys. Activate Other Mark The RETURN key activates the inactive mark and deactivates the active mark. The active mark is always flashing. Play The SPACE bar updates the lower oscilloscope display and the text display to reflect the current placement othe corresponding direction. The speed of movement is multiplied by ten if the open-Apple key is held down while an arrow key is pressed. After the marks are positioned, pressing a command key (say, the SPACE bar) updates the oscilloscope and text displais mode determines what kind of file will be loaded or saved. Therefore, to compress an uncompressed sound, Load it in uncompressed mode and Save it in compressed mode. Move Active Mark The left and right arrow keys move the active (flashing) mark in ssed form with ProDOS filetype $F2 ("User type 2"). The default mode is compressed mode. For more information on sound compression, see "COMPRESSION" below. Toggle Compression Mode The K key toggles between "compressed mode" and "uncompressed mode." Thte that a series of volume adjustments may cause loss of information in the sound, such as clipping the peaks or losing bits of resolution. Although this can be used to produce some interesting effects, in general it results in loss of sound quality. Resample The R key is new in version 2. It "re-samples" the selected segment of a sound to 11025 Hz. from whatever sampling rate you input in samples per second. Resampling from rates other than 11025 Hz. is handy for changing the occasional non-11 kHz. so crammed into 4 bits by employing an implicit scale factor which varies adaptively as a function of previously encoded differences. The effect is a sliding scale of differences, so that when the input is changing slowly, the resolution of the encoded diffhe ACE tool algorithm.) The idea of ADPCM is straightforward: instead of encoding the actual value of each 8-bit sample, a 4-bit value is used to encode the difference between the previous reconstructed sample and the current sample. The differences aretal Video Interactive). The assembler source (COMP.S and DECOMP.S) are provided to encourage wider use of ADPCM in the 8-bit Apple world. (In addition to being very small and very fast, this algorithm has the advantage of being openly available, unlike ty it's known as ADPCM!). The algorithm used is similar to the IIgs's ACE tool algorithm in concept and fidelity, but is much smaller and faster in implementation. It is derived from the 16-bit ADPCM algorithm proposed by Intel as a standard for DVI (Digiecond! Saving them with 2:1 compression provides substantial relief with negligible loss in sound quality. SOUND.EDITOR uses a fast, effective, "lossy" compression technology known as ADPCM (for Adaptive Differential Pulse Code Modulation--you can see whbye"' with 'END' in statement 840 (minus the single quotes, of course). COMPRESSION ----------- If you get interested in sounds, you will start collecting them. Soon you will notice how quickly sampled sounds can eat up disk space at 11025 bytes per svailable commands. (Who am I kidding? They aren't "descriptions" so much as "reminders" of what the keys do!) Quit The Q key ends the program and quits to ProDOS. (If you would prefer to quit to Basic, just change SOUND.EDITOR by replacing 'PRINT D$" to get a feel for what works--remember, no harm is done as long as you don't "save" over the original sound. You may find a great cannon shot in that sampled pistol shot! Help The ? key will display a help screen with abbreviated descriptions of the and. Your best bet is to try to resample directly from the original sound at the desired frequency in a single step for best fidelity. Resampling at ratios less than 1:10 or greater than 10:1 is not permitted (nor is it very useful). Play with resamplingng, particularly "down-sampling" from a higher frequency to 11025 Hz., does not, in general, conserve all the information in the original sound. As a result, down-sampling followed by up-sampling will cause a noticeable loss of high frequencies in the souple interpolative scheme, not based on digital filtering. While the result is approximate, it is good enough for most purposes, and is very fast. (In fact, it operates at approximately the speed of a single 8-bit multiply per generated sample!) Resamplithen the size and duration of the segment will be decreased by the ratio 11025/, and the pitch of the sound will increase. Pressing just RETURN without entering a rate will cancel the resample operation. The resampling algorithm used is a simrget rate. If you enter "8000", then additional samples will be interpolated to increase the size (and duration) of the sound by the ratio of 11025/8000, with a resulting decrease in pitch. If you enter a number of samples per second greater than 11025, und to 11 kHz., but you will probably use it most for its effect of altering the pitch and duration of sounds or parts of sounds. For example, if you enter "11025" as the presumed rate, no change will occur, since 11025 samples per second is always the taerences is a single unit, allowing perfect reconstruction. When the input changes more rapidly, larger differences are encoded with less resolution, so the reconstructed output may not be accurate in the low bits. Fortunately, the human ear is not very sensitive to small errors in large (loud) signals, so ADPCM permits 2:1 compression with practically inaudible error. The particular algorithm I used, like most well designed ADPCM algorithms, does not compound errors when used repeatedly. That is, althoumake (either) fork into a plain binary file, so its sound content can be used on 8-bit Apples. A program to decompress "ACE" files on 8-bit Apples would also be very useful, but, as I mentioned in the section on compression, documentation of the ACE algors for which there are no 8-bit Apple decompressors (such as the IIgs version of ShrinkIt). This problem arises when a "great" sound is embedded in a forked file. If you can find a way to de-archive the file, then the widely available program UNFORKIT can Editor. (If you make this change in the simple way I've suggested, then exploring past the end of the input file will result in an error, but no harm is done.) An annoying obstacle to accessing all the IIgs and Mac sounds is the use of compression formatt of a file starting at a given byte offset. If the offset comes from a variable that is successively incremented by, say, 10000, then you can load successive overlapping segments from a long sound, and select and save interesting segments using only Soundsounds for interesting short segments that can be saved for transfer to the Apple II. Another approach would be to use Sound Editor to do this exploring. This can be accomplished by changing the BLOAD in line 2240 and length in 2250 to load a 20KB segmen higher frequency (the Mac and PC worlds have many sounds sampled at 22050 Hz.). OVERCOMING OBSTACLES -------------------- Since the editor's sound buffer is only 20KB, and many sounds are longer than that, a Mac or PC can be useful in exploring longer ., but if you encounter sounds that sound too high-pitched or too fast, it was sampled at a lower rate than 11025 Hz., so resample it from a lower frequency (8000 Hz. is common in some quarters). If it sounds lower or slower than intended, resample from aThe SOUND.EDITOR loads, plays, and edits uncompressed binary or compressed "type $F2" files, and saves in either format. If the original sample rate is not 11 kHz. then things will sound faster or slower than intended. Many sounds are digitized at 11 kHzfurther ado. Type $D8 ("SND") files can be played and edited if you change their type to binary and ignore (meaning "cut" off) the 64-byte headers on them. The same strategy works well on PC .wav files (but they should be 8-bit mono, 11kHz .wav files). ounds with more than 1 bit precisonn on an unaided Apple ][, but there are a wealth of 8-bit digitized sounds available in the IIgs and Mac worlds, and many can be easily downloaded from online services. Sound files of "binary" type can be played without defined" file types, I somewhat arbitrarily picked type $F2 for SOUND.EDITOR ADPCM sound files. If it gets to be popular, then perhaps a more formal allocation will be appropriate. SOUND SOURCES ------------- Unfortunately, you can't (yet!) digitize s can also combine the sources, eliminating a copy of a table.) For a number of convenience reasons, like selective "catalogs" and error detection, it's handy for compressed files to have a unique ProDOS type. Since types $F1 to $F8 are reserved as "user d.) The decompression routine fits on page 3 with room to spare, while the compression routine uses most of one page at $9000. Space is tight in SOUND.EDITOR, forcing this placement, but you can reassemble the sources to put them anywhere you like. (Yough small errors are introduced when compressing a sound which was not previously compressed, subsequent decompression and recompression does not introduce any additional errors. (Put another way, the algorithm is lossless for any sounds it has decompresseithms and file formats is unavailable. GENERAL ------- I'd like to give special thanks to Steve Carpenter in Portland, Maine, for writing machine language display and volume adjusting routines for Version 1. The resulting speedup made the editor comfortably fast even when running on an unaccelerated Apple. His efforts inspired me to implement even faster routines for Version 2 and several powerful new features in machine language, although the basic framework of the editor is still in Applesoft. You aking a vanilla Apple ][ sound like a IIgs or a Mac WITHOUT adding hardware. DAC522 is the result. HOW IT'S DONE As I've suggested, the problem is that it takes several bits of precision in converting digital samples to sound to make "good" sound, but t Apple. It played 11 kHz. sampled sound files through the Apple speaker (or the cassette output) with tantalizing fidelity--not great, still gravelly, but much better than I had ever heard before. It inspired me to find out just how far you could go in moss it on America OnLine, in a little demo called "Insert Disk." This was attributed to another author, but a perusal of the playback routine shows that it is, in fact, Alfter's. Scott's SoftDAC was a new high water mark for audio reproduction on an 8-bi0's, but the fundamental (harmonic?) tyranny of square waves continued. (Paul placed Electric Duet in the public domain--check it out!) Then, in 1990, Scott Alfter wrote a little suite of programs to play Mac sound files on any Apple ][. I first ran acrns in recording and reproducing audio. These limits were repeatedly tested by talented programmers like Paul Lutus, who in 1981 wrote Electric Duet, which produced real two-voice, reedy music! A host of other programs used similar techniques during the 8 infinitely clipped or "fuzzed" to the very edge of recognition! A number of authors since have used this approach in programs like "Audex", "Doubletalk", and "Digicorder". Apparently the Apple ][, for all its wondrous capabilities, had serious limitatiogazines. It worked, but the results could hardly be confused with hi-fi! Both the input digitizer and the output device were limited to 1-bit resolution, essentially capturing and reproducing only the zero crossings of the input signal, so everything wasy of using its cassette input to digitize sound and its speaker to play it back. In fact, I wrote mini-assembler routines to do just that, and an APPLESOFT program to use them to "read" hex dumps to me so I could check my typing against hex listings in ma A SOUND PLAYER FOR 8-BIT APPLES =============================== DAC522 - April, 1993 INTRODUCTION Back in 1980, when I purchased my first (16 kB, cassette) Apple ][+, I was intrigued by the possibilited earlier versions will also note that a number of changes have been made to save space, occasionally at the expense of clarity. mjmahon@aol.com Apple ][ forever! moved to $300 and $9000, respectively. There are currently less than 100 bytes unused below $1E00. The program's once liberal comments have been savaged by the addition of new features, so it's getting harder to make space. Those of you who have examinmay want to make modifications to SOUND.EDITOR to suit your purposes, but be careful. The entire Applesoft program must fit below the machine language routines at $1E00, which include hi-res screen 1 ($2000) and decompression and compression code which isthe natural audio output capability of the Apple speaker (prior to the IIgs) is only one bit. You can decide when to "toggle" the speaker, but that's it--the cone is either all the way in (or headed there) or all the way out (or headed there). Experiments have shown that the human ear is essentially insensitive to the "polarity" of sound, so "in" and "out" can be interchanged in all the discussion that follows. (This is just as well, since the Apple I/O circuitry doesn't give us control over the polarityoops, putting some of the work of steps 5) through 7) into the "long" delay! This allows some of the delay period to be used for useful work, permitting a total variable delay of 64 cycles out of 93. The result is 6-bit resolution and higher volume (64/9ay, while still allowing enough time to get the next sample, test for the end, and set up the delays. What Greg saw that I didn't, was that for each sample, one of the variable delays is at least half of the maximum delay. So he split the loop into two l(handling page crossings), 6) Test for the end of the sound, and 7) Use the sample to set up the next variable delays. Doing all this within a single loop with a constant period of 93 cycles ruled out using more than 48 cycles for variable del 2) Delay a number of cycles proportional to the value of the sound sample, 3) Toggle the speaker again, 4) Delay a complementary number of cycles to maintain a constant carrier frequency, 5) Get the next sound sample t the background of the very loud 11 kHz. carrier tone, but more about that in a moment... When I thought 5 bits was the limit, I viewed the SoftDAC problem as a single loop which, in just 93 machine cycles, had to: 1) Toggle the speaker to start, statement as a challenge (Right on, Greg!) and proceeded to write a 6-bit DAC, again running at 11 kHz. A 5-bit DAC averages about 1.5% quantization noise, while a 6-bit DAC halves this, to 0.75% noise. Errors this small are practically inaudible againsEAKER? After being inspired by Scott's code, I had to find out how many bits of precision could be achieved in a software DAC, at 11 kHz., on a "stock" Apple ][. Until April, 1993, I thought the answer was 5 bits--but I was wrong! Greg Templeman took myrtunately still quite audible. (Postscript: In Summer, 1992, Scott released a 4-bit version of his SoftDAC--half the noise of the 3-bit, but twice as noisy as this 5-bit, and still with an 11 kHz. "carrier".) HOW MANY BITS CAN DANCE ON THE CONE OF A SPe between what the sound waveform value actually was and what is reproduced after retaining only 3 bits of the sample. In the case of a 3-bit DAC, the reproduction of each sample is off on average by 1/16th, or a little more than 6%--not too bad, but unfo11 kHz. "carrier" frequency is already marginal and quite annoyingly audible. Second, with only 93 cycles to spend, it simulated only 3 bits of DAC resolution, so sounds are still somewhat "gritty." This is a result of "quantization noise": the differencanalog converter (DAC) by manipulating software timing loops. Brilliant! Of course, there are some limitations. First, it's limited in its sample rate to 11 kHZ--a period of 93 clock cycles on an unaccelerated Apple ][. It could be slowed down, but the nerate arbitrary sounds by changing the duty cycle in accordance with the values of a sampled sound waveform. Scott Alfter refined this process sufficiently to produce 8 discrete positions for the speaker cone, effectively implementing a 3-bit digital-to-ion of the time the speaker is commanded to be "in," say) of a high frequency square wave can be thought of as causing the speaker cone to move to a position approximating the average value of the square wave, which is the duty cycle. This allows us to ge anyway!) Greater resolution in speaker movement could be achieved by toggling the speaker (in and out) at a frequency too high for the speaker cone to fully respond, and then varying the "duty cycle" of the square wave. Changing the duty cycle (the fract3 instead of 48/93 for my previous 5-bit DAC). Very clever! At this point, it seemed like the game was over--after all, with 93 cycles to divide up, and 1 cycle minimum resolution, 64 different duty cycles are the best we can hope for. But there was still one annoying problem remaining: the ear-numbing 11 kHz. "screech" of the carrier tone. It could be filtered out by requiring additional circuitry outside the Apple, or, much better, it could be practically eliminated by raising the carrier frequency ae speaker toggle with an oscilloscope.) I listen to my Apple //e through headphones, and the output of this software DAC sounds GREAT! You can also attach an external speaker, with or without amplification. (Sorry, the ability to send the sound to the cby an Applesoft program, which does all the dirty work of counting cycles and scheduling the work between the timed events. This approach is a practical necessity for experimentation with such large chunks of timed code! Timing was verified by probing that 8/9. The entry point is $2370 for the hi-res version, and $8C00 for the contiguous version. The source for DAC522 is included in this distribution. (You may be interested to know that the source code for the duty cycle generators is itself generated res embedded form of DAC522 may be a little awkward to use in other programs, so I've included a single-file, contiguous version, DAC522.8C, which is assembled to load at $8C00. The DAC is called by setting up the start address at 6/7 and the end address nation code, and a 16-byte table all fit nicely into the leftover spaces. As a result, in this version of SOUND.EDITOR, all of DAC522 is in the hi-res screen contained in the file SOUND.ED.OBJ, freeing page 3 for the ADPCM decompression routine. This hi-ators, each of which breaks naturally into two halves, into the 32 lines of hi-res page 1 which are hidden by the four lines of text in "mixed" mode! Since each "bottom" hi-res line is actually 48 bytes long, the sound generators, initialization and termian previous DACs (1012 bytes). That's a problem for the sound editor, because memory is already tight, and it would be a shame to cut into the 20KB buffer available for sampled sounds. I decided to make use of some "wasted" space, by putting the 16 generrequency of 22.05 kHz. Dropping back to 5 bits to get rid of the 11 kHz. carrier is a good tradeoff. Let your ears be the judge. Since 16 different generators are used, each spreading the "work" differently among the speaker toggles, DAC522 is larger th by the most significant 4 bits of the sound sample, and the fifth-most significant bit is used to lengthen the duty cycle by 1 cycle, if it is set. As a result, this software DAC, which I call DAC522, converts with a precision of 5 bits and a "carrier" fapproximation to 11.025 kHz. (Actually, 11.092 kHz.) At the end of each generator, it jumps to the generator needed for the next sound sample. It's only coincidental if it winds up "looping" by vectoring to itself. The appropriate generator is selectedd of 16 different pulse generators, each of which has the job of producing two identical pulses with "on" times varying from 6 to 37 machine cycles and with a constant period of 46 cycles. The total period of the two pulses is 92 cycles, the closest even ke a sacrifice I could live with (an additional 0.75% quantization noise). Frankly, as Greg remarked via e-mail, in the presence of the 11 kHz. carrier, it was difficult to hear the difference between 5- and 6-bit resolution. This latest DAC is composeirst, splitting the loop up got my gears turning about other ways to do useful work during delay periods. Second, starting from 6-bit resolution meant that doubling the carrier frequency would only require falling back to 5-bit resolution, which seemed libove the range of audibility, say to 22 kHz. Going to 22 kHz. would cut the timing budget in half! That would require trading off some resolution for greater speed... SoftDAC: THE NEXT GENERATION Hearing Greg's 6-bit DAC opened some doors for me. Fassette output was dropped from this version. It's no longer a trivial patch, but could be done without too much trouble.) If you feed the output into your stereo, go easy with the volume control--you don't want to harm your stereo! You will want to turn down the "treble" response of your amplifier to reduce the power level of the (inaudible) 22 kHz. carrier. Remember, tweeters can't handle overloads! NOTICE This program is FREEWARE. You can distribute it any way you like, but you can't remove this΀!r# ۸e#;2I˩1 C :1@X*"0A 12!;,2#9*˫"ay$.+ـA0$K=A@Ꙛ#r!X *2x+0^=(+IJ;7В *y B *+y1ɤ 3p;4ҙ@K)!̹14!0)IB4:꩑1 7rʪ1T&TR"3)ɐ3E1 PE aG" 3'Aʺ)GR0#"ɋ c&̚u ˜cB!ɪɐdC뺈)sC#ڻCD!#s2쩡#ˡ%S  7Xٳ2513 7͹3Ac)ݙET"ʨ8 P˫T#2ʙ7CQ!DD!̫ GH2ۘ1Qsʨ3Q`ޑ$4 뉈T0r51 ۝ʘ'@˙!3B2ق$ 9̩43ɂaU@ɘ C0ܸ!$2S  6c1 "3ACۜʩ!Db#(۪3T35˙#4C0317*83h3R3") C1ͻ 53C 5#ɑ2ͩ44! ڈ$C٘"3QٜAB BS! 598F0 ˞63A"04"!% ۪9$@$2a55 EQ"3# <9R#r4)QʘR2 8@Ɉs9RɂA 3 42 P8*CS(ˠ!$$ ̘Hف&  *rQ33B#8۩a! T!ۭB4R67!$B3 ꒉEC% 6$2E'1i)ʫS43ϩ71 ˂c3R'A1a#Q 3b w "ɢD bC/4 5A3:ʃSS1 c1ʀ2 A10ܘ631 ˹1D03!ː&21 6T!ɀFB(ʩD ̱DS!5d2컂35 C4" #B8A)Aˡb 3ڀ3 6(˰$" "2$! #34 R45#Xap3  67A'iE12"Sa u̠C#33A1Rd0JۇC Ɂ1"! ܰ4#)%! @Ka4(9JX "8EЉ2 2"D2 "Rɩr21&)$R ʰa Q)C A 2B  "%1A)5BSR340 9̠r!b% ʘ1P @'*2,GrCS3 ̠#H '`!S XQ( #7 c):t#BQ"71A 'Pb v)̐AC ̢Cq&3"2 12Rʙh1۸%#4ܡqB% bw 10qbrڀSr4 ̙ 0Pݐ #@#CA߰!!1!24A۹'0 ι# ' "C" r!3'! 5($R  5@ !!˘ qQɰ#PS ܨ58%"2BϠ!25 s(2vʈ#T ۀ5 B1 BHF(2 콁$Q*ʈ*s0ʘ"wQP 1 ! 1 !0#$ 11a0 1*1 5)'@ (211";" 4ڡc) D#R#3"2&  150 % )1!%@A "qCC3 *R!+2#*2" 3 notice or make money on it! If you would like to use DAC522 in one of your own programs, you may do so provided that you give credit. You may contact me at: mjmahon@aol.com Apple ][ forever! )⁑ z85P@ ۳)HP1: )T q8N €4A)0 %+p:2s%#ڱA Qq+7 !!># 0 *sI6!@s !35"Q 7 T2'$,, 3ݸ*3(( .;%!A)C:A)ͣr 10C2!%1Y1(R%Ƀ 2478 C+26܃ 6 ɀ5 )H$Jف 7"P;A i3/ )C"c02QI0!ܔCИ#p Q6 A%Z9#*d;0+q05ژC HܘE2ʻC cc3R 2![j "陔 T7!33ꝐDR1껸6 s2鉒S#3Q! p a #A *(V3C((S4 ͠!d2˼3'C*(` S# )$Rꛡ150C2ɋp$ ʸ#S$1 dRXR B "3 !ș3)13(a pʠq33Cى7# "#)ݠR 89BB b00#T 5233)4B2#vۨ#I%1ۀ!2ۻGA@ٻds 3d٘: .[K@X * 9yLzE%  :;: w8"a 3{JIa@͡ q1Bڙs!t ;@ΐ2s a w"  R BAq#&"(EȞ%8 [4 1۩c1$ !2072! "!   "23 2# 5) #1)2#2 ګ#33B"!)4233 1!2 !"!"!! " !!!!  !2 "!3JB"#( 0s05;1R :2 7!̩41W!3 42ڐ160!S2))A2A; ̫ #4!1#3993!#5 ˑ1ݘ72 1#)ʩ943!0ʚ#32!3! "32 2B!ȓ1 E1 6 x4 S Vr0*ï'A#4ݠA542 ߙ(BA96A1ЪRA"#961D1꩒q2S:2q:@!=C 3!32"˃Iʀ3R:ۑ  3ړqG!ʁT"% ɑ A@P#3! 3 Q ! ڂb$̀ u  Q"B)#!ݙ̫ "t))73 ʉ:4!Q#ݢ I@#) t*)pْB!7*!3 "cD8ڐ& !S(?$1)ʩab +S#rʰ3s+*5s`  Й8'A sډ B%!409QI%2!" 3<:Hc8 5D,*(/ۀ!pC6ː" ,7! *˺!t*f! ʒ@ 3c) 1&;1,e(*c#)@6 되!4W "s)$کcQ TSCI*5)A (1sR!4+3C"7Pu 'H !t CQ Pc əbQ˨t$8ɜ24Y ( r ) wـ 4 QrCy#2 1Q2;sQ8W(R+݃%CߐQaQ͐"A32 ΁2r (ۘB1T Bs2h # 6"  D !!*) "@r#"#Ru# 7Y+U*Bې2 d) Q$ PZ T`q '5%*4BS1 (1"=s,9& b! ܩ$T19 :58r8S3 "#bq21Y3RpAܑ)B") H3Y@ *023#ɚ!r5! ˺#52:QD ˫Rt329"C H7#)˯A0)Q+!(5 R8 a ۰b03ۉA 1+R'44j$ %3@ہ%R ˨73=1C:%7 Ch?+D#Rۨ Ds2 ˻Q S3q#9 1Aؘ4Q "3@ٺ 3535  10371 *13xȩ)!5 :!p 0 392 !111!  ) 4*59! apAqp8)*ð (9x"+3$O %/*Xy)*I-Kx 8҉=9 )9єz,z/*:L[:9;1ʗ|a 0 Б ҸZ:8+):09 ,2; *1!9 7r3H!%Ѡ8 E43"' ˂P1e) ӱq[ J)['"2[JI*`"#P1  1?9=Ҡ*KM[)ǣz8=; ӡ ZI1" #  "99  *A5: ! 1 0: "0)*   1*R  *1#:+ "* *0*1:& 9 9!I 39 3@+$ˣ3R:!3 P"$1ے1 !;53a3)I˫2 BQ! 9 0ۣ3Q#39 !)2 # !19Q 9+P!3 9 202* 219ɓ9031 )  "#(ۨ')3"3 6 rڐ6@A5؁BI9tp:q 3'*!8d  #"( 9s3٪S5RA")ΓSB )9q+E)d(D! 113JA"Y*7HȩU) 9E! +)0/@E#@ C)۫Q b%(s( " ʺb CRtCͩ!5122Ϲbsҋf0˂BHs) 3 &!K!!" [(0 w)1 s ͘A42R  b(0TEQhϠ"Bt$#3ʈE0"S(+$6 &0+'9s1!"B C 阐$R%r!Iʉs#Q,H0B! $3!ːr53)0TA *r)͸3C!0QWQS5f#D2ː5b!)ꀘ5 $2 )B&1 S24S3[ȋ2U!1-5V( f(3bb" )Hɘ cs2ϰ!R$3DȚ5 ʈ71t! (#;1D  D0T!4"ۺ3"d01A ʒ6 2 ! :ʉ$ả(b1ʙb3əT$+&X3%B0 鉠#EG(652S2!9)u12 ""x#C 쀛BA!ڈUB B Aߢb B& 0ہ&2 Q ) ۘb 2Q7"u 3  3!;9  011:)+19P;  +193)J *999! ) : zX#9"U0r 38q9p(r F8 b3(r!H̡' # %a(B2)1#33   )q" !3  IH) 02213 *)3;1x[<*j !‹39?!X,Iњ+*P:" 3+ )03, ;;9       0;*r ʫX"(4 sa#U) ˑP(.#x0"$d2I4Y`J=&@ 3[=!9ȪR90*(: 1:2A;)2B;:P  (9A8D Q3131 !+2"Y )) 4!R  1x !زj:+!5% 7 1R2`  K//"'b ϩ Fr% "1B& ۈ˪27PC3J"7@0 S058v(SC1  5)K61AB! ".1M`1!0ȃ1       * ; rB#"ۉ930s"1܇22 $88 1'2!9Q,( 2B4 4R`19929T ق ! i/  $11374p2B3A85 ): 20   19+))19;;9 ;)1!  @;1! : 3  1) ))       3 0;3 * !* 9(!Q   +*;*! !)1 +1! )  9)-* [! ! ; )P;11 9  : !A7 @A*RP'1RKD22ِ#8#78A*A#)ݙʂQ $cҐi#T%((! ۀ#1&2 ̫Q+ۃRS33KH !E2ʁۑA#36!33麰*s3!H  3@3X32A53 ʓq !S ˹"91q AIݹ0572P3#C˰EʁC&2 H ܰ3SPBʒ9 uɓ@4T!(C P06Bڡ2'q ڹ5b s1t1(ٓW6Q2)Q R a%+pʉ28w07)s":12 Jوb7( CA &(˙$#ɬ-2r( ̉B Eʑ7C":$ a) $PA0L۪ʑR 2bQ 똂7PpܘS 3QA1٩4=b 1ɐq19鐁1 R@S˘%R *3% $H 9&D "rAU!"$2q.Iʑ *X BAX2͡ *$0ʡ!:"B ޘt2ʁFȘ BCXت. r25 A#@ 54 )2A1 x3˼Ct*@) T%) rϹ b*6@'Y1C*E*ف,³ -)ہ21r3  8A0 ˁ0"#L@a Q̐'3:ڑ!V4 *r1r!#A2@ /B@)A B%q96@聡+t"p5    AY))!  9 *9 ! 111 +)!);9)!(523!5 qB˕" =aB)J0a0BR5(A+3!31 1S0!539ɱ3336rښ%148 0 `# ۩"31*#:R))! 3p ؙ33!!93+麂C;˙33@93329 930 3 2 3#   2 1 3%33 )  84 !M1?2)X4'I";0p H1p9IxZ7B̄9$ Q9B*H% )"*&+( 019X"(B2 8r% *I :hR *D48)@! !̓Q5  $(Jq6#(9٪7:ڑR" Ab &#ܑ!#!t(( 11 'HBq 93t2(E ;$5(Qs='4@` !61)D 9' +ǚ p1p9:!r"1;؄ = ,%0QR# "‹t@4#cB ͑r2a31V 12(I")2($BB(& #+# *#+qAb$"*"F)b" &  (1r!            3 9  0*9j 0;9/)(!+129! j+;I @ )Y0 403  1115  "3 21 !1  23!; "!1 )#)Q!131 " !! !! 2 v# 9r! ،s2H8 b" q33"8PA1  +; 3S!%!3C !2 93304#:ɛ4 4350A!1ݩ231QB# 9Q!"32    P0hy(J`12" ,i(80 Q* *3, Nj%">)1 +p&3<8*+$ AB8*% S 3(@2%ʊq3(h" '(@# h2)Y%9" * )  !      !              :0-P* &**J(Ӓ-9@JQрJԘ* J{ J<; O-+:y(<1D0 [K! 4? lQ( 9\*8%"<"*{;B  HI) )Yj1  4 8 " *! "0"* !)XI"HB:I# I"X 9+Q"B 'l9B92"(@B"0 I7E&H%7#Kj (0 5D )3<;3H !1s1Y( ;5 ;)!j q)(I Ys5 T0 1 Rr;270Ppʑ$ !c%+3! a4D Aܒ #0R4 "!ݒ " 0R["ϒ2 0Rp˂40 # @C&;" R% P3"AS* 37hH!)!9(T!9H3q92c#87)!T (PS2 !=Z9ȋAV""v 0q! e@Q" r(@AE(u! #3'X!S" 3 1BR)2'0Bp"!d9'+"I26 C0;7+كQ$B'Q"5Q5C!V!  43<Rd#ژQ$*2(1ʁR )#rQ 3#t*'A 1`'P#19'HB a"B `"XځQ! 7 RR8@59231#11ـ˻ )4)2:IAA!ʐRb11C T˸ٙDD###@5" B ꀊˢrb3 #  51 ۱ 55)+ 4R%2 0 U D# s(C ɪ6(1 Ct ٫(7:-;09#     :IiA23,,3!#xP" %IH1$$JXQ3 ;:8$[XQ#J904 A3;( qC" y0B 0+2:7pS YA*8#0!A 7*# 89R9# r(!7*ϙs!+S*)v 1ʄ sD" s(7b  'S! ! tڛ7a p؟ e! W ܑC#7x )c 17pʯ(d Q V8ɀɾ)C 6@u#4U)r2"4Qu##B'q ʙ S"D! "60 d<3) ݨ!+5R1T"˚ِT1#QȂ #s Б!##4 19Т ɹ$ 03)1 )1) ""sP)P. )D "p'R C!Ъ9@"!0?ڪ1c2sE C* 6+pA%ٙ@9谱0y/6A 32 (K,I!3Q:+²==+pIޠt ͹CB 09Ҥ I ੻95౒I;+z7R#q .60't0ݸT! P2 a)$3J<30Ϫ$tAɀRA) #đ28XI 28KѢH5530ɘ() Úqa)38+> -91$7"sHȀR( %DCR)@ع2h† &A ܘ#1             #2 )#" ! "1   0             "#9R C( ͢ 341ے#232)ݡ!b ژ31! C#5) B@ 3Q !2 R1"#0 3 "31  3 2 2 !#) 3 12  0 0R 8!3 "#(p34!Q C@)Bα!59D 20"B!6ݐD*3032 7!307) C2( 32 %42))&*)ɒU)23!C3S32˹+C "! "#!ڐ $1 81 ! u "$ 19@2t́24#)W*3 $0'`)@͑!r @A2 v ʒ14 W"4'H# 40a#5AQa(t  c e͑D*!7!ܐTC4+)@"w:)̠40ܐ" wˢB&*ځ!ːq9r"w2$)܁1 ˘p)C#!ȃuˁB$ۂ2 u(̠3 $9ܐ1˨W8)@̠!'X)@! G)$ " G)$8A d(̑##;!uˁQ# ('`9QB )W9B1 Rq8#R 4a@C نq0#S Q)#A!#ߺv)(̘# 4 )s@$ ʂw(ۙ !!݇a D (wˠ38̑ w:)̨3 #Q!g)% A#w:(̙$ 4"1#wz C2;2'u #3)41!wY *B8ܘ*ڐ%u!!w ̑ 3!ڑ37r*C2)"+ےr 33(ݨ9͡s 32,(#)̡q C!)#;ܑ'p)31)4 u*̐ B  ʁBs! ˧9 1ϐ%1B5"쀙6!!ȉB$16" ͺ7 ""CR@!!$C(ˠ w#S5!W`ʀ S02ʙ7vʑC!3ۘ'uځ3@2ˡ7vـ#!#ڐ!7vف"(2ʁ#Gs ! 3 0 ;;I+ Q0%Jt+b w̑;71#[ 2`1"r* d 3H9#B 2R3 94 !q 1"ށ& R I2(" Q4!# :ښ 2ފ!@3 +Y(*ѲXy%02@*ᢃ К*q0#1J/)1Ѳ"QY 8Hȡ2`8(@A(Y*( ٻ Ӕ3S(ْ8+ˁ0ɉ@' (6= +17"X 2A)I;4IX0!Й) t+!#ʂjȁ E  " jIi!1K (8 =!A 1٢ x:9'@*2!1X) % y("y8Z " -*M;)#˫a 039+ ÊZ9ڠp+!=,@ 8)?!ёI;hئ 1 "J1 3AТ*h290 K"*yE<2+3& 2BʈC 8I!0: v:2! C `50 Θ D("٩0b"#ۄI! RH1%XںK Q0O L:]:$˜[ Ԡ: [0 L0*{K)ⴑ; yJ,I)*ԢØ;[ <:;Kʼnh\(Ґ:/YI| :8J¢z ´ @ ;0/ 0#X9+| k"1]a:I# 3* X I*ؤ , x[ ?*;<P:Z*!â9< ␪+р<٣ k"Һs?R sXL4J!?DA  P20"-#[3/9A )"K72)+9!8r X !0* " "8 );=#:5QB2YS ˁI2/ аt @!2 NB#<" !q9 9i 9*X.J*ҩ<)3>* Ң;;سҲYđ=K+ ;Jҡ!äI)*0P/ >;>(+Z>+9;ZњJ[)9Û+[ ;*#AKѣKM(CXB@c$1C ۹ʐ1RR)(:85 $ |5Q$ʐ 3@R.SIAȒhI"s#ںʰr($2˙451D)  ڒ#x #|P3ːD"x h+ q) : C& -, X"Jp 9±Xa9 9801 ' #Z1;C3&9B) *"x3 ("\*4328H")˒$5R 驍RA"Is"۠#1ꘙBB  :GQp3̨S B왈4C0 z+ m* ҂=9㣛K 3KL , ; J, IԈI) 3ZJ @ҁ 2„1 \*(Ę+𱑳NHӒ0)YKKY !ф P1K2Nx"y@ ) . ,C:0$ 9l,hI *(O+)|<:<)񥲖Z : ၂L: 4Ж9 :?*+K+Z㢑^:K,:K) |;=J+*ó䳢~J*=Z)I9= >:+[:* à )=) [ Ԣy i ( A“+)B2[;+:ӣ%H"+2D ћI Ҷ:a)3R)"*Е0 P +8$pH" 12Y̰!p x H) );0 1z8:9!+;В0I,?)İ@X+ /9ؐ-Ģ;; ;#> $*󣘷 Ғ5 X ЃU=aʀS8#qʰ3X709ə)@0Rٓv0#0r D*'R(+!aЂQ ٵ#@1c3  "ڒ!(-ʂE:1 qр)<8'3@ʀC308;J!)Z "9E%!8B鈘BZx$ !@ Ȃ"P BH9ף )2#33R43(Kڒ):;ʢ2õ#4?,sͩ2U BB:q(' 0Đ>rPD4S@ ɂ4@  ) PPsOQ6!" *R))'P 3Q=#* 0K@€,#;{Pz9 +Ձ9[<Ē>)**+; ! =J!1yѲ!|+:S"Jҕ ,j 8k hKK"Jj0Z⁛* ?[*@+ХK3){#Y3Ò?H 0ly)N()Y>0 !!MH (;!2+!c  1`!h9+ @*13|(. "" \) )Q)8Y5 3Q!(. qYH yqX ڤJK7<X$5 ciC:*8X<@3x!0 zK-(+9L" y M( ј=£<8󘑊\,2ц ," ; p i),@:>9 #I;YӐ Y8ҳ"q! z A3 xm($)ȵ?"‘,j ! <ӣ y!1V(1 Q+Q%I"ɨ)s)  &p @; C;Qؘq Y˳$p@ qIԊA)ܩ B#`*; 3"= <҄"p 9!Ò+K9;yҔZ+㡹 L,>H:y,!/)9ɍ(33kC#N$9$ڒB2Iږ+7 #5(T$I H@G Cٔ*1AAc !@4A : 1E92q( 9"(B5 Q)ۘw(鐀Dˉ#$#, "A P@! ڨ T070 ) '*0k( +ց³񠀋 )Y @?   :;Z89!ɣ9*ә13j 1M,ұ\(1C )489b=3' ƒ*JE)8Ӡ)Z !Z/:#I! !-#9w t(0"8Q$ z+ P;;i )J9 9 P Q7,ұ 9:1;>Z)- ',J=2((Y  XӘ+*x¡{+; 򒲓2;`A 1!ě\I8+:1Z+ØH 1%;+[򑰁Z,[\)ãy+87--);9M(Y0pI  <"@ );L 1)"?*Ғ۩*x/%+Z"( 0 q+3)?8+ 80Ǒ@ +)3<#)9$;z 0  2>),K+,-) :<25y 9М< ¢ C q *S$ )@0䓁1*p#њ +:##+q(+L0#?ˁK"Q Њ<>9 p! P0 ) 1 3 5B9##8Y5 4#PH9J= "#?3*$1 2%-Y#)J!;zX[ ? 9p0B@0):K" aЃ IX10S ,I*SH49 ));K(y9<)8  )+x2 QR;8 @0. #=,(:98G3 Q"9;B:=z,.<;;Z@1( <q B#h*y-%(*; ;q9 '" #A2p/#)[)<:+豢-=1,0b- Ң y;)IYң;) :Z ;óJI+! , 9 i" z*+4 :z #%;s)3 2+* !:*:Kh;L<҈A30 T ʁA9 X #"zQѱ)y9BRP# Y03: 9ї H15C`) 0(@ p* ԓ09P " A@P5B( R@/)ё"k+ӄ!Y: ÐJi8*.  H0(k;(SZC %!2*390;49 A" ͲtPZP"# P#h AFͨs 4!( =Af ۸$A ʡA2/PF ((骘(s&) $j9:%!7 r1)# &"؈1iP[+,zÙkXI(9 A1x "J0 !<<7 4+ r 8z(*1ՄɁ9H(:$И) &@);X+A2!Ȁp ڃ@3" R̂  t4;2c 8 9x81'J1A 1B ("ˈ0U YHC !ـ2Hۑh B a :3w  "Gwr 'I@A")2c̀@A0(THG (B Y r! 81 PH0 0 0 JH     3t2'b칺7wv )0ې 3gQ1E #+2T 2 r 8w# 11W$)qhP6":,**ѕ1,*)ġ;?ã1jӊ=+0Ð-+)!J[=< + @#P<R()48ّH')Y •(2 2Z! 3rAC)'!i ::PH;) 697ɔ*% @2#% 1@0 [Z4+"1BB,1#-! A "0$9( {Ҡ z1!!<P(,*<1*Y0 =*0 =9*9L hYIj y8HY4 Z! Y BZ!i11  P0! 0 ²-;+*: h?+ ԘI*Q<+4\Գ 04ȵ>J?:X!->(+;I* ;9!+z9ҩ**ԓ,9;,; ä,LòZ;I1;,=*㣰<:Ր *99ÖJK-+[*11 # )!+[?91!-I ;@񑲡I? [*K-A<9ġ;?ã1jӊ=+0Ð-+)!J[=) p*2" 6292797( ͡B+27J0u& 00 *۸,! 7I˙@B")"" 1'1*: I"#22)5 A!W Q1;$b $PQ` @! $p'2" 32qW :7X*"$8#" 12B '(0" (%@! S2`8&(b 2C2ɮ#3$(QD +q#1c27xDCɐs!ڪ/ #8T ܁B(݀# + "GK 4-B2$WY #9͸#! 5!1"31 3!  3 5!3A!!"  3 @ ʚ #r" A2151"ȁ35)$"1)3" C35 B ˒%2 1 2 231103 !2   ! 23)+ 3B) 33R3 ʊ#04#1 ! 3!#! 2R!)2 3931 0ʣ4!4!2B "  "S@ 91# 0!2ف!3 33)   5)103 3 !#3  1 3#"  !  !R3031 ˛C5!!C#ʫ5!R"31300"7ɐ)!11  2!! R12A!A !02#"  "1*(0!3#! )$2 S(ݪ2#A!33 ۛs1S !2A2!S2Qܑ!# p1ۙ#p:S.9Pr QQ!ݑ"17+ 97 S 1 q)#R̹4B'4Q(1C1U ژsBE33̻4 T T!̑37,˩#6!!Q̹2ɐc0BېD:15  ڢ!2379!7B$1ۘ440۬6"!  1 s"24#@!7! R25!ʹ52Q$)C8g)ɐ u3A3(ꉐ%AR! # 0w! F ˑ40)˹3;5)!2" 9A!5t( !!pT! ʒ3!@'@613Rښs54 v3!r!˩4E02 Zݩ5$38ˈ7#1 2ˢA5D(b2FI4#˹"71 3"+"2 ! :50ڙ4B ۱6#1*)#3$14C16u"!t ! )1c( 2: rX (# 3ʀC 5EQE" !cA˹A3)'sʁΚ7" "Qڰ3"@ ɉS)1"0۳%a ʑ! Q7s  C1 W ̫ꉙe2 CBꀨ"!rE!8D $" ۨ5(t @3Dڐ%)"7$3!2 Sʈ# p͓c ʒSA5@ȁ"ܑC1CٓC2ۑ3334!@Q" A+#E2͘4ͻ!7 ʰ7a#AA ̑2)# НD2Rb!39ۡR! C1d701͘!ι6c5ܠQ! " w6c!%#14!aQQ̻$(ܺ6" @%9)4" #3#1BB3 2Dʉ4V" Ɋs"'25Aɚ#:(w!1 w˛2A $v! ۢR %# ܺ T#Ps 12 Rp"Rɉ!!dBۡ# ޸2  !3;ۣa !3s"20'b# ͻ!%,U#$Q̣b 85#2 w!zA8A ('t ݢa!!R%B λ3T s S"1ڲ3 !eʺRCəbF2 B !Vʘ#S  C*4q6!˸ $ A2S!!q멽A۸4#'SB 4 69bɃ285$@T%2Q2λـ t"r)7r#ۘ̀t I V3( b!Z6!̡7@ !*"cPCZ;0Qs B97aQd16(GXˡ ̸#q!1c WP t1#CR"!ںv)7@ 92! RT!2Z++-' &A " (0A ?# !Y1t0 4L(xU*22I ;7q8˰2Ks C2/5"a5 G "@R C;cΒ0ۉr p t #92ΚAa! ! A!1   391"! !2131!3! ˹S ι73  ˩ əSS) 312#20#! !31ʐ! B#)330  41 9) 3)!0 2 4333  5C1 ʉ3!A 0 *)30321 "r!B#1 #3Aə!I$ 2 q3H(5*!+ؙCP) 8YFJA"! 2` E 0Ys I"p !)RI CPZ q882@ 4,iHsJP r+H!pt$ ) ,B 9y@p4+2X $+3+"ٍI) +"8PIc 6"R: #3+Ba: "(! Hc'82g 3p x3 E8$ )BxiC4B 0 5$0Jȼ% Q* qXɐ6  (!R H;HP 8@R. `' -`#q9' 2(!ϙ9+2 ST: !8b 8 ! pA#B!ۉG) 2 P1 ۹D۝ $*=X1$v 78 7#= $0ۘC(0$*2@!:( r D :3$*# β qB30@(%Hh4 #+"B+! ٘$<0P@#8!i2S#H 8#+R )1Y"21I!(Ș::9P#:\@2P(!H: 3)*W  *)3 h)2x9/ ); 44 7SDRCaB% "!1A"̲hQT58 !, #6͡ArɺC40A"" aa5 2"*2(ܑqA$1"rppD$1# +0q6"!! :Qq4)! !"#31 !12Q     !!    !  d(4)"-sound.editor"  1       31  !!! 1 !"0#!!    !1 1 21   ! 2 22!!33ںڸ!  5 !9ꀀ"!312* 7! ܠ!!C! 4 1 !!0!13 11!!)1311 *! # ! pRD4("(2  ŋ1I" pK@[H@Q1# P( C ZLA#!)H@J`0S" 2H"?02 8AJ!; 8XB 1L@ a !, ( )@*:2 0KY 11PP =' ; ,9* ʅ*K؀1I9H؊! u / ( ; C.K JY s6)*& I( 4;ȡHH"ۙC8,S,(JR@0ۃ0T< x@:Q: p< H8H ڡ`14 `!2 YB27A!C ˙#!*͢!@ Va G)*Q %AJh9Z"Eʩ4 191B*ژ (1 ) %3 J8K UI'  !H 5B =' qc8X' R R4f  FYB!2R=2 Y":! !30D131:30 3 )1 P X 8ޠ4 7( 4 'P#@$ C ܑ q01a)8D 3"@ 3SQt)1;2@h3Cb6 )QqpP1q0E2Zq؉q sI)S+ "P!qr*:ъb8? ! =P)1y18=1/ x,H)@ ́<1A@2+5+(,"# Q+*02Bi!")1 R*11?" )a#))- ;! p;$*+:3#90*(#:-@ 3#3̔4H8 #ϴ"3'+6 31)# I) ʜ3c   () 30CI2˒tو&0 0 "( "C1q) BR; #((*1<Ȓq04sX4#,@8"Ϙ1AH;L *@`0t :'P2!D % b!*';2<¯`1r)s8b*Q 8;͵I!P)-832(/P9ܓPpA 1a1 Z@IP:8B # B0)S vV B5Sh!A9a@e5!ͩ3/2X d@ D& R %XC0@1! p Yʑq"b 0*@8!S9#8$"H :E@A/A%#h" P0ϘЊD!t*ɃA )*A9! T̓)" " "Qi7 @Q$"# 3q3A2ϐ"9!qP$ ! $i1R(a(bb 293 PQDQABU+$B142"0suc(3QArHB3BZ"QRHAYʰ`9AY@)A;8)@#1 A3$@I)(t8H̠A8@u* "ق)K3)۽1;R* b 7+ !e+Ъ!7+ɚHI1h`8˰s3G y(+0*05 1a8EBB͊ "9CH#10A@(d+' 2ۚ*!qsb 5ۈ9c0 Dr5)3H102p22ꊢP"4 ڐś%8̐! q !#2݉H 8ya Q CQ#"ۓFC6(Ɍ$(%0 a !8q!"4"&35K!9!$,( qʘ q"A1ܒA:ܑ2iAJ̀#z;1ip*P#AI@+̓X+2k*"'yY,8 !P 9;A))8;H):Y :( <*0 #?* ȁ'Z 1P040dw " 5!3p41#`2&8'r% IʓP)A  ?0@  1qS *9  Q9+