JPS6233593B2 - - Google Patents

Info

Publication number
JPS6233593B2
JPS6233593B2 JP54138196A JP13819679A JPS6233593B2 JP S6233593 B2 JPS6233593 B2 JP S6233593B2 JP 54138196 A JP54138196 A JP 54138196A JP 13819679 A JP13819679 A JP 13819679A JP S6233593 B2 JPS6233593 B2 JP S6233593B2
Authority
JP
Japan
Prior art keywords
channel
key
register
key data
specifying means
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
Application number
JP54138196A
Other languages
Japanese (ja)
Other versions
JPS5662298A (en
Inventor
Hiroshi Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instruments Manufacturing Co Ltd
Original Assignee
Kawai Musical Instruments Manufacturing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instruments Manufacturing Co Ltd filed Critical Kawai Musical Instruments Manufacturing Co Ltd
Priority to JP13819679A priority Critical patent/JPS5662298A/en
Publication of JPS5662298A publication Critical patent/JPS5662298A/en
Publication of JPS6233593B2 publication Critical patent/JPS6233593B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明はデジタル処理で楽音を発生する方式の
鍵盤楽器、およびアナログ処理で楽音を発生する
方式の多音シンセサイザ等の簡単で処理時間の速
い鍵盤スイツチ情報の割当方式に関するものであ
る。 従来、これらの電子鍵盤楽器において、アナロ
グ処理楽音発生方式で通常行なわれているよう
に、鍵盤上のそれぞれのスイツチに対応して楽音
発生手段を設けることは徒らにシステムを複雑化
して実用に程遠い構成となる。この問題を解決す
るために、演奏者に制約を加えることがない程度
に同時発音数を制限することが一般に行なわれて
いる。すなわち、同時発音数だけ用意された楽音
発生手段に対応して設けられた割当用メモリに割
当装置によつて鍵盤スイツチ情報を記憶させ所望
とする楽音を得る方式である。このような割当装
置を実用化するに際し、多数の個別部品の集合体
の代りに集積回路(IC)化が行なわれ、さらに
これらを量産化により低価格とするため、多種多
様の電子鍵盤楽器に共通に使用できることが望ま
しい。 しかし、一般に電子鍵盤楽器においては機種が
大形になれば鍵盤スイツチ数と鍵盤の段数は共に
増加し、小形になればともに減少する。すなわ
ち、鍵盤スイツチ数は61,49,44,37,25,13に
亘り、鍵盤の段数は1〜3またはそれ以上に及
ぶ。これらに同一の割当装置を適用すると、その
経済性の向上に反しきわめて冗長性の高いものに
なる。さらに、大形機種の演奏者と小形機種の演
奏者とではその演奏能力に大きな差があり、同時
発音数の制限もそれぞれの能力に合せて設定する
ことが望まれ、この点からも同一の割当装置の適
用には無理があつた。 一方、割当装置のアルゴリズムは現時点では確
立されていないので、設計製作した割当装置が後
日演奏者に思いがけない制約を与えることとな
り、割当方法の変更を余儀なくされることもしば
しば起り、集積化に際し常に全面破棄の危険性を
含んでいる。そこで同時発音数の設定が容易な割
当装置の実現が望まれる。さらにデジタル処理の
鍵盤楽器では楽音エンベロープ発生器も当然、デ
ジタル処理されているので、発音の停止時、すな
わち押鍵され打撃音の発音が開始された後、楽音
が漸次減衰していき発音が停止する時点を示すリ
リースエンド信号の発生は容易であり、この信号
により対応する割当装置内の鍵盤スイツチ情報を
消去すればよいが、アナログ処理の多音シンセサ
イザでは楽音エンベロープ発生器もアナログ処理
のものが多く、リリースエンド信号を発生するた
めには、楽音エンベロープが発音停止を示すレベ
ルまで達したかどうかを判定するアナログコンパ
レータを同時発音数だけ用意する必要があり、大
きな経済的負担となる。このことから楽音エンベ
ロープ発生器から割当装置へのフイードバツクを
必要としない、換言すれば、リリースエンド信号
を必要としないような割当方法が要望されてい
た。 本発明の目的は簡単な構成、手順で同時発音数
の変更設定が容易であり、さらに楽音エンベロー
プ発生器からのフイードバツク信号を全く必要と
しない鍵盤スイツチ情報の割当方式を提供するこ
とである。 前記目的を達成するため、本発明の鍵盤スイツ
チ情報の割当方式は、鍵盤の各キースイツチのオ
ン、オフを検出し、同時最大発音数だけのチヤン
ネル領域を有し上記キー情報を記憶するキーデー
タレジスタと、押鍵時または離鍵時に前記キーデ
ータレジスタのチヤンネル領域をアドレス指定
し、かつ該チヤンネルが発音状態であるか否かを
符号で示すチヤンネルレジスタと、押鍵時前記チ
ヤンネルレジスタを指定しチヤンネル数に達する
とリセツトするオンチヤンネル指定手段と、該オ
ンチヤンネル指定手段と初期値を同じくし、離鍵
時前記チヤンネルレジスタを指定しチヤンネル数
に達するとリセツトするオフチヤンネル指定手段
と、を具え、 押鍵時オンチヤンネル指定手段によつて指定さ
れるチヤンネルレジスタのキーチヤンネルコード
をアドレスとするキーデータをキーデータレジス
タの指定チヤンネル領域に記憶させ、前記オンチ
ヤンネル指定手段の値を1つ増加させるように
し、離鍵時キーデータレジスタに記憶されたキー
データから離鍵されたキーデータと同一音名を探
索し、オフチヤンネル指定手段によつて指定され
るチヤンネルレジスタに、前記キーデータレジス
タの探索されたキーデータに対応するキーチヤン
ネルコードとキーオフ情報を記憶し、オフチヤン
ネル指定手段の値を1つ増加させるようにし、該
オフチヤンネル指定手段の値が1つ増加すること
により、離鍵されたキーチヤンネルコードを前記
チヤンネルレジスタに古い順に記憶させ、押鍵時
には前記オンチヤンネル指定手段の値が1つ増加
することにより、前記チヤンネルレジスタに記憶
されているキーチヤンネルコードを古い順に指定
することを特徴とするものである。 以下本発明を実施例につき詳述する。 第1図は本発明の実施例の構成を示す説明図で
ある。同図において、鍵盤回路10は割当装置で
あるアサイナ20から上鍵6オクターブ、下鍵6
オクターブの12ビツトの順次パルスの信号を受取
り、これにより任意の鍵盤の任意のオクターブに
対応する音名情報(C,C#,D,……,Bに対
応する12ビツト)をアサイナ20に送出する。 鍵盤回路10は、第2図に示すように、上鍵1
1、下鍵12より成り、出力ポート1は各鍵のオ
クターブに対応した12ビツトで順次オクターブの
バスバーを探索している。そして、入力ポート1
から順次音名情報を入力し、何番目に入力した音
名情報かにより、どの鍵盤のどのオクターブの情
報かを判断している。 アサイナ20は情報処理装置(CPU)21と
これを駆動するCPUクロツク発生器22とプロ
グラムメモリ23とアサインメントメモリ24、
イベントメモリ25より成る。 CPU21はその内部レジスタの1つを鍵盤コ
ード、オクターブコードの作成に使用し、このレ
ジスタの値をインクリメントして出力ポート1を
通し鍵盤回路10に出力する。鍵盤回路10は即
時指定されたオクターブの鍵情報をアサイナ20
に送出する。 第3図は第1図の実施例のアサイナ20の動作
を説明するフローチヤートであり、そのメインル
ーチンを示す。 まずその要部のイベントメモリ25のデータ構
成を第1表に示す。
The present invention relates to a method for allocating keyboard switch information that is simple and quick in processing time for keyboard instruments that generate musical tones through digital processing, polyphonic synthesizers that generate musical tones through analog processing, and the like. Conventionally, in these electronic keyboard instruments, providing musical tone generation means corresponding to each switch on the keyboard, as is usually done with analog processing musical tone generation systems, would unnecessarily complicate the system and make it impractical. The composition is far from that. To solve this problem, it is common practice to limit the number of simultaneous sounds to an extent that does not impose restrictions on the performer. In other words, a desired musical tone is obtained by storing keyboard switch information by an allocation device in an allocation memory provided corresponding to the number of musical tone generating means prepared for simultaneous generation. In order to put such an allocation device into practical use, integrated circuits (ICs) are used instead of assemblies of many individual parts, and in order to reduce the cost by mass producing these devices, they are used in a wide variety of electronic keyboard instruments. It is desirable that it can be used in common. However, in general, in electronic keyboard instruments, the number of keyboard switches and the number of keyboard stages both increase as the model becomes larger, and decrease as the model becomes smaller. That is, the number of keyboard switches ranges from 61, 49, 44, 37, 25, and 13, and the number of keyboard stages ranges from 1 to 3 or more. If the same allocation device is applied to these devices, it will result in extremely high redundancy, although it may improve economic efficiency. Furthermore, there is a large difference in performance ability between players on large models and players on small models, and it is desirable to set limits on the number of simultaneous notes according to each ability. It was impossible to apply the allocation device. On the other hand, since the algorithm for the allocation device has not been established at present, the designed and manufactured allocation device may later impose unexpected constraints on the performer, and the allocation method may often have to be changed. There is a risk of complete destruction. Therefore, it is desired to realize an allocation device that can easily set the number of simultaneous sounds. Furthermore, in digitally processed keyboard instruments, the musical sound envelope generator is also digitally processed, so when the sound stops, that is, after the key is pressed and the percussion sound begins, the musical sound gradually decays and the sound stops. It is easy to generate a release end signal that indicates the point at which the release end signal is to be released, and this signal can be used to erase the keyboard switch information in the corresponding assignment device. In many cases, in order to generate a release end signal, it is necessary to prepare as many analog comparators as the number of simultaneous polyphonic sounds to determine whether the musical tone envelope has reached a level indicating that sound generation has stopped, which poses a large economic burden. For this reason, there has been a need for an assignment method that does not require feedback from the tone envelope generator to the assignment device, in other words, does not require a release end signal. An object of the present invention is to provide a keyboard switch information assignment method that allows the number of simultaneous sounds to be easily changed and set using a simple configuration and procedure, and does not require any feedback signals from a tone envelope generator. In order to achieve the above object, the keyboard switch information allocation method of the present invention detects whether each key switch on the keyboard is turned on or off, and has a key data register that has a channel area equal to the maximum number of simultaneous notes and stores the above key information. , a channel register that specifies the channel area of the key data register when a key is pressed or released, and indicates with a code whether or not the channel is in a sounding state; an on-channel specifying means that resets when the number of channels is reached; and an off-channel specifying means that has the same initial value as the on-channel specifying means, specifies the channel register when the key is released, and resets the channel register when the number of channels is reached; Key data whose address is a key channel code of a channel register specified by the key time on-channel specifying means is stored in the specified channel area of the key data register, and the value of the on-channel specifying means is increased by one. , searches the key data stored in the key data register at the time of key release for the same note name as the key data that was released, and stores the searched key data register in the channel register specified by the off-channel specifying means. The key channel code and key-off information corresponding to the key data are stored, and the value of the off-channel specifying means is increased by one, and the key-released key channel is incremented by one. The key channel code stored in the channel register is designated in the order of the oldest by storing the codes in the channel register in the order of the oldest, and increasing the value of the on-channel specifying means by one when a key is pressed. It is something. The present invention will be described in detail below with reference to examples. FIG. 1 is an explanatory diagram showing the configuration of an embodiment of the present invention. In the same figure, a keyboard circuit 10 has six octaves of upper keys and six octaves of lower keys from an assigner 20 which is an assigning device.
Receives a 12-bit sequential pulse signal of an octave and sends pitch name information (12 bits corresponding to C, C#, D, ..., B) corresponding to an arbitrary octave of an arbitrary keyboard to the assigner 20. do. The keyboard circuit 10 includes an upper key 1 as shown in FIG.
1 and a lower key 12, and output port 1 sequentially searches the busbar of the octave using 12 bits corresponding to the octave of each key. And input port 1
The note name information is input sequentially, and the information for which octave of which keyboard is determined based on the number of input note name information. The assigner 20 includes an information processing unit (CPU) 21, a CPU clock generator 22 for driving the CPU, a program memory 23, and an assignment memory 24.
It consists of an event memory 25. The CPU 21 uses one of its internal registers to create a keyboard code and an octave code, increments the value of this register, and outputs the incremented value to the keyboard circuit 10 through the output port 1. The keyboard circuit 10 immediately sends the key information of the specified octave to the assigner 20.
Send to. FIG. 3 is a flowchart illustrating the operation of the assigner 20 of the embodiment shown in FIG. 1, and shows its main routine. First, Table 1 shows the data structure of the main part of the event memory 25.

【表】 イベントメモリ25は上表に示すように、鍵盤
スイツチ10の一鍵一鍵がこのメモリ領域のある
ビツトと対応している。イベントメモリの初期値
は全部“0”としておく。鍵が押された時、イベ
ントメモリ25内の対応するビツトを“1”と
し、その鍵が離されれば“0”に戻す。鍵盤回路
10からの音名情報は入力ポート1より入力し、
前回走査した時に残された音名情報を記憶したイ
ベントメモリ25内の対応する鍵盤、オクターブ
の音名情報と比較し、変化の有無を調べる。この
場合の変化を以下イベントと称する。前回走査し
た時と比較して鍵盤スイツチの開閉状態が異なつ
ていた場合はイベントが存在した状態であり、逆
に開閉状態に変化がなければイベントがなかつた
ことになる。イベントがなかつた場合には鍵盤回
路10の走査が次に移る。イベントがあつた場合
は、ON(オン)からOFF(オフ)のイベント
か、OFFからONのイベントか等を調べ、もし、
OFFからONであればアサインメントメモリ24
のオンチヤンネルポインタ24の指定するチヤ
ンネルレジスタ24に記憶されているチヤンネ
ルコードによりイベントの発生した音名コードと
オクターブコードをキーデータレジスタ24
記憶する。また、ONからOFFであればキーデー
タレジスタ24に記憶されている音名コードと
オクターブコードが、イベントの発生した鍵の音
名コードとオクターブコードと同一のチヤンネル
か否かを調べ、該チヤンネルアドレス番号とキー
オフ情報とをオフチヤンネルポインタ24の指
定するチヤンネルレジスタ24に記憶する。 このように上鍵、下鍵と一通り走査したなら
ば、アサインメントメモリ24の内容のうちキー
データとキーオン、オフの情報を他のブロツク、
たとえば第1図に点線で示す楽音エンベロープ発
生器31、楽音周波数発生器32、楽音波形発生
器33等に転送する。 第3図は本発明の要部の動作を示すフローチヤ
ートである。まずにおいて、初期値設定を行な
い、で鍵盤回路10の指定オクターブより鍵情
報を入力する。次にで指定オクターブ内でイベ
ントがあるかないかをチエツクし、なかつたら
に移り、次のオクターブを指定する。もし、に
おいてイベントがあつた場合、でそのイベント
が鍵オフイベントかどうかを判定する。もし、鍵
オフイベントであるならで初期値設定し、後述
するの鍵オフ処理を行なう。で指定オクター
ブ内の鍵オフ処理が完了したか否かを判断し、ま
だ残つていたらの鍵オフ処理に戻り完了するま
でループ処理する。 鍵オフ処理を完了したら、の鍵オンイベント
があるかどうかを判定して、なかつたらに移
る。イベントがあつたらの初期値設定をして、
のオーバフローがあるかどうかを判定する。こ
のオーバフローは同時発音チヤンネル数以上の押
鍵があつたことであり、のオーバフロー処理を
するものである。オーバフロー処理は各種の方法
があるが本発明と直接関係がないので説明を省略
する。オーバフローでない場合、後述する鍵オン
処理を行ない、でその処理が完了したか否か
を判定し、まだ処理が完了していなかつたら、
に戻つてループ処理を繰返す。この処理が完了し
たらに移り、次のオクターブを走査して上記手
順を繰り返す。 第4図a〜dは本発明の要部であるアサインメ
ントメモリ24の構成を示し、第5図a,bはそ
の動作を示すフローチヤートである。 第4図a〜dはそれぞれアサインメントメモリ
24のキーデータレジスタ24、チヤンネルレ
ジスタ24、オフチヤンネルポインタ24
よびオンチヤンネルポインタ24を示してい
る。これらにより前述のフローチヤートにおける
オン処理とオフ処理を行なう。 同図aのキーデータレジスタ24のキーデー
タはオクターブコード3ビツトと音名コード4ビ
ツトの7ビツトより成り、アドレス番号D0〜D7
の8チヤンネルのメモリ領域をもつている。同図
bのチヤンネルレジスタ24は前記キーデータ
レジスタ24のアドレスを示すキーチヤンネル
コード3ビツトとON/OFF1ビツトの4ビツト
より成り、アドレス番号C0〜C7の8チヤンネル
のメモリ領域をもつている。同図cは、鍵がオフ
された時キーデータレジスタのチヤンネルの一つ
が開放されたことであり、その開放されたチヤン
ネル番号とON/OFFビツトOFFをチヤンネルレ
ジスタへ記憶するための値をもつオフチヤンネル
ポインタ24である。また同図dは、鍵がオン
された時キーデータをキーデータレジスタの開放
されているチヤンネルへ記憶するが、この時どの
チヤンネルが開放されているかを示すチヤンネル
レジスタの値をもつオンチヤンネルポインタ24
である。 まずチヤンネルレジスタ24とオフチヤンネ
ルポインタ24、オンチヤンネルポインタ24
のオンチヤンネルの初期値の設定を第2表
()、()、()のように設定する。
[Table] As shown in the table above, in the event memory 25, each key on the keyboard switch 10 corresponds to a certain bit in this memory area. The initial values of the event memory are all set to "0". When a key is pressed, the corresponding bit in the event memory 25 is set to "1", and when the key is released, it is returned to "0". The note name information from the keyboard circuit 10 is input from the input port 1,
The pitch name information left from the previous scan is compared with the pitch name information of the corresponding keyboard and octave in the stored event memory 25 to check whether there is any change. The change in this case is hereinafter referred to as an event. If the open/closed state of the keyboard switch is different from the previous scan, it means that an event has occurred, and conversely, if there is no change in the open/closed state, it means that no event has occurred. If there is no event, the scanning of the keyboard circuit 10 moves on to the next one. If an event occurs, check whether it is an ON to OFF event or an OFF to ON event, and if
If it goes from OFF to ON, assignment memory 24
Based on the channel code stored in the channel register 242 specified by the on-channel pointer 244 , the pitch name code and octave code where the event occurred are stored in the key data register 241 . In addition, if it is from ON to OFF, it is checked whether the note name code and octave code stored in the key data register 241 are the same channel as the note name code and octave code of the key where the event occurred, and the corresponding channel is checked. The address number and key-off information are stored in the channel register 242 designated by the off-channel pointer 243 . After scanning the upper and lower keys in this way, the key data and key-on/off information of the contents of the assignment memory 24 are transferred to other blocks.
For example, it is transferred to a musical tone envelope generator 31, a musical tone frequency generator 32, a musical sound waveform generator 33, etc. shown by dotted lines in FIG. FIG. 3 is a flowchart showing the operation of the main part of the present invention. First, initial values are set, and key information is input from the designated octave of the keyboard circuit 10. Next, check if there is an event within the specified octave, and if there is not, move on to specify the next octave. If an event occurs at , it is determined whether the event is a key-off event. If it is a key-off event, an initial value is set and a key-off process described later is performed. It is determined whether the key-off processing within the specified octave has been completed or not, and if there are any remaining key-off processings, the process returns to the key-off processing and loops until completion. When the key-off process is completed, it is determined whether there is a key-on event, and if there is no key-on event, the process moves on. Set the initial values when an event occurs,
Determine whether there is an overflow. This overflow is caused by the number of keys being pressed more than the number of simultaneously sounding channels, and the overflow processing is performed. There are various methods for overflow processing, but since they are not directly related to the present invention, their explanations will be omitted. If it is not an overflow, perform the key-on processing described later, and determine whether the processing is completed. If the processing is not completed yet,
Return to and repeat the loop process. Once this process is complete, move on to scan the next octave and repeat the above steps. 4a to 4d show the configuration of the assignment memory 24, which is the main part of the present invention, and FIGS. 5a and 5b are flowcharts showing its operation. 4A to 4D show the key data register 24 1 , channel register 24 2 , off-channel pointer 24 3 and on-channel pointer 24 4 of the assignment memory 24, respectively. These perform the on processing and off processing in the flowchart described above. The key data of the key data register 241 shown in FIG .
It has a memory area of 8 channels. The channel register 242 shown in Figure b consists of 4 bits: 3 bits of key channel code indicating the address of the key data register 241 and 1 bit of ON/OFF, and has a memory area of 8 channels with address numbers C0 to C7 . ing. Figure c shows that when the key is turned off, one of the channels in the key data register is released, and the key data register has a value for storing the released channel number and ON/OFF bit OFF in the channel register. This is the channel pointer 243 . d in the same figure stores key data in an open channel of the key data register when the key is turned on, and an on-channel pointer 24 having a value of the channel register indicating which channel is open at this time.
It is 3 . First, the channel register 242 , the off-channel pointer 243 , and the on-channel pointer 24.
The initial value settings for on-channel No. 4 are set as shown in Table 2 (), (), and ().

【表】 キーチヤンネルコード
[Table] Key channel code

【表】 このような構成における鍵のオン、オフ処理は
第5図a,bのフローチヤートで示される。同図
aのオン処理の場合、鍵盤回路10でオンとなつ
た鍵のキーデータを第4図aのフオーマツトに従
つて作成する。次に、第4図dのオンチヤンネル
ポインタ24の値に対応する同図bのチヤンネ
ルレジスタ24のアドレスに記憶されているキ
ーチヤンネルコードを読む。たとえば、最初の押
鍵の場合、オンチヤンネルポインタ24の値
“000”に対応したキーチヤンネルレジスタ24
のアドレス番号C0のキーチヤンネルコード
“000”を読み込み、その時チヤンネルレジスタ2
のON/OFFビツトを“1”とする。読み込
んだキーチヤンネルコードに対応し第4図aのキ
ーデータレジスタ24のアドレスD0にオンさ
れた鍵のキーデータを書き込む。そしてオンチヤ
ンネルポインタ24の値を1だけ増加する。 次に第5図bのオフ処理の場合、鍵盤回路10
でオフとなつた鍵のキーデータを作成し、キーデ
ータレジスタ24内には離鍵したキーデータが
どこかのチヤンネルに必ず書き込まれているか
ら、オフされた鍵のキーデータと一致するキーデ
ータが書き込まれているアドレスを探索する。一
致したキーデータが書き込まれているキーデータ
レジスタ24のアドレス番号を、オフチヤンネ
ルポインタアドレス24が指定するチヤンネル
レジスタ24のキーチヤンネルコードに書き込
み、ON/OFFビツトを“0”にする。そして、
オフチヤンネルポインタアドレス24の値を1
だけ増加する。 なお、オンチヤンネルポインタ24、オフチ
ヤンネルポインタ24はチヤンネル数の終段ま
たは装置のリセツトにより初期値に自動的に戻る
ように構成される。 以上の本発明の方法を適用した実施例を第3表
につき説明する。なお表中の数字は10進数で表わ
した。 縦欄にオンチヤンネルポインタ、オフチヤンネ
ルポインタ、チヤンネルレジスタ、キーデータレ
ジスタの各データにつき横欄の時点t1〜t18におけ
る変化を示したものである。チヤンネルレジスタ
の欄の括弧内はON/OFFビツトの状態を示す。
キーデータレジスタのキーデータはそのまま音名
で表した。 まず、t1時点で音名Cを押鍵すると前述のオン
処理の手順に従い、キーデータレジスタ24
D0にC音のコードが書き込まれる。以下時点t2
t8に順次C#音〜G音を押鍵していくと、t8時点
の欄に示すように書き込まれる。これ以上押鍵し
ても
[Table] The key on/off processing in such a configuration is shown in the flowcharts of FIGS. 5a and 5b. In the case of the ON process shown in FIG. 4A, the key data of the key turned ON in the keyboard circuit 10 is created according to the format shown in FIG. 4A. Next, the key channel code stored at the address of the channel register 242 in FIG. 4b corresponding to the value of the on-channel pointer 244 in FIG. 4d is read. For example, in the case of the first key press, the key channel register 242 corresponds to the value "000" of the on-channel pointer 244 .
Read the key channel code “000” of address number C 0 , and then set channel register 2.
4 Set the ON/OFF bit of 2 to “1”. Corresponding to the read key channel code, the key data of the turned-on key is written to the address D0 of the key data register 241 in FIG. 4a. Then, the value of the on-channel pointer 244 is increased by 1. Next, in the case of the off process shown in FIG. 5b, the keyboard circuit 10
Create key data for the key that was turned off, and since the released key data is always written to some channel in the key data register 241 , create a key that matches the key data of the key that was turned off. Find the address where data is written. The address number of the key data register 241 in which the matched key data is written is written into the key channel code of the channel register 242 specified by the off-channel pointer address 243 , and the ON/OFF bit is set to "0". and,
Set the value of off-channel pointer address 24 3 to 1
only increases. The on-channel pointer 24 4 and the off-channel pointer 24 3 are configured to automatically return to their initial values at the end of the channel number or when the device is reset. Examples to which the above method of the present invention is applied will be explained with reference to Table 3. The numbers in the table are expressed in decimal notation. The vertical column shows changes in the on-channel pointer, off-channel pointer, channel register, and key data register data at times t 1 to t 18 in the horizontal column. The information in parentheses in the channel register column indicates the ON/OFF bit status.
The key data in the key data register is directly expressed as a note name. First, when key C is pressed at time t 1 , the key data register 24 1 is
A C chord is written to D 0 . Below time t 2 ~
If you press the C# to G notes sequentially at t8 , the data will be written as shown in the column at t8 . Even if you press any more keys

【表】【table】

【表】 オバーフローとして処理される。t9時点でF音を
離鍵すると前述のオフ処理の手順に従い、オフチ
ヤンネルポインタ24が指定するチヤンネルレ
ジスタ24のC0にF音が書き込まれているキ
ーデータレジスタ24のアドレス番号「5」が
書き込まれる。t10時点でD#音が離鍵した時も
同様の手順でチヤンネルレジスタ24のC1
アドレス番号「3」が書き込まれる。t11時点で
A音を押鍵すると、前述のオン処理の手段に従い
チヤンネルレジスタ24のC0が指定するキー
データレジスタ24のアドレスD5にA音を書
き込む。その後t18時点までにG,F#,A,
E,C#,Cの各音の順に離鍵していくと、離し
た順にチヤンネルレジスタ24に並んでいき、
t18時点の欄に示すような配列となる。そしてま
た押鍵していくと先に離鍵した順に指定され書き
込まれる。 なお、オフチヤンネルポインタ24が示すチ
ヤンネルレジスタ24のON/OFF情報がオン
になつているときがオーバフローとなる。 このように、離鍵した後押鍵するとオンされた
鍵のキーデータは早く離鍵したチヤンネルに順番
に指定される。このことは音にエンベロープがか
かつている場合、早く離鍵したものほどエンベロ
ープが進んでおり、エンベロープが一番進んだと
ころに新しい押鍵データを書き込むこととなり、
発音数に制限があるデジタルオルガンにとつて好
適な方法となる。このように本発明の主眼点は押
鍵されたキーデータが一番早く離鍵されたチヤン
ネルが指定され書き込まれることである。 以上説明したように、本発明によれば、押鍵、
離鍵毎に1づつ増加するオン、オフチヤンネルポ
インタを設け、押鍵時オンチヤンネルポインタの
指定するチヤンネルレジスタを読み出し、対応す
るキーデータレジスタにキーデータを記憶し、離
鍵時も一致するキーデータが記憶されているキー
データレジスタのアドレスに対応するキーチヤン
ネルコードをオフチヤンネルポインタが指定する
チヤンネルレジスタに記憶させるだけでよい。こ
れにより、早く離鍵されたところに新しい押鍵デ
ータが入ることになり、構成が簡単で動作手順も
少ないから処理時間の速い経済的な鍵盤スイツチ
情報の割当方式が得られる。 なお、第1図および第4図の実施例は同時発音
数が8音であるが、第1図20のマイクロコンピ
ユータシステムのメモリに限定される範囲、つま
り第4図キーデータレジスタ24、チヤンネル
レジスタ24の数およびオンチヤンネルポイン
タ24、オフチヤンネルポインタ24のビツ
ト数を同時発音数に合せれば同じアルゴリズムで
同時発音数を容易に設定できる。要は鍵がオンさ
れた時オンチヤンネルポインタの指すチヤンネル
レジスタにヒツトされているチヤンネルのアドレ
ス番号によりキーデータレジスタを指定しキーデ
ータを記憶し、鍵がオフされた時はオフチヤンネ
ルポインタが指すチヤンネルポインタに今まで使
用していたチヤンネルのアドレス番号を記憶し、
そのチヤンネルは未使用であることを示すことで
あり、オフチヤンネルの値がオンチヤンネルの値
を追いかけてゆくことにより最も早くオンされた
チヤンネルを検出するように構成される。これに
より、従来の類似の方式に比し構成、手順とも簡
単に同時発音数の変更設定を容易に行なうことが
できる。
[Table] Processed as an overflow. When the F note is released at time t9 , the address number of the key data register 241 , where the F note is written in C0 of the channel register 242 specified by the off-channel pointer 243, is changed according to the above-mentioned off -processing procedure. 5" is written. When the D# note is released at time t10 , the address number "3" is written to C1 of the channel register 242 using the same procedure. When the A note is pressed at time t11 , the A note is written to the address D5 of the key data register 241 specified by C0 of the channel register 242 according to the above-described ON processing means. After that, by t 18 , G, F#, A,
As you release the keys in the order of E, C#, and C, they will be lined up in the channel register 242 in the order in which you released them.
The arrangement will be as shown in the column for t 18 . When the keys are pressed again, the keys are designated and written in the order in which the keys were released first. Note that an overflow occurs when the ON/OFF information of the channel register 242 indicated by the off-channel pointer 244 is on. In this way, the key data of the key that is turned on when the key is pressed after the key is released is sequentially designated to the channel from which the key was released earlier. This means that when an envelope is applied to a sound, the sooner you release the key, the more the envelope has advanced, and new key press data will be written at the point where the envelope has advanced the most.
This method is suitable for digital organs that have a limited number of sounds. As described above, the main point of the present invention is that the key data of a pressed key is specified and written to the channel in which the key was released earliest. As explained above, according to the present invention, key pressing,
An on-channel pointer and an off-channel pointer are provided that increase by 1 each time a key is released, and when a key is pressed, the channel register specified by the on-channel pointer is read out, the key data is stored in the corresponding key data register, and the key data that matches when the key is released is also set. It is only necessary to store the key channel code corresponding to the address of the key data register where the off-channel pointer is stored in the channel register specified by the off-channel pointer. As a result, new key press data is entered at the location where the key was released earlier, and an economical keyboard switch information allocation method with a simple configuration and fewer operating procedures is obtained, which requires less processing time. In the embodiments shown in FIGS. 1 and 4, the number of simultaneous sounds is 8, but the range limited to the memory of the microcomputer system 20 in FIG . By matching the number of registers 242 and the number of bits of on-channel pointer 244 and off-channel pointer 243 to the number of simultaneous sounds, the number of simultaneous sounds can be easily set using the same algorithm. In short, when the key is turned on, the key data register is specified by the address number of the channel hit in the channel register pointed to by the on-channel pointer, and the key data is stored, and when the key is turned off, the channel pointed to by the off-channel pointer is stored. Store the address number of the channel you have been using in the pointer,
The purpose is to indicate that the channel is unused, and the off-channel value follows the on-channel value to detect the channel that is turned on earliest. As a result, the number of simultaneous sounds can be changed and set more easily in terms of structure and procedure than in similar conventional systems.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例の構成を示す概略説明
図、第2図は実施例の要部の具体回路例、第3図
は実施例の要部の動作説明図、第4図は本発明の
要部の構成説明図、第5図a,bは第4図の動作
説明図であり、図中、10は鍵盤回路、11は上
鍵、12は下鍵、20はアサイナ、21は情報処
理装置(CPU)、22はCPUクロツク発生器、2
3はプログラム、24はアサインメントメモリ、
24はキーデータレジスタ、24はチヤンネ
ルレジスタ、24はオフチヤンネルポインタ、
24はオンチヤンネルポインタ、25はイベン
トメモリ、31は楽音エンベロープ発生器、32
は楽音周波数発生器、33は楽音波形発生器を示
す。
FIG. 1 is a schematic explanatory diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a specific circuit example of the main part of the embodiment, FIG. 3 is an explanatory diagram of the operation of the main part of the embodiment, and FIG. 5a and 5b are explanatory diagrams of the structure of the main parts of the invention, and FIGS. 5a and 5b are explanatory diagrams of the operation of FIG. Information processing unit (CPU), 22 is a CPU clock generator, 2
3 is the program, 24 is the assignment memory,
24 1 is a key data register, 24 2 is a channel register, 24 3 is an off-channel pointer,
24 4 is an on-channel pointer, 25 is an event memory, 31 is a musical tone envelope generator, 32
3 is a musical tone frequency generator, and 33 is a musical waveform generator.

Claims (1)

【特許請求の範囲】 1 鍵盤の各キースイツチのオン、オフを検出
し、同時最大発音数だけのチヤンネル領域を有し
上記キー情報を記憶するキーデータレジスタ24
と、 押鍵時または離鍵時に前記キーデータレジスタ
24のチヤンネル領域をアドレス指定し、かつ
該チヤンネルが発音状態であるか否かを符号で示
すチヤンネルレジスタ24と、 押鍵時前記チヤンネルレジスタ24を指定し
チヤンネル数に達するとリセツトするオンチヤン
ネル指定手段24と、 該オンチヤンネル指定手段24と初期値を同
じくし、離鍵時前記チヤンネルレジスタ24
指定しチヤンネル数に達するとリセツトするオフ
チヤンネル指定手段24と、 を具え、 押鍵時オンチヤンネル指定手段24によつて
指定されるチヤンネルレジスタ24のキーチヤ
ンネルコードをアドレスとするキーデータをキー
データレジスタ24の指定チヤンネル領域に記
憶させ、前記オンチヤンネル指定手段24の値
を1つ増加させるようにし、 離鍵時キーデータレジスタ24に記憶された
キーデータから離鍵されたキーデータと同一音名
を探索し、オフチヤンネル指定手段24によつ
て指定されるチヤンネルレジスタ24に、前記
キーデータレジスタ24の探索されたキーデー
タに対応するキーチヤンネルコードとキーオフ情
報を記憶し、オフチヤンネル指定手段24の値
を1つ増加させるようにし、 該オフチヤンネル指定手段24の値が1つ増
加することにより、離鍵されたキーチヤンネルコ
ードを前記チヤンネルレジスタ24に古い順に
記憶させ、 押鍵時には前記オンチヤンネル指定手段24
の値が1つ増加することにより、前記チヤンネル
レジスタ24に記憶されているキーチヤンネル
コードを古い順に指定することを特徴とする鍵盤
スイツチ情報割当方式。
[Claims] 1. A key data register 24 that detects the on/off state of each key switch on the keyboard, has a channel area equal to the maximum number of simultaneous polyphonic sounds, and stores the above key information.
1 , a channel register 242 that addresses the channel area of the key data register 241 when a key is pressed or released, and indicates by a code whether or not the channel is in a sounding state; On-channel specifying means 244 which specifies the register 242 and resets when the number of channels is reached; and an on-channel specifying means 244 which has the same initial value as the on-channel specifying means 244 and specifies the channel register 242 when the key is released and resets when the number of channels is reached. Then, the key data register 241 is provided with an off-channel specifying means 243 for resetting, and key data whose address is the key channel code of the channel register 242 specified by the on-channel specifying means 244 when a key is pressed . The value of the on-channel specifying means 244 is incremented by one, and the key data stored in the key data register 241 when the key is released has the same pitch name as the key data when the key is released. The key channel code and key-off information corresponding to the searched key data of the key data register 241 are stored in the channel register 242 specified by the off-channel specifying means 243 , and the off-channel specifying means By increasing the value of the off-channel specifying means 243 by one, the released key channel codes are stored in the channel register 242 in chronological order , and the keys are pressed. Sometimes the on-channel designation means 24 4
A keyboard switch information assignment method characterized in that the key channel codes stored in the channel register 242 are designated in order of oldest key channel codes by increasing the value of .
JP13819679A 1979-10-25 1979-10-25 Keyboard switch data allocation system Granted JPS5662298A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13819679A JPS5662298A (en) 1979-10-25 1979-10-25 Keyboard switch data allocation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13819679A JPS5662298A (en) 1979-10-25 1979-10-25 Keyboard switch data allocation system

Publications (2)

Publication Number Publication Date
JPS5662298A JPS5662298A (en) 1981-05-28
JPS6233593B2 true JPS6233593B2 (en) 1987-07-21

Family

ID=15216321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13819679A Granted JPS5662298A (en) 1979-10-25 1979-10-25 Keyboard switch data allocation system

Country Status (1)

Country Link
JP (1) JPS5662298A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570520A (en) * 1984-03-19 1986-02-18 Kawai Musical Instruments Mfg. Co., Ltd. Tone generator assignment in a keyboard electronic musical instrument

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5922238B2 (en) * 1974-08-14 1984-05-25 ヤマハ株式会社 key assigner
JPS6033280B2 (en) * 1978-02-13 1985-08-01 ヤマハ株式会社 electronic musical instruments

Also Published As

Publication number Publication date
JPS5662298A (en) 1981-05-28

Similar Documents

Publication Publication Date Title
US5847302A (en) Tone information processing device for an electronic musical instrument for generating sounds
JPS6326399B2 (en)
JPH07261762A (en) Automatic accompaniment information generator
JPH079586B2 (en) Automatic musical instrument accompaniment device
JP2641605B2 (en) Electronic musical instrument channel assignment device and channel assignment method
US5315059A (en) Channel assigning system for electronic musical instrument
JPS6222157B2 (en)
JPS6233593B2 (en)
JPS6222158B2 (en)
JPS5994793A (en) Automatically accompanying apparatus for electronic musical instrument
GB2091470A (en) Electronic Musical Instrument
JPS6227716B2 (en)
JP2701177B2 (en) Tone generator
JPH0266597A (en) Musical sound composition system
JPH02173698A (en) Electronic musical instrument
JPH0659669A (en) Musical sound generator
JPH0675237B2 (en) Electronic musical instrument key assigner
JPS6030789Y2 (en) polyphonic synthesizer
JPS6227715B2 (en)
JP2565152B2 (en) Automatic accompaniment device
JP2660447B2 (en) Electronic musical instrument
JP3057721B2 (en) Electronic musical instrument
JP4124433B2 (en) Electronic musical instrument with digital sound source
JP4124434B2 (en) Electronic musical instrument with digital sound source
JPS6042797A (en) Electronic musical instrument