发明领域 本发明是关于与机器通讯的领域和特别是关于将口音传达命令给电脑。
先前技术的描述
利用人声与电脑通讯已引起许多兴趣,及研究工作。康雷(A·E·Conrad)在1984年一月刊的“研究与开发”(Research & Development,VOl·26,NO·1,Pages 86-89)刊出题为“抛开你的键盘,只管告诉你的电脑怎样做”(Toss Your Keyboards and Just Tell Your Computer What To Do)一文内调查了以声音命令电脑的优点,应用以及一般系统。
该文指示这方面的工作主要集中在两种口语辨认系统,(speech recognition systems)即特定说话者的(speaker-dependent)与非从属说话者的(speaker-independent)两种系统。前一种只能辨认某一个人讲的口语,而后一种能辨认一群人所讲的同一口语。从属说话者系统现时能够辨认(或学会辨认)的口语多过非从属说话者的系统,因而能够控制更多的机能。两种系统都依赖创造出来的口语“模板”跟接收得来的口语的配合。
人们在这领域里做了很多努力,并有很多发明专利及文章,如玛利(Marley)的美国发明专利第4,284,846号内的先前技术描述里考查到的工艺公布。该发明专利说明了一种用来分析及比较口语的系统,而这系统是利用预选储藏的比例来比较某些波形的特性。
口语辨认系统的其他发明专利有以下的沙河(Sahoe),美国发明专利第4,286,114和4,319,221:安(B·H·An)美国发明专利第4,292,470号;威池(Welch)等美国发明专利第4,319,085号和第4,336,421;基力(Kellett)美国发明专利第4,343,969;比斯(Pirz)美国发明专利第4,349,700;邓里顾芝(Taniguchi)等美国发明专利第4,389,109;希治角(Hitchock)美国发明专利第4,388,495;杜夫晓士(Duifhuis)等美国发明专利第4,384,335;和乌夫斯柴(Rothschila)等美国发明专利4,399,732。
这些系统都是相当复杂和昂贵的,或者是其能力非常有限的。例如,一个典型的非从属说话者系统能够辨认大概十个口语(例如,一至十的数目字),而属某说话者系统则能够辨认约一至二百个口语。
发明概述
这发明与上列发明专利所公开的系统与前述系统不同,它提供一个不太复杂的系统,这系统利用人声能够伸广到比平常需要用到或正常口语中用到的一个更加广阔的范围,从而可以经济地作成一个能够辨认较多不同的口音命令的非从属说话者系统。依据本发明的教导所造出来的系统会感觉和辨认音调的差异,这些差异被用来作为操作一些预先指定的功能编码讯号(Coded signals)。
依据本发明的一特征,那些音调差异就是音乐的音阶(Musical scale)里的音调,例如普通全音阶(Diatonic scale)。并提供装置(nuans)比较不同的音调,如某使用者主观的C中(MiddleC)调及其后发出的他/她的D调来定下各不同使用者的调。这发明的系统是使用和辨别音乐的音程作为命令或输入。
这系统可有多种用途,包括在使用他种输入系统是不实际的环境之下,使用本系统来输入和控制一个电脑。例如在黑房中(例如电子显微镜室)或在使用者必须用双手做其他工作的情形下,如在一生产过程中。这系统对于伤残人士极为有用,尤其是那些不便操作传统电脑端机的人士。
通过参照以下的描述及附图就更容易明白到现在本发明的辨别系统及其优点,在以下的描述及附图中,同一数字表示同一成分。
附图简述
图1是依照本发明的教导而制造的声音辨认系统的方块线路图并附有各示点的波形。
图2是图1所示的系统的波形整形线路部分的线路图。
图3是图1所示的系统的周期测量及其他部分的线路图。
图4是一组波形,用于了解图2和图3所示的线路的操作。
图5是一个流程图,用于表明图1至图3所示的系统的整体操作。
图6,7,8,都是流程表,用于表明这系统的各可取的实现方式的操作。
图9,10是各可取的流程图表的子程序,可用来代入图6,7,8所示的流程图内的一部份。
实施例的说明书
本发明的原理可使用硬件和/或软件多种形式来实施。以下说明其中多种,包括多种变化。
依本发明构造的一个系统〔10〕如图1所示。这系统〔10〕包括一个转换器〔12〕(Transducer),例如麦克风,用来拾取如波形〔14〕所描绘的声波。这些波,如某人唱出的“C”音音调,有一个基本的周期“T”系于该音调的高度(pitch)。为着简化电子装置(Elchonics)起见就用波形整形线路〔18〕将该接收得来的声音波形〔14〕的电模拟量转化为一周期为“T”的脉冲序列〔16〕。
并可设一辅助电讯号输入〔20〕用来作为对转换器〔12〕的一可取选择。辅助输入〔20〕可能是,例如,摇远发动用的电话输入或一个音调产生器(Tone generator)。
周期测量电路〔22〕接收波列〔16〕并量度其周期以及将其数字化和把这资料放进输入/输出接口〔24〕,这接口与一数字电脑〔26〕连接。
在系统〔10〕的总括操作中,系统〔10〕就是于麦克风〔12〕或输入〔20〕接收音调讯号和对被挑选了的这些音调作出反应以操作电脑内的预编的程序。
为着了解本发明中系统〔10〕的操作背后的原理,以下描述本发明实施于大家都熟知的自然音阶(Diatonic scale)。当然本发明亦可实施于其他音阶。近代的自然音阶中的音程(Intervals)都不取决于某一个音的频率的(虽则一旦定了某一个音的频率亦即同时定了其他音的频率),并且可以以下表表示出一部分:
(任何一任意的自然音阶) (音程)
MI′ 2.5000
RE′ 2.2500
DO′ 2.0000
TI 1.8750
LA 1.6667
SO 1.5000
FA 1.3333
MI 1.2500
RE 1.1250
(参照) DO 1.0000
TI′0.93750
LA′0.83333
SO′0.75000
FA′0.66667
MI′0.62500
RE′0.56250
DO′0.50000
TI″0.46875
由于大多数人类都熟识这音阶,而且小孩子们亦能轻易地发出DO,RE,ME,FA,SO,LA,TI,DO′(下意识地选出一参照频率并将它用上述的音程与其他各音关联)所以本发明以测定音程和对之起反应作为接收资讯(Information)的手段(means)。
因此,依据图5的流程表,一个开始命令可以是于阶段“A”接收到一个探测到的音调声音(“RE”)。在阶段“B”这个讯号就被测量以便决定它重覆的时间是否足够(以防错误发动)。如果一个参照讯号(如“DO”)已存在并已被储存着,那么两者就被比较及如果一个1.125的音程在阶段“C”中被计算出来,那么一个寻找(Fetch)和执行(Execute)的子程序就被执行于“D”阶段,即为1.125音程重调用和执行一个预先记录的子程序。在结束的时候这系统在“E”阶段复位(Reset)和准备好接收第二个信号(例如“FA”)和对它作出大至相同的反应。
为着避免系统变为特定说话者的系统,和让具有最小音乐能力的人都可用它,那个参照讯号是由同一方法建立。作为一个开始,用户只须对麦克风〔12〕发出短时间的“DO”的声音而后发出“RE”的声音。那系统把第一个接收的音调声音作为建立一个参照讯号来处置,并把第二个信号和跟着来的音调声音当作可能的命令讯号。
图2示出那波形整形线路〔18〕和它与麦克风〔12〕及辅助输入〔20〕互相连接的较佳实施例。虽然图2内的元件标有某一数值,但是许多其他的数值都可应用,正如本领域的一般技术人员所熟识的那样。然而,图2所示的数值和电路元件的连接用在原型(pretotype)内工作得十分好。
更切实地,麦克风〔12〕是连接在装框的地接点和接至电路点〔28〕的电抗阻抗〔27〕之间。该点〔28〕通过一电阻〔32〕也接至装框地点,和通过一电容〔34〕接至辅助输入〔20〕。
无论是讯号输入〔12〕或〔20〕接收到一个讯号,输入〔12〕或〔20〕就将它供给一低频放大器〔36〕。这放大器由一运算放大器〔38〕组成,它的负输入点(脚6)接至电路点〔28〕,而正输入点(脚5)经电阻〔40〕接至偏压电压(正5伏特)和经并联的电容〔42〕和电阻〔44〕接至装框地点。该运算放大器〔38〕的脚4经限流电阻〔45〕接至正偏压电源(12伏特),和经电容〔46〕接至装框地点。运算放大器〔38〕的一些输出经并联的电阻〔47〕和电容〔48〕回输至它的负输入。
放大器〔36〕的主要输出被输送至一低通滤波器。该低通滤波器有一电阻〔51〕,它的一边接至放大器〔36〕的输出,而另一边是经一电容器〔52〕接地和经一电阻〔53〕接电路接合点〔54〕。低频过滤器〔50〕的输出被输至接合点〔54〕而由此点至一比较器〔55〕和至一有衰减的峰值电压跟随电路(a peak-voltage-follower-with-decay circuit 56。)〔56〕。讯号分两路被输送出去:(a)径一电流隔离二极管〔57〕至比较器〔55〕的运算放大器〔58〕的正讯号输入点(脚12),而此点亦经一电阻〔59〕接地;(b)至有衰减的峰值电压跟随电路〔56〕。电路〔56〕的输出提供讯号至比较器〔55〕的负讯号输入点(脚13)。
电路〔56〕的构成最好用一运算放大器〔60〕,它的正输入点(脚3)直接接着汇点〔54〕,而它的输出(脚1)就被直接回输至它的负输入点(脚2)同时亦经一隔流二极管〔61〕被输至放大器〔58〕的负输入点以及经并联的电阻〔63〕和电容〔64〕被输至地。并联的电阻〔63〕和电容〔64〕拥有一适当放电时间常数,令到比较器〔55〕的倒相输入讯号的效力经常盖过不倒相输入的,除了在汇点〔54〕的讯号达至每一周的最高峰的时候。
比较器〔55〕的输出波形〔16〕是取自一对串连在运算放大器〔58〕的输出点(脚14)与地之间的电阻〔65〕和〔66〕的接合点。这输出被送往周期测量电路〔22〕的输入点ST。
现在参阅图3,那里示出一较佳实施例的周期测量电路〔22〕和输出/输入接口〔24〕以及其与电脑〔26〕的互相接法。那特定的电脑〔26〕最好是萍果牌Ⅱ加型(Apple Ⅱ plus),而与那机器特定的互相接法亦如所示。
那脉冲列〔16〕是经一作为史密触发器(Schmitt Triqqer)用的运算放大器〔70〕接连至一移位寄存器〔72〕。寄存器〔72〕的输出(脚3和脚4)经反相器〔74〕及周期测量门〔75〕连接至计数器〔78〕,该计数器〔78〕再经缓冲器〔80〕接连至电脑〔26〕。
来自电脑〔26〕的输出都是取自它的R/W,A0,A1,A2和 DS( Devlce Select)的输出以及偏压电源(5v)和定时脉冲列,一如图3所示。门〔81〕和〔82〕是用来在线〔83〕上提供复位命令。
参考图4就更容易了解图2-3的电路和电脑〔26〕的工作。图4示出下述各样的互相关系:波形14,16和从CP点入移位寄存器〔72〕的输入,自电脑〔26〕传至周期测量门〔75〕的定时脉冲,以及移位寄存器〔72〕的相应于那测量到的周期“T”的开始与完结的输出。
工作时,图2-3的电路首先把输入讯号〔14〕化为每周只有一个脉冲的脉冲列〔16〕于ST点(图2和图3),即史密触发器〔70〕的输入点。电脑〔26〕使移位寄存器〔72〕和计数器(经路线〔83〕和反相器〔86〕)复位并把电路准备好作下一周期测量。
当整了形的波形〔16〕中的第一个上升沿到达移位寄存器〔72〕的CP点的时候。这寄存器的输出QO就从低升高(电压水平)。计数器〔78〕开始测量输入波形列的当前周期。
当整了形的波形〔16〕中的第二个上升沿到达移位寄存器〔72〕的CP点的时候,它的输出Q1从低升高。计数器〔78〕停数。在同一时间,在缓冲器〔80〕的高字节缓冲器〔90〕的最高有效数位的输入由低被置高,代表着那周期测量经已结束。
电脑〔26〕读出缓冲器〔90〕的高字节,如果最高有效数位是高就忽略它,而电脑〔26〕就将最低有效的7位作为一个15位元二进数字的Q8至Q14的值。(如果最高效数位是低那就表示周期测量尚未完成)。
电脑〔26〕也读出低字节缓冲器〔92〕,及将读数作为那15位元二进数字的最低有效8位的值。亦即是Q0至Q7。电脑〔26〕将这15位元二进数字解释为刚测量到的周期的量。
图6流程表使得系统〔10〕的工作更加容易领会。在这里,开始序列A馈给复位测量电路门81-82和它们的联结导线),再在B1处决定是否经已接收了周期讯号。若没有,系统就循环回去等候这样的一个讯号。若是,系统就在阶段B3取一读数,和这是是第J次(任何数目,例如第30次)在阶段B4连续地再发生了那相同的脉冲周期T,系统就在阶段C算出一平均数。
图6的流程表是为单音程讯息的。它是用作孤立地输入参照和讯号波列的,其中在相继的波列之间总有一个间断。方块I是用作探获这些间断的。
若方块I的输出是第一个探获的音调讯号,它就被当为参照讯号和被储存。若第二个或相继来的讯号被鉴定了,就将它们与参照讯号作比较并计算出一个音程来。这计算出来的音程于是就被试图用作相配,和如果找到一个相配的话,那关连的子程序就被执行,然后程序复位。
在实际应用时,电脑终端机可示出如下般的选择表(Menu):
我为你服务。“唱”你的选择
(DO DO)为(列出存储器中的程序)
(DO RE)为(显示“HO”样式)
(DO ME)为(字式显示)
(DO FA)为(闪式显示)
(DO SO)为(奏出急进音串)
(DO LA)为(发动外在驹动器来列出磁碟中的程式目录)
(DO TE)为(显示“TE”字样)
(DO DO′)为(发动外在驱动器来储藏本程序于磁碟,和执行磁碟中另一程序,和回返)
而用户只须“唱”出所要求的命令来发动电脑。
以下是一适用于图6程序清单:
5 REM INVENTED BY HO KIT-FUN
8 REM UNPUBLISHED COPYRIGHT
10 REM P O BOX 54504
11 REM NORTH POINT
12 REM HONG KONG
15 REM
20 REM 1-INTERVAL
21 REM
23 REM FIG.6
25 REM
30 REM ISOLATED INPUTS
32 REM
34 REM 32
40 REM
50 REM SLOT 4
55 REM J,W,K,I,I(K),N,X,P,I(P),M
60 HN=128
62 NU=24:REM SET “J” FOR EACH WAVE TRAIN
64 BY=256
69 I0=0.9688
70 I1=1.0625:REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2=1.1875
73 I3=1.2975
74 I4=1.4167
75 I5=1.5833
76 I6=1.7708
77 I7=1.9444
78 I8=2.1250
82 GOTO 90
85 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
“UNRELATED” TO THIS PROGRAMME
88 GOTO 100
90 DIM T(50),H(50),L(50)
91 W=0:GOTO 95:REM RESET PROGRAMME TO
ACCEPT A NEW REFERENCE
93 W=1:REM RESET PROGRAMME TO ACCEPT
NEXT SIGNAL
95 J=1
96 FOR PS=1 TO 2500:NEXT:HOME:PRINT
“I AM AT YOUR SERVICE.‘SING’YOUR
CHOICE”:PRINT:PRINT“(DO DO) FOR
(LIST PROGRAMME IN MEMORY)”:PRINT
“(DO RE)FOR (DISPLAY PATTERN ′HO′)”:
PRINT “(DO ME) FOR (TEXT MODE DISPLAY)”
PRINT“(DO FA) FOR (FLASH MODE DISPLAY)”:
PRINT“(DO SO) FOR (PLAY RUNNING
TONES)”:PRINT“(DO LA) FOR (ACTIVATE
EXTERNAL DRIVE)”:HTAB 15:PRINT“TO
CATALOG PROGRAMMES ON”:HTAB 15:PRINT
“DISK)”:PRINT“(DO TE) FOR (DISPLAY
‘TE’)”
98 PRINT“(DO DO′) FOR (ACTIVATE EXTERNAL
DRIVE”:HTAB 15:PRINT“TO SAVE
THIS PROGRAMME”:HTAB 15:PRINT
“ON DISK,AND EXECUTE”:HTAB 15:
PRINT“ANOTHER PROGRAMME ON”:
HTAB 15:PRINT“DISK,AND RETURN)”:
REM MESSAGE FROM MACHINE
99A=PEEK(49348):REM RESET MEASURING
CIRCUIT
100H(J)=PEEK(49346):REM HIGH BYTE
140 IF H(J)<HN THEN GO TO 85:REM PERIOD
MEASUREMENT UNFINISHED
160 L(J)=PEEK (49345):REM LOW BYTE
300A=PEEK (49348):REM RESET MEASURING
CIRCUIT
400 IF J=NU THEN GO TO 2000
900 J=J+1:GO TO 100
2000W=W+1:REM REFERENCE WAVE TRAIN IF W=1
2100 FOR J=5 TO 24:T(J)=(H(J)-HN)
*BY+L(J):NEXT:J=1:
REM PERIOD READINGS
2400 AVE(W)=0.05*(T(5)+T(6)+T(7)
+T(8)+T(9)+T(10)+T(11)
+T(12)+T(13)+T(14)+T(15)
+T(16)+T(17)+T(18)+T(19)
+T(20)+T(21)+T(22)+T(23)
+T(24)):REM AVERAGE PERIOD
2420 PRINT CHR(7):REM BEEP FOR NEXT WAVE
TRAIN
2466A=PEEK (49348):REM RESET CIRCUIT AND
TEST FOR SILENCE
2470 FOR PS=1 to 20:NEXT:REM BRIEF PAUSE
2472 REM“WAVE TRAIN STILL DETECTED?”
2475L=PEEK (49345):H=PEEK (49346)
2478 IF L=0 AND H=0 THEN GO TO 2495:
REM“NO WAVE DETECTED”
2485 GO TO 2466
2495 REM“REFERENCE/SIGNAL BRANCHING”
2510 IF W=1 THEN GO TO 100:REM IT WAS
A REFERENCE WAVE
2520 REM IT WAS A SIGNAL WAVE TRAIN
2700 I=AVE (1)/AVE(2):REM INTERVAL
COMPUTED
2800 HOME:PRINT“INTERVAL=”;I
2810 IF I<I0 GOTO 91:REM SMALLER THAN THE
LOWEST INTERVAL PROGRAMMED (WHICH
MAY BE EXTENDED).START AGAIN
2820 IF I<I1 GO TO 3000:REM INTERVAL
1.0000
2840 IF I<I2 GO TO 3500:REM INTERVAL
1.1250
2860 IF I<I3 GO TO 4000:REM INTERVAL
1.2500
2880 IF I<I4 GO TO 4500:REM INTERVAL
1.3333
2900 IF I<I5 GO TO 5000:REM INTERVAL
1.5000
2920 IF I<I6 GO TO 5500:REM INTERVAL
1.6667
2940 IF I<I7 GO TO 6000:REM INTERVAL
1.8750
2960 IF I<I8 GO TO 6500:REM INTERVAL
2.0000
2980 GO TO 91:REM GREATER THAN THE HIGHEST
INTERVAL PROGRAMMED (WHICH MAY BE
EXTENDED).START AGAIN
3000 REM MESSAGE IDENTIFIED WITH 1.0000
3005 REM FEEDBACK
3010 FQ=50:REM***DO***OF AN
ABITRARY MUSICAL SCALE
3020 GOSUB 9980
3030 IPRO=1.0000:I=“DO”
3035 GOSUB 9800
3050 LIST
3499 GO TO 93
3500 REM MESSAGE IDENTIFIED WITH 1.1250
3505 REM FEEDBACK
3510 FQ=76:REM***RE***OF AN ABITRARY
MUSICAL SCALE
3520 GOSUB 9980
3530 IPRO=1.125:I=“RE”
3540 GOSUB 9800
3550 FLASH:PRINT“GRAPHIC”:NORMAL
3600 GR
3610 COLOR=12
3650 VLIN 0,30 AT 2
3660 VLIN 0,30 AT 12
3670 HLIN 2,12 AT 15
3680 VLIN 0,30 AT 16
3690 VLIN 0,30 AT 26
3700 HLIN 16,26 AT 0
3720 HLIN 16,26 AT 30
3999 GO TO 93
4000 REM MESSAGE IDENTIFIED WITH 1.2500
4005 REM FEEDBACK
4010 FQ=99:REM***ME***OF AN ABITRARY
MUSICAL SCALE
4020 GOSUB 9980
4040 IPRO=1.2500:I=“ME”
4050 GOSUB 9800
4055 FLASH:PRINT“TEXT”:NORMAL
4100 TEXT
4499 GO TO 93
4500 REM MESSAGE IDENTIFIED WITH 1.3333
4502 REM FEEDBACK
4505 FQ=109:REM***FA***OF AN ABITRARY
MUSICAL SCALE
4510 GOSUB 9980
4515 IPRO=1.3333:I=“FA”
4520 GOSUB 9800
4600 FLASH
4650 PRINT“FLASH”
4999 GO TO 93
5000 REM MESSAGE IDENTIFIED WITH 1.5000
5001 REM FEEDBACK
5002 FQ=127:REM***SO***OF AN
ABITRARY MUSICAL SCALE
5004 GOSUB 9980
5010 IPRO=1.5000:I=“SO”
5020 GOSUB 9800
5025 FLASH:PRINT“MUSIC”:NORMAL
5100 NORMAL
5105 TEXT
5120 FOR FQ=230 TO 254
5160 GOSUB 5300
5180 NEXT FQ
5200 GO TO 93
5300 POKE 768,1
5320 POKE 769,FQ
5340 CALL 770
5350 RETURN
5500 REM MESSAGE IDENTIFIED WITH 1.6667
5501 REM FEEDBACK
5502 FQ=144:REM***LA***OF AN
ABITRARY MUSICAL SCALE
5504 GOSUB 9800
5510 IPRO=1.6667:I=“LA”
5520 GOSUB 9800
5522 PRINT
5523 HTAB 16
5525 FLASH:PRINT“LA”:NORMAL
5550 PRINT CHR(4);“CATALOG”
5999 GO TO 93
6000 REM MESSAGE IDENTIFIED WITH 1.8750
6005 REM FEEDBACK
6010 FQ=159:REM***TE***OF AN
ABITRARY MUSICAL SCALE
6015 GOSUB 9980
6020 IPRO=1.8750:I=“TE”
6030 GOSUB 9800
6040 PRINT
6050 HTAB 16
6060 FLASH:PRINT“TE”:NORMAL
6499 GO TO 93
6500 REM MESSAGE IDENTIFIED WITH 2.0000
6505 REM FEEDBACK
6510 FQ=166:REM***DO′***OF AN
ABITRARY MUSICAL SCALE
6515 GOSUB 9980
6520 IPRO=2.0000:I=“DO′”
6530 GOSUB 9800
6540 PRINT
6550 HTAB 16
6560 FLASH:PRINT“DO′”:NORMAL
6570 PRINT CHR(4);“SAVE PROGRAMME”
6580 PRINT CHR(4);“BRUN BEEPING 350 20”
6999 GO TO 93
9800 PRINT“ERROR=”;(I-IPRO)/IPRO
9810 PRINT
9820 HTAB 2:PRINT“I RECOGNIZED INTERVAL
(DO“;I;”) AND I AM NOW EXECUTING
YOUR MESSAGE”
9822 RETURN
9980 REM DECLARE THE RECOGNIZED INTERVAL
9982 POKE 768,6:POKE 769,50:CALL 770:
REM A SOUND SUBROUTINE TO PRODUCE
A PRESET REFERENCE SOUND FOR FEEDBACK
PURPOSES
9984 POKE 768,6:POKE 769,FQ:CALL 770:REM
PRODUCE A SOUND BEARING THE
RECOGNIZED INTERVAL
9986 RETURN
9990 END
特别地,如果上述列表之第93行修改为如下:
93W=0
系统10就会分别以一个新的参照来操作每一个命令。这般的操作容许同一个或不同的说话者自由地改变每一个命令所用的参照。
现在参考图7,那里表明本发明的系统用的另一流程表并以参照数字100来指示它。这表描画出N音程讯息(N-interval Message)所用之程式。那即是,它是用于多音调码。例如,在这情形下,DO-RE-ME和DO-RE-FA就是不同的讯号。
以下就是适合用来实行这程式的适用列表:
5 REM INVENTED BY HO,KIT-FUN
8 REM UNPUBLISHED COPYRIGHT
10 REM P O BOX 54504
11 REM NORTH POINT
12 REM HONG KONG
15 REM
20 REM N-INTERVAL
21 REM
22 N=2
23 REM FIG.7
25 REM
30 REM ISOLATED INPUTS
32 REM
34 REM
35 REM
36 REM
40 REM 9
45 REM
50 REM SLOT 4
55 REM J,W,K,I,I(K),N,X,I(P),M
60 HN=128
62 NU=24:REM SET “J” FOR EACH WAVE TRAIN
64 BY=256
69 I0=0.9688:REM LOWEST FOR THIS PROGRAMME.
MAY BE EXTENDED
70 I1=1.0625:REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2=1.1875
73 I3=1.2975
74 I4=1.4167
75 I5=1.5833
76 I6=1.7708
77 I7=1.9444
78 I8=2.1250
80 M=“RECOGNIZED AND EXECUTING (MESSAGE)”
82 GO TO 90
85 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
“UNRELATED” TO THIS PROGRAMME
88 GO TO 100
90 DIM T(50),H(50),L(50)
92 DIM K(100)
95 J=1:W=0:K=0:REM RESET PROGRAMME
96 FOR PS=1 TO 2500:NEXT:HOME:PRINT
“I AM AT YOUR SERVICE.‘SING’
YOUR 2-INTERVAL MESSAGE”
97 PRINT:PRINT “EXAMPLE”
98 PRINT“(DO RE SO) FOR (MESSAGE 25)”:
PRINT“(DO FA DO) FOR (MESSAGE 41)”
99 A=PEEK (49348):REM RESET MEASURING CIRCUIT
100 H(J)=PEEK (49346):REM HIGH BYTE
140 IF H(J)<HN THEN GO TO 85:REM PERIOD
MEASUREMENT UNFINISHED
160 L(J)=PEEK (49345):REM LOW BYTE
300 A=PEEK (49348):REM RESET MEASURING
CIRCUIT
400 IF J=NU THEN GO TO 2000
900 J=J+1:GO TO 100
2000 W=W+1:REM“W”TH WAVE TRAIN
2100 FOR J=5 TO 24:T(J)=(H(J)-HN)
*BY+L(J):NEXT:J=1:REM PERIOD
READINGS
2400 AVE(W)=0.05*(T(5)+T(6)+T(7)
+T(8)+T(9)+T(10)+T(11)
+T(12)+T(13)+T(14)+T(15)
+T(16)+T(17)+T(18)+T(19)
+T(20)+T(21)+T(22)+T(23)
+T(24):REM AVERAGE PERIOD
2420 PRINT CHR(7):REM BEEP FOR NEXT WAVE TRAIN
2466 A=PEEK (49348):REM RESET CIRCUIT AND
TEST FOR SILENCE
2470 FOR PS=1 TO 20:NEXT:REM BRIEF PAUSE
2472 REM“WAVE TRAIN STILL DETECTED?”
2475 L=PEEK(49345):H=PEEK(49346)
2478 IF L=0 AND H=0 THEN GO TO 2495:
REM“NO WAVE DETECTED”
2485 GO TO 2466
2495 REM“REFERENCE/SIGNAL BRANCHING”
2510 IF W=1 THEN GO TO 100:REM IT WAS A
REFERENCE WAVE
2520 REM IT WAS A SIGNAL WAVE TRAIN
2550 K=K+1:REM “K”TH SIGNAL(NOTE THAT
K=W-1)
2570 REM(AFTER A PROGRAMME RESET THE FIRST
WAVE TRAIN IS TAKEN AS REFERENCE,
ALL SUBSEQUENT WAVE TRAINS TAKEN
AS SIGNALS REFERRED TO THIS
REFERENCE,TILL THE NEXT RESET.)
2700 I(K)=AVE(l)/AVE(W):REM INTERVAL
COMPUTED
2720 PRINT“INTERVAL=”;I(K)
2740 IF K=N THEN GO TO 2770:REM AN N-INTERVAL
MESSAGE
2760 GO TO 100
2770 REM LOCATE AND EXECUTE
2780 I=I(l):REM FIRST INTERVAL
2800 IF I<I0 GO TO 95:REM TOO LOW FOR THIS
PROGRAMME.START AGAIN
2820 IF I<I1 GO TO 21000:REM INTERVAL 1.0000
2840 IF I<I2 GO TO 22000:REM INTERVAL 1.1250
2860 IF I<I3 GO TO 23000:REM INTERVAL 1.2500
2880 IF I<I4 GO TO 24000:REM INTERVAL 1.3333
2980 IF I<I5 GO TO 25000:REM INTERVAL 1.5000
2980 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
21000 I=I(2):REM SECOND INTERVAL
21005 IF I<I0 GO TO 95:REM TOO LOW FOR THIS
PROGRAMME.START AGAIN
21010 IF I<I1 GO TO 21100:REM INTERVAL 1.0000
21020 IF I<I2 GO TO 21200:REM INTERVAL 1.1250
21030 IF I<I3 GO TO 21300:REM INTERVAL 1.2500
21040 IF I<I4 GO TO 21400:REM INTERVAL 1.3333
21050 IF I<I5 GO TO 21500:REM INTERVAL 1.5000
21090 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
21100 PRINT M;“11)”
21110 REM‘PROGRAMMED MESSAGE HERE’
21190 GO TO 95
21200 PRINT M;“12)”
21210 REM‘PROGRAMMED MESSAGE HERE’
21290 GO TO 95
21300 PRINT M;“13)”
21310 REM‘PROGRAMMED MESSAGE HERE’
21390 GO TO 95
21400 PRINT M;“14)”
21410 REM‘PROGRAMMED MESSAGE HERE’
21490 GO TO 95
21500 PRINT M;“15)”
21510 REM‘PROGRAMMED MESSAGE HERE’
21590 GO TO 95
22000 I=I(2):REM SECOND INTERVAL
22005 IF I I0 GO TO 95:REM TOO LOW FOR THIS
PROGRAMME.START AGAIN
22010 IF I I1 GO TO 22100:REM INTERVAL 1.0000
22020 IF I I2 GO TO 22200:REM INTERVAL 1.1250
22030 IF I I3 GO TO 22300:REM INTERVAL 1.2500
22040 IF I I4 GO TO 22400:REM INTERVAL 1.3333
22050 IF I I5 GO TO 22500:REM INTERVAL 1.5000
22090 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
22100 PRINT M;“21)”
22110 REM‘PROGRAMMED MESSAGE HERE’
22190 GO TO 95
22200 PRINT M;“22)”
22210 REM‘PROGRAMMED MESSAGE HERE’
22290 GO TO 95
22300 PRINT M;“23)”
22310 REM‘PROGRAMMED MESSAGE HERE’
22390 GO TO 95
22400 PRINT M;“24)”
22410 REM‘PROGRAMMED MESSAGE HERE’
22490 GO TO 95
22500 PRINT M;“25)”
22510 REM‘PROGRAMMED MESSAGE HERE’
22590 GO TO 95
23000 I=I(2):REM SECOND INTERVAL
23005 IF I I0 GO TO 95:REM TOO LOW FOR THIS
PROGRAMME.START AGAIN
23010 IF I<I1 GO TO 23100:REM INTERVAL 1.0000
23020 IF I<I2 GO TO 23200:REM INTERVAL 1.1250
23030 IF I<I3 GO TO 23300:REM INTERVAL 1.2500
23040 IF I<I4 GO TO 23400:REM INTERVAL 1.3333
23050 IF I<I5 GO TO 23500:REM INTERVAL 1.5000
23090 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
23100 PRINT M;“31)”
23110 REM‘PROGRAMMED MESSAGE HERE’
23190 GO TO 95
23200 PRINT M;“32)”
23210 REM‘PROGRAMMED MESSAGE HERE’
23290 GO TO 95
23300 PRINT M;“33)”
23310 REM‘PROGRAMMED MESSAGE HERE’
23390 GO TO 95
23400 PRINT M;“34)”
23410 REM‘PROGRAMMED MESSAGE HERE’
23490 GO TO 95
23500 PRINT M;“35)”
23510 REM‘PROGRAMMED MESSAGE HERE’
23590 GO TO 95
24000 I=I(2):REM SECOND INTERVAL
24005 IF I<I0 GO TO 95:REM INTERVAL TOO LOW
FOR THIS PROGRAMME.START AGAIN
24010 IF I<I1 GO TO 24100:REM INTERVAL 1.0000
24020 IF I<I2 GO TO 24200:REM INTERVAL 1.1250
24030 IF I<I3 GO TO 24300:REM INTERVAL 1.2500
24040 IF I<I4 GO TO 24400:REM INTERVAL 1.3333
24050 IF I<I5 GO TO 24500:REM INTERVAL 1.5000
24090 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
24100 PRINT M;“41)”
24110 REM‘PROGRAMMED MESSAGE HERE’
24190 GO TO 95
24200 PRINT M;“42)”
24210 REM‘PROGRAMMED MESSAGE HERE’
24290 GO TO 95
24300 PRINT M;“43)”
24310 REM‘PROGRAMMED MESSAGE HERE’
24390 GO TO 95
24400 PRINT M;“44)”
24410 REM‘PROGRAMMED MESSAGE HERE’
24490 GO TO 95
24500 PRINT M;“45)”
24510 REM‘PROGRAMMED MESSAGE HERE’
24590 GO TO 95
25000 I=I(2):REM SECOND INTERVAL
25005 IF I<I0 GO TO 95:REM TOO LOW FOR THIS
PROGRAMME.START AGAIN
25010 IF I<I1 GO TO 25100:REM INTERVAL 1.0000
25020 IF I<I2 GO TO 25200:REM INTERVAL 1.1250
25030 IF I<I3 GO TO 25300:REM INTERVAL 1.2500
25040 IF I<I4 GO TO 25400:REM INTERVAL 1.3333
25050 IF I<I5 GO TO 25500:REM INTERVAL 1.5000
25090 GO TO 95:REM OUT OF PROGRAMMED RANGE.
START AGAIN
25100 PRINT M;“51)”
25110 REM‘PROGRAMMED MESSAGE HERE’
25190 GO TO 95
25200 PRINT M;“52)”
25210 REM‘PROGRAMMED MESSAGE HERE’
25290 GO TO 95
25300 PRINT M;“53)”
25310 REM‘PROGRAMMED MESSAGE HERE’
25390 GO TO 95
25400 PRINT M;“54)”
25410 REM‘PROGRAMMED MESSAGE HERE’
25490 GO TO 95
25500 PRINT M;“55)”
25510 REM‘PROGRAMMED MESSAGE HERE’
25590 GO TO 95
图8示出又另一流程表,用作口述程式。利用输入一连串声音说话者有效地定下由欲要的一串口音命令所组成的口述程式(例如一个程序)供以后执行。
依照图8流程表来实行这程式的适用列表如下:
5 REM INVENTED BY HO FIT-FUN
8 REM UNPUBLISHED COPYRIGHT
10 REM P O BOX 54504
11 REM NORTH POINT
12 REM HONG KONG
15 REM
20 REM 1-INTERVAL
21 REM
23 REM FIG.8
25 REM PROGRAMMING USING VOCAL COMMANDS
30 REM ISOLATED INPUTS
32 REM
34 REM‘ONE REFERENCE FOR EACH ORAL PROGRAMME’
36 REM
40 REM VOPRO 18
45 REM
50 REM SLOT 4
55 REM J,W,K,I,I(K),N,X,I(P),M
60 HN=128
62 NU=24:REM SET“J”FOR EACH WAVE TRAIN
64 BY=256
69 I0=0.9688:REM LOWEST IN THIS PROGRAMME.
MAY BE EXTENDED
70 I1=1.0625:REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2=1.1875
73 I3=1.2975
74 I4=1.4167
75 I5=1.5833
76 I6=1.7708
77 I7=1.9444
78 I8=2.1250
82 GO TO 90
85 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
“UNRELATED”TO THIS PROGRAMME
88 GO TO 100
90 DIM T(50),H(50),L(50)
92 DIM.K(100)
95 J=1:W=0:K=0:REM RESET PROGRAMME
96 FOR PS=l TO 2500:NEXT:HOME:PRINT
“I AM AT YOUR SERVICE.‘SING’YOUR
CHOICE”:PRINT:PRINT“(DO DO)
FOR(LIST PROGRAMME IN MEMORY)”:
PRINT“(DO RE)FOR(DISPLAY PATTERN
‘HO’)”:PRINT“(DO ME)FOR(TEXT MODE
DISPLAY)”
97 PRINT“(DO FA)FOR(FLASH MODE DISPLAY)”:
PRINT“(DO SO)FOR(PLAY RUNNING TONES)”:
PRINT“(DO LA)FOR(ACTIVATE EXTERNAL
DRIVE”:HTAB 15:PRINT“TO CATALOG
PROGRAMMES ON”:HTAB 15:PRINT“DISK)”:
PRINT“(DO TE)FOR(DISPLAY‘TE’)”
98 PRINT“(DO DO′)FOR(ACTIVATE EXTERNAL
DRIVE”:HTAB 15:PRINT“TO SAVE THIS
PROGRAMME”:HTAB 15:PRINT“ON DISK,
AND EXECUTE”:HTAB 15:PRINT“ANOTHER
PROGRAMME ON”:HTAB 15:PRINT“DISK,
AND RETURN)”:REM MESSAGE FROM MACHINE
99A=PEEK(49348):REM RESET MEASURING CIRCUIT
100 H(J)=PEEK(49346):REM HIGH BYTE
140 IF H(J)<HN THEN GO TO 85:REM PERIOD
MEASUREMENT UNFINISHED
160 L(J)=PEEK(49345):REM LOW BYTE
300A=PEEK(49348):REM RESET MEASURING
CIRCUIT
400 IF J=NU THEN GO TO 2000
900 J=J+1:GO TO 100
2000 W=W+1:REM“W”TH WAVE TRAIN
2100 FOR J=5 TO 24:T(J)=(H(J)-HN)
*BY+L(J):NEXT:J=1:
REM PERIOD READINGS
2400 AVE(W)=0.05*(T(5)+T(6)+T(7)+T(8)
+T(9)+T(10)+T(11)+T(12)
+T(13)+T(14)+T(15)+T(16)
+T(17)+T(18)+T(19)+T(20)
+T(21)+T(22)+T(23)+T(24)):
REM AVERAGE PERIOD
2420 PRINT CHR(7):REM BEEP FOR NEXT WAVE TRAIN
2466 A=PEEK(49348):REM RESET CIRCUIT AND TEXT
FOR SILENCE
2470 FOR PS=1 TO 20:NEXT:REM BRIEF PAUSE
2472 REM“WAVE TRAIN STILL DETECTED?”
2475 L=PEEK(49345):H=PEEK(49346)
2478 IF L=0 AND H=0 THEN GO TO 2495:
REM“NO WAVE DETECTED”
2485 GO TO 2466
2495 REM“REFERENCE/SIGNAL BRANCHING”
2510 IF W=1 THEN GO TO 100:REM IT WAS A
REFERENCE WAVE
2520 REM IT WAS A SIGNAL WAVE TRAIN
2550 K=K+1:REM“K”TH SIGNAL(NOTE THAT
K=W-1)
2570 REM(AFTER A PROGRAMME RESET THE FIRST
WAVE TRAIN IS TAKEN AS THE REFERENCE.
ALL SUBSEQUENT WAVE TRAINS TAKEN AS
SIGNALS REFERRED TO THIS REFERENCE,
TILL THE NEXT RESET.)
2700 I(K)=AVE(1)/AVE(W):REM INTERVAL
COMPUTED
2720 PRINT“INTERVAL=”;I(K)
2740 IF I(K)<0.9688 GO TO 2770:REM A PRESET
VALUE OF X(SEE FLOW CHART FIG 8)
WHICH IS PROGRAMMABLE
2760 GO TO 100
2770 REM EXECUTE ORAL PROGRAMME JUST ENTERED
2780 FOR P=1 TO K=1:I=I(P):GOSUB 2790:NEXT
2785 GO TO 95
2790 REM‘BUILDING BLOCKS OF A PROGRAMMABLE
PROCESS’
2800 IF I<I0 GO TO 95:REM TOO LOW FOR THE
PROGRAMMED RANGE HERE.START AGAIN
2820 IF I<I1 GO TO 3000:REM INTERVAL 1.0000
2840 IF I<I2 GO TO 3500:REM INTERVAL 1.1250
2860 IF I<I3 GO TO 4000:REM INTERVAL 1.2500
2880 IF I<I4 GO TO 4500:REM INTERVAL 1.3333
2900 IF I<I5 GO TO 5000:REM INTERVAL 1.5000
2920 IF I<I6 GO TO 5500:REM INTERVAL 1.6667
2940 IF I<I7 GO TO 6000:REM INTERVAL 1.8750
2960 IF I<I8 GO TO 6500:REM INTERVAL 2.0000
2980 RETURN:REM GREATER THAN THE HIGHEST INTERVAL
PROGRAMMED(WHICH MAY BE EXTENDED).
NEGLECT
3000 REM MESSAGE IDENTIFIED WITH 1.0000
3005 REM FEEDBACK
3010 FQ=50:REM***DO***OF AN ABITRARY
MUSICAL SCALE
3020 GOSUB 9980
3030 IPRO=1.0000:I=“DO”
3035 GOSUB 9800
3050 LIST
3499 RETURN
3500 REM MESSAGE IDENTIFIED WITH 1.1250
3505 REM FEEDBACK
3510 FQ=76:REM***RE***OF AN ABITRARY
MUSICAL SCALE
3520 GOSUB 9980
3530 IPRO=1.124:I=“RE”
3540 GOSUB 9800
3550 FLASH:PRINT“GRAPHIC”:NORMAL
3600 GR
3610 COLOR=12
3650 VLIN 0,30 AT 2
3660 VLIN 0,30 AT 12
3670 VLIN 2,12 AT 15
3680 VLIN 0,30 AT 16
3690 VLIN 0,30 AT 26
3700 HLIN 16,26 AT 0
3720 HLIN 16,26 AT 30
3999 RETURN
4000 REM MESSAGE IDENTIFIED WITH 1.2500
4005 REM FEEDBACK
4010 FQ=99:REM***ME***OF AN ABITRARY
MUSICAL SCALE
4020 GOSUB 9980
4040 IPRO=1.2500:I=“ME”
4050 GOSUB 9800
4055 FLASH:PRINT“TEXT”:NORMAL
4100 TEXT
4499 RETURN
4500 REM MESSAGE IDENTIFIED WITH 1.3333
4502 REM FEEDBACK
4505 FQ=109:REM***FA***OF AN ABITRARY
MUSICAL SCALE
4510 GOSUB 9980
4515 IPRO=1.3333:I=“FA”
4520 GOSUB 9800
4600 FLASH
4650 PRINT“FLASH”
4999 RETURN
5000 REM MESSAGE IDENTIFIED WITH 1.5000
5001 REM FEEDBACK
5002 FQ=127:REM***SO***OF AN ABITRARY
MUSICAL SCALE
5004 GOSUB 9980
5010 IPRO=1.5000:I=“SO”
5020 GOSUB 9800
5025 FLASH:PRINT“MUSIC”
5100 NORMAL
5105 TEXT
5120 FOR FQ=230 TO 254
5160 GOSUB 5300
5180 NEXT FQ
5200 RETURN
5300 POKE 768,1
5320 POKE 769,FQ
5340 CALL 770
5350 RETURN
5500 REM MESSAGE IDENTIFIED WITH 1.6667
5501 REM FEEDBACK
5502 FQ=144:REM***LA***OF AN ABITRARY
MUSICAL SCALE
5504 GOSUB 9980
5510 IPRO=1.6667:I=“LA”
5520 GOSUB 9800
5522 PRINT
5523 HTAB 16
5525 FLASH:PRINT“LA”:NORMAL
5550 PRINT CHR(4);“CATALOG”
5999 RETURN
6000 REM MESSAGE IDENTIFIED WITH 1.8750
6005 REM FEEDBACK
6010 FQ=159:REM***TE***OF AN ABITRARY
MUSICAL SCALE
6015 GOSUB 9980
6020 IPRO=1.8750:I=“TE”
6030 GOSUB 9800
6040 PRINT
6050 HTAB 16
6060 FLASH:PRINT“TE”:NORMAL
6499 RETURN
6500 REM MESSAGE IDENTIFIED WITH 2.0000
6505 REM FEEDBACK
6510 FQ=166:REM***DO′***OF AN ABITRARY
MUSICAL SCALE
6515 GOSUB 9980
6520 IPRO=2.0000:I=“DO′”
6530 GOSUB 9800
6540 PRINT
6550 HTAB 16
6560 FLASH:PRINT“DO′”:NORMAL
6570 PRINT CHR(4);“SAVE PROGRAMME”
6580 PRINT CHR(4);“BRUN BEEPING 350 20”
6999 RETURN
9800 PRINT“ERROR=”;(I-IPRO)/IPRO
9810 PRINT
9820 HTAB 2:PRINT“I RECOGNIZED INTERVAL
(DO“;I;”)AND I AM NOW EXECUTING
YOUR MESSAGE”
9822 RETURN
9980 REM DECLARE THE RECOGNIZED INTERVAL
9982,POKE 768,6:POKE 769,50:CALL 700:
REM A SOUND SUBROUTINE TO PRODUCE
A PRESET REFERENCE SOUND
9984 POKE 768,6:POKE 769,FQ:CALL 770:REM
PRODUCE A SECOND SOUND BEARING THE
RECOGNIZED INTERVAL
9986 RETURN
9990 END
图9表明另一子程序,指名为Ⅱ。它可用来代替图6,7和8内的流程表方块Ⅰ。当用了它来代替任何图6,7和8内的方块Ⅰ的时候,它就许可系统处理连贯(Slurred)的输入,即是连贯的波列。这样般的操作有利于一个人类说话者,因为发出连贯的口头声音比较发出孤立的较为不费力。
以下就是用来执行方块Ⅱ的程序的适用列表:
2420 PRINT CHR(7):REM BEEP FOR NEXT WAVE TRAIN 2460 for PS=1 TO 500:NEXT:REM PAUSE
这可被用未替代例如上列图6的流程表用的列表的第2420-2485数行。需要留意图9内的停顿时间(pause)应当足够长久,以避免本波列(图6,7和8的流程表内的)被误作下一接着来的读数,即是被误作为“下一波列”,而且用户并要小心不应太过持久地发出本波列至令它越过那停顿时间。
图10表明又另一可用子程序,指名为Ⅲ。这方块Ⅲ将系统10修改至足以令使用者靠发出一比通常需要的波列要持久些来达到扩阔他的频率范围的效果。那即是说,维持至超过那停顿的时间。当机器探获持久超过某一预定时间长度的波列时,机器就在鉴定讯息之前(即是在解释之前)利用一个系统数将资料修改从而得到一个虚音程(Virtual interval)。
图10之方块Ⅲ内的m项是一系数,它可以是一范围内的任何一特别数值。有两个数值,0.5和2对人类说话者是特别有用。当m等于0.5的时候机器听话者就作高8度移调而当m等于2,就作低8度移调(即是DO-RE,音程1.125,若m等于0.5以及若RE被持续着,那就量出音程2.5或DO-RE′)。当说话者或唱者更进一步维持那波列就会实现重覆移调。这意思就是说话者的频率范围被虚假地扩阔了。并且,言辞般的输入容许使用者在舒服的频率范围内操作而竟然达至大数目的音程,好像他有非常广阔的声音频率范围似的。如此只需要用几个音调就可以发出更大数目的不同“字”(“Word”)讯号。
以下是图10之方块Ⅲ的程序的适用列表:
2420 PRINT CHR(7):REM BEEP FOR NEXT WAVE TRAIN
2464 FOR PS=1 TO 1000:NEXT:REM PAUSE
2466 A=PEEK(49348):REM RESET CIRCUIT AND
TEST FOR SILENCE
2470 FOR PS=1 TO 100:NEXT:REM BRIEF PAUSE
2472 REM“WAVE TRAIN STILL DETECTED?”
2475 L=PEEK(49345):H=PEEK(49346)
2478 IF L=0 AND H=0 THEN GO TO 2495:
REM NO WAVE DETECTED
2480 AVE(W)=AVE(W)/2:REM MULTIPLYING
FACTOR=1/2
2485 GO TO 2420
显然地从以上的描述,本发明指出一新的与电脑通讯用的系统。该系统用的概念是利用音乐的音程为码来通讯,而这就实质地扩大辨认口头命令的数目和使得辨认口头命令更为容易。
该系统可以经济有效地实现和容易学习和有效地使用。它不是某个特定的使用者的,然而它又提供大数目的可被辨认的“字”(intervals)而它又能经济地制造和使用。
虽然经已表示出和描写出本发明该系统的数种实现,但本领域的一般技术人员都会明白可以把系统10,100或在这里说明了的修改加以变化和修改而仍然不离开本发明的教导。故此,本发明保护范围必须只受伴随着的权利要求所限制。