mb@camcon.uucp (Mike Bell) (12/02/87)
in article <3692@uwmcsd1.UUCP>, cmaag@csd4.milw.wisc.edu (posting to comp.binaries.ibm.pc) says: > Here is a neat little program I found on a local bbs. It uses the speaker > to generate a very-realistic (the best I've heard on a PC!) voice that > says something to the effect of "Help! I'm locked in this computer! > Let me out! Help!". I just played it, and was much impressed. Given the rudimentary nature of IBM PC's, can anybody explain how it achieves its effect? -- --------------- UUCP: ...mcvax!ukc!camcon!mb -- Mike Bell -- or: mb%camcon.uucp --------------- Phone: +44 223 358855
smvorkoetter@watmum.waterloo.edu (Stefan M. Vorkoetter) (12/15/87)
In article <1107@titan.camcon.uucp> mb@camcon.uucp (Mike Bell) writes: >in article <3692@uwmcsd1.UUCP>, cmaag@csd4.milw.wisc.edu >(posting to comp.binaries.ibm.pc) says: >> Here is a neat little program I found on a local bbs. It uses the speaker >> to generate a very-realistic (the best I've heard on a PC!) voice that >> says something to the effect of "Help! I'm locked in this computer! >> Let me out! Help!". >I just played it, and was much impressed. Given the rudimentary >nature of IBM PC's, can anybody explain how it achieves its >effect? Someone explained it to me once, so here goes: A speaker, such as the one in the PC, has a vibrating cone, whose displacement from the centre position is somehow proportional to the amount of voltage going through it. Thus, if you have a voltage varying according to a sine function, the displacement of the speaker cone will do likewise. The PC's sound circuitry can only generate fixed amplitude square waves, so a trick is used. Suppose at any given time, we want the speaker to go to only half the displacement that the full square wave voltage would normally drive it to. What we do then is send it a pulse that is so short, that it is over before the speaker cone has a chance to reach full displacement. So, what effectively happens is the speaker cone only goes a certain distance, depending on how wide the pulse is. Thus, we can vary the amplitude of the sound by controlling the pulse width. The sound quality could be much improved if we were to put some sort of a filter between the pulse generator and the circuit. Here is an example of what happens: __-__ _-__ _-__ _-- --__ __-- --__ __-- -- __-- --___ __--- ---___ __-- ---- ---- ---- Above sine wave approximated by square wave below - -- --- -- - -- --- -- - -- --- __ _____ ____ _____ ____ ____ _____ ____ _____ _____ ____ __ Stefan Vorkoetter Symbolic Computation Group University of Waterloo Waterloo, Ontario, CANADA
smvorkoetter@watmum.waterloo.edu (Stefan M. Vorkoetter) (12/16/87)
In my previous posting describing the SPEECH technique, the picture of the sine wave is distorted since I have tabs in VI set to 5 instead of 8. Sorry about that. Mentally adjust accordingly. ...Stefan Vorkoetter
jjboritz@watcgl.waterloo.edu (Jim Boritz) (12/16/87)
Well if you know how digital sampling works then skip the rest of this message. If you don't know how digital sampling works and want a really simple explanation then try reading what I have to say. We all know that the only numbers that a computer can deal with is zeroes and ones. So how do we get those zeroes and ones to make a human voice like the little demo software did? All sound is made out of sound waves. If we were to plot a sound wave we would see that it goes above and below the Y axis. This is what we are really concerned with. Getting the right frequencies out of the thing is something that we don't even consider, since the waveform for speech is very complicated and difficult to reproduce by means other than sampling. Anyways, we monitor the analog electrical signal coming from an audio device and sample it at regular intervals such as a few thousand Hz, (or 40 odd KHz in the case of a CD player). When we see a negative voltage we record a zero, a postive voltage a one. The higher the frequency, the more zero-one transitions we get, the lower the frequency the fewer zero-one transitions. The more zero-one transitions you pump into a speaker during a fixed interval, the higher the frequency etc. So all we need to do is send the zeroes and ones that we recorded, to the speaker, at the same rate as our sampling frequency, and we can reproduce the original waveform fairly well. CD players are a little more complex since they also need to store amplitude information (ie. is a one 2 volts or 3 volts or 10 volts....) That's about it. --Jim Boritz {allegra,decvax,utzoo,clyde}!watmath!watcgl!jjboritz
enchant@oliveb.UUCP (Dan Crocker) (12/18/87)
For some reason I missed this program (I looked in comp.binaries.ibm.pc). I would really appreciate it if someone could post it again or mail it to me. Thanks. dan
keithe@tekgvs.TEK.COM (Keith Ericson) (12/22/87)
In article <11017@oliveb.UUCP> enchant@oliveb.UUCP (Dan Crocker) writes:
<
<For some reason I missed this program (I looked in comp.binaries.ibm.pc).
<I would really appreciate it if someone could post it again or mail it to
<me. Thanks.
<
< dan
Exactly the same experience here; I've even checked a couple of
nearby machines - not there, either.
mb@camcon.uucp (Mike Bell) (12/22/87)
Thanks to smvorkoetter@watmum.waterloo.edu and jjboritz@watcgl.waterloo.edu for (differing) explanations of how the voice|gag program works: (1) Using effectively Pulse Width Modulation to drive the speaker to produce speaker displacements of varying amplitudes. (smvorkoetter) (2) (Effectively) Digital sampling of input signal with two levels (+/-), then reproduction with + = power through speaker, - = no power through speaker. (jjboritz) Clearly I'm going to put the 'scope on the thing over Christmas to see which one is right. (Or are there any more explanations I should test for?) * * * * * * For those of you who missed the original posting, and mailed me requesting a copy (too many), here it is. I'm afraid I don't have the original poster's comments, only a uuencode of the binary: begin 644 help_me.arc M&@A(14Q0344N0T]- "4E$!T %</>(H0_P!V ,Z6#4 0#I'T&#!0\2# :( MH 5 P!(Y" 1 #X !R0>P $1#P $,(!EE.@!V &$AT P%$1#)B*$H%4- 3 M8D4$P (X(#9 I<27%3$ /: 'P!___Z-Y/4OT , @ [X&Q01T+-''\"=B_ 4 M +]_ YX"^^ O@$1@/SS@BX?'(QYX_[H" MN5[ ?/#QX . #:40 P0Q*!/?@ MPUIX\ # RS?N@\0'_C+" 6 0WKQPX ( ^W?LA\0?_!PGONB/#PX>BO_!RPCN M&UBO@0;@NYQX\Z"G<SD'@ %/]C\0%\']HRI@[@<($2_^\[P7WS^S0^.:- MW M #B)_OX $/I5HO;-CTRF/C 9@[^(YS<_ 18;;D9\QY2"^P'HW', #X0[GN\# M7X#)^/#C&3R;W8=4(!^ !4P\SP$SR"%Q2:24 ?Y\ ,@PKQ7V548"'H#/#\"$ M\]H@GR3%(5@&/ "'<V8)]P.!J3$T ?^^(%2@'_P@ ,P\.28V $_?!"1!__\ MX8!*SCV !S##7&76(\L!,( ?M %R""//!(1A)YAU-<@$!7VPU,T"N8 '_P< M<-=;\,0# #CNO0G.,&?@T)L'/OB!&@9?Y; =/X_<\&8@#SXR4E)=%>D8 !_ MT>8\+285$3#SO+99(($<\\VA_RSZE7;13?G!+UTAU>5114KDG)0EEAKE=O@X M-Y)S X3UB:N"G24I=G$9X,$O0D;W3P8U[2KA/^$ $TRE%95XP $>H/2FB3 E M]0$..#CW1$4\<## 5T!H%)"D%#!$B0)[ 6)"X $@!(D!N#S%"0+"!<1N0@A MA \(!#$ 0(0$%#17Q+! $ @P!@@ &!2!1(& <C (('# P"$ ($!36' M@(%,P( !0\: @ ,##AC X"BV%M,$5! @R!0$,"0'\Q(($@\0 $@X.,# 0E_ MQ($!@,# P,(!8&#(,$$@,$@P0X'#4@! P.'QT!!P<*26APPR3#@P@(.'U@,8 M,,Q0$AD# Q@,# *S 1AX'0=+@8R#@PUF$X*! XC$@, %#HP!QMY=#Q,/&.# M@0<^<&C]P .'!'",X8GCP,$#''APR#!?PZ-X7CP<>4P0&!0.!B'CP('!,<$D M"[8X&'CP0,H>.##" 1 0,D@XGDM-]I1+LSV (0& $+H'NP.C,CA[ WW( %UO MCAD@P< !3C"MT_QT9@-0#P(&0SN0D<?8XH$MS= !P(#/!1.TP&2*P1..FQ4% M]@=+*26E6#S!C!/(E0>H%,&T$YP Q&I^0+C0/^(Q$N& Z@$<^<8#"/ >I>R% M,C^XCE>TXP<_' PJG:I(=Q@%@!, P ]_P,#!(."/+GW &UV*"P& <8[GU2H^ M$0'',<ZAJR'PY0<. !\/0A.="Z(J 'CP!PY T)8>241 ;QI =7C@#]3P@0]P M\$-)7O,<P@3H(F# !SCPX9$X(>4!5GD$;A[@B6=$1'^4,0@/_N #B?@!#T2D ME44,P@=_U%$X!O,! N"1IC=IATB+"J$#G@*/IUQD0?<1CD& 0L7G4&\XW0/& M."!9D6=H!TK/ @=5II4!.# C7R1EP^(LJB<L =$C.K-!WJ#RJH,("N,\L\L M;W.=144%#D3A!R >@ ^BP&.8$K%'TL Q #^ XP =- D?5"618>(#0;J\S@6G M.90!\$,D^!CF9$H" (%!Y0#_B H\ I ? % D *B1B &>M9<#R&0H9H'$ :*" MAZ@0I $T41A!FH 2FH'P&",9S#\@59&G0$A+%8'+/S0XES^$Z $,6,VT@B$2 M$#K&!W]X@ ^FR:-[P"DBX7C&,:2(#SZT12+V&48PM@2EIQ#I ;5+31[X,3)\ M($8P__C$(3Y@%G\XQS,8\$&//. 1?%3(#ZH2D6# (1QPA",BGW@$0A_#CS\P M@"7.^5!%/I"EA'ZEC@" P5$OXA4\^*&.-TH*="0I&& <XASGF"E4$K0IE8#K M'^=XBDM]X '4,( #X/A#IQ" $@/ )1Q\X4->? "^_LQI /\PZ'7\H9A@<&ZF M 6@7T+Y5D0]*A >.B@,\9 ),H S&)@ PBP_P8!HL-A$$< #FBQ*#VI'!XT&; M.T#7!G$ 883E >X 5W&L$UJ1%N8#M=,+/Q[P QYXX@"+(D =X1$,UG'N:8,@ M[CT&\0%CF.4!F+C- 4;*@_;B 08\6!P\?N!3EG# )/X1)>2>A=-;/@"J'^## M ";#@_G"0XS#F$>( G$ !QWB 4IYQ$Q9@J<#P$.4QS@$,-R2+7",(QPYF.8 M<L*/,%[O&(/PWP$6YI\7@8/!![A.B@HSTK9P _6 V<P;N,##EP)GCS0+W0] M$!8.<" Q 2[F, 8@%(RLEP\^S0R! !$5!O@T&(<XQ $H<EHQAB,8"548.*(2 MW>L $P!,O7 XB L3!F ^"@F3ZQVUXQPD1A%,DM0;;\%F"TZUX2.!@DZ$"@ MGL"A72Z[LTFDM9+,' !:N(7N#@@DP>@UGH!,(L [LS$B\R )8>( Q[&_*P# M[.G. DC12'+B@/L&(,"(N0[-(I*B#_A!/*7%AD4P/(@ '+/!10G&,Z0TD<UX M2"2&>L!ZP6&8/_C'(PV6R@\R>$L.?, !_?&*O6:9$GS8QRST'2-B @"B3WSB M1=:Q"&:#\13ZQ@$?,<B,<B#CSQW](#)[^<!7^.&!ZS@G+MSTBHDD1I2@*IM7 M2JE(4H:1$9/ 0]\?,#(,// 5C1IRNF>YMUTG1]P=0VB8IW' #W#P 0(XY@,, MT X[U0@N_$!XO4,)!(C"H#Y O,. E+'K=X?!)'0&X(+Z#M<#&A-0!/@TM"-N M5Y-G^("1B6L[H%D4JEXC+*GG)J%XJ"Y,&GGG?#J 2;B6" Y\@+^($N0$J(&$ M!CPR2WA"Y"4"R(D/(,(OF(R3F2P9L;A,PH.HW',B^#$)5 \ E'9=Y &)X3+\ M0G* :<(K -,D#TSJ_AAU21X2"G LD/9\D7WN.0!E<8P^A4GX:OZGFN< Q@(( M0K07I2\SB@G$/]A=DP\4YL[_8/@ZZ0O!B Z OA4QB3^8"0^GX!L +_D 4=#: M+A\01B3]02W:G$_? )@S*IPET $^T?+[#N \?X ]1H@R3#_@PTYOBF51V-D0 M.VI[$,]@,'[6.=$#>(1HWO2U\5O. Y'P0^;BYTP>LG\JP1'$!&85 4W^)Q)@ M<0 "T']%P4QF$17A1V[%%'XIL1H_$' $8A O!AD'H!+7H1I+5A'^P _6 20\ M('5%D6'A\A4IZ ]9-S&]L1QL11G/8! O@BQF86'_\&") 0-\L!H8,$PC!!%( M<57Y@P_O@5F+(DE2AP_Y<!^ X&RY\A5Y<#!SDG 9X0\8TD!*81)S\7O=! Y9 M@AM)X1G*5B%>(27P\ P'EQN.H488QP]!X!7[H%<NPA+CH!U=J!W9 0!E1'5P M44V=LAE/\11(\1ELF!LGY <8,(C)D0\QY!@P\ ,,($@L<A3:\74AQ ^<A0>( MDW!=Q1>;X1F@J!AC%D*+6$<MQ(F""$P1LAS(%$)1HA?V8FS/)!R^IB S58JK M@AI$%"4.L$5O]!0? )&P2)PXA6B\0-)I1C3TCT[M@^>,19.91&:\8-7,@A1 M @BS!!;KM!F'T(VO AD_ (8\ASW[X!CJU$5OL@]A0%7 T _7Z$W/@1*=TA,/ MP Q4MQF.D1'[^"SH0(@A))!"LF+VHE#A,I#1<0RZ<A]Q]"W=PQF<8B!*D2@) MDA$0< B?X!B; 08=!0">@2X>,1>@ESX8@385(2N<)2'C,('88XB9-2NO$D<@ M-'LC42FY(BM[9<.1)SD2@_N"@2]1?SH2I%DBMI:((;N$=R)1$=4(H*%0HC M9BWQM$=FA4Y0Z4\241T1%0!@X1Q_X)62M&?:P1E2I' !D!'Z-#+#0!7K1!#Y M,0SY) $> 0ED(#&00 +M0A C8!8R 0D^]D\- 0D9<"\8\!*"%@%!M!+$ID\O M01,R867/M$KY!"UR9@#Z1A3GLD]:QGH/P ?/])EM0C"#X13XP&:E!8ZF<F=# M*'N)06RQ!"'/!!,$($;>Z"#LE!A%L9%2AULB\0&^4!A6AE^;T1O'U#T X BI M1V<BE2TFP4SUETX9X4W8*!(H]CA*=3+3!6 >09KY@ \#,(3!P%W/,TOZEECP MD >)L22R@66CN4[%IR8?M4[?A$8Q!GKLY@,@LGD!AE@!0)VW! JS)!L \ <] MLAK\P)Z#< QFX0!&,7P@@D92]'V#$'[--%_^813B(B_\()8 @!ISIZ!901UB M&0P6,CY>$1@C>13>B$Q?^7V8A1_>\2'Y-13SHQI_@4S^,!? 4)81\0[W1DSI M)X4*4C#^4!(/,!88\ $><V"SM$\1413_@"=IY15PH1E-BD8VM3CU%Q7#Y _ M(E <@ ]_P \Q\"8QUJ7X02,*VB5S@2'/(Q&92$=H96 GP$P8 2%_X"L "#_ MD _IDR5*P6@X:B%F42"Y<AU? 5D15:$F&%H&81 C PSY,(4$(R\A])6\&%L" ME7"[^!09D8E((75;F%#S\9(200#S51$<\%:F@7QP E@$@P!)@5:*<0"%)"$G M=&<,X <_P&50L0\)5UJ!6"T#(#'5Y)9$LZ@&X1&Z0A ?(!-,R*?XHA#92BY% MX @ZXZO5] .%1Q )L"JZ AUC6!$!ASA/U \:)!P1=:R441&($)HWB:8:Y!SC MD!& 4"+081E'45VH@0_[ [Y$!W#L"B0X1@2$QG.<6&:<0PO]R:0$2YZ]*N= M$F"-]GU@=A$9!7FLQQ)9(17#E!A?)Q4B,9MG,0#QI'S_94R,(GC/=!&H.2/K MY _LQE8V@19YF0"K]'NRY)M@ !%0%A5<Q@#787^"UQL9Q$Y)^Q9OVJHTHR)$ M>YDYP0#M1R !P 'P(Q&[ 1/VAQ$O 0D31!!@<"\&\!+(! D0,!F#*0'M]Q(T MTV3$1C &Q1%!PP#PHVF',#+*Y@@8H3J9X3,&$ - @ !(1#/M(@@Z@1$SH!': ML20A& B.M9+]&!M/ &>_)TI2LB,AX GXQ/7<0P@0!ZPP&".<&8.P -@ L9 M82%Q S H3"0!PX4 31PP%0@H!+Y\12.$ <R:@ Y 0$&D+37$0AG@VN3@0G= M<S9IY0!,@#9&81T0\)>,=B3:Z!&:8:?^- L85 !0!/,NFELVRZNU"[S584Q M,2V-:H-A:! H.!1E277R.Q?A8"'/$;]!2AD$DY3A]Q3/<1[U2[\/1Y*9@9*O M,1^;,3"%] .3L<""\2$%3!FR!Q7:@5A-4:V4 6%%A5EO% "KI!2+4B'W$:3D M^29-^["ZHH2PB!T#X!&=<D%HVB5QHA@5"A=C=I7S8(B.E"H@,AROML'=E'#X MH+'SJR:<%2&$\1I%;,&;H3//$2'X "$2PB&(9Q!!NAEFL5!/T1WP&B'3!45Q M4AUCB*:&!*_&D1I=?,4@E*ZO&(C["\;$-"!<]!U'?!0+NT<>I1CY84G#D7!L M"!>.$:*O^"&E^*G.,G^6] Z!\49&65<)IQ)10I82$A%P ;R4"BHXF7Y?876= M&C4"21 (0&41&E!1TU 5$6<3*'5>@;;$>B$PT5'Z1+X4<"X(D'8;\"[T0'?N MXP#D.P,.DCVH":JK1:QGX6NM$P\J"ZHTXP<XP&B^^@$\X .W)W;NY &>4*<1 M5<01QWWA8E_$J2;,B:GPT']/<P_AX+Q2,@#C, AN\G?SX0$Q!B?YX#D503WR M P>F)13<-\]M@F/W;!WA(#*B><_T=@!.5Q'CL@ .$$Z&L9(!/:+7H4_'I&_# MI+T5L1<FX1,5L6D.4'P/?0"49Q-+,H%WYDW/=&M,)A%PEFG.)\H!X =A,P#D M!!5H=FA;)LHBH=)T*W8YX0&3@2[$Y$^0@ &P"_DBP#\DD]$@ ,(P-'GD@ 2 M0Q/@H#$P\0 B!W/P4DQ*D1CP$J)B! _Q!C4R$0 C=@#/0!\$0P"9,TP0%A9^ MQ0&H05_/P652I#]X$1I\,#(8X"@!T*!V"10,4"!\,40!QA(%EAC#%PZG)RYG M"5V1$7'B$E\G='3XXX.ZA"<BQ0,(4%A\D%10MF40D!-)E";2O(+MA0'Q=1%0 MEAA"8;3^\#AJ=F$S]6+?XEEL)@ #, S(^S48X%(,T"C7L9C , 2+(U# &F; M4SB]'0Z!\+4KP0UB P<\@+38HA>U<P ,8 S6XSFGT5Y& ?8@@-L<%B/\P", MH##&L#3!@"T-,0; 8#G&(%/!T)9C( ;B4CO%R BG5%@XP";P8#D]DSD>< (X M@#B( 0;=P@ Q8#X8P#FG)-ZR<P)N-@-'P RYI3C<%0YC@SP#\+N9TVH/X P$ M,CWA@ &E=@"/$ <<< /B$.!4<0C'$ *.D"QVJ6RRHR0X@":F%&/J8WLU1E77 M UD8 U;I,[:C,"\& %4:912)X4]&<9O[X;6H]A0]=F=!?=0$T0('(V?[%!6> M <)X1'H^G13Q0#"Y49./8R%_0=>P]!F"S!>T%:+,B@\J>L(-P5WZUC#^\ WZ MIA/2A(VO)A-\(!(OV4]M!R)(A!'9M-("(!/E"8ZZU"XL04SDEA,GC>BZ9!(> M8>E-BQH#(!,>0I*],7>2UV_-I$Z.O;69<6M*$G@F(4R(AV:4'A77\;,C R_V M1!"<,-$7X%KR-'[< ENQQ1*;AGP.(0#,"AUIRWKYE ""AE%[=I@4,&*:@5V, MXA%97F!C=1$-&A$J<:8)RDSN\&HF\0&"H&_XE&D? GX$>40H50&1!3B@@.\ MD7,B!3?,9"%%(8A_^;KX 1/WN\:FADH,=C]#E6%CGA2P1=C%4PQ'4N\&L1B M-TS/5!8.P$QE:1CI([Q_C182<:#_Q\KN%$Q=#(Y>=&?,Q ]Q %4785%M=V>6 M!A:N"GJ 0%\R<1TOX0!Q:A$Y=RV)$?0 ( STY1@@0M=WX?#+R*LQ)AN_5Y9J M31F@-P#:H9[F9VKW_")_P M>,1?PT!B)<4_7] \CH!CDQ@],N"="$7X)5^C. M)B\L@5M>(9:.$4[^@!C)B!*C412><1%KD92H(65IJAWTF4[:\;TQ-J@>:!W_ M$ -& 3\AK#]VM1GCL$[7 0@^M1SQ^P'H] @,!ZKF@"$391;X -=-<W;$:B@ M$1<7!#G?H%7721D/M9)S$@_W, PQJ7#6@NG<-84'H,F4(1P)19Y(\==1=#T6 MUJ0*J[Z]JAA2Y!D<[:CW\OM[UDC(!#_,FAEU!ZA'(?6W"3*,3VS@"!4_#,(P M0?Q6UX1%K$$K@<#I<\(&$1G!ET&5FCY$=!X8IW"486&JZL?\"UOS.P">8-+" M$0]-FEFY,A3TCX#=A*:BRO:0B<*-Y!\QH<6LNJ#:D?WT=4AGD2"*/AA-VA25 MH2OPVK5?81 $T\EC>!Y\2L'BJ!D@($FC_I6(\D1\#]'P4")LWI*(<OXFPF4? MD""L_&\'IW#&&B["HO)00O)( 1;I\W"?+"S.&AK,YDY1E"2X-Q3A@A'JBR[U M_^0"F2OANK;XYSY[(4=W%J($07'2N*WYHJTP(!,-S0\CI92GDB0L[0%PX2CL M>RI4"0#(D$X_R&9Q<:QSD5"%?@XR%1'SL)&*81]"Z4U^(-< 8 ^[(E$9,6J4 MP?E=#!:>D1L1,!1VV2G0HI5.64V9 2PXM1V?+%80T1 L]P &P @1HBK?T2#G M< R$4I%/L8)B)1S$Q \XX"BI<8P:12L>$%)R?41'@1X ( "9-0SO@"G"E=82 M0A\CVDA#I".+PP?W 9;7I&'#@&(,EB! Y!4_@ !@T$*^\E8,,$24O!G?\0_6 MXV%;RP^?$C.+>(J+4_J(,P]9017>> #A:T$^X ,$@ "@6-\Y]@T@,A9P,@^" M @SW$$+?XA< T$?4\P[/8!;O$"'8VT+3M"+Y$ =# 1?A<JJ\LAL!PA)C] X/ M^A>[ @P>!J'1,:P%LR$YV2+W<',@] =&Y)/@4!8<T$?QY!P8(Q$#D(.NXH>% M\0 "0 #\P _Q XB"0SQ,1*O29(A5%&L?%0*):H,\A>>L!P<+8<TZ1D*=(7_ MT <A88++P=%?\1QA02UR,@[=]0#'GJ[D(J[:BA#'8 "#(#)-5G=0 Q4R 0C_ M<S: $ C8@QE4I3B6XP%:(USA%0S/'0!/@QGB30!/,] P(#Z;XS$.4"L&( $ M8 ,T"T.0"]_$0B3(0Q#+^2')B4R%0[B[0"', (_TQ,3\ #, @QX @A8 S MX.Y6@SC (#:GX0,^\V:YE3D1!RZ'P #C@ $!$ [BC0/BW5[M)==Y@0.&0-TZ M8N\XD"P!\#1? R?BDV4H]C6>%0C!,&;# CCP &8L43&0+S"]34 P-[A$ Z- MP]X8, .[R_E=LTD8, XH?@@A\#7AT#C'@!EBI#@L,7&?EMJ\TQ9M\=]8=&&> MXRB>TQ;MI37=\BW'<"'LG+3 0#/8<DH^<U@88%"MZE<?T&,)]=MW1A/^Z0.4 MI3)A-%%0HW"/0%R( 1#AQH4#$. #N'\' "CD]V_0 ' ?/C!PT,AO#_^?BC$ M=^Z?PH^__@&S^&]8 " _OWY"&\ '[^\,"! 0Z?1Y3!$*+\]\$ H&</#CAP MX(&G0CX9%?J[^>G# P8<?"0%8%,AL'S_!OQ\\&"HAZGX\BD$%(XGH&./A'+U MHQ& OY4 (,#[]P <O'$!!AT[\.C#3K_@#CSX%^#!CP\8^/C PV^A1T"&\1W@ MX8</'+OAP@T;,'<, /_$.+@QP<<N'#!@@TZ ,.?6 "A#XS&9UISL&$',/!K M#-NCAQ\_<##&@\ 'G+ G#PY@ !P#''YX0( ;<."MTA_ X.T+!@ 870!PX($+ M=D ((W#$"9<>@ 0L$" <N YG?0OT,)NP<Z=^XD P20 7/(/X $P,] 9-WD MS3$*C?<'. '\@X="<$P( #A[ < '/@_@ 8Y3"GG@$Q 4)?2 /P,\P,]F* VC M$ </F 2,?< ,\ \\#4*@T#'C@ " >!_ \P/%0& @P#=S8'#4?!\P -]/GS& M&X0>*,0#ASP XB0 D#8W0 ^X%A= ? LQH@1BJ$!R '3 B!EOAH"<='+@%0 MIIT*87 P \ D#D"$TDF0$.%G@S=-Y9A?#1[ZSP_Y71@:('7.951*:1G@ MV \6'O251CCPQ $'"H46STF]P=/!A51EM*1;CS*J$A\)X:,1/GYPP(=CH9%T M$S!5X8,/'[M2E=--@,1#&$E[1.3#!WXQ<*6$<Q[W**]EPB,L>*;]HUD P 2C M[$<V\1/ :?'$DQTP!\TC8S#C_(-7=V5YA \\>/"!AW#WWH@C/,<1:24_/U2I M+P\^\( #U?^P </$'" @S^*.> 2 <_\<PQDCSQRR -L'G!?4(<,<@B\X^0S MDX8X_!'H, )!V)4?#'S@@0."#7#((<<,,Y!I%2H,0)T4PC$G) J,-!+2XP5 M* )(0F* 2Y!H 00W;D'"'[@C(2!G1_@4Q!M >"!]94 ?(!'C5':R4^-$<SI M0&D!E&;R,*H-$6X@X\ 33CP5 B Q #S4C-]' ##@ 3 '..D!5U5R]<$Q.P<2 M3($0F38.'SC @+C?!_ C6,GX#6(ZCYF!8_1'.."[:Z1]&@:.R0>4[- EL,< MCG@0>,XZ12*BJI #/NQ:I9-#X3F (8$<$LY#?QK [XX,*#I1PZ(%TX M.T. M QY@I%G1 XY05R#B%P(RS" ?O*HF>,"<1.D#',P9 'H8RUUUX$\ $&XU$$< M_HP$#$#<[D\;\!$DXK TCT#"@1#\4P0?*,$*4O""$\R@!36(P0UZL(,@Y* ( M/SC""T+# [@(C2.PL0L' $ 1C>,!/^A@ '0D9!T$@ 0 T'$% S#%PK9Q0 " M$ A_P* .="B"(A!0"P!$(QOH,($3H1B"*:*#5$]$QP6L* $K-L"*"+"B2XRP MCF7H\(Q_2B,:UP@ .10 %D@P1QB& 0LER)&.<9PC$ $@1"(:$8E$6&(3LRC% M+%8QBUB$XA:SV,4L?C&+8<SB&,L8A7[D(@%I%$<_LN!&.-ZQCI_,HXL@@0 : ! %8Q end -- --------------- UUCP: ...mcvax!ukc!camcon!mb -- Mike Bell -- or: mb%camcon.uucp --------------- Phone: +44 223 358855
tr@wind.bellcore.com (tom reingold) (12/23/87)
In article <2988@tekgvs.TEK.COM> keithe@tekgvs.UUCP (Keith Ericson) writes: $ In article <11017@oliveb.UUCP> enchant@oliveb.UUCP (Dan Crocker) writes: $ < $ <For some reason I missed this program (I looked in comp.binaries.ibm.pc). $ <I would really appreciate it if someone could post it again or mail it to $ <me. Thanks. $ < $ < dan $ $ Exactly the same experience here; I've even checked a couple of $ nearby machines - not there, either. begin 644 help_me.arc M&@A(14Q0344N0T]-`"4E$!T``%</>(H0_P!V```,Z6#4`0#I'T&#!0\2#`:(+ MH`5``P!(Y"`1`#X`!R0>P`$1#P`$,(!EE.@!V``&$AT`P%$1#)B*$H%4-``3D M8D4$P`(X(#9`I<27%3$``/:`'P!___Z-Y/4OT`,`@`[X&Q01T+-''\"=B_`4W M`+]_`YX"^^`O@$1@/SS@BX?'(QYX_[H"`MN5[``?/#QX`.`#:40`P0Q*!/?@[ MPUIX\`#`RS?N@\0'_C+"`6`0WKQPX`(`^W?LA\0?_!PGONB/#PX>BO_!RPCN` M&UBO@0;@NYQX\Z"G<SD'@`%/]C\0%\']HRI@[@<($2_^\[P7WS^S0^.:-`MWZ M`#B)_OX`$/I5HO;-CTRF/C`9@[^(YS<_`18;;D9\QY2"^P'HW',`#X0[GN\#= M7X#)^/#C&3R;W8=4(!^`!4P\SP$SR"%Q2:24`?Y\`,@PKQ7V548"'H#/#\"$T M\]H@GR3%(5@&/`"'<V8)]P.!J3$T``?^^(%2@'_P@`,P\.28V`$_?!"1!__\X MX8!*SCV`!S##7&76(\L!,(``?M`%R""//!(1A)YAU-<@$!7VPU,T"N8`'_P<" M<-=;\,0#`#CNO0G.,&?@T)L'/OB!&@9?Y;`=/X_<\&8@#SXR4E)=%>D8`!_`O MT>8\+285$3#SO+99(($<\\VA_RSZE7;13?G!+UTAU>5114KDG)0EEAKE=O@XI M-Y)S`X3UB:N"G24I=G$9X,$O0D;W3P8U[2KA/^$`$TRE%95XP`$>H/2FB3`E1 M]0$..#CW1$4\<##``5T!H%)"D%#!$B0)[`6)"X`$@!(D!N#S%"0+"!<1N0@A: MA`\(!#$``0(0$%#17Q+!``$`@P!@@`&!2!1(&`<C```(('#`P"$``($!36'`@ M@(%,P(`!0\:`@`,##AC`X"BV%M,$5!`@R!0$,"0'\Q(($@\0`$@X.,#``0E_> MQ($!@,#`P,(!8&#(,$$@,$@P0X'#4@!`P.'QT!!P<*26APPR3#@P@(.'U@,8O M,,Q0$AD#`Q@,#`*S`1AX'0=+@8R#@PUF$X*!`XC$@,`%#HP!QMY=#Q,/&.#`0 M@0<^<&C]P`.'!'",X8GCP,$#''APR#!?PZ-X7CP<>4P0&!0.!B'CP('!,<$DA M"[8X&'CP0,H>.##"`1`0,D@XGDM-]I1+LSV`(0&`$+H'NP.C,CA[`WW(`%UO_ MCAD@P<`!3C"MT_QT9@-0#P(&0SN0D<?8XH$MS=`!P(#/!1.TP&2*P1..FQ4%` M]@=+*26E6#S!C!/(E0>H%,&T$YP`Q&I^0+C0/^(Q$N&`Z@$<^<8#"/`>I>R%= M,C^XCE>TXP<_'`PJG:I(=Q@%@!,`P`]_P,#!(."/+GW`&UV*"P&`<8[GU2H^G M$0'',<ZAJR'PY0<.`!\/0A.="Z(J`'CP!PY`T)8>241`;QI`=7C@#]3P@0]P[ M\$-)7O,<P@3H(F#`!SCPX9$X(>4!5GD$;A[@B6=$1'^4,0@/_N`#B?@!#T2D7 ME44,P@=_U%$X!O,!`N"1IC=IATB+"J$#G@*/IUQD0?<1CD&`0L7G4&\XW0/&@ M."!9D6=H!TK/`@=5II4!.#``C7R1EP^(LJB<L`=$C.K-!WJ#RJH,("N,\L\L- M;W.=144%#D3A!R`>@`^BP&.8$K%'TL`Q`#^`XP`=-`D?5"618>(#0;J\S@6G% M.90!\$,D^!CF9$H"`(%!Y0#_B`H\`I`?`%`D`*B1B`&>M9<#R&0H9H'$`:*"1 MAZ@0I`$T41A!FH`2FH'P&",9S#\@59&G0$A+%8'+/S0XES^$Z`$,6,VT@B$2S M$#K&!W]X@`^FR:-[P"DBX7C&,:2(#SZT12+V&48PM@2EIQ#I`;5+31[X,3)\7 M($8P__C$(3Y@%G\XQS,8\$&//.`1?%3(#ZH2D6#`(1QPA",BGW@$0A_#CS\P- M@"7.^5!%/I"EA'ZEC@"`P5$OXA4\^*&.-TH*="0I&&`<XASGF"E4$K0IE8#KB M'^=XBDM]X`'4,(`#X/A#IQ"`$@/`)1Q\X4->?`"^_LQI`/\PZ'7\H9A@<&ZFC M`6@7T+Y5D0]*A`>.B@,\9`),H`S&)@`PBP_P8!HL-A$$<`#FBQ*#VI'!XT&;1 M.T#7!G$`883E`>X`5W&L$UJ1%N8#M=,+/Q[P`QYXX@"+(D`=X1$,UG'N:8,@J M[CT&\0%CF.4!F+C-`4;*@_;B`08\6!P\?N!3EG#`)/X1)>2>A=-;/@"J'^##F M`";#@_G"0XS#F$>(`G$`!QWB`4IYQ$Q9@J<#P$.4QS@$,-R2+7",(QPYF.8`C M<L*/,%[O&(/PWP$6YI\7@8/!![A.B@HSTK9P``_6`V<P;N,##EP)GCS0+W0]# M$!8.<"`Q`2[F,`8@%(RLEP\^S0R!`!$5!O@T&(<XQ`$H<EHQAB,8"548.*(2T MW>L`$P!,O7`XB`L3!F```^"@F3ZQVUXQPD1A%,DM0;;\%F"TZUX2.!@DZ$"@7 MGL"A72Z[LTFDM9+,'``!:N(7N#@@DP>@UGH!,(L`[LS$B\R`)8>(`Q[&_*P#U M[.G.`DC12'+B@/L&(,"(N0[-(I*B#_A!/*7%AD4P/(@`'+/!10G&,Z0TD<UX^ M2"2&>L!ZP6&8/_C'(PV6R@\R>$L.?,`!_?&*O6:9$GS8QRST'2-B`@"B3WSBJ M1=:Q"&:#\13ZQ@$?,<B,<B#CSQW](#)[^<!7^.&!ZS@G+MSTBHDD1I2@*IM7: M2JE(4H:1$9/`0]\?,#(,//`5C1IRNF>YMUTG1]P=0VB8IW'`#W#P`0(XY@,,A MT`X[U0@N_$!XO4,)!(C"H#Y`O,.`E+'K=X?!)'0&X(+Z#M<#&A-0!/@TM"-N, M5Y-G^("1B6L[H%D4JEXC+*GG)J%XJ"Y,&GGG?#J`2;B6"`Y\@+^($N0$J(&$C M!CPR2WA"Y"4"R(D/(,(OF(R3F2P9L;A,PH.HW',B^#$)5`\`E'9=Y`&)X3+\X M0G*`:<(K`-,D#TSJ_AAU21X2"G`LD/9\D7WN.0!E<8P^A4GX:OZGFN<`Q@((0 M0K07I2\SB@G$/]A=DP\4YL[_8/@ZZ0O!B`Z`OA4QB3^8"0^GX!L`+_D`4=#:5 M+A\01B3]02W:G$_?`)@S*IPET`$^T?+[#N`\?X`]1H@R3#_@PTYOBF51V-D0< M.VI[$,]@,'[6.=$#>(1HWO2U\5O.`Y'P0^;BYTP>LG\JP1'$!&85`4W^)Q)@@ M<0`"T']%P4QF$17A1V[%%'XIL1H_$'`$8A`O!AD'H!+7H1I+5A'^P`_6`20\% M('5%D6'A\A4IZ`]9-S&]L1QL11G/8!`O@BQF86'_\&")`0-\L!H8,$PC!!%($ M<57Y@P_O@5F+(DE2AP_Y<!^`X&RY\A5Y<#!SDG`9X0\8TD!*81)S\7O=!`Y9- M@AM)X1G*5B%>(27P\`P'EQN.H488QP]!X!7[H%<NPA+CH!U=J!W9`0!E1'5P& M44V=LAE/\11(\1ELF!LGY`<8,(C)D0\QY!@P\`,,($@L<A3:\74AQ`^<A0>(2 MDW!=Q1>;X1F@J!AC%D*+6$<MQ(F""$P1LAS(%$)1HA?V8FS/)!R^IB`S58JK^ M@AI$%"4.L$5O]!0?``)&P2)PXA6B\0-)I1C3TCT[M@^>,19.91&:\8-7,@A1X M`@BS!!;KM!F'T(VO`AD_`(8\ASW[X!CJU$5OL@]A0%7`T`_7Z$W/@1*=TA,/. MP`Q4MQF.D1'[^"SH0(@A))!"LF+VHE#A,I#1<0RZ<A]Q]"W=PQF<8B!*D2@)Q MDA$0<`B?X!B;`08=!0">@2X>,1>@ESX8@385(2N<)2'C,('88XB9-2NO$D<@4 M-'LC42FY(BM[9<.1)SD2@_N"@2]1?SH2I%DBMI:((;N$=R)1$=4(H*%0HC> M9BWQM$=FA4Y0Z4\241T1%0!@X1Q_X)62M&?:P1E2I'`!D!'Z-#+#0!7K1!#YM M,0SY)`$>`0ED(#&00`+M0A`C8!8R`0D^]D\-`0D9<"\8\!*"%@%!M!+$ID\OP M01,R867/M$KY!"UR9@#Z1A3GLD]:QGH/P`?/])EM0C"#X13XP&:E!8ZF<F=#< M*'N)06RQ!"'/!!,$($;>Z"#LE!A%L9%2AULB\0&^4!A6AE^;T1O'U#T`X`BI= M1V<BE2TFP4SUETX9X4W8*!(H]CA*=3+3!6`>09KY@`\#,(3!P%W/,TOZEECPE MD`>)L22R@66CN4[%IR8?M4[?A$8Q!GKLY@,@LGD!AE@!0)VW!`JS)!L`\`<]K MLAK\P)Z#<`QFX0!&,7P@@D92]'V#$'[--%_^813B(B_\()8`@!ISIZ!901UB+ M&0P6,CY>$1@C>13>B$Q?^7V8A1_>\2'Y-13SHQI_@4S^,!?`4)81\0[W1DSI; M)X4*4C#^4!(/,!88\`$><V"SM$\1413_@"=IY15PH1E-BD8VM3CU%Q7#Y`_`P M(E`<@`]_P`\Q\"8QUJ7X02,*VB5S@2'/(Q&92$=H96`GP$P8`2%_X"L``"#_< MD`_IDR5*P6@X:B%F42"Y<AU?`5D15:$F&%H&81`C`PSY,(4$(R\A])6\&%L"0 ME7"[^!09D8E((75;F%#S\9(200#S51$<\%:F@7QP`E@$@P!)@5:*<0"%)"$G# M=&<,X`<_P&50L0\)5UJ!6"T#(#'5Y)9$LZ@&X1&Z0A`?(!-,R*?XHA#92BY%U MX`@ZXZO5]`.%1Q`)L"JZ`AUC6!$!ASA/U`\:)!P1=:R441&($)HWB:8:Y!SC^ MD!&`4"+081E'45VH@0_[``[Y$!W#L"B0X1@2$QG.<6&:<0PO]R:0$2YZ]*N=K M$F"-]GU@=A$9!7FLQQ)9(17#E!A?)Q4B,9MG,0#QI'S_94R,(GC/=!&H.2/KA MY`_LQE8V@19YF0"K]'NRY)M@`!%0%A5<Q@#787^"UQL9Q$Y)^Q9OVJHTHR)$D M>YDYP0#M1R`!P`'P(Q&[`1/VAQ$O`0D31!!@<"\&\!+(!`D0,!F#*0'M]Q(TQ MTV3$1C`&Q1%!PP#PHVF',#+*Y@@8H3J9X3,&$`-`@`!(1#/M(@@Z@1$SH!':O ML20A&`B.M9+]&!M/`&>_)TI2LB,AX``GXQ/7<0P@0!ZPP&".<&8.P`-@``L9A M82%Q``S`H3"0!PX4`31PP%0@H!+Y\12.$`<R:@`Y`0$&D+37$0AG@VN3@0G=/ M<S9IY0!,@#9&81T0\)>,=B3:Z!&:8:?^-``L85`!0!/,NFELVRZNU"[S584QZ M,2V-:H-A:!`H.!1E277R.Q?A8"'/$;]!2AD$DY3A]Q3/<1[U2[\/1Y*9@9*OG M,1^;,3"%]`.3L<""\2$%3!FR!Q7:@5A-4:V4`6%%A5EO%`"KI!2+4B'W$:3DS M^29-^["ZHH2PB!T#X!&=<D%HVB5QHA@5"A=C=I7S8(B.E"H@,AROML'=E'#X@ MH+'SJR:<%2&$\1I%;,&;H3//$2'X`"$2PB&(9Q!!NAEFL5!/T1WP&B'3!45Q) M4AUCB*:&!*_&D1I=?,4@E*ZO&(C["\;$-"!<]!U'?!0+NT<>I1CY84G#D7!LU M"!>.$:*O^"&E^*G.,G^6]`Z!\49&65<)IQ)10I82$A%P`;R4"BHXF7Y?876=Y M&C4"21`(0&41&E!1TU`5$6<3*'5>@;;$>B$PT5'Z1+X4<"X(D'8;\"[T0'?NZ MXP#D.P,.DCVH":JK1:QGX6NM$P\J"ZHTXP<XP&B^^@$\X`.W)W;NY`&>4*<1Y M5<01QWWA8E_$J2;,B:GPT']/<P_AX+Q2,@#C,`AN\G?SX0$Q!B?YX#D503WR; M`P>F)13<-\]M@F/W;!WA(#*B><_T=@!.5Q'CL@`.$$Z&L9(!/:+7H4_'I&_#^ MI+T5L1<FX1,5L6D.4'P/?0"49Q-+,H%WYDW/=&M,)A%PEFG.)\H!X`=A,P#DP M!!5H=FA;)LHBH=)T*W8YX0&3@2[$Y$^0@``&P"_DBP#\DD]$@`,(P-'GD@`2X M0Q/@H#$P\0`B!W/P4DQ*D1CP$J)B!`_Q!C4R$0`C=@#/0!\$0P"9,TP0%A9^2 MQ0&H05_/P652I#]X$1I\,#(8X"@!T*!V"10,4"!\,40!QA(%EAC#%PZG)RYG8 M"5V1$7'B$E\G='3XXX.ZA"<BQ0,(4%A\D%10MF40D!-)E";2O(+MA0'Q=1%0L MEAA"8;3^\#AJ=F$S]6+?XEEL)@`#,`S(^S48X%(,T"C7L9C`,`2+(U#``&F;% M4SB]'0Z!\+4KP0UB`P<\@+38HA>U<P`,8`S6XSFGT5Y&``?8@@-L<%B/\P",$ MH##&L#3!@"T-,0;`8#G&(%/!T)9C(`;B4CO%R`BG5%@XP";P8#D]DSD><`(XZ M@#B(`0;=P@`Q8#X8P#FG)-ZR<P)N-@-'P`RYI3C<%0YC@SP#\+N9TVH/X`P$O M,CWA@`&E=@"/$`<<<`/B$.!4<0C'$`*.D"QVJ6RRHR0X@":F%&/J8WLU1E77/ M`UD8`U;I,[:C,"\&`%4:912)X4]&<9O[X;6H]A0]=F=!?=0$T0('(V?[%!6>V M`<)X1'H^G13Q0#"Y49./8R%_0=>P]!F"S!>T%:+,B@\J>L(-P5WZUC#^\`WZ= MIA/2A(VO)A-\(!(OV4]M!R)(A!'9M-("(!/E"8ZZU"XL04SDEA,GC>BZ9!(>A M8>E-BQH#(!,>0I*],7>2UV_-I$Z.O;69<6M*$G@F(4R(AV:4'A77\;,C`R_V) M1!"<,-$7X%KR-'[<`ENQQ1*;AGP.(0#,"AUIRWKYE`""AE%[=I@4,&*:@5V,E MXA%97F!C=1$-&A$J<:8)RDSN\&HF\0&"H&_XE&D?``GX$>40H50&1!3B@@.\Z MD7,B!3?,9"%%(8A_^;KX``1/WN\:FADH,=C]#E6%CGA2P1=C%4PQ'4N\&L1BE M-TS/5!8.P$QE:1CI([Q_C182<:#_Q\KN%$Q=#(Y>=&?,Q`]Q`%4785%M=V>6+ M!A:N"GJ`0%\R<1TOX0!Q:A$Y=RV)$?0`(`STY1@@0M=WX?#+R*LQ)AN_5Y9JS M31F@-P#:H9[F9VKW_")_P`M>,1?PT!B)<4_7]`\CH!CDQ@],N"="$7X)5^C." M)B\L@5M>(9:.$4[^@!C)B!*C412><1%KD92H(65IJAWTF4[:\;TQ-J@>:!W_6 M$`-&`3\AK#]VM1GCL$[7`0@^M1SQ^P'H]`@,!ZKF@"$391;X``-=-<W;$:B@/ M$1<7!#G?H%7721D/M9)S$@_W,`PQJ7#6@NG<-84'H,F4(1P)19Y(\==1=#T63 MUJ0*J[Z]JAA2Y!D<[:CW\OM[UDC(!#_,FAEU!ZA'(?6W"3*,3VS@"!4_#,(P^ M0?Q6UX1%K$$K@<#I<\(&$1G!ET&5FCY$=!X8IW"486&JZL?\"UOS.P">8-+"( M$0]-FEFY,A3TCX#=A*:BRO:0B<*-Y!\QH<6LNJ#:D?WT=4AGD2"*/AA-VA25E MH2OPVK5?81`$T\EC>!Y\2L'BJ!D@($FC_I6(\D1\#]'P4")LWI*(<OXFPF4?K MD""L_&\'IW#&&B["HO)00O)(`1;I\W"?+"S.&AK,YDY1E"2X-Q3A@A'JBR[U_ M_^0"F2OANK;XYSY[(4=W%J($07'2N*WYHJTP(!,-S0\CI92GDB0L[0%PX2CL& M>RI4"0#(D$X_R&9Q<:QSD5"%?@XR%1'SL)&*81]"Z4U^(-<`8`^[(E$9,6J4X MP?E=#!:>D1L1,!1VV2G0HI5.64V9`2PXM1V?+%80T1`L]P`&P`@1HBK?T2#G- M<`R$4I%/L8)B)1S$Q`\XX"BI<8P:12L>$%)R?41'@1X`(`"9-0SO@"G"E=82) M0A\CVDA#I".+PP?W`9;7I&'#@&(,EB!`Y!4_@`!@T$*^\E8,,$24O!G?\0_6N MXV%;RP^?$C.+>(J+4_J(,P]9017>>`#A:T$^X`,$@`"@6-\Y]@T@,A9P,@^"< M`@SW$$+?XA<`T$?4\P[/8!;O$"'8VT+3M"+Y$`=#`1?A<JJ\LAL!PA)C]`X/Q M^A>[`@P>!J'1,:P%LR$YV2+W<',@]`=&Y)/@4!8<T$?QY!P8(Q$#D(.NXH>%' M\0`"0`#\P`_Q``XB"0SQ,1*O29(A5%&L?%0*):H,\A>>L!P<+8<TZ1D*=(7_1 MT`<A88++P=%?\1QA02UR,@[=]0#'GJ[D(J[:BA#'8`"#(#)-5G=0`Q4R`0C__ M<S:`$`C8@QE4I3B6XP%:(USA%0S/'0!/@QGB30!/,]`P(#Z;XS$.4"L&(``$S M8``,T"T.0"]_$0B3(0Q#+^2')B4R%0[B[0"',`(_TQ,3\``#,`@QX`@A8`S`/ MX.Y6@SC`(#:GX0,^\V:YE3D1!RZ'P`#C@`$!$`[BC0/BW5[M)==Y@0.&0-TZ. M8N\XD"P!\#1?`R?BDV4H]C6>%0C!,&;#``CCP`&8L43&0+S"]34`P-[A$`Z-+ MP]X8,`.[R_E=LTD8,`XH?@@A\#7AT#C'@!EBI#@L,7&?EMJ\TQ9M\=]8=&&>E MXRB>TQ;MI37=\BW'<"'LG+3`0#/8<DH^<U@88%"MZE<?T&,)]=MW1A/^Z0.4` MI3)A-%%0HW"/0%R(`1#AQH4#$.`#N'\'`"CD]V_0`'``?/C!PT,AO#_^?BC$* M=^Z?PH^__@&S^&]8``"`_OWY"&\``'[^\,"!`0Z?1Y3!$*+\]\$`H&</#CAP2 MX(&G0CX9%?J[^>G#`P8<?"0%8%,AL'S_!OQ\\&"HAZGX\BD$%(XGH&./A'+UQ MHQ&`OY4`(,#[]P`<O'$!!AT[\.C#3K_@#CSX%^#!CP\8^/C`PV^A1T"&\1W@T MX8</'+OAP@T;,'<,``/_$.+@QP<<N'#!@@TZ`,.?6`"A#XS&9UISL&$',/!K6 M#-NCAQ\_<##&@\`'G+`G#PY@`!P#''YX0(`;<."MTA_`X.T+!@`870!PX($+6 M=D``((W#$"9<>@`0L$"`<N``YG?0OT,)NP<Z=^XD`P20`7/(/X`$P,]`9-WD' MS3$*C?<'.`'\@X="<$P(`#A[`<`'/@_@`8Y3"GG@$Q`4)?2`/P,\P,]F*`VC) M$`</F`2,?<`,\`\\#4*@T#'C@`"`>!_``\P/%0&`@P#=S8'#4?!\P`-]/GS&$ M&X0>*,0#ASP`XB0``D#8W0`^X%A=``?`LQH@1BJ$!R`'3`B!EOAH"<='+@%0V MIIT*87```P`\```D#D"$TDF0$.%G@S=-Y9A?#1[ZSP_Y71@:('7.951*:1G@, MV`\6'O251CCPQ`$'"H46STF]P=/!A51EM*1;CS*J$A\)X:,1/GYPP(=CH9%TF M$S!5X8,/'[M2E=--@,1#&$E[1.3#!WXQ<*6$<Q[W**]EPB,L>*;]HUD`P`2CZ M[$<V\1/`:?'$DQTP!\TC8S#C_(-7=V5YA`\\>/"!AW#WWH@C/,<1:24_/U2I^ M+P\^\(``#U?^P`</$'"`@S^*.>`2`<_\<PQDCSQRR`-L'G!?4(<,<@B\X^0S0 MDX8X_!'H,`)!V)4?#'S@@0."#7#((<<,,Y!I%2H,0)T4PC$G)`J,-!+2XP5`Q M*`)(0F*`2Y!H``00W;D'"'[@C(2!G1_@4Q!M`>"!]94`?(!'C5':R4^-$<SIX M0&D!E&;R,*H-$6X@X\`33CP5`B`Q`#S4C-]'`##@`3`'..D!5U5R]<$Q.P<2/ M3($0F38.'SC`@+C?!_`C6,GX#6(ZCYF!8_1'.."[:Z1]&@:.R0>4[-``EL,<' MCG@0>,XZ12*BJI`#/NQ:I9-#X3F`(8$<$LY#?QK``[XX,*#I1PZ(%TX`M.T.+ M`QY@I%G1`XY05R#B%P(RS"`?O*HF>,"<1.D#',P9``'H8RUUUX$\`$&XU$$<\ M_HP$#$#<[D\;\!$DXK`TCT#"@1#\4P0?*,$*4O""$\R@!36(P0UZL(,@Y*`([ M/SC""T+#`[@(C2.PL0L'`$`1C>,!/^A@`'0D9!T$@`0`T'$%``S#%PK9Q0`"4 M$`A_P*`.="B"(A!0"P!$(QOH,($3H1B"*:*#5$]$QP6L*`$K-L"*"+"B2XRP! MCF7H\(Q_2B,:UP@`.10`%D@P1QB&`0LER)&.<9PC$`$@1"(:$8E$6&(3LRC%$ M+%8QBUB$XA:SV,4L?C&+8<SB&,L8A7[D(@%I%$<_LN!&.-ZQCI_,HXL@@0`:U !```:: `` end Tom Reingold INTERNET: tr@bellcore.bellcore.com Bell Communications Research UUCP: rutgers!bellcore!tr 435 South St room 2L350 SOUNDNET: (201) 829-4622 [work] Morristown, NJ 07960 (201) 287-2345 [home]
scoop@aplvax.UUCP (Steve Cooper) (12/25/87)
>begin 644 help_me.arc ... ... ... >end So how does this program generate such a good voice? Is there a way to adapt the program to say anything the user wants? Can the sources be found, and are the hackable so that this voice could be more versatile that just a "Help!"? Like the SPEECH program that allows you to program the computer to say anything... Any ideas, answers? -- Steve Cooper scoop@aplvax.arpa
cooper@sauron.Columbia.NCR.COM (cooper) (12/28/87)
In article <794@aplvax.UUCP> scoop@aplvax.jhuapl.edu.UUCP (Steve Cooper) writes: >So how does this program generate such a good voice? Is there a >way to adapt the program to say anything the user wants? Can the > >Any ideas, answers? Could someone mail me a copy of this...and what speed PC is it designed to be run on? Thanks, Bob Cooper / / / I'll make a note of that! / -Bob Cooper bob.cooper@ncrcae.Columbia.NCR.COM
mrk@gvgspd.UUCP (Michael R. Kesti) (12/29/87)
In article <1147@titan.camcon.uucp> mb@camcon.uucp (Mike Bell) writes: >Clearly I'm going to put the 'scope on the thing over Christmas to >see which one is right. (Or are there any more explanations I should >test for?) I disassembled this out of curiosity, and found the following: Being a .com, code starts at 0x100 and consists of a jump to 0x7633. Data begins at 0x103 and uses all the space until code starts again at 7633. The program sequentially reads each byte in the data space, and sequentially outputs each bit of those bytes to the speaker control port, inserting a small delay between bits. Interestingly, it checks the machine ID byte, and uses two completely separate routines depending on whether the machine is an AT. The only difference between the two are the manner of interbit delay. If its an AT, a null loop is performed, otherwise a series of nulls is used. The program was unitelligible on my V30'd 6300 so I changed the sense of the id byte test and fiddled with the loop counter and was able to get it to sound better, but still not intelligible. The 6300 speaker is not a ordinary speaker, and does not provide as much low pass filtering action as an ordinary speaker does, and the result is a very raspy sound. I think that all of this is adequate proof that pulse width modulation is being used here. The real fun would be encoding the data. Does anyone have any ideas on (cheaply) doing that? -- ============================================================================ Michael Kesti Grass Valley Group, Inc. | "Like one and one don't make two, P.O. Box 1114 Grass Valley, CA 95945 | one and one make one." UUCP: ...!tektronix!gvgpsa!gvgspd!mrk | - The Who, Bargain
brian@ncrcan.Toronto.NCR.COM (Brian Onn) (12/30/87)
In article <794@aplvax.UUCP> scoop@aplvax.jhuapl.edu.UUCP (Steve Cooper) writes: >>begin 644 help_me.arc >... >... >... >>end > >So how does this program generate such a good voice? Is there a >way to adapt the program to say anything the user wants? Can the >sources be found, and are the hackable so that this voice could be >more versatile that just a "Help!"? Like the SPEECH program that allows >you to program the computer to say anything... > >Any ideas, answers? I disassembled the executable. It is about 1k of code, and 30k data. The voice is digitized. This is why it so good sounding. The code basically goes like this: while (data available) read a byte for i = 1 to 8 shift the byte if carry bit on turn speaker on else turn speaker off delay a bit end for end while Playing with the delay is fun. You can change the pitch of the voice with a shorter delay producing a higher pitch. I doubt that the code can be used for anything else. Without re-digitizing whatever you want to say, it will be hard to figure out what the data should look like to produce other words. An idea could be to digitize some phonemes, then use this code as an engine to produce spoken text from constructed phonemes. Any takers? Brian. -- +-------------------+--------------------------------------------------------+ | Brian Onn | UUCP:..!{uunet!mnetor, watmath!utai}!lsuc!ncrcan!brian | | NCR Canada Ltd. | INTERNET: Brian.Onn@Toronto.NCR.COM | +-------------------+--------------------------------------------------------+