Claims
- 1. In a keyboard assignment system for an electronic polyphonic musical instrument having a keyboard containing keys, the improvement comprising:
- a small plurality N of output channels each including a data register having a storage section for storing a note identification code utilizable to control tone generation,
- transition latch means, connected to said keyboard and actuated when any key is depressed or released, for providing a signal that initiates an output channel assignment cycle,
- a main sequencer which generates sets of sequential control pulses, there being at least N sets of control pulses generated during each assignment cycle,
- a parallel data buss connected to the data registers of all output channels,
- keyboard encoding means, connected to said keyboard, to said data buss and to said main sequencer and operative during said assignment cycle, for providing note identification codes associated with depressed keys to all of said output channels via said data buss, said codes being provided to said data buss sequentially during respective sequential generation by said main sequencer of said N sets of control pulses,
- the data register in each output channel also having identity means for producing an identity signal when that data register is storing a code corresponding to a code appearing on said data buss during said assignment cycle, and
- assignment logic means, connected to said main sequencer and to all said identity means and operative during said assignment cycle and in response to said sequential control pulses and to said identity signals, for enabling entry to an available output channel on a priority basis of each note identification code from said data buss not already stored in an output channel, thereby assigning an output channel to each newly depressed key and for releasing any previously assigned output channel which stores a code not provided on said data buss during the assigment cycle because the associated key has been released, said transition latch means being connected to provide said assignment cycle initiation signal to said keyboard encoding means and to said assignment logic means.
- 2. A keyboard assignment system according to claim 1 wherein said keyboard encoding means comprises:
- an encoding matrix having an input line for each key of said instrument keyboard, and providing to said data buss a note identification code corresponding to an energized input line,
- a switch matrix of switch arrays each associated with a respective keyboard key, said matrix being operative to connect a like small plurality N of switch matrix input lines to those encoding matrix input lines corresponding to depressed keys, and
- switch matrix sequencer means for sequentially energizing said matrix input lines during each assignment cycle, so that said encoding matrix will sequentially provide to said data buss note identification codes determined by which encoding matrix input lines are connected by said switch matrix to the sequentially enabled switch matrix input lines, said transition latch means being connected so that said assignment cycle initiation signal resets said switch matrix sequencer means.
- 3. A keyboard assignment system according to claim 2 wherein said switch matrix sequencer means comprises a shift register which is reset at the beginning of each assignment cycle, said shift register being stepped sequentially by control signals from said main sequencer, the outputs from said shift register being used to energize said matrix input lines sequentially, said shift register providing an end of switch matrix sequence signal after the last switch matrix input line has been energized, said end sequence signal being utilized by said assignment logic means to terminate the assignment cycle.
- 4. A keyboard assignment system according to claim 1 wherein said assignment logic means comprises:
- a sub-register having a like small plurality N of latches associated with respective output channels, said sub-register being connected to said transition latch, each of said N latches being operatively connected to a respective one of said identity means, all of said latches being cleared at the beginning of each assignment cycle upon occurrence of an assignment cycle initiation signal from said transition latch, said latches being individually set during said assignment assignment cycle in response to occurrence of identity signals from the corresponding output channel,
- priority logic, operatively connected to said sub-register, for designating the next available output channel for assignment, and
- a priority gate, operatively connected to said priority logic and actuated upon occurrence on said data buss of a note identification code not already stored in an output channel and hence indicative of a depressed key to which an output channel has not yet been assigned, for enabling entry of said not already stored note identification code from said data buss into the data register of the output channel designated by said priority logic, such enabled data entry causing production by said output channel of an identity signal which sets the corresponding latch in said sub-register.
- 5. A keyboard assignment according to claim 4 wherein said assignment logic means further comprises:
- a main register connected to said sub-register and to said priority logic, including a like plurality N of latches each associated with a corresponding output channel and each set by a corresponding sub-register latch,
- clearing means, operatively connected to said keyboard encoding means and to said main register, for clearing all of said main register latches at the end of each assignment cycle except those associated with sub-register latches which have been set during that assignment cycle,
- a gate enable signal being provided to said associated output channel by each main register latch which is set, to enable utilization for tone generation of the note identification code stored in that corresponding output channel, said gate enable signal also being provided to said priority logic.
- 6. A keyboard assignment system according to claim 4 further comprising:
- a validation circuit, connected to said data buss and to said priority gate, for providing to said priority gate a "code present" signal when any note identification code is present on said data buss, and
- identity latch means, operatively connected to all of said identity means and to said priority gate, for providing to said priority gate a signal indicating that, for the note identification code present on said data buss, no identity signal has been produced by any output channel, said signal thereby indicating that no output channel has been assigned to the key associated with that note identification code, and
- wherein said priority gate is enabled by the concurrence of said "code present" signal from said validation circuit and said indicating signal from said identity latch means.
- 7. A keyboard assignment system according to claim 1 wherein said data register comprises:
- a storage register adapted to store a note-identification code,
- a comparator, connection to said storage register and to said data buss, for comparing the note-identification code stored in said storage register with each note-identification code present on said data buss and for providing said identity signal when the compared codes are identical, and
- gate means for gating the code present on said data buss into said storage register to replace the previous contents thereof, said gating means being enabled by said assignment logic means.
- 8. A keyboard assignment system according to claim 5 wherein said main sequencer generates N+2 sets of control pulses during each assignment cycle, where N equals the number of output channels in said system, said transition latch means being reset during generation of the first set, said switch matrix sequencer being stepped during generation of the next N sets, and said main register being cleared during generation of the last set.
- 9. In a keyboard assignment system comprising:
- a matrix of switch arrays operated by respective keys of said keyboard, said matrix having sequentially energizable input lines connectable by said switch arrays in priority arrangement to key-selected ones of a plurality of individual-key-associated output lines,
- means for sequentially energizing said input lines,
- encoding means connected to said output lines for providing a parallel binary note identification code determined by the key-selected output line connected by said matrix to an energized matrix input line, said parallel binary codes thus being provided sequentially as said input lines are sequentially energized,
- a plurality of assignable output channels each containing a data register having a storage means connected, when enabled, to store the code provided by said encoding means and having comparator means connected to receive the note identification code from said encoding means and connected to said storage means, said comparator means providing an identity signal when the code presently supplied from said encoding means is identical to that code already stored in the date register storage means for that output channel,
- priority assignment means, operatively connected to said output channels and connected to receive the identity signals from each of the comparator means for providing a signal to an unassigned one of said output channels for enabling storage in said unassigned output channel of the note-identification code presently provided from said encoding means if no identity signal then is being produced by any of said output channels,
- initiation means, operatively connected to said keyboard for initiating operation of said priority assignment means for an assignment cycle started by the depression or release of any keyboard key,
- said matrix input lines being energized during sequential sub-cycles of said assignment cycle, and
- sequencing means, operatively connected to said priority assignment means and to said sequentially energizing means, for controlling operation of said priority assignment means and said matrix input line energization during said assignment cycle; and
- wherein said priority assignment logic includes register means, operatively connected to said comparator means and responsive to said identity signals, for providing an output channel gate enable signal to each output channel storing a note-identification code corresponding to one provided from said encoding means during the most recent assignment cycle, said gate enable signals enabling the stored note-identification codes to be utilized for generation of corresponding musical tones,
- the improvement wherein said register means comprises:
- a sub-register having a plurality of latches corresponding to respective output channels, said latches all being cleared in response to a signal from said initiation means at the beginning of each assignment cycle, each latch being set by the occurrence of an identity signal from the corresponding output channel during said assignment cycle, and
- a main register connected to said sub-register and having a like plurality of latches each initially being set when the corresponding sub-register latch is set during the assignment cycle in which the corresponding output channel is assigned, all of said main register latches being cleared at the end of each assignment cycle except those associated with sub-register latches which were set during that assignment cycle, said gate enable signals being provided by the main latches which are set.
- 10. A keyboard assignment system according to claim 9 further comprising:
- priority logic, connected to said main register and responsive to said gate enable signals, for designating the output channel next available for assignment,
- identity checking and latch means, operatively connected to all of said comparator means, for providing a "note not assigned" signal when no identity signal is received from any comparator means, and
- priority gate means, connected to said priority logic and enabled upon simultaneous occurrence of a note-identification code from said encoding means and a "note not assigned" signal indicating that said note-identification code is not already stored in one of said output channels, for enabling entry of that note-identification code into the next available channel designated by said priority logic.
- 11. A keyboard assignment system for use in an electronic musical instrument comprising:
- a switch matrix actuated by said keyboard and including a plurality of switch arrays interconnected to connect one of a first set of input lines to an output line associated with each depressed switch in a priority order,
- a code matrix connected to said switch matrix to produce a parallel digital code indicative of the associated key when one of the switch matrix input lines is energized,
- a buffer register connected to said code matrix and enabled upon receipt of a data entry signal to provide said parallel digital code to a set of note-identification code lines,
- a switch matrix sequencer for sequentially energizing said switch matrix input lines,
- scanning control sequencer means for providing sets of sequential control signals, some of said control signals advancing said switch matrix sequencer means to energize the next switch matrix input line, another of said control signals comprising said data entry signal,
- a lesser plurality of output channels, each including a data register connect to said note-identification code lines to receive said note-identification codes therefrom, each data register having a data storage section and a comparator means,
- the comparator means in each data register being connected to said code lines and to the data storage section of the same data register for comparing the note-identification code present on said code lines with the contents of that data storage section and for providing an identity signal if said present code and said contents are identical, said identity signal indicating that the output channel providing the identity signal is assigned to the key associated with that note-identification code,
- priority logic means, operatively connected to said scanning control sequencer and responsive to said identity signals from all of said comparator means, for establishing, during a cycle of said scanning control sequencer, the next available unassigned output channel,
- validation circuit means, connected to said code lines, for providing a "valid code" signal when a note-identification code is present on said code lines,
- identity check means, operatively connected to all of said comparator means and responsive to said identity signals, for providing a "note not assigned" signal when no identity signal is provided from any of said comparator means,
- priority gate means, operatively connected to said validation circuit means, to said identity check means, and to said priority logic means, for assigning a newly selected note-identification code to said next available output channel, said gate means providing a data entry signal to said next available output channel in response to simultaneous occurrence of a "valid code" signal and a "note not assigned" signal, said data entry signal causing the note selection code present on said code lines to be stored in the data storage section of the data register of said next available output channel, and
- means for enabling generation of musical tones corresponding to notes identified by codes stored in said output channels.
BACKGROUND OF THE INVENTION
1. Related Applications
The present application is a continuation-in-part of the copending application Ser. No. 515,057 filed Oct. 15, 1974, abandoned which itself is a continuation of application Ser. No. 393,429 filed Aug. 31, 1973 now abandoned.
US Referenced Citations (7)
Continuations (1)
|
Number |
Date |
Country |
Parent |
393429 |
Aug 1973 |
|
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
515057 |
Oct 1974 |
|