CA1279403C - Computer communication system - Google Patents
Computer communication systemInfo
- Publication number
- CA1279403C CA1279403C CA000517991A CA517991A CA1279403C CA 1279403 C CA1279403 C CA 1279403C CA 000517991 A CA000517991 A CA 000517991A CA 517991 A CA517991 A CA 517991A CA 1279403 C CA1279403 C CA 1279403C
- Authority
- CA
- Canada
- Prior art keywords
- rem
- interval
- tonal
- signal
- period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
A system for communication to a machine in which musical intervals are used as codes to communicate pre-selected commands or inputs to a computer. The system can use human voice sounding notes (DO-RE, etc.) successively to establish the interval and can use electrical circuitry and programs for converting the received notes or tones into pulse trains of the same fundamental period and for storing and calculating the period and interval. When a particular interval is received the apparatus including a digital micro-computer such as the Apple II
A system for communication to a machine in which musical intervals are used as codes to communicate pre-selected commands or inputs to a computer. The system can use human voice sounding notes (DO-RE, etc.) successively to establish the interval and can use electrical circuitry and programs for converting the received notes or tones into pulse trains of the same fundamental period and for storing and calculating the period and interval. When a particular interval is received the apparatus including a digital micro-computer such as the Apple II
Description
COMPUTER COMMUNICATION SYSTEM
BACKGROUND OF THE INVENTION
Field of the Invention The present invention relates to communication to machines and is especially concerned with vocal communi-cation of commands to a computer.
Description of the Prior Art A great deal of interest in and research has been done on vocal communication by humans to computers.
Advantages of, applications for, and common systems for vocal communication with computers were surveyed in an article entitled "Toss Your Keyboards and Just Tell Your Computer What to Do" by A. E. Conrad in the ~anuary 1984 issue of Research & ~ nt, Vol~ 26, No 1, pages 86-~9.
As pointed out in this publication, most work in this field has be~n on speech recognition systems which are speaker-specific or speaker dependent and speaker independ-ent systems. The former is able to recognize only words spoken by an individual while the latter may recognize the same word spoken by a number of individuals. The speaker-specific system can currently recognize (or be ~aught to recogniæe~ a larger number of words than the speaker in-dependent system and consequently can control more functions.
Both systems rely on the creating of "templates" of spoken words and matching the received word to the templates.
A great deal of effort has been expended in`this area and numerous patents and articles exist as evidenced by .
the survey of technical publications found in ~he Des-cription of the Prior Art section of the Marley U.S.
Patent No. 4,284,846~ This prior patent teaches one system for analyzing and comparing words by comparing certain waveform characteristics with pre-stored ratios.
Other patents disclosing speech recognition systems ~ S~k~
`~ are: ~hoe, U.S. Patents No. 4,286,114 and 4,319,221;
B. H. An U.S. Patent No. 4,292,470; Welch, et al U.S.
Patent Nos. 4,319,085 and 4,336,421; Kellett U.S. Patent No. 4,343,969; Piræ U.S. Patent No. 4,349,700; Taniguchi et al U.S. Patent No. 4,389,109; Hitchock U.S. Patent No.
4,388,495; Duifhuis et al U.S. Patent No. 4,384,335; and Rothschild et al U.S. Patent No. 4,399,732.
Such systems are quite complex and expensive or else extremely limited in their abilities. For example, a typical speaker independent system might recognize about 10 words (e.g. the ten digits) while a speaker-specific system can recognize perhaps an order of magnitude higher, of 100 to 200 words.
79~
SUMMARY OF THE INVENTION
The present invention differs from the sys-tems dis-closed in the reference patents clted above by providing a relatively less complex system which takes advantage of the physical fact that the human voice can extend over a much wider range than is normally necessary to be used, or is normally used in speech, to economically achieve a speaker independent system that can recognize a larger number of different vocal commands. A system constructed in accordance with the teachings of the present invention senses and recognizes tonal differences which are treated as coded signals to perform preset defined functions.
The tonal differences are, in accordance with one feature of the present invention, tones in a musical scale such as the common diatonic scale and means are provided for setting the key for each different user by comparing different tones such as the userls subjective middle C
tone and his/her D tone voiced subsequently. The system y s of the present invention e~4y~ and recognizes musical intervals as commands or inputs.
The system lends itself to many applications, includ-ing input into and control of a computer in an environment where it is not practical to use o~her types of input systems.
As in dark rooms (for example, electronic microscope rooms) or where the user must employ his hands in o~her tasks, as in a production process. The system is of great utility to the disabled, especially those who may easily not operate conventional computer terminals.
~2'7~3 The same recognition system of the present invention, together wi-th the advantages thereof, may best be under-stood by reference to the following description taken in connection with the accompanying drawings, in the several figures of which, like reference numerals identify like el~ments.
BRIEF DESCRIPTION OF THE DRAWI~GS
FIG. 1 is a block circuit diagram of a s4und recog-nition system constructed in accordance with the teach-ings of the present invention with waveforms at various points indicated;
FIG. 2 is a circuit diagram of the wave shaping circuit portion of the system shown in FIG. l;
FIG. 3 is a circuit diagram of a period measurement circuit and other portions o~ the system shown in FIG. l;
FIG. 4 is a set of wave forms useful in understanding the operation of the circuit of FIGS. 2 and 3;
FIG. 5 is a flow chart useful in illustrating the overall operation of the system shown in FIGS. 1-3;
FIGS. 6, 7 and 8 are flow ~harts illustrating the operation of alternative embodiments of the system; and FIGS. 9 and 10 are alternative flow chart sub-routines that may be substituted for a portion of each of the flow charts shown in FIGS. 6, 7 or 8.
DESCRIPTION OF TH~ PREFERRED EMBODIMENTS
The princip,es of the present inven-tion are capable of being applied with hardware and/or with software in a variety of manners, several of which, with variations, will be described herein.
A system constructed in accordance with the present invention is shown in FIG. 1 and is generally identified therein by reference numeral 10. The system 10 includes a transducer 12 such as microphone, which serves to pick up sound waves su~h as depicted by waveform 14. Such waves, as in the case of a person singing the note "C", has a basic period "T" for a rate of that pitch~ To simplify the elec-tronics, the electric analog of the received sound waveform 14 is converted to a pulse wave train 16 having a period "T"
by a wave shaping circuit 18.
As an alternative to the transducer 12, an auxiliary electric signal input 20 may be provided. This can be, for example, a telephone input for remote activation, or a tone generator.
The wave train 16 is received by a period measurement circuit 22 which measures and digitizes its period and feeds this information to an input~output interface 24 which inter-faces,with a digital computer 26.
In the overall operation of the system 10, the system 10 receives tonal signals at microphone 12 or input 20 and responds to selected ones of these to operate pre-programmed routines in the compute~.
9~)3 To understand the principles behind the operation of the system 10 of the invention, its application will be des-cribed with reference to the familiar diatonic scale, it be-ing understood that it can be applied to other scales. The modern diatonic scale has intervals that are independent of the frequency of any particular tone ~although once one frequency is set it determines the frequenc~ of the remainder of the tones) and can be expressed ln part by the following table:
ANY ARBITRARY INTERVALS
DIATONIC SCALE
MI' 2.5000 RE' 2.2500 DO' 2.0000 TI 1.8750 LA 1.6667 SO 1.5000 .A 1.3333 MI 1.2500 RE 1.1250 THE
REFERENCE 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 !
Since most humans are familiar with this scale and even children can readily do a DO, RE, ME, ~A, SO, LA, TI, DO (subconsciously choosing a reference frequency and relating it to the other tones by the above intervals~ the present invention determines and reacts to intervals as its means of receiving information.
Thus, with reference to the flow chart of Fig. ~, a start command may be the reception of a detected tonal voice ("RE") at Stage A. This signal is measured to determine if it has a repeating period of sufficient duration (to avoid false activations) at Stage "B". If a reference signal exists (e.g. "DO") and is stored, the two are compared and if an interval of 1.125 is calculated at stage "C" a fetch and execute sub-routine is executed at Stage "D" recalling and executing a pre-recorded sub-routine for the interval 1.125. At the conclusion~the system is reset a~ "E" and ready to receive a second signal (e.g. "FA") and respond to it in the same general manner.
To prevent the system from being speaker-specific, and allow its use by anyone with minimal musical ability, the reference signal is established by the same process. As a start up, the user need only sound "DO" into the microphone 12 for a short period of time and then sound "RE". The system treats the first tonal sound received as establishing the reference signal and the second one and subsequent ones as possible ~ommand signals.
~2'79~3 A preferred embodiment for the wave shaping circuit 18 and its interconnection to the microphone 12 and auxiliary input 20 is shown in Fig. 2. Specific electrical values are given in Fig. 2 for the components employed, but of course many other values can be employed as is well known to those skilled in this art. However, the values and the connections of the circuit elements shown in Fig. 2 worked very well in a prototype.
More specifically, the microphone 12 was connected between chassis ground and a reactive impedance 27 to a circuit point 28. This point 28 was also connected through a resistor 32 to chassis ground and through a capacitor 34 to the auxiliary input 20.
Whichever signal input 12 or 20 receives a signal, that input 12 or 20 feeds it through to a low frequency amplifier 36 formed of an operational amplifier 38 whose negative input (pin 6) is connected to the point 28 and whose positive input (pin 5) is connected to bias voltage (plus 5 volts) through resistor 40 and to chassis ground through the parallel connection of capacitor 42 and resistor 44.
The operational amplifier 38 has its pin 4 connected to a source of positive bias (12 volts) through a current limiting resistor 45 and to chassis ground through a capa-citor 46. Some of the output of the operational amplifier 38 is fed back to its negative input via the parallel con-nection of a resistor 47 and capacitor 48.
The primary output of the amplifier 36 is fed to a low pass Eilter consistinq of a resistor 51, one side of which is connected to the output of the amplifier 36 and the other side of which is connected through a capacitor 52 -to ground and through a resistor 53 to a circuit junction 54. The out-put of the low pass filter 50 is fed to junction 54 and from there to a comparator 55 and to a peak-voltage-follower-with-deeay circuit 56. The signal is fed (a) through a current isolating diode 57 to the primary positive signal input (pin 12) of an operational amplifier 58 of comparator 55 which input is also connected to ground through a resistor 59 and (b) to the 10 peak-voltage-follower-with-decay eircuit 56. The output of the eircuit 56 provides the primary negative signal input to an in-put pin (pin 13) of the comparator 55.
The eircuit 56 is preferably formed by an operational am-plifier 60 whose primary positive input (pin 3) is connected 15 direetly to junction 54 and whose output (pin 1) is fed back directly to its negative input (pin 2) and through an isolating diode 61 to the negative signal input of amplifier 58 with the output also being connected through a resistor 63 and capacitor 64 to ground. The resistor 63 and capacitor 64 in parallel have 20 sueh a discharge time eonstant that at the eomparator 55 the inverting input always has greater effeet than the non-inverting input except for the most significant peak of each eycle of the signal appearing at junction 54.
The output, waveform 16, of the comparator 55 is taken 25 from the junction of a pair of resistors 65 and 66 connected in series from the output (pin 14) of the operational ampli-fier 58 to ground. This output is fed to input, ST, of the period measurement eireuit 22.
~279~
Referring now to ~IG. 3, there is illustrated a pre~e~red em~odiment of the period measurement clrcuit 22 and the input/output in~erface 24 along with interconnect ions of same ~o the computer 26. ~he ~peci~lc computer 26 is preferably APPLE 11 PLUS*, Computer Inc. and the specific interconnections fox that unit are shown.
The p~lse train 16 is coupled through an operational amplifier 70 which serves as a Schmitt Trigger, to a shift register 72 whose outputs (pins 3 ~nd 4) are coupled through an inverter 74 and period measurement gate 75 to a counter 78 which is coupled through buffers 80 to the computer 26.
Outputs from the computer 26, are taken from its ~/W, AO, Al, A2 and DS (device select) outputs as well as from a ~ource of bias (5 v.) and timing pulses and are supplied as shown in FIG. 3. Gates ~1 and 82 serue to deliver the reset command over a line 83.
The functioning of the circuitxy of FIGS. 2-3 and computer 26 is better understood by reference to FIG. 4 which interrelates the waveforms 14, 16 and the inputs at CP ~o the shi~t register 72, the timing pulses from the computer 26 also delivered ~o a period measurement gate 75 as well as the output of the shift register 72 correspond-ing to the start and stop of the measured period 'IT".
In operation, the circuits of FIGS. 2 and 3 first reduce the input slgnal 14 to a pulse train 16 shaped so as to have one pulse per cycle at point ST ~IG. 2 and FIG. 3), the input to the Schmitt Trigger 70. The com-puter 26 resets the shift regi.ster 72 and Counter (ovex ;~ TrQIc J~t r k .
~Z~ 3 line 83 and through an inverter 86) and prepares the cir-cuit for the next period measurement~
Upon arrival of a first rising edge of the shaped wave train 16 at CP of the sh:ift register 72 its output Q0 goes from low to high (voltage levels). The counter 78 starts measuring the current period of the input wave train.
Upon the arrival of a second rising edge of the shaped wave train at input CP of the register 72, its output Ql goes from low to high. The counter 78 stops counting. At the same instant, the input at the most significant digit of the higher byte buffer 90 of the buffers 80 is also set from low to high representing that the period measurement has been completed.
The computer 26 reads the higher byte buffer 90.
If the most significant digit is high it is neglected and the computer 26 values the least significant 7 bits as Q8 to Q14 of a 15 bit binary number. (If the most significant digit is low that means period measurement is unfinished.) The computer 26 also reads the lower byte buffer 92, values the reading as the least signlficant 8 bits of the 15 bit binary number, that is Q0 to Q7. The computer 26 interprets the magnitude of this 15 bit binary number as the magnitude of the period just measured.
The operation of the system 10 can be further app-eciated from the flow chart of FIG. 6. Here, the start sequence A
feeds through a reset measurement circuit ~gates 81-82 and their associated leads) for which it decides at Bl as to ~L279~
whether or not a periodic signal has been received. If not the syste~ cycles back to await such a signal. If yes, it takes a reading at B3, and if the "Jth" (any number, e.g. 30th) re-occurrence of the same p~lse period S T in succession at stage B4 if no, it cycles back to reset measurement circuit. If yes, it computes an average period frcm the J readings.
The ~low chart of FIG. 6 is for single-interval measages. It is for isolated inputs o~ re~erence and signal wave trains wherein there is always a break between successive wave trains. The block I serves to detect these breaks.
If the output of block I~is the fir~t tonal signal detected it is treated as the reference signal and it is stored. If a second or successive signals are identified they are compared with the re~erence and an interval com-put~d. The computed interval is attempted then to be ma~ched, and if a match is found, the associated sub-routine is executed and the program reset.
In practical use a computer terminal could display a menu such as the ~ollowing:
AM AT YOUR SERVICE . ' SING ' YOUR CHOICE
(DO DO) FOR (LIST PROGRAMME IN MEMORY) (DO RE) FOR (DISPLAY PATTERN 'HQ') (DO ME) FOR (TEXT MODE DISPLAY) (DO FA) FOR (FLASH MODE DISPLAY) (DO SO) FOR ~PLAY RUNNIN~ TONES) (DO LA) FOR (ACT:IVATE EXTERNAL DRIVE TO
CATALOG PROGRAMMES ON DISK) ~DO TE) FOR (~ISPLAY 'TE') (DO DO') FOR (ACTXVATE EXTERNAL DRIVE TO
SAVE T~IS PROGRAMME ON DISK, AND EXECUTE ANOTHER PROGRAMME ON
DISK, AND RETURN) And the user need only "~ing" the requested co~nands ~z~
to activate the computer.
A suitable listing for use in the program of FIG. 6 is as follows:
REM INVENTED BY HO KIT-FUN
REM
23 REM FIG. 6 REM
REM ISOLATED INPUTS
REM
REM J,W,K,I,I(K~,N,~,P,I(P),M
$
HN = 128 62 NU = 24: REM SET "J" FOR EACH WAVE TRAIN
64 BY = 256 69 I0 = 0.9688 Il = 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1,5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAr~ME
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
J
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)"
97 PRINT "(DO FA) FOR (FLASH MODE DISPLAY)":
PRINT "(DO SO) FOR (PI.AY RVNNING
TONES)": PRINT "(DO LA) FOR (ACTIVATE
EXTERNAL DRIVE)": HTAB 15: PRINT "TO
CATALOG PROGRAMMES ON": HTA~ 15: PR:tNT
"DISK)": PRINT "(DO TE) FOR ~DISPLAY
'TE')"
~Z79~
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 ~ 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 l'NO WAVE DETECTED"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W - 1 THEN GO TO 100: REM IT WAS
A REFERENCE WAVE
2700 I = AVE (1) / AVE(2): REM INTERVAL
COMPUTED
2800 HOME: PRINT "INTERVAL = "; I
2810 IF I <I0 GOTO 91: REM SMALL~.R THAN THE
LOWEST INTERVAL PROG~MMED (WHICH
MAY BE EXTENDED). START AGAIN
2B20 IF I c 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 INTERV~L
1.5000 lZ79~(33 2920 IF I <16 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
BACKGROUND OF THE INVENTION
Field of the Invention The present invention relates to communication to machines and is especially concerned with vocal communi-cation of commands to a computer.
Description of the Prior Art A great deal of interest in and research has been done on vocal communication by humans to computers.
Advantages of, applications for, and common systems for vocal communication with computers were surveyed in an article entitled "Toss Your Keyboards and Just Tell Your Computer What to Do" by A. E. Conrad in the ~anuary 1984 issue of Research & ~ nt, Vol~ 26, No 1, pages 86-~9.
As pointed out in this publication, most work in this field has be~n on speech recognition systems which are speaker-specific or speaker dependent and speaker independ-ent systems. The former is able to recognize only words spoken by an individual while the latter may recognize the same word spoken by a number of individuals. The speaker-specific system can currently recognize (or be ~aught to recogniæe~ a larger number of words than the speaker in-dependent system and consequently can control more functions.
Both systems rely on the creating of "templates" of spoken words and matching the received word to the templates.
A great deal of effort has been expended in`this area and numerous patents and articles exist as evidenced by .
the survey of technical publications found in ~he Des-cription of the Prior Art section of the Marley U.S.
Patent No. 4,284,846~ This prior patent teaches one system for analyzing and comparing words by comparing certain waveform characteristics with pre-stored ratios.
Other patents disclosing speech recognition systems ~ S~k~
`~ are: ~hoe, U.S. Patents No. 4,286,114 and 4,319,221;
B. H. An U.S. Patent No. 4,292,470; Welch, et al U.S.
Patent Nos. 4,319,085 and 4,336,421; Kellett U.S. Patent No. 4,343,969; Piræ U.S. Patent No. 4,349,700; Taniguchi et al U.S. Patent No. 4,389,109; Hitchock U.S. Patent No.
4,388,495; Duifhuis et al U.S. Patent No. 4,384,335; and Rothschild et al U.S. Patent No. 4,399,732.
Such systems are quite complex and expensive or else extremely limited in their abilities. For example, a typical speaker independent system might recognize about 10 words (e.g. the ten digits) while a speaker-specific system can recognize perhaps an order of magnitude higher, of 100 to 200 words.
79~
SUMMARY OF THE INVENTION
The present invention differs from the sys-tems dis-closed in the reference patents clted above by providing a relatively less complex system which takes advantage of the physical fact that the human voice can extend over a much wider range than is normally necessary to be used, or is normally used in speech, to economically achieve a speaker independent system that can recognize a larger number of different vocal commands. A system constructed in accordance with the teachings of the present invention senses and recognizes tonal differences which are treated as coded signals to perform preset defined functions.
The tonal differences are, in accordance with one feature of the present invention, tones in a musical scale such as the common diatonic scale and means are provided for setting the key for each different user by comparing different tones such as the userls subjective middle C
tone and his/her D tone voiced subsequently. The system y s of the present invention e~4y~ and recognizes musical intervals as commands or inputs.
The system lends itself to many applications, includ-ing input into and control of a computer in an environment where it is not practical to use o~her types of input systems.
As in dark rooms (for example, electronic microscope rooms) or where the user must employ his hands in o~her tasks, as in a production process. The system is of great utility to the disabled, especially those who may easily not operate conventional computer terminals.
~2'7~3 The same recognition system of the present invention, together wi-th the advantages thereof, may best be under-stood by reference to the following description taken in connection with the accompanying drawings, in the several figures of which, like reference numerals identify like el~ments.
BRIEF DESCRIPTION OF THE DRAWI~GS
FIG. 1 is a block circuit diagram of a s4und recog-nition system constructed in accordance with the teach-ings of the present invention with waveforms at various points indicated;
FIG. 2 is a circuit diagram of the wave shaping circuit portion of the system shown in FIG. l;
FIG. 3 is a circuit diagram of a period measurement circuit and other portions o~ the system shown in FIG. l;
FIG. 4 is a set of wave forms useful in understanding the operation of the circuit of FIGS. 2 and 3;
FIG. 5 is a flow chart useful in illustrating the overall operation of the system shown in FIGS. 1-3;
FIGS. 6, 7 and 8 are flow ~harts illustrating the operation of alternative embodiments of the system; and FIGS. 9 and 10 are alternative flow chart sub-routines that may be substituted for a portion of each of the flow charts shown in FIGS. 6, 7 or 8.
DESCRIPTION OF TH~ PREFERRED EMBODIMENTS
The princip,es of the present inven-tion are capable of being applied with hardware and/or with software in a variety of manners, several of which, with variations, will be described herein.
A system constructed in accordance with the present invention is shown in FIG. 1 and is generally identified therein by reference numeral 10. The system 10 includes a transducer 12 such as microphone, which serves to pick up sound waves su~h as depicted by waveform 14. Such waves, as in the case of a person singing the note "C", has a basic period "T" for a rate of that pitch~ To simplify the elec-tronics, the electric analog of the received sound waveform 14 is converted to a pulse wave train 16 having a period "T"
by a wave shaping circuit 18.
As an alternative to the transducer 12, an auxiliary electric signal input 20 may be provided. This can be, for example, a telephone input for remote activation, or a tone generator.
The wave train 16 is received by a period measurement circuit 22 which measures and digitizes its period and feeds this information to an input~output interface 24 which inter-faces,with a digital computer 26.
In the overall operation of the system 10, the system 10 receives tonal signals at microphone 12 or input 20 and responds to selected ones of these to operate pre-programmed routines in the compute~.
9~)3 To understand the principles behind the operation of the system 10 of the invention, its application will be des-cribed with reference to the familiar diatonic scale, it be-ing understood that it can be applied to other scales. The modern diatonic scale has intervals that are independent of the frequency of any particular tone ~although once one frequency is set it determines the frequenc~ of the remainder of the tones) and can be expressed ln part by the following table:
ANY ARBITRARY INTERVALS
DIATONIC SCALE
MI' 2.5000 RE' 2.2500 DO' 2.0000 TI 1.8750 LA 1.6667 SO 1.5000 .A 1.3333 MI 1.2500 RE 1.1250 THE
REFERENCE 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 !
Since most humans are familiar with this scale and even children can readily do a DO, RE, ME, ~A, SO, LA, TI, DO (subconsciously choosing a reference frequency and relating it to the other tones by the above intervals~ the present invention determines and reacts to intervals as its means of receiving information.
Thus, with reference to the flow chart of Fig. ~, a start command may be the reception of a detected tonal voice ("RE") at Stage A. This signal is measured to determine if it has a repeating period of sufficient duration (to avoid false activations) at Stage "B". If a reference signal exists (e.g. "DO") and is stored, the two are compared and if an interval of 1.125 is calculated at stage "C" a fetch and execute sub-routine is executed at Stage "D" recalling and executing a pre-recorded sub-routine for the interval 1.125. At the conclusion~the system is reset a~ "E" and ready to receive a second signal (e.g. "FA") and respond to it in the same general manner.
To prevent the system from being speaker-specific, and allow its use by anyone with minimal musical ability, the reference signal is established by the same process. As a start up, the user need only sound "DO" into the microphone 12 for a short period of time and then sound "RE". The system treats the first tonal sound received as establishing the reference signal and the second one and subsequent ones as possible ~ommand signals.
~2'79~3 A preferred embodiment for the wave shaping circuit 18 and its interconnection to the microphone 12 and auxiliary input 20 is shown in Fig. 2. Specific electrical values are given in Fig. 2 for the components employed, but of course many other values can be employed as is well known to those skilled in this art. However, the values and the connections of the circuit elements shown in Fig. 2 worked very well in a prototype.
More specifically, the microphone 12 was connected between chassis ground and a reactive impedance 27 to a circuit point 28. This point 28 was also connected through a resistor 32 to chassis ground and through a capacitor 34 to the auxiliary input 20.
Whichever signal input 12 or 20 receives a signal, that input 12 or 20 feeds it through to a low frequency amplifier 36 formed of an operational amplifier 38 whose negative input (pin 6) is connected to the point 28 and whose positive input (pin 5) is connected to bias voltage (plus 5 volts) through resistor 40 and to chassis ground through the parallel connection of capacitor 42 and resistor 44.
The operational amplifier 38 has its pin 4 connected to a source of positive bias (12 volts) through a current limiting resistor 45 and to chassis ground through a capa-citor 46. Some of the output of the operational amplifier 38 is fed back to its negative input via the parallel con-nection of a resistor 47 and capacitor 48.
The primary output of the amplifier 36 is fed to a low pass Eilter consistinq of a resistor 51, one side of which is connected to the output of the amplifier 36 and the other side of which is connected through a capacitor 52 -to ground and through a resistor 53 to a circuit junction 54. The out-put of the low pass filter 50 is fed to junction 54 and from there to a comparator 55 and to a peak-voltage-follower-with-deeay circuit 56. The signal is fed (a) through a current isolating diode 57 to the primary positive signal input (pin 12) of an operational amplifier 58 of comparator 55 which input is also connected to ground through a resistor 59 and (b) to the 10 peak-voltage-follower-with-decay eircuit 56. The output of the eircuit 56 provides the primary negative signal input to an in-put pin (pin 13) of the comparator 55.
The eircuit 56 is preferably formed by an operational am-plifier 60 whose primary positive input (pin 3) is connected 15 direetly to junction 54 and whose output (pin 1) is fed back directly to its negative input (pin 2) and through an isolating diode 61 to the negative signal input of amplifier 58 with the output also being connected through a resistor 63 and capacitor 64 to ground. The resistor 63 and capacitor 64 in parallel have 20 sueh a discharge time eonstant that at the eomparator 55 the inverting input always has greater effeet than the non-inverting input except for the most significant peak of each eycle of the signal appearing at junction 54.
The output, waveform 16, of the comparator 55 is taken 25 from the junction of a pair of resistors 65 and 66 connected in series from the output (pin 14) of the operational ampli-fier 58 to ground. This output is fed to input, ST, of the period measurement eireuit 22.
~279~
Referring now to ~IG. 3, there is illustrated a pre~e~red em~odiment of the period measurement clrcuit 22 and the input/output in~erface 24 along with interconnect ions of same ~o the computer 26. ~he ~peci~lc computer 26 is preferably APPLE 11 PLUS*, Computer Inc. and the specific interconnections fox that unit are shown.
The p~lse train 16 is coupled through an operational amplifier 70 which serves as a Schmitt Trigger, to a shift register 72 whose outputs (pins 3 ~nd 4) are coupled through an inverter 74 and period measurement gate 75 to a counter 78 which is coupled through buffers 80 to the computer 26.
Outputs from the computer 26, are taken from its ~/W, AO, Al, A2 and DS (device select) outputs as well as from a ~ource of bias (5 v.) and timing pulses and are supplied as shown in FIG. 3. Gates ~1 and 82 serue to deliver the reset command over a line 83.
The functioning of the circuitxy of FIGS. 2-3 and computer 26 is better understood by reference to FIG. 4 which interrelates the waveforms 14, 16 and the inputs at CP ~o the shi~t register 72, the timing pulses from the computer 26 also delivered ~o a period measurement gate 75 as well as the output of the shift register 72 correspond-ing to the start and stop of the measured period 'IT".
In operation, the circuits of FIGS. 2 and 3 first reduce the input slgnal 14 to a pulse train 16 shaped so as to have one pulse per cycle at point ST ~IG. 2 and FIG. 3), the input to the Schmitt Trigger 70. The com-puter 26 resets the shift regi.ster 72 and Counter (ovex ;~ TrQIc J~t r k .
~Z~ 3 line 83 and through an inverter 86) and prepares the cir-cuit for the next period measurement~
Upon arrival of a first rising edge of the shaped wave train 16 at CP of the sh:ift register 72 its output Q0 goes from low to high (voltage levels). The counter 78 starts measuring the current period of the input wave train.
Upon the arrival of a second rising edge of the shaped wave train at input CP of the register 72, its output Ql goes from low to high. The counter 78 stops counting. At the same instant, the input at the most significant digit of the higher byte buffer 90 of the buffers 80 is also set from low to high representing that the period measurement has been completed.
The computer 26 reads the higher byte buffer 90.
If the most significant digit is high it is neglected and the computer 26 values the least significant 7 bits as Q8 to Q14 of a 15 bit binary number. (If the most significant digit is low that means period measurement is unfinished.) The computer 26 also reads the lower byte buffer 92, values the reading as the least signlficant 8 bits of the 15 bit binary number, that is Q0 to Q7. The computer 26 interprets the magnitude of this 15 bit binary number as the magnitude of the period just measured.
The operation of the system 10 can be further app-eciated from the flow chart of FIG. 6. Here, the start sequence A
feeds through a reset measurement circuit ~gates 81-82 and their associated leads) for which it decides at Bl as to ~L279~
whether or not a periodic signal has been received. If not the syste~ cycles back to await such a signal. If yes, it takes a reading at B3, and if the "Jth" (any number, e.g. 30th) re-occurrence of the same p~lse period S T in succession at stage B4 if no, it cycles back to reset measurement circuit. If yes, it computes an average period frcm the J readings.
The ~low chart of FIG. 6 is for single-interval measages. It is for isolated inputs o~ re~erence and signal wave trains wherein there is always a break between successive wave trains. The block I serves to detect these breaks.
If the output of block I~is the fir~t tonal signal detected it is treated as the reference signal and it is stored. If a second or successive signals are identified they are compared with the re~erence and an interval com-put~d. The computed interval is attempted then to be ma~ched, and if a match is found, the associated sub-routine is executed and the program reset.
In practical use a computer terminal could display a menu such as the ~ollowing:
AM AT YOUR SERVICE . ' SING ' YOUR CHOICE
(DO DO) FOR (LIST PROGRAMME IN MEMORY) (DO RE) FOR (DISPLAY PATTERN 'HQ') (DO ME) FOR (TEXT MODE DISPLAY) (DO FA) FOR (FLASH MODE DISPLAY) (DO SO) FOR ~PLAY RUNNIN~ TONES) (DO LA) FOR (ACT:IVATE EXTERNAL DRIVE TO
CATALOG PROGRAMMES ON DISK) ~DO TE) FOR (~ISPLAY 'TE') (DO DO') FOR (ACTXVATE EXTERNAL DRIVE TO
SAVE T~IS PROGRAMME ON DISK, AND EXECUTE ANOTHER PROGRAMME ON
DISK, AND RETURN) And the user need only "~ing" the requested co~nands ~z~
to activate the computer.
A suitable listing for use in the program of FIG. 6 is as follows:
REM INVENTED BY HO KIT-FUN
REM
23 REM FIG. 6 REM
REM ISOLATED INPUTS
REM
REM J,W,K,I,I(K~,N,~,P,I(P),M
$
HN = 128 62 NU = 24: REM SET "J" FOR EACH WAVE TRAIN
64 BY = 256 69 I0 = 0.9688 Il = 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1,5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAr~ME
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
J
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)"
97 PRINT "(DO FA) FOR (FLASH MODE DISPLAY)":
PRINT "(DO SO) FOR (PI.AY RVNNING
TONES)": PRINT "(DO LA) FOR (ACTIVATE
EXTERNAL DRIVE)": HTAB 15: PRINT "TO
CATALOG PROGRAMMES ON": HTA~ 15: PR:tNT
"DISK)": PRINT "(DO TE) FOR ~DISPLAY
'TE')"
~Z79~
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 ~ 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 l'NO WAVE DETECTED"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W - 1 THEN GO TO 100: REM IT WAS
A REFERENCE WAVE
2700 I = AVE (1) / AVE(2): REM INTERVAL
COMPUTED
2800 HOME: PRINT "INTERVAL = "; I
2810 IF I <I0 GOTO 91: REM SMALL~.R THAN THE
LOWEST INTERVAL PROG~MMED (WHICH
MAY BE EXTENDED). START AGAIN
2B20 IF I c 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 INTERV~L
1.5000 lZ79~(33 2920 IF I <16 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 ~IIGHEST
INTERVAL PROGRAMMED (WHICH MAY BE
EXTENDED). START AGAIN
3000 REM MESSAGE IDENTIFIED WITH 1.0000 3010 FQ = 50: REM *** DO *** OF AN
ABITRARY MUSICAL SCALE
3030 IPRO = 1.0000:I$ = "DO"
3500 REM MESSAGE IDENTIFIED WITH 1.1250 3510 FQ = 76: REM *** RE *** OF AN ABITRARY
MUSICAL SCALE
3530 IPRO = 1.125:I$ = "RE"
3550 FLASH: PRINT "GRAPHIC": NORMAL
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 3~00 HLIN 16,26 AT O
3720 HLIN 16,26 AT 30 4000 REM MESSAGE IDENTIFIED WITH 1~2500 4010 FQ = 99: ~EM *** ME *** OF AN ABITRARY
MUSICAL SCALE
4040 IPRO = 1.2500:I$ = "ME"
4055 FLASH : PRINT "TEXT": NORMAL
4500 REM MESSAGE IDENTIFIED WITH 1.3333 4505 FQ = 109: REM *** FA *** OF AN ABITRARY
MUSICAL SCALE
4515 IPRO = 1.3333:I$ = "FA"
4650 PRINT "FLASH"
5000 REM MESSAGE IDENTIFIED WITH 1.5000 5002 FQ = 127: REM *** SO *** OF AN
ABITRARY MUSICAL SCALE
5010 IPRO = 1.5000:I$ = "SO"
5025 FLASH: PRINT "MUSIC": NORMAL
5120 FOR FQ = 230 TO 254 5300 POKE 768,1 5320 POKE 769,FQ
5500 REM MESSAGE IDENTIFIED WITH 1.6667 5502 FQ = 144: REM *** LA *** OF AN
ABITR~RY MUSICAL SCALE
5510 IPRO = 1.6667:I$ = "LA"
5525 FLASH: PRINT "LA": NORMAL
5550 PRINT CHR$ (4); "CATALOG"
6000 REM MESSAGE IDENTIFIED WITH 1.8750 6010 FQ - 159: REM *** TE *** OF AN
ABITRARY MUSICAL SCALE
6020 IPRO - 1.8750:I$ = "TE"
6060 FLASH: PRINT "TE": NORMAL
6500 REM MESSAGE IDENTIFIED WITH 2.0000 6510 FQ = 166: REM *** DO' *** OF AN
ABITRARY MUSICAL SCALE
6520 IPRO = 2.0000:I$ = "DO"' 6560 FLAS~I: PRINT "DO "': NORM~L
~18-6570 PRINT CHR$ (4); "SAVE PROGRAMME"
6580 PRINT CHR$ (4); "BRUN BEEPING 350 20"
6999 GO TO g3 9800 PRINT "ERROR = "; (I - IPRO) / IPRO
9820 HTAB 2: PRINT "I RECOGNIZED INTERVAL
(DO ";I$;") AND I AM NOW EXECUTING
YOUR MESSAGE"
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
In particular, system 10 will operate with a new refer-ence for each command if line 93 of the above listings is modified as follows:
93 W = 0 Such operation permits the same or a different speaker to freely change his or her reference from command to command.
Referring now to FIG. 7 there is illustrated therein an alternative flow chart for the system of the present invention and is designated by reference numeral 100. This chart depicts the program for N-interval messages. That is, it is for a multi-tonal coding. E. g. where DO-RE-ME and DO-RE-FA are different signals~
A suitable listing for carrying out this program is as follows:
REM INVEMTED BY HO, KIT-FUN
REM
REM N-INTERVAL
22 N = 2 i ~2~
23 REM FIG. 7 REM
REM ISOLATED INPUTS
REM
REM
REM J,W,K,I,I(K),N,X,I(P),M$
HN = 128 62 NU = 24: REM SET "J" FOR EACH WAVE TRAIN
64 BY = 256 69 I0 = 0.9688: REM LOWEST FOR THIS PROGRA~ME.
MAY BE EXTENDED
Il - 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1.5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 80 M$ = "RECOGNIZED AND EXECUTING (MESSAGE)"
85 REM HERE COMPUTER l~AY BE PROGRAMr~D TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAr~ME
DIM T(50), H(50), L(50) 92 DIM K(100) J = l:W = 0:K = 0: REM RESET PROGRAMME
96 FOR PS = 1 TO 2500: NEXT: HOr~: PRINT
"I AM AT YOUR SERVICE. 'SING' YOUR 2-INTERVAL MESSAGE"
97 PRINT: PRINT ''EXAMPLEI
98 PRINT "(DO RE SO) FOR (MESSAGE 25)":
PRINT "(DO FA DO) FOR (MESSAGE 41)"
99 A = PEEK (49348): REM RESET MEASVRING 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(ll) + T(12) + T(13) 4 T(14) ~- T(15) 4 T(16) + T(17) ~ T(18) + T(l9) 4 T(20) 4 T(21) + T(22) ~ T(23) + T(24)): REM AVERAGF PERIOD
~79~3 2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAV 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"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W - 1 TMEN GO TO 100: REM IT WAS A
REFERENCE WAVE
2550 K = K ~ 1: REM "K"TH SIGNAL (NOTE THAT
` 15 K=W-l) 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
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 ~ Il 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 35 2900 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 < Il 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 ~EM 'PROGRAMMED MESSAGE HERE' 21200 PRINT M$; "12)"
21210 REM 'PROGRAMMED MESSAGE HERE' 21300 PRINT M$; "13)"
21310 REM 'PROGRAMMED MESSAGE HERE' ~7~
21400 PRINT M$; "14)"
21410 REM 'PROGRAMMED MESSAGE HERE' 21500 PRINT M$; "15)"
21510 REM 'PROGRAMMED MESSAGE HERE' 22000 I -- I ( 2): RBM SECOND INTERVAL
22005 IF I I0 GO TO 95: REM TOO LOW FOR THIS
PROGRAMME. START AGAIN
22010 IF I Il 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 (~O TO 22500: REM INTERVAL 1.5000 22090 GO TO 95: REM OUT OF PROGRAMMED RANGE.
START AGAIN
22100 PRINT M$; 1'21)"
22110 REM 'PROGRAM~lED MESSAGE HERE' 22200 PRINT M$; "22) "
22210 REM 'PROGRAMMED MESSAGE HERE' 22300 PRINT M$; "23) "
22310 REM 'PROGRAMMED MESSAGE HERE' 22400 PRINT M$; "24) "
22410 REM 'PROGRAMMED MESSAGE HERE' 22500 PRINT M$; "25) "
22510 REM 'PROGRAMMED MESSAGE HERE' 23000 I = I t2): REM SECOND INTERVAL
23005 IF I I0`GO TO 95: RF.M TOO LOW FOR THIS
PROGRA~E. START AGAIN
23U10 IF I <Il 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 ::NTERVAL 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 GQ TO 95: REM OUT OF PROGRAMMED RANGE.
START AGAIN
:!3100 PRINT M$; "31)"
23110 REM 'PROGRAMMED MESSAGE HERE' 23200 PRINT M$; "32)"
23210 REM 'PROGRAMMED MESSAGE HERE' 23300 PRINT M$; " 33) "
23310 REM 'PROGRAMMED MESSAGE HERE' 23400 PRINT M$; "34) " I
23410 REM 'PRO(GRAMMED MESSAGE HERE' 23500 PRINT M$ "35) "
23510 REM 'PROGRAMMED MESSAGE HERE' 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 < Il 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 2404Q 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' 24200 PRINT M$; "42)"
24210 REM 'PROGRAMMED MESSAGE HERE' 24300 PRINT M$; "43)"
24310 REM 'PROGRAMMED MESSAGE HERE' 24400 PRINT M$; "44)"
24410 REM 'PROGRAMMED MESSAGE HERE' 24500 PRINT M$; "45)"
24510 REM 'PROGRAMMED MESSAGE HERE' 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 < Il 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 ~ IS 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' 25200 PRINT M$, "52)"
25210 REM 'PROGRAMMED MESSAGE HERE' 25300 PRINT M$; "53)"
25310 REM 'PROGRAMMED MESSAGE H$RE' 25400 PRINT M$; "54)"
25410 REM 'PROGRAMMED MESSAGE HERE' 25500 PRINT M$; "55)"
25510 REM 'PROGRAMMED MESSAGE HERE' A further alternative flow chart for an oral program is shown in FIG. 8. By inputing a sequence of sounds the speaker effectively defines an oral program (e.g. a process) ~23-consisting of a desired se~uence of vocal command~ for subsequent execution.
A suitable listing for carrying out this program in accordance with the flow chart of FIG. 8 is set forth below:
REM INVENTED BY HO FIT-FUN
REM
REM l-INTERVAL
23 REM FIG. 8 REM PROGRAMMING USING VOCAL COMMANDS
REM ISOLATED INPUTS
34 REM 'ONE REFERENCE FOR EACH ORAL PROGRAMME' REM
REM J,W,K,I,I(K),N,X,I(P),M$
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
Il = 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1.5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAMME
DIM T(50), H(50), L(50) 92 DIM K(100) 95 J - l:W = 0:K = 0: REM RESET PROGRAMME
96 FOR PS = 1 TO 2500: NEXT: HOME~ PRINT
"I AM AT YOUR SERVICE. 'SING' YOUR
CHOICE": PRINT: PRINT "(D~ DO) FOR (LIST PROGR~MME IN MEM9RY)":
PRINT "(DO RE) FOR (DISPLAY PA~TERN
'HO'~":PRINT "(DO ~lE) FOR (TE~T MODE
DISPLAY)"
~2~3 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')"
~8 PRINT "(DO DO') FOR (ACTIVATE EXTERNAL
DRIVE": HTAB 15: PRINT "TO SAVE TMIS
PROG~AM~": HTAB 15: PRINT "ON DISK, AND EXECUTE": HTAB 15: PRINT '7ANOTHER
PROGRAMME ON": HTAB 15: PRINT "DISK, AND RETURN)": REM MESSAGE FROM MACHINE
9gA = PEEK (49348): REM RESET MEASURING CIRCUIT
100 H(J) = PEEK (49346): REM HIGH BYTE
' 140 IF H(~) < HN THEN GO TO 85 REM PERIOD
MEASUREMENT UNFINISHED
160 L(J) = PEEK (4g345): 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(~) = (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 T(9) + T(10) + T(ll) + T(12) -~ T(13) + T(14) + T(15) + T(16) + T(17) ~ T(18) ~ T(l9) + T(20) + Tt21) ~ 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
: 35 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 ~O TO 2495:
REM "NO WAVE DETECTED"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W = 1 THEN GO TO 100: REM IT WAS A
REFERENCE WAVE
2550 K = K ~ 1: REM "K"TH SIGNAL (NOTE THAT
K=W-l) 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 tW): 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
2780 FOR P = 1 TO K = 1: I - I(P): GOSUB 2790- NEXT
PROCESS' 2800 IF I < I0 GO TO 95: REM TOO LOW FOR THE
PROGRAMMED RANGE HERE. START AGAIN
2820 IF I < Il GO TO 3000: REM INT~RVAL 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 3010 FQ = 50: REM *** DO *** OF A~ ABITRARY
MUSICAL SCALE
3030 IPRO = 1~0000:I$ - "DO"
3500 REM MESSAGE IDENTIFIED WITH 1.1250 3510 FQ = 76: REM *** RE *** OE AN ABITR~RY
MUSICAL SCALE
3530 IPRO = 1.124:I$ = "RE"
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 4000 REM MESSAGE IDENTIFIED WITII 1.2500 4010 FQ= 99: REM *** ME *** OF ~N ABITRARY
MUSIC~L SCALE
4040 IPRO = 1.2500:I$ = "ME"
4055 FLASH: PRINT "TEXT": NORMAL
4500 REM MESSAGE IDENTIFIED WITH 1.3333 4505 FQ = 109: REM *** FA *** OF AN ABITRARY
MUSICAL SCALE
4515 IPRO = 1.3333:I$ = "FA"
4650 PRI NT " FLASH"
4999 RETU~N
5000 ~EM MESSAGE IDENTIFIED WITH 1.5000 5002 FQ = 127: REM *** SO *** OF AN ABITRARY
MUSICAL SCALE
5010 IPRO = 1.5000:I$ = "SO"
5025 FLASH: PRINT "MUSIC"
5120 FOR FQ = 230 TO 254 5300 POKE 768,1 5320 POKE 769,FQ
5500 REM MESSAGE IDENTIFIED WITH 1.6667 : 5502 FQ = 144: REM *** LA *** OF AN ABITRARY
MUSICAL SCALE
5510 IPRO = 1.6667:I$ = "LA"
: 5522 PRINT
5525 FLASH: PRINT "LA": NORMAL
5550 PRINT CHR$ (4); "CATALOG"
60Q0 REM MESSAGE IDENTIFIED WITH 1.8750 6010 FQ = 159: REM *** TE *** OF AN ABITRARY
MUSICAL SCALE
6020 IPRO = 1.8750:I$ = "TE"
6060 FLASH: PRINT "TE": NORMAL
6500 REM MESSAGE IDENTIFIED WITH 2.0000 6505 ~EM FEEDBACK
6510 FQ = 166: REM **** DO' *** OF AN ABITRARY
MUSICAL SCALE
6520 IPRO = 2.0000:I$ = "DO "' . 6550 HTAB 16 6560 FLASH:PRINT "DO"': NORMAL
6570 PRINT CHR$ (.4); "SAVE PROGRAMME"
6580 PRINT CHR$ (4), "BRUN BEEPING 350 20"
6999 ~ETURN
9800 PRINT "ERROR = ";(I - IPRO) / IPRO
9820 HTAB 2: PRINT "I RECOGNIZED INTERVAL
(DO ";I$;") AND I AM NOW EXECUTING
YOUR MESSAGE"
9980 REM DECLARE THE RECOGN.IZED INTERVAL
9982 POKE 768,6: POKE 769,50~ CALL 700:
REM A SOUND SUBROUTINE TO PRODUCE
A PRESET REFERENCE SOUND
9984 POICE 768,6: POKE 769,FQ CALL 770: REM
PRODUCE A SECOND SOUND BEARING THE
RECOGNIZED INTERVAL
FIG, 9 illustrates an alternative subroute, labeled II, which can be substituted for the flow diagram block labeled I in FIGSo 6, 7 and 8 and which allows the system to handle slurred inputs, i.e. slurred wave trains, when substituted for any of the blocks I in FIGS. 6, 7 and 8.
Such operation is advantageous to a human speaker as less effort is required in producing slurred vocal sounds than isolated ones.
A suitablc listing for implementing the program of block II is:
I
2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAVE TRAIN
2460 for PS = 1 TO 500: NEXT: REM PAUSE
This may he used, e.g. in place oE lines 2420-2485 of the program listlng for the flow chart of FIG. 6 listed above. It should be noted that the pause of FIG~ 9 should be long enough to prevent the current wave train (of the flow charts of FIGS. 6, 7 and 8) being mistaken for a followon reading, i.e. mistaken for a "next wave train" and the user should take care not to continue to produce such a wave train for longer than the pause.
~IG. lO illustrates another alternative subroute labeled III. The flow diagram block labeled III, modifies the system 10 to allow the user to in effect extend his or her frequency range by producing and holding a wave train output for longer than normally required. That is, for longer than the pause period. When the machine detects a wave train lasting longer than a pre-determined duration it modifies the data by a scaling factor to get a virtual interval before message identification (i.e. before interpretation).
The term m in block III of FIG. 10, is a scaling factor which may take any particular value in a range.
Two particular values, 0.5 and 2 are especially useful for the human speaker. When m = O.5, the machine listener per-forms upper octave transposition and when m = 2, lower octave transposition. (I.e. DO-RE, interval 1.125, if m = 0.5 and iE
the RE is held, measures interval 2.5 or DO-RE'). Repeated transpositions are realized when the speaker or singer further maintains the wave train. Th:is means that the frequency range of the speaker is virtually extended. Also, verbal inputs permit the user to operate within a comfortable frequency range and yet a~hieve a large number of intervals as if he or she had a much wider voice frequency range. Thus a greater number of different "word" si~nals may be given using only a few notes.
A suitable listing for the pro~ram in block III of FIG. 10 is as follows:
2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAVE TRAIN
2464 FOR PS = l TO 1000: NEXT: REM PAUSE
2465 A = PEEK (49348): REM RESET CIRCUIT AND
~EST FOR SILENCE
2470 FOR PS = l 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 - l/2 From the Eoregoing description it will be apparent that the present invention teaches a novel system for communication ~0 with a computer. The system uses the concept of communi-cation by a musical interval code and this substantially extends the number and ease of recognition of oral commands.
The system is economical and efficient to implement and easily learned and effectively used. It is not user specific and yet provides for a large number of "words"
(intervals) to be recognized while being economical to construct and use.
While several embodiments of the system of the present invention have been shown and described, it will be under-stood by those skilled in the art that changes and modifi-cations may be made to the system 10, 100 or modifications khereto described herein without departing from the teachinss of the present invention. Accordingly, the scope of the present invention is only to be limited as necessitated by the accompanying claims.
INTERVAL PROGRAMMED (WHICH MAY BE
EXTENDED). START AGAIN
3000 REM MESSAGE IDENTIFIED WITH 1.0000 3010 FQ = 50: REM *** DO *** OF AN
ABITRARY MUSICAL SCALE
3030 IPRO = 1.0000:I$ = "DO"
3500 REM MESSAGE IDENTIFIED WITH 1.1250 3510 FQ = 76: REM *** RE *** OF AN ABITRARY
MUSICAL SCALE
3530 IPRO = 1.125:I$ = "RE"
3550 FLASH: PRINT "GRAPHIC": NORMAL
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 3~00 HLIN 16,26 AT O
3720 HLIN 16,26 AT 30 4000 REM MESSAGE IDENTIFIED WITH 1~2500 4010 FQ = 99: ~EM *** ME *** OF AN ABITRARY
MUSICAL SCALE
4040 IPRO = 1.2500:I$ = "ME"
4055 FLASH : PRINT "TEXT": NORMAL
4500 REM MESSAGE IDENTIFIED WITH 1.3333 4505 FQ = 109: REM *** FA *** OF AN ABITRARY
MUSICAL SCALE
4515 IPRO = 1.3333:I$ = "FA"
4650 PRINT "FLASH"
5000 REM MESSAGE IDENTIFIED WITH 1.5000 5002 FQ = 127: REM *** SO *** OF AN
ABITRARY MUSICAL SCALE
5010 IPRO = 1.5000:I$ = "SO"
5025 FLASH: PRINT "MUSIC": NORMAL
5120 FOR FQ = 230 TO 254 5300 POKE 768,1 5320 POKE 769,FQ
5500 REM MESSAGE IDENTIFIED WITH 1.6667 5502 FQ = 144: REM *** LA *** OF AN
ABITR~RY MUSICAL SCALE
5510 IPRO = 1.6667:I$ = "LA"
5525 FLASH: PRINT "LA": NORMAL
5550 PRINT CHR$ (4); "CATALOG"
6000 REM MESSAGE IDENTIFIED WITH 1.8750 6010 FQ - 159: REM *** TE *** OF AN
ABITRARY MUSICAL SCALE
6020 IPRO - 1.8750:I$ = "TE"
6060 FLASH: PRINT "TE": NORMAL
6500 REM MESSAGE IDENTIFIED WITH 2.0000 6510 FQ = 166: REM *** DO' *** OF AN
ABITRARY MUSICAL SCALE
6520 IPRO = 2.0000:I$ = "DO"' 6560 FLAS~I: PRINT "DO "': NORM~L
~18-6570 PRINT CHR$ (4); "SAVE PROGRAMME"
6580 PRINT CHR$ (4); "BRUN BEEPING 350 20"
6999 GO TO g3 9800 PRINT "ERROR = "; (I - IPRO) / IPRO
9820 HTAB 2: PRINT "I RECOGNIZED INTERVAL
(DO ";I$;") AND I AM NOW EXECUTING
YOUR MESSAGE"
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
In particular, system 10 will operate with a new refer-ence for each command if line 93 of the above listings is modified as follows:
93 W = 0 Such operation permits the same or a different speaker to freely change his or her reference from command to command.
Referring now to FIG. 7 there is illustrated therein an alternative flow chart for the system of the present invention and is designated by reference numeral 100. This chart depicts the program for N-interval messages. That is, it is for a multi-tonal coding. E. g. where DO-RE-ME and DO-RE-FA are different signals~
A suitable listing for carrying out this program is as follows:
REM INVEMTED BY HO, KIT-FUN
REM
REM N-INTERVAL
22 N = 2 i ~2~
23 REM FIG. 7 REM
REM ISOLATED INPUTS
REM
REM
REM J,W,K,I,I(K),N,X,I(P),M$
HN = 128 62 NU = 24: REM SET "J" FOR EACH WAVE TRAIN
64 BY = 256 69 I0 = 0.9688: REM LOWEST FOR THIS PROGRA~ME.
MAY BE EXTENDED
Il - 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1.5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 80 M$ = "RECOGNIZED AND EXECUTING (MESSAGE)"
85 REM HERE COMPUTER l~AY BE PROGRAMr~D TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAr~ME
DIM T(50), H(50), L(50) 92 DIM K(100) J = l:W = 0:K = 0: REM RESET PROGRAMME
96 FOR PS = 1 TO 2500: NEXT: HOr~: PRINT
"I AM AT YOUR SERVICE. 'SING' YOUR 2-INTERVAL MESSAGE"
97 PRINT: PRINT ''EXAMPLEI
98 PRINT "(DO RE SO) FOR (MESSAGE 25)":
PRINT "(DO FA DO) FOR (MESSAGE 41)"
99 A = PEEK (49348): REM RESET MEASVRING 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(ll) + T(12) + T(13) 4 T(14) ~- T(15) 4 T(16) + T(17) ~ T(18) + T(l9) 4 T(20) 4 T(21) + T(22) ~ T(23) + T(24)): REM AVERAGF PERIOD
~79~3 2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAV 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"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W - 1 TMEN GO TO 100: REM IT WAS A
REFERENCE WAVE
2550 K = K ~ 1: REM "K"TH SIGNAL (NOTE THAT
` 15 K=W-l) 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
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 ~ Il 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 35 2900 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 < Il 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 ~EM 'PROGRAMMED MESSAGE HERE' 21200 PRINT M$; "12)"
21210 REM 'PROGRAMMED MESSAGE HERE' 21300 PRINT M$; "13)"
21310 REM 'PROGRAMMED MESSAGE HERE' ~7~
21400 PRINT M$; "14)"
21410 REM 'PROGRAMMED MESSAGE HERE' 21500 PRINT M$; "15)"
21510 REM 'PROGRAMMED MESSAGE HERE' 22000 I -- I ( 2): RBM SECOND INTERVAL
22005 IF I I0 GO TO 95: REM TOO LOW FOR THIS
PROGRAMME. START AGAIN
22010 IF I Il 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 (~O TO 22500: REM INTERVAL 1.5000 22090 GO TO 95: REM OUT OF PROGRAMMED RANGE.
START AGAIN
22100 PRINT M$; 1'21)"
22110 REM 'PROGRAM~lED MESSAGE HERE' 22200 PRINT M$; "22) "
22210 REM 'PROGRAMMED MESSAGE HERE' 22300 PRINT M$; "23) "
22310 REM 'PROGRAMMED MESSAGE HERE' 22400 PRINT M$; "24) "
22410 REM 'PROGRAMMED MESSAGE HERE' 22500 PRINT M$; "25) "
22510 REM 'PROGRAMMED MESSAGE HERE' 23000 I = I t2): REM SECOND INTERVAL
23005 IF I I0`GO TO 95: RF.M TOO LOW FOR THIS
PROGRA~E. START AGAIN
23U10 IF I <Il 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 ::NTERVAL 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 GQ TO 95: REM OUT OF PROGRAMMED RANGE.
START AGAIN
:!3100 PRINT M$; "31)"
23110 REM 'PROGRAMMED MESSAGE HERE' 23200 PRINT M$; "32)"
23210 REM 'PROGRAMMED MESSAGE HERE' 23300 PRINT M$; " 33) "
23310 REM 'PROGRAMMED MESSAGE HERE' 23400 PRINT M$; "34) " I
23410 REM 'PRO(GRAMMED MESSAGE HERE' 23500 PRINT M$ "35) "
23510 REM 'PROGRAMMED MESSAGE HERE' 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 < Il 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 2404Q 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' 24200 PRINT M$; "42)"
24210 REM 'PROGRAMMED MESSAGE HERE' 24300 PRINT M$; "43)"
24310 REM 'PROGRAMMED MESSAGE HERE' 24400 PRINT M$; "44)"
24410 REM 'PROGRAMMED MESSAGE HERE' 24500 PRINT M$; "45)"
24510 REM 'PROGRAMMED MESSAGE HERE' 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 < Il 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 ~ IS 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' 25200 PRINT M$, "52)"
25210 REM 'PROGRAMMED MESSAGE HERE' 25300 PRINT M$; "53)"
25310 REM 'PROGRAMMED MESSAGE H$RE' 25400 PRINT M$; "54)"
25410 REM 'PROGRAMMED MESSAGE HERE' 25500 PRINT M$; "55)"
25510 REM 'PROGRAMMED MESSAGE HERE' A further alternative flow chart for an oral program is shown in FIG. 8. By inputing a sequence of sounds the speaker effectively defines an oral program (e.g. a process) ~23-consisting of a desired se~uence of vocal command~ for subsequent execution.
A suitable listing for carrying out this program in accordance with the flow chart of FIG. 8 is set forth below:
REM INVENTED BY HO FIT-FUN
REM
REM l-INTERVAL
23 REM FIG. 8 REM PROGRAMMING USING VOCAL COMMANDS
REM ISOLATED INPUTS
34 REM 'ONE REFERENCE FOR EACH ORAL PROGRAMME' REM
REM J,W,K,I,I(K),N,X,I(P),M$
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
Il = 1.0625: REM A BOUNDARY BETWEEN TWO
ADJACENT MUSICAL INTERVALS
71 I2 = 1.1875 73 I3 = 1.2975 74 I4 = 1.4167 I5 = 1.5833 76 I6 = 1.7708 77 I7 = 1.9444 78 I8 = 2.1250 REM HERE COMPUTER MAY BE PROGRAMMED TO
BRIEFLY PERFORM OTHER OPERATIONS
"UNRELATED" TO THIS PROGRAMME
DIM T(50), H(50), L(50) 92 DIM K(100) 95 J - l:W = 0:K = 0: REM RESET PROGRAMME
96 FOR PS = 1 TO 2500: NEXT: HOME~ PRINT
"I AM AT YOUR SERVICE. 'SING' YOUR
CHOICE": PRINT: PRINT "(D~ DO) FOR (LIST PROGR~MME IN MEM9RY)":
PRINT "(DO RE) FOR (DISPLAY PA~TERN
'HO'~":PRINT "(DO ~lE) FOR (TE~T MODE
DISPLAY)"
~2~3 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')"
~8 PRINT "(DO DO') FOR (ACTIVATE EXTERNAL
DRIVE": HTAB 15: PRINT "TO SAVE TMIS
PROG~AM~": HTAB 15: PRINT "ON DISK, AND EXECUTE": HTAB 15: PRINT '7ANOTHER
PROGRAMME ON": HTAB 15: PRINT "DISK, AND RETURN)": REM MESSAGE FROM MACHINE
9gA = PEEK (49348): REM RESET MEASURING CIRCUIT
100 H(J) = PEEK (49346): REM HIGH BYTE
' 140 IF H(~) < HN THEN GO TO 85 REM PERIOD
MEASUREMENT UNFINISHED
160 L(J) = PEEK (4g345): 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(~) = (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 T(9) + T(10) + T(ll) + T(12) -~ T(13) + T(14) + T(15) + T(16) + T(17) ~ T(18) ~ T(l9) + T(20) + Tt21) ~ 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
: 35 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 ~O TO 2495:
REM "NO WAVE DETECTED"
2495 REM "REFERENCE/SIGNAL BRANCHING"
2510 IF W = 1 THEN GO TO 100: REM IT WAS A
REFERENCE WAVE
2550 K = K ~ 1: REM "K"TH SIGNAL (NOTE THAT
K=W-l) 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 tW): 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
2780 FOR P = 1 TO K = 1: I - I(P): GOSUB 2790- NEXT
PROCESS' 2800 IF I < I0 GO TO 95: REM TOO LOW FOR THE
PROGRAMMED RANGE HERE. START AGAIN
2820 IF I < Il GO TO 3000: REM INT~RVAL 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 3010 FQ = 50: REM *** DO *** OF A~ ABITRARY
MUSICAL SCALE
3030 IPRO = 1~0000:I$ - "DO"
3500 REM MESSAGE IDENTIFIED WITH 1.1250 3510 FQ = 76: REM *** RE *** OE AN ABITR~RY
MUSICAL SCALE
3530 IPRO = 1.124:I$ = "RE"
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 4000 REM MESSAGE IDENTIFIED WITII 1.2500 4010 FQ= 99: REM *** ME *** OF ~N ABITRARY
MUSIC~L SCALE
4040 IPRO = 1.2500:I$ = "ME"
4055 FLASH: PRINT "TEXT": NORMAL
4500 REM MESSAGE IDENTIFIED WITH 1.3333 4505 FQ = 109: REM *** FA *** OF AN ABITRARY
MUSICAL SCALE
4515 IPRO = 1.3333:I$ = "FA"
4650 PRI NT " FLASH"
4999 RETU~N
5000 ~EM MESSAGE IDENTIFIED WITH 1.5000 5002 FQ = 127: REM *** SO *** OF AN ABITRARY
MUSICAL SCALE
5010 IPRO = 1.5000:I$ = "SO"
5025 FLASH: PRINT "MUSIC"
5120 FOR FQ = 230 TO 254 5300 POKE 768,1 5320 POKE 769,FQ
5500 REM MESSAGE IDENTIFIED WITH 1.6667 : 5502 FQ = 144: REM *** LA *** OF AN ABITRARY
MUSICAL SCALE
5510 IPRO = 1.6667:I$ = "LA"
: 5522 PRINT
5525 FLASH: PRINT "LA": NORMAL
5550 PRINT CHR$ (4); "CATALOG"
60Q0 REM MESSAGE IDENTIFIED WITH 1.8750 6010 FQ = 159: REM *** TE *** OF AN ABITRARY
MUSICAL SCALE
6020 IPRO = 1.8750:I$ = "TE"
6060 FLASH: PRINT "TE": NORMAL
6500 REM MESSAGE IDENTIFIED WITH 2.0000 6505 ~EM FEEDBACK
6510 FQ = 166: REM **** DO' *** OF AN ABITRARY
MUSICAL SCALE
6520 IPRO = 2.0000:I$ = "DO "' . 6550 HTAB 16 6560 FLASH:PRINT "DO"': NORMAL
6570 PRINT CHR$ (.4); "SAVE PROGRAMME"
6580 PRINT CHR$ (4), "BRUN BEEPING 350 20"
6999 ~ETURN
9800 PRINT "ERROR = ";(I - IPRO) / IPRO
9820 HTAB 2: PRINT "I RECOGNIZED INTERVAL
(DO ";I$;") AND I AM NOW EXECUTING
YOUR MESSAGE"
9980 REM DECLARE THE RECOGN.IZED INTERVAL
9982 POKE 768,6: POKE 769,50~ CALL 700:
REM A SOUND SUBROUTINE TO PRODUCE
A PRESET REFERENCE SOUND
9984 POICE 768,6: POKE 769,FQ CALL 770: REM
PRODUCE A SECOND SOUND BEARING THE
RECOGNIZED INTERVAL
FIG, 9 illustrates an alternative subroute, labeled II, which can be substituted for the flow diagram block labeled I in FIGSo 6, 7 and 8 and which allows the system to handle slurred inputs, i.e. slurred wave trains, when substituted for any of the blocks I in FIGS. 6, 7 and 8.
Such operation is advantageous to a human speaker as less effort is required in producing slurred vocal sounds than isolated ones.
A suitablc listing for implementing the program of block II is:
I
2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAVE TRAIN
2460 for PS = 1 TO 500: NEXT: REM PAUSE
This may he used, e.g. in place oE lines 2420-2485 of the program listlng for the flow chart of FIG. 6 listed above. It should be noted that the pause of FIG~ 9 should be long enough to prevent the current wave train (of the flow charts of FIGS. 6, 7 and 8) being mistaken for a followon reading, i.e. mistaken for a "next wave train" and the user should take care not to continue to produce such a wave train for longer than the pause.
~IG. lO illustrates another alternative subroute labeled III. The flow diagram block labeled III, modifies the system 10 to allow the user to in effect extend his or her frequency range by producing and holding a wave train output for longer than normally required. That is, for longer than the pause period. When the machine detects a wave train lasting longer than a pre-determined duration it modifies the data by a scaling factor to get a virtual interval before message identification (i.e. before interpretation).
The term m in block III of FIG. 10, is a scaling factor which may take any particular value in a range.
Two particular values, 0.5 and 2 are especially useful for the human speaker. When m = O.5, the machine listener per-forms upper octave transposition and when m = 2, lower octave transposition. (I.e. DO-RE, interval 1.125, if m = 0.5 and iE
the RE is held, measures interval 2.5 or DO-RE'). Repeated transpositions are realized when the speaker or singer further maintains the wave train. Th:is means that the frequency range of the speaker is virtually extended. Also, verbal inputs permit the user to operate within a comfortable frequency range and yet a~hieve a large number of intervals as if he or she had a much wider voice frequency range. Thus a greater number of different "word" si~nals may be given using only a few notes.
A suitable listing for the pro~ram in block III of FIG. 10 is as follows:
2420 PRINT CHR$ (7): REM BEEP FOR NEXT WAVE TRAIN
2464 FOR PS = l TO 1000: NEXT: REM PAUSE
2465 A = PEEK (49348): REM RESET CIRCUIT AND
~EST FOR SILENCE
2470 FOR PS = l 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 - l/2 From the Eoregoing description it will be apparent that the present invention teaches a novel system for communication ~0 with a computer. The system uses the concept of communi-cation by a musical interval code and this substantially extends the number and ease of recognition of oral commands.
The system is economical and efficient to implement and easily learned and effectively used. It is not user specific and yet provides for a large number of "words"
(intervals) to be recognized while being economical to construct and use.
While several embodiments of the system of the present invention have been shown and described, it will be under-stood by those skilled in the art that changes and modifi-cations may be made to the system 10, 100 or modifications khereto described herein without departing from the teachinss of the present invention. Accordingly, the scope of the present invention is only to be limited as necessitated by the accompanying claims.
Claims (24)
1. A system for communication by means of human utterance tonal signals of various complexities with a computer having a series of subroutines prerecorded therein in association with different tonal intervals, comprising:
(a) means for converting several tonal signals into a signal representative of the period of the fundamental tone therefor;
(b) means coupled to said tonal signal converting means for calculating the interval of a received tonal signal and a reference tonal signal; and (c) means responsive to said converting and calculating means for selecting and running a prerecorded subroutine associated with the particular interval calculated by said interval calculating means.
(a) means for converting several tonal signals into a signal representative of the period of the fundamental tone therefor;
(b) means coupled to said tonal signal converting means for calculating the interval of a received tonal signal and a reference tonal signal; and (c) means responsive to said converting and calculating means for selecting and running a prerecorded subroutine associated with the particular interval calculated by said interval calculating means.
2. The system of claim 1 being operable to respond to a reference signal established by a tonal signal inputed into said converting means.
3. The system of claim 2 being operable to respond to musical tones in a musical scale.
4. The system of claim 3 being operable to respond to musical tones in a scale including intervals of approximately 1.000, 1.125, 1.333, 1.500, 1.667 and 2.000.
5. A voice actuated computer control apparatus comprising:
means for converting the electrical analog of voice sounds into a pulse train at the fundamental period of said voice sounds;
means coupled to said converting means for measuring the period of said pulse train and for comparing it with a reference period;
means for calculating the interval between the period of said pulse train and said reference period; and means responsive to said calculating means for causing the computer to execute different routines in response to selected calculated different specific interval values.
means for converting the electrical analog of voice sounds into a pulse train at the fundamental period of said voice sounds;
means coupled to said converting means for measuring the period of said pulse train and for comparing it with a reference period;
means for calculating the interval between the period of said pulse train and said reference period; and means responsive to said calculating means for causing the computer to execute different routines in response to selected calculated different specific interval values.
6. A human utterance recognition system, comprising:
response means for responding to utterance commands in the form of tonal signals each having fundamental component and harmonic components and said tonal signals being related by specific musical intervals; and recognition means for recognizing and associating a number of specific different commands with a like number of different specific musical intervals.
response means for responding to utterance commands in the form of tonal signals each having fundamental component and harmonic components and said tonal signals being related by specific musical intervals; and recognition means for recognizing and associating a number of specific different commands with a like number of different specific musical intervals.
7. The system of claim 6 wherein said response means are operable to respond to an interval created by scaling the interval detected if one of the tones persists beyond a preselected time period.
8. In a human utterance recognition system the improvement residing in:
a wave conversion circuit operable to respond to an utterance tonal input to produce a pulse train of the same period as the fundamental component of said utterance tonal signal;
a period measurement and comparison circuit for receiving and measuring the pulse train output of said wave conversion circuit including means for comparing the pulse train period with a reference period and means for calculating the musical interval thereof; and means coupled to said calculating means for responding to specific intervals and not to other.
a wave conversion circuit operable to respond to an utterance tonal input to produce a pulse train of the same period as the fundamental component of said utterance tonal signal;
a period measurement and comparison circuit for receiving and measuring the pulse train output of said wave conversion circuit including means for comparing the pulse train period with a reference period and means for calculating the musical interval thereof; and means coupled to said calculating means for responding to specific intervals and not to other.
9. A method for human utterance communication with a computer through interfacing circuitry comprising the steps of:
presenting utterance commands to the interfacing circuitry in the form of tonal signals;
calculating the interval of a received tonal signal to a reference tonal signal; and selecting and running in the computer a prerecorded subroutine protocol associated with the particular interval calculated.
presenting utterance commands to the interfacing circuitry in the form of tonal signals;
calculating the interval of a received tonal signal to a reference tonal signal; and selecting and running in the computer a prerecorded subroutine protocol associated with the particular interval calculated.
10. The method of claim 9 wherein said tonal signals are musical tones in a musical scale.
11. The method of claim 10 wherein said musical scale includes intervals of approximately 1.000, 1.125, 1.333, 1.500, 1.667 and 2.000.
12. The method of claim 16 wherein said step of deriving said signal related to said pitch comprises converting said command tonal signal into a signal representative of the period of the tones thereof.
13. The method of claim 9 including the steps of:
detecting when a tonal signal persists beyond a preselected time period; and creating a different interval by scaling the detected interval.
detecting when a tonal signal persists beyond a preselected time period; and creating a different interval by scaling the detected interval.
14. The method of claim 16 wherein said step of deriving said signal related to said pitch includes the steps of:
converting each utterance tonal signal to a pulse train having a specific time period related to the tone of said utterance tonal signal.
converting each utterance tonal signal to a pulse train having a specific time period related to the tone of said utterance tonal signal.
15. The method of claim 9 wherein said interval calculation step further comprises the step of using a pre-established reference tonal signal, whereby communication by utterance commands carrying no reference signal may be achieved.
16. The method of claim 9 further comprising, before the calculating step, the step of:
deriving from each of said tonal signals a signal related to the pitch thereof.
deriving from each of said tonal signals a signal related to the pitch thereof.
17. The system of claim 1 being operable to respond to tonal signal commands, said reference tonal signal being a signal separate from, said commands, whereby communication may be achieved with commands carrying no reference signal.
18. The system of claim 1 being operable to respond to a plurality of single-tone commands.
19. The system of claim 1 being operable to respond to a received tonal signal which persists beyond a preselected time period as if said received tonal signal is another tone of different repetitive frequency.
20. The system of claim 1 being operable to create a different interval by scaling the interval detected if one of the tones persists beyond a preselected time period.
21. The system of claim 1 being operable to store a programme sequence defined by a sequence of respective commands in the form of tonal signals.
22. The system of claim 6 wherein said means are operable with utterance commands each comprising a series of continuously uttered tonal signals.
23. The system of claim 6 further comprising means, coupled to said responding means, for generating audible tones to confirm the input of said utterance commands, whereby an uttered tonal signal may be acknowledged.
24. The system of claim 6 further comprising means, coupled to said responding means, for generating audible tones resembling the intervals of a recognized commands, whereby an utterance command may be acknowledged.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000517991A CA1279403C (en) | 1986-09-11 | 1986-09-11 | Computer communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000517991A CA1279403C (en) | 1986-09-11 | 1986-09-11 | Computer communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1279403C true CA1279403C (en) | 1991-01-22 |
Family
ID=4133909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000517991A Expired - Lifetime CA1279403C (en) | 1986-09-11 | 1986-09-11 | Computer communication system |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA1279403C (en) |
-
1986
- 1986-09-11 CA CA000517991A patent/CA1279403C/en not_active Expired - Lifetime
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2002230151B2 (en) | Apparatus for determining dog's emotions by vocal analysis of barking sounds and method for the same | |
JP4867804B2 (en) | Voice recognition apparatus and conference system | |
JPH02163819A (en) | Text processor | |
JPS59229600A (en) | Voice recognition apparatus and method | |
JPS5854400B2 (en) | voice recognition device | |
CA1279403C (en) | Computer communication system | |
US5774862A (en) | Computer communication system | |
JP3523382B2 (en) | Voice recognition device and voice recognition method | |
JPS6126677B2 (en) | ||
GB2165974A (en) | A system for communication with a machine | |
CN1235320A (en) | Voice control instruction generating device under noise environment | |
JPH0261760B2 (en) | ||
JP3360978B2 (en) | Voice recognition device | |
JP3031081B2 (en) | Voice recognition device | |
JPH0546196A (en) | Speech recognition device | |
KR960025319A (en) | Automatic Learning Training Device in Speech Recognition System | |
JPS61292199A (en) | Voice recognition equipment | |
JPS59212900A (en) | voice recognition device | |
JPS58112134A (en) | Electronic computer provided with voice generator | |
JPS5988798A (en) | Voice recognition processing system | |
JPH1165410A (en) | Pronunciation practice device | |
JPH0488399A (en) | Voice recognizer | |
JPS6057899A (en) | Voice registration system | |
JPS63298298A (en) | Voice section detecting system for voice recognition equipment | |
JPH0228159B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |