Background of the Invention
This invention relates generally to an educational aid for use in teaching a student how to play keyed musical instruments and more particularly for displaying which notes should be played and for comparing the notes which are actually played by the student to the notes that should be played and for signalling to the student whether the student has played correctly.
A broad variety of electronic and mechanical devices for aiding in the instruction of musical instrument play have been described in the past and many are found in the United States Patent and Trademark Office in Class 84, subclasses 464 and 478.
For example, U.S. Pat. No. 3,552,256 discloses an apparatus having a light and a switch associated with each key which advances at a continuous uniform rate and compares single notes of a composition to played notes. It does not, however, accomodate chords and does not synchronize with the student.
U.S. Pat. No. 3,771,406 illustrates a digital data apparatus which displays single notes which should be played but can neither accomodate chords nor detect errors.
There is, therefore, a need for an instructional device which can operate in synchronism with the student's play, which can accomodate chords as well as a melody of single or multiple notes and which can detect and signal the occurence of any error including the playing of additional notes beyond the correct notes. There is further a need for a device which can also provide other types of musical exercises such as the random selection and display of notes in literal and octive notation for comparison with played notes and which can also be used by an instructor for the preparation of additional exercises or compositions for use by the student.
Objects and Summary of the Invention
It is therefore an object of the present invention to provide a teaching aid which can display to the student the next key or keys to be played in a sequence of musical steps and which, upon the playing of keys by the student can detect any errors by the student and can signal the correctness or incorrectness of the student's play.
A further object of the invention is to provide such a teaching aid which can operate in synchronism with the student rather than independently at a preselected, continuous rate.
A further object of the present invention is to provide such a teaching aid which can display an indication of the student's position in the musical composition and which can further display musical notes in literal and octave notation.
A still further object of the invention is to provide an instruction aid which can automatically record exercises prepared by an instructor and entered via the instrument keyboard.
A still further object of the invention is to provide a teaching aid which can be used either with or without the sound producing portion of the keyboard musical instrument.
A further object of the present invention is to provide a teaching aid which utilizes the advantages of modern microprocessor devices.
Yet a further object of the invention is to provide a microcomputer-controlled teaching aid which permits the continuous and automatic scanning or cycling of the displays and display data independently of microcomputer control.
A further object of the present invention is to provide such a teaching aid in which all display light sources are connected in a matrix array and in which those columns of the matrix array in which no display is to be illuminated are skipped and in which additional time is spent turning on those displays in the matrix array columns in which the data requires illumination of the displays.
It is still a further object of the present invention to provide a microprocessor-controlled teaching aid in which all key sensing switches and display devices may be connected or interfaced to the microprocessor through only 13 of the conventional 16 input/output terminals of the modern microprocessors.
Further objects and features of the invention will be apparent from the following specification and claims when considered in connection with the accompanying drawings illustrating the preferred embodiment of the invention.
In summary, the apparatus of the invention includes a musical instrument keyboard, a plurality of two-state displays, one such display being in spatial correspondence with each key of the keyboard for designating its associated key, a plurality of alphanumeric displays, a switch means mechanically linked to each key on the keyboard for detecting each key depression, a signalling means and a digital data processing means. The digital data processing means is connected to the displays, the switch means and the signalling means and includes stored instructions and a memory means having a stored sequence of musical steps for comparing each of the stored musical steps in sequence to key depressions and signalling whether or not each of the steps and the key depressions are identical.
Description of the Drawing
The FIGURE is a schematic and block diagram illustrating the preferred embodiment of the invention.
In describing the preferred embodiment of the invention, which is illustrated in the drawing, specific terminology will be resorted to for the sake of clarity. However, it is not intended to be limited to the specific terms so selected and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar purpose. For example, the term "connection" is not limited to direct connection but includes effective connection through other circuit elements where such connection is known by those skilled in the art as being equivalent.
Detailed Description
Many types of musical instruments are played by the fingering of a keyboard. These instruments include not only those having the conventional type of keyboard, such as a piano, organ or harpsichord, but also those requiring other types of key fingering such as a saxophone, clarinet, etc., in which discrete keys must be depressed for the playing of particular notes. The present invention, although most advantageously used with a keyboard having a large number of keys, such as a piano, may also be adapted for use with these other keyed instruments. It is not necessary that more than the keyboard portion of the instrument be used with the invention. The actual music generating portion of most instruments and therefore the major cost of the instrument can be eliminated while still retaining substantial instructional capability. In some cases this may be preferred because the student is forced to read the music rather than detect errors by ear.
A. The Circuit
The preferred embodiment of the invention has an electrical switch means which is mechanically linked to each key on the keyboard for the purpose of detecting each key depression. It also has a plurality of alphanumeric displays and a plurality of two-state displays, such as light emitting diodes or LED's, which have an off state and an on state. A different one of these two-state displays is associated with or in spatial correspondence with each key of the keyboard. The purpose of such two-state displays is to designate the particular key or keys which should be played by the student.
Preferably each two-state display is physically located immediately adjacent a different, associated key and is illuminated to designate its adjacent key. Alternatively, a duplicate representation of a keyboard may be used with the two-state displays to designate the keys.
The preferred embodiment also has a signalling means such as a tone generator. All of these elements of the preferred embodiment are connected to digital data processing circuitry which includes both stored instructions and a memory having some stored sequence of musical steps. Among other things the digital data processing circuitry compares each of the stored musical steps in sequence to the key depressions made by the student and signals whether or not each of the stored steps and the depressions are identical.
Referring now to the figure, each of the key sensing switches, such as switch 11 which are mechanically linked to the keys of the keyboard, are series connected to a diode. The diode-switch pairs for each key are connected in a switch matrix array 10. One LED, such as LED 13, is physically located either immediately adjacent each key of the keyboard or on the duplicate representation of the keyboard so that each such two-state, illuminable LED display is in spatial correspondence with each key of the keyboard. These LED displays are electrically connected in a display matrix array 12. Also connected in the display matrix array 12 are the individual segments for the alphanumeric displays.
The figure shows an 8.times.12 switch matrix array 10 to accomodate 88 musical instrument keys and some special purpose or control switches. It also shows an 8.times.11 portion of the display matrix array 12 to accomodate 88 LED displays, one for each key, and an 8.times.5 portion of the display matrix array 12 for the individual segments of the alphanumeric displays. Although various quantities of alphanumeric display digits may be utilized, I have illustrated the use of five digits each having seven segments and a decimal point.
The special purpose switch, referred to in the above paragraph, may be a special function selector switch means which is connected in the switch matrix array in order to permit the instrument keys to be used for manually selecting additional modes of operation. It would be used in the conventional manner so that the computer, through its software could, upon sensing depression of such a special switch means, transfer control to another program or subroutine within the program.
The FIGURE also illustrates a signalling means 14 in the form of a tone generator and a microcomputer indicated generally as 16. The remaining circuitry illustrated in the FIGURE provides an interfacing, digital data circuit means which is connected to the displays, the switch means and the signalling means for interfacing data transfer from the key switch means 10 to the microcomputer 16 and from the microcomputer 16 to the display matrix 12 and the signalling means 14 and for controlling the displays and the signalling means 14.
The microcomputer 16 is not shown in detail since so many of these devices have become available and their operation is so well known to those skilled in the art. While it probably would be more cost effective to utilize conventionally available microcomputer components to custom design a microcomputer for the preferred embodiment of the invention, there are also readily available, off-the-shelf microcomputer systems which may be used in the embodiment of the invention. For example, I have constructed an embodiment of the invention utilizing a KIM I microcomputer manufactured by MOS Technology Company. The microcomputer is connected through its cassette interface logic 20 to an auxiliary or external memory such as a magnetic, audio cassette tape player 22, floppy disc or other such auxiliary memory device familiar to those skilled in the art. As is conventional in the microcomputer art, this auxiliary or external memory may be used to provide data and instructions for the microcomputer and if an external memory with both read and write capability is used, such as a magnetic tape, it may also be used for storing data transferred from the microcomputer 16.
As is conventional in the microcomputer art, the microcomputer 16 comprises a central processing unit 24 and control logic 26 which is interconnected through a data, address, and control bus 28 to a programmable, bidirectional, peripheral interface 30 having sixteen terminals, a random access memory 32 and read only memories 34, 36, 38 and 39 for the storage of program instructions. The microcomputer is also provided with an oscillator 40 for providing clock pulses.
One set of lines from the key switch matrix array 10 is connected to outputs C0 through C11 of a 4 to 16 decoder 42. The decoder 42 translates the four-bit binary input at its inputs A, B, C and D to an output or true level at one of its 16 outputs C0 through C15. The decoder 42 is selected or enabled at its input G, and may, for example be a SN74154 available from Texas Instruments. The other set of lines of the key switch matrix array 10 is connected to data input/output terminals A0 through A7 of the microcomputer interface adapter 30. The microcomputer is able to scan the key switches and determine which of the switches have been closed by the playing of the key by the student or instructor. This is accomplished by strobing in sequence the first set of key switch matrix lines connected to outputs C0 through C11 of the decoder 42 and during each strobe, imputing at inputs A0 through A7 and storing the levels which appear at these inputs. Each closed switch will cause the strobe level to be applied to its connected data input terminals A0 through A7. The diodes prevent the formation of "sneak paths" which would cause erroneous strobe levels to appear at other input terminals during the scanning. Therefore the blocking diodes, in series with each sensing switch, permit simultaneous sensing of any combination of switches while preventing crosstalk between the switch columns.
One unique feature of the present invention is that the same input/output terminals A0 through A7 which are used for sensing the key switches are also used for transferring data out to the display matrix array 12, thus utilizing the full potential of the bi-directional port. This is accomplished by transferring the display data to a random access display buffer memory 46 consisting of a pair of 4.times.16, SN 7489 RAMs available from Texas Instruments. Then, sequentially and in a continuous endless cycle the display data are applied to the display matrix array 12.
The FIGURE illustrates that the outputs S1 through S4 of each of the display buffer memory 46 RAM devices connected through SN 7407 drivers 47 and 48 available from Texas Instruments to a first set of lines of the display matrix array 12. The inputs D1 through D4 of each of the SN 7489 RAMs in the display buffer memory 46 are also connected to the I/O terminals A0 through A7 so that when these RAM chips are selected by the output C13 of the decoder 42 and switched to the writing mode, they will store the data presented by the microcomputer at the I/O terminals A0 through A7.
The remaining circuitry, not including the signalling means 14, is connected to outputs C12, C14 and C15 of the decoder 42 to the address inputs A, B, C and D of the display buffer memory 46 and to the second (vertical in the FIGURE) set of lines of the display matrix array 12 for the purpose of continuously cycling the display data which is stored in the display buffer memory 46 to apply it to the LEDs and alphanumeric display segments connected in the display matrix array 12.
For this purpose a row decoder 50, which is a SN 74159 available from Texas Instruments, has its 16 outputs connected through inverting and driving transistor switches, indicated generally as 52, to the second (vertical) lines of the display matrix array 12. The emitters of these transistors 52 may be connected through a display enable switch 54 to a power supply so that the displays can be disabled when desired for instructional purposes.
An address counter 56, which is a SN74161 available from Texas Instruments, has its four binary address outputs Q1 through Q4 connected to the inputs A, B, C and D of the row decoder 50 as well as the inputs A, B, C and D of the display buffer memory 46. In this manner, corresponding columns of display elements and the data intended for those display elements have the same address and are simultaneously addressed.
Connected to each of the 8 data outputs from the display buffer memory 46 is an OR gate 58 with an inverter 60 connected to its output. The OR gate is an SN7430 and the inverter 60 is an SN7410, both available from Texas Instruments. They function to detect whether or not any bit is present in a column of addressed display data for purposes of illuminating a display element. If no bit is present, then the address counter 56 is incremented to address the next column of data and power is not applied to the corresponding column of displays. However, if a bit is present, the address counter 56 is held in the same address, the corresponding column of display elements is enabled, and a time delay count is initiated.
A hold counter 62 is provided for performing the time delay count and therefore timing the delay during which a column of display elements are enabled. The four count-output ports Q1 through Q4 of hold counter 62 are connected through an OR gate 64, which is an SN7425, available from Texas Instruments, to the inhibit input G of the row decoder 50. The OR gate 64, functions to inhibit the output from the row decoder 50 whenever the count of the hold counter is 0000 or 1111. In this manner when the hold counter is not counting, the row decoder is disabled and therefore the displays are not energized. However, during the counting of the hold counter 62 the row decoder and therefore the displays are enabled.
The carry output of the hold counter 62 is connected through an inverter 65, formed on the same SN7425, to an input of a NOR gate 66 which is a part of the SN7410 device available from Texas Instruments. The NOR gate 66 also has an input connected to the output C14 of the decoder 42 and another input connected to a NAND gate 68 also formed on the SN7410. The NAND gate 68 has one input connected to the output of the inverter 60, and another input connected to the output of a JK flip-flop 70.
The JK flip-flop 70 is a storage element for controlling the mode of operation of the display. One input of the JK flip-flop 70 is connected to the output C15 of the decoder 42 for selecting the automatic scanning mode in which data from the display buffer memory 46 is cyclically applied to the corresponding display elements connected in the display matrix array 12. The other input of the JK flip-flop 70 is connected to the output C12 of the decoder 42 for selecting the reset mode in which the data is not cycled to the displays. Instead, the address counter 56 is reset to 0000 for the purpose of writing new data into the display buffer memory 46.
Therefore, because of the NOR gate 66 and the NAND gate 68 connected thereto, the address counter 56, which has its clock input connected to the output of the NOR gate 66, is incremented each time a true level appears at the output C14 of the decoder 42, or whenever a carry is produced at the hold counter 62, or whenever the JK flip-flop 70 is in the automatic scanning mode and no bit is present at the addressed column of data appearing at the output pins S1 through S4 of the display buffer memory 46.
The signalling means 14 has a one shot 74 which is an SN74123 available from Texas Instruments. The one shot 74 has its input connected to output C12 of the decoder 42 and provides an output pulse of selected pulse width which is adjustable by potentiometer 80. This pulse can of course be used to control a variety of signalling means including audible signals and light signals. It may for example cause a beep or a light flash whenever the student depresses the correct keys. Alternatively it may be used to cause the substantial decrease in the output level or volume of an electronic instrument. For this purpose I illustrate the coupling of the output pulse from the one shot 74 through an inverter 76 and an override switch 78 to another such circuit. I also illustrate the application of the output pulse from the one shot 74 to a tone generating circuit 81 which may include an audio oscillator, speaker and an electronic switch controlled by the output of the one shot 74.
Operation of the Preferred Embodiment
The preferred embodiment of the invention described above has three modes of operation. However, it should be understood that other modes of operation, and particularly other types of exercises, will become apparent to those skilled in the art from this description.
In the first of the three modes of operation, a composition or exercise may be entered into memory by an instructor via the instruments keyboard for subsequent use by the student.
For this purpose, a footpedal switch means may be connected to the microcomputer for inputting data indicating that keys corresponding to a complete musical step are depressed. The microcomputer may further comprise means for storing each musical step in sequence for providing the stored musical steps of the stored composition. The foot pedal may be one of the special function switches which is referred to above and would be sensed under control of Program 2 and utilized to strobe that data indicated by depressed keys into the computer memory in the conventional manner of strobing data from depressed keys. At this point prepared data can be stored on cassette also. In the second mode, a composition or exercise, which has previously been entered into RAM memory either by an instructor or from the cassette tape, may be played by the student and be monitored by the preferred embodiment of the invention to determine whether the student is playing the composition or exercise correctly. In the third mode of operation, the preferred embodiment displays random notes in octave and literal notation upon the alphanumeric display and determines whether the student plays each note correctly. It may simultaneously modify a decimal readout count by incrementing it for each correct note or decrementing it for each incorrect note.
The instructions for these three modes may be permanently stored in three ROM memories indicated as program 0 for the random note display exercise, program 1 for the playing of an exercise by the student and program 2 for the preparation of a composition or exercise by the instructor. A fourth ROM memory 34 is also provided for transferring data representing the notes of a composition either from the audio cassette player to RAM memory 32 or from the RAM memory 32 to the audio cassette player 22. Since ROM 34, identified as program 3 may be purchased from the manufacturers of the KIM 1 microcomputer and bears No. 6530-003, the instruction for this ROM are not described.
The operation of the preferred embodiment of the invention may begin with the assumption that a musical composition has been recorded on the tape of the audio cassette player 22. Each note for an 88 key piano is recorded as an 8-bit word or byte. Seven bits of the byte define a particular note and the 8th bit is used to indicate whether or not the note is the last note of a chord. Therefore, operation would begin by the transfer of the 8-bit words representing a composition or an exercise to the RAM memory 32 under control of the cassette interface program 34 stored in ROM 3.
After an entire composition has been written into the RAM memory 32, control is then transferred to ROM 1 so that the student may begin to play the composition under control of the keyboard play program 38. In this mode, each note is, in sequence, translated into a format for output to the display buffer memory 46. To do this I prefer to assign 88 bits of RAM memory to define an image of the 88 key piano keyboard. Each byte representing a note is translated to store a bit in the particular one of the 88 memory cells representing the particular note or key. This translation continues until all keys to be simultaneously depressed have had their corresponding bits stored in the 88-bit memory area. After these bits have been written into the 88-bit memory which forms the keyboard image, the microcomputer applies a 5-bit word at its outputs B0 through B4 which decode to an appropriate output at output C12 of the decoder 42 to reset the interface circuitry. This reset output sets the JK flip-flop 70 to prevent the automatic cycling of output data and clears the address counter 56 to 0000.
Thereafter, the first 8 bits from the 88-bit keyboard image portion of the RAM memory are presented to data output terminals A0 through A7 and written into the display buffer memory 46. After the first 8 bits are written into the display buffer memory 46, outputs B0 through B4 of the microcomputer 16 cause an output to appear at output C14 of the decoder 42 which increments the address counter 56 to the next address. Thereupon the next 8 bits are presented at outputs A0 through A7 and similarly written into the display buffer memory 46. This procedure continues until all 88-bits have been written into the display buffer memory 46.
After display buffer memory 46 has had the notes which should be played written into it, the microcomputer provides, at its outputs B0 through B4, a five-bit word which decodes to apply an output level at output C15 of the decoder 42 which in turn switches the JK flip-flop 70 to a state which starts the automatic cycling of the note data to the displays of the display matrix 12. The microcomputer 16 can then go about the task of doing other things while the data in the display buffer memory 46 is automatically cycled to the display matrix array 12.
This automatic cycling is accomplished in the following manner. The eight bits in the display buffer memory 46 which are addressed by the current address appearing at the outputs Q1 through Q4 of the address counter 56, will appear at the outputs S1 through S4 of each of the two RAMs making up the display buffer memory 46. Whenever the JK flip-flop 70 is set to its automatic scanning state and no display bits appear at the outputs of display buffer memory 46, then each clock pulse applied from the microcomputer oscillator 40 to the NAND gate 68 will appear at the output of the NAND gate 68 and be applied to the NOR gate 66. Such a clock pulse will be applied to the clock input of the address counter 56 and will increment the address counter. This incrementing will continue to occur for each clock pulse until a bit for display appears at the output of the display buffer memory 46.
The appearance of any bit at the output of the display buffer memory 46 will shift the state of the output of the OR gate 58 to initiate counting of the hold counter 62. Counting by the hold counter 62 will enable the row decoder 50 by means of the output of the OR gate 64. Thereafter each clock pulse from the microcomputer oscillator 40 will increment the hold counter 62 but will not increment the address counter 56 because of the output of the inverter 60.
The hold counter 62 will continue counting for 16 microcomputer clock pulses during which time the row decoder 50 is enabled at the current address being held in the address counter 56. During counts 1 through 14 of hold counter 62 the particular display or displays for which an output bit appears at the output of the display buffer memory 46 will be illuminated.
Inhibiting the row decoder during counts 0000 and 1111 of hold counter prevents "ghosting" of one row of LED's into another during transition periods of the address counter.
When the hold counter 62 completes its count such that a carry is produced, the carry is applied through the inverter 65 to the NOR gate 66 to increment the address counter 56 to the next address. This procedure than continues in an endless cycle in which the row decoder 50 is enabled and the hold counter counts for 14 counts each time at least one bit appears for display at the output of the display buffer memory 46.
A number of RAM memory cells are assigned to the task of maintaining a count of the number of chords of a composition which have been played. This count represents the student's place in the musical composition and is appropriately translated and written into the display buffer memory 46 along with the particular note data for display on the two-state keyboard display. Therefore, the microcomputer increments this counter register formed in the RAM memory each time a chord is written into the display buffer memory 46.
After the data is written into the display buffer memory 46, the microcomputer 16 then scans the keyboard switches and compares the actual state of the keys to the correct state of the keys as represented by the key data stored in the 88-bit image memory portion of the RAM 32.
To sense the keys, the microcomputer provides a four-bit word at its outputs B0 through B3 which decodes to an output at output C10 of decoder 42. This strobe output will then appear at any of the I/O terminals A0 through A7 of the microcomputer which are connected to closed key switches. These 8-bit key data appearing at input terminals A0 through A7 are then compared to the data in the corresponding 8-bits of RAM memory which are assigned to these 8 keys. If the data is not identical, the microcomputer softwave counter is reset to continue in this comparison loop until the compared data is identical.
If the compared data is identical, the microcomputer 16 then decrements the word appearing at outputs B0 through B3 to similarly apply the strobe to output C9 of the decoder 42. The above described procedure is then repeated. Whenever the compared data is not identical, the microcomputer software counter is reset to loop through the key sensing steps until all compared data is identical.
If this comparison finally shows that the played keys are identical to the keys of the comparison which should be played and that no extra keys are played, the microcomputer 16 then applies a word at its outputs B0 through B3 which decodes to a reset output at decoder output C12 to reset the interfacing circuit so that new display data may be written into the display buffer memory 46. The one-shot 74 is also activated by the reset output to produce a tone or other indication that the student has depressed the correct keys.
If, however, the student depresses the wrong keys the same note data remains in the display buffer memory 46 and the key switch matrix 10 continues to be sensed until the appropriate play is made by the student.
The following three sets of instructions are those which I have used in constructing an embodiment of the invention described above using a KIM-1 microcomputer. This set of instructions is disclosed for the purpose of providing at least one set of instructions which will cause the embodiment illustrated in the figure to operate as described above. These programs operate from the KIM 1 RAM but could easily be relocated to ROM memory. However, it will be understood by those skilled in the art that a very substantial number of additional programs with variations may be developed from the above disclosure by a person of ordinary skill in the art without departing from the spirit of the invention.
It is to be understood that while the detailed drawings and specific examples given describe preferred embodiments of the invention, they are for the purpose of illustration only, that the apparatus of the invention is not limited to the precise details and conditions disclosed, that various changes may be made therein without departing from the spirit of the invention which is defined by the following claims.