JP3969019B2 - Keyboard playing device and keyboard playing processing program - Google Patents

Keyboard playing device and keyboard playing processing program Download PDF

Info

Publication number
JP3969019B2
JP3969019B2 JP2001179943A JP2001179943A JP3969019B2 JP 3969019 B2 JP3969019 B2 JP 3969019B2 JP 2001179943 A JP2001179943 A JP 2001179943A JP 2001179943 A JP2001179943 A JP 2001179943A JP 3969019 B2 JP3969019 B2 JP 3969019B2
Authority
JP
Japan
Prior art keywords
data
pitch
black key
transposition amount
key number
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 - Fee Related
Application number
JP2001179943A
Other languages
Japanese (ja)
Other versions
JP2002372971A (en
Inventor
達也 出嶌
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2001179943A priority Critical patent/JP3969019B2/en
Publication of JP2002372971A publication Critical patent/JP2002372971A/en
Application granted granted Critical
Publication of JP3969019B2 publication Critical patent/JP3969019B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、鍵盤演奏装置及び鍵盤演奏処理のプログラムに関する。
【0002】
【従来の技術】
電子鍵盤楽器の中には、鍵盤の各鍵にLED(発光ダイオード)を設け、曲データROM等に記憶されている複数種類の曲の中から、演奏者が選択した曲について押鍵すべき鍵に対応するLEDを点灯させて、押鍵をガイドする機能を具備した鍵盤演奏装置がある。このようなガイド機能を用いることにより、楽譜を見ただけでは演奏できない初心者でも曲の演奏が可能になる。ところが、記憶された複数種類の曲の中でも黒鍵演奏の多い曲については、LEDを点灯させて押鍵をガイドしても初心者にとっては容易に演奏することは困難である。このため、白鍵だけで演奏できるように、原曲の音高データに修正を加えて曲データROM等に記憶することが行われていた。
【0003】
【発明が解決しようとする課題】
しかしながら、原曲の音高データに修正を加えて記憶する従来の鍵盤演奏装置においては、原曲の優れた芸術性や美しい旋律が失われるばかりでなく、いつかは原曲を演奏できるようになりたいというユーザの願望を満たすことはできなかった。
【0004】
本発明の課題は、原曲の優れた芸術性や美しい旋律を維持するとともに、演奏の未熟な初心者でも難易度の高い原曲を容易に演奏できるようにガイドすることである。
【0005】
【課題を解決するための手段】
請求項1に記載の鍵盤演奏装置は原曲を記憶する第1の記憶手段と、
この第1の記憶手段に記憶された原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に移調量毎の音高データ群における黒鍵に対応する音高数をカウントする計数手段と、この計数手段でカウントされた移調量毎の黒鍵に対応する音高数に基づき移調量毎の黒鍵数データを作成して当該データを黒鍵に対応する音高数が少ない順から配列するデータ配列手段と、外部操作可能な操作子と、第2の記憶手段と、前記操作子が操作される毎に、前記データ配列手段により配列された前記移調量毎の黒鍵数データを配列順に選択し、最後に選択された黒鍵数データに対応する移調量を前記第2の記憶手段に記憶させる移調量選択手段と、自動演奏が開始されたときは前記第1の記憶手段から原曲の音高データを読み出すとともに、当該読み出された音高データを前記第2の記憶手段に記憶された移調量だけ移調させて出力する曲データ出力手段とを有する構成になっている。
【0006】
請求項6に記載のプログラムはコンピュータに、第1の記憶手段に記憶された原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に各移調量毎の音高データ群における黒鍵に対応する音高数をカウントするステップと、このカウントされた移調量毎の黒鍵に対応する音高数に基づいて移調量毎の黒鍵数データを作成して当該データを黒鍵に対応する音高数が少ない順から配列するステップと外部操作可能な操作子が操作される毎に、前記配列するステップにより配列された前記移調量毎の黒鍵数データを配列順に選択し、最後に選択された黒鍵数データに対応する移調量を第2の記憶手段に記憶させるステップと、自動演奏が開始されたときは前記第1の記憶手段から原曲の音高データを読み出すとともに、当該読み出された音高データを前記第2の記憶手段に記憶された移調量だけ移調させて出力するステップとを実行する。
【0007】
請求項1又は請求項4に記載の発明によれば、原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に、各移調量毎の音高データ群における黒鍵に対応する音高数が少ない順に配列して移調量毎の黒鍵数データを作成し、特定の黒鍵数データが選択された場合にはその選択された黒鍵数データに対応する移調量だけ原曲の音高データを移調させて出力する。
【0008】
【発明の実施の形態】
以下、本発明による鍵盤演奏装置としての電子鍵盤楽器の実施形態について図を参照して説明する。
図1は、実施形態における電子鍵盤楽器の構成を示すブロック図である。図において、CPU1は、システムバス2を介してROM3、RAM4、曲データROM5、スイッチ部6、鍵盤部7、ガイドLED群駆動部8、音源部9に接続され、これらの各部との間でコマンド及びデータの授受を行い、制御プログラムにしたがってこの電子鍵盤楽器を制御する。
【0009】
ROM3には、CPU1によって実行される制御プログラムや初期データ等が格納されている。RAM4はCPU1のワークエリアであり、図2(1)に示すように、トランスポーズエリア、最高設定音高エリア、最低設定音高エリアが設けられている。また、CPU1が制御プログラムを実行するために必要な各種のレジスタ、フラグ、ポインタのエリアがRAM4に設けられている。各エリアのデータについては後述する。図2(2)は、図2(1)のトランスポーズエリアにおけるトランスポーズ量(移調量)毎の黒鍵数等からなるデータ(これを「黒鍵数データ」という)である。これについてはさらに詳述する。
【0010】
図1の曲データROM5には、図3に示すように、複数種類の原曲の曲データが記憶されている。各曲データはイベントデータ及び時間データからなるシーケンスデータで構成されている。また、各イベントデータは発音イベントであるノートオンイベント、音高データ、及びベロシティデータ、又は消音イベントであるノートオフイベント、音高データ、及び値が「0」のベロシティデータで構成されている。その他、イベントデータの中にはコントロールチェンジ等の制御イベントがあるが、本発明には特に関係しないので説明は省略する。
【0011】
図1のスイッチ部6は、複数のスイッチ群で構成され、曲データROM5に記憶されている複数の曲の中から1つの曲を選択する曲選択スイッチ、曲データROM5に記憶されている原曲のトランスポーズ(移調)を検出する際のレッスンスイッチ、曲教習を開始又は停止するスタートスイッチ、原曲の曲データをトランスポーズした複数種類のトランスポーズデータを演奏者に提示するための「おすすめ」スイッチ(これについては後述する)等が設けられている。
【0012】
鍵盤部7は複数の白鍵及び複数の黒鍵で構成され、演奏に応じて音高データやベロシティデータ等からなる演奏データをCPU1に入力する。また、各鍵の下には演奏ガイド用の発光手段であるLEDが設けられている。ガイドLED群駆動部8はCPU1からの点灯コマンド又は消灯コマンド及び鍵番号のデータに応じて、対応するLEDを点灯又は消灯する。
音源部9はCPU1からの音高データ等からなる楽音データ及び発音コマンドに応じて発音回路10に楽音波形信号を送出し、CPU1からの音高データ及び消音コマンドに応じて発音回路10に送出している楽音波形信号を停止する。
【0013】
次に、図1の電子鍵盤楽器における鍵盤演奏処理の動作について、図4〜図16のフローチャートを参照して説明する。
図4はメインフローであり、所定のイニシャライズ(ステップA1)の後、曲選択処理(ステップA2)、トランスポーズ検出処理(ステップA3)、トランスポーズ選択処理(ステップA4)、最高最低音高設定処理(ステップA5)、鍵盤処理(ステップA6)、ガイド処理(ステップA7)、その他の処理(ステップA8)を繰り返し実行する。
【0014】
図5は、メインフローにおける曲選択処理のフローであり、曲選択スイッチ及び曲番号を示すテンキースイッチが操作されたか否かを判別し(ステップB1)、操作されたときはレジスタNに曲番号をストアする(ステップB2)。次にNの曲番号で示す曲(N)の先頭データのアドレスにポインタを設定する(ステップB3)。そして、トランスポーズ(移調)用のレジスタKEYに「0(トランスポーズ量がゼロ)」をセットする(ステップB4)。また、図2(1)のトランスポーズエリアをクリアする(ステップB5)。具体的には、図2(2)に示すトランスポーズエリア内の黒鍵数、最高音高、最低音高の各エリアをクリアする。そして、図4のメインフローに戻る。
【0015】
図6〜図10は、メインフローにおけるトランスポーズ検出処理のフローである。図6において、レッスンスイッチがオンされたか否かを判別し(ステップC1)、オンされない場合にはこのフローを終了するが、オンされたときはフラグTEFが「0」であるか否かを判別する(ステップC2)。TEFは選択された曲データのトランスポーズ検出が完了したときに「1」にセットされるフラグである。したがって、TEFがすでに「1」である場合には、このフローを終了してメインフローに戻る。
【0016】
TEFが「0」である場合には、図2(2)のトランスポーズエリアのアドレスを指定するポインタnに「0」をセットし、半音単位のトランスポーズ量(移調量)を指定するポインタmに「−11」をセットする(ステップC3)。すなわち、原曲の曲データの音高を「11半音」だけ低い方にトランスポーズする。例えば、B4の音高をC4の音高にトランスポーズする。
次に、検出した黒鍵数をストアするレジスタBLKに「0」をストアし、検出した最高音高をストアするレジスタMAXに「−11」をストアし、最低音高をストアするレジスタMINに「138」をストアする(ステップC4)。なお、音高は「0」から「127」までの数値で表され、半音単位を「1」とする。次に、選択された曲(N)のポインタが示すデータはノートオンイベントであるか否かを判別する(ステップC5)。ノートオンイベントである場合には、レジスタPITCHにそのノートオンイベントの音高をストアする(ステップC6)。そして、PITCHの音高にmの値を加算する(ステップC7)。すなわち、PITCHにストアされた原曲の音高をmの値(最初は−11)だけトランスポーズする。
【0017】
次に、PITCHにストアされた音高がMAXにストアされた音高(最初は「−11」)以上であるか否かを判別する(ステップC8)。PITCHにストアされた音高がMAXにストアされた音高以上である場合には、PITCHの音高を現在の最高音高としてMAXにストアする(ステップC9)。PITCHにストアされた音高がMAXにストアされた音高よりも低い場合には、PITCHにストアされた音高がMINにストアされた音高(最初は「138」)以下であるか否かを判別する(ステップC10)。PITCHにストアされた音高がMINにストアされた音高以下である場合には、PITCHの音高を現在の最低音高としてMINにストアする(ステップC11)。
【0018】
次に、PITCHにストアした音高を「12」で除算して、その余りの数値をレジスタODDにストアする(ステップC12)。次に図7のステップC13において、ODDにストアした数値が「1」、「3」、「6」、「8」又は「10」のいずれかの値であるか否かを判別する。1オクターブは12の音高で構成され、白鍵に対応するCの音高(ハ長調の「ド」の音高)は12の倍数で表されるので、ODDにストアした数値が上記のいずれかの値である場合には、PITCHにストアした音高は「C#」、「D#」、「F#」、「G#」又は「A#」であり、黒鍵に対応する音高ということになる。したがって、黒鍵数をストアするBLKの値に「1」を加算する(ステップC14)。
【0019】
BLKの値に「1」を加算した後、又はステップC13においてODDにストアした数値が上記のいずれの値でもない場合、すなわちPITCHにストアした音高が白鍵に対応する音高である場合には、曲(N)のデータのアドレスを指定するポインタをインクリメントして、次のアドレスのデータを指定する(ステップC15)。そして、インクリメントしたポインタで指定するアドレスにはデータなしか否かを判別する(ステップC16)。データがある場合には、図6のステップC5に移行して、ステップC16までのループを繰り返す。すなわち、曲(N)のデータがある限りこのループを繰り返して、原曲の音高データをmの値だけトランスポーズしたすべての音高データにおいて、黒鍵に対応する音高数、最高音高及び最低音高を検出する。
【0020】
ステップC16においてポインタで指定するアドレスにデータがない場合には、図2(2)に示したトランスポーズエリアのKEY(0,n)のエリアにmの値をストアし(ステップC17)、黒鍵数(1、n)のエリアにBLKの値をストアし(ステップC18)、最高音高(2,n)のエリアにMAXの音高をストアし(ステップC19)、最低音高(3,n)のエリアにMINの音高をストアする(ステップC20)。すなわち、mの値であるトランスポーズ量に対応する黒鍵数データを作成する。
次に、nの値をインクリメントしてトランスポーズエリアの次のアドレスを指定すると共に、mの値をインクリメントしてトランスポーズ量を半音だけ高い側に設定する(ステップC21)。そして、nの値が「22」を超えたか否かを判別する(ステップC22)。すなわち、トランスポーズエリアのすべてのエリアへのデータのストアが完了したか否かを判別する。
nの値が「22」以下である場合、すなわちトランスポーズエリアにストアすべきエリアが残っている場合には、図6のステップC4に移行して、図7のステップC22までのループを繰り返し、トランスポーズ量を順に半音だけ高い側に設定した場合の黒鍵数、最高音高及び最低音高を検出する。
【0021】
ステップC22においてnの値が「22」を超えた場合には、図2(2)に示すように、トランスポーズ量を「−11」から「11」まで変化させた場合の黒鍵数、最高音高及び最低音高のデータがストアされる。すなわち、トランスポーズ量毎の黒鍵数データが作成される。
この場合には、図8のステップC23に移行して、トランスポーズエリアの配列を黒鍵数(1,n)の小さい順に並べ変える。次に、ポインタnを「0」に戻して(ステップC24)、nの値をインクリメントしながら、以下のループを繰り返し実行する。
すなわち、トランスポーズエリアの最高音高(2,n)の音高が予め設定してレジスタmaxにストアした最高音高以下であるか否かを判別し(ステップC25)、トランスポーズエリアの最低音高(3,n)の音高が予め設定してレジスタminにストアした最低音高以上であるか否かを判別する(ステップC26)。トランスポーズエリアの最高音高(2,n)の音高が予め設定した最高音高より高い場合、又はトランスポーズエリアの最低音高(3,n)の音高が予め設定した最低音高より低い場合には、トランスポーズエリアの(0、n)〜(3,n)にストアしたトランスポーズ量、黒鍵数、最高音高及び最低音高の各データを削除する(ステップC27)。
すなわち、トランスポーズ量毎の音高データ群のうち予め設定された最高音高及び最低音高の範囲から外れた音域に音高を有する音高データ群に基づく黒鍵数データを除外する。
【0022】
ステップC25においてトランスポーズエリアの最高音高(2,n)の音高が予め設定した最高音高以下で、かつ、ステップC26においてトランスポーズエリアの最低音高(3,n)の音高が予め設定した最低音高以上である場合、又はステップC27においてトランスポーズエリアのデータを削除した後は、nの値をインクリメントして、トランスポーズエリアの次のアドレスを指定する(ステップC28)。そして、インクリメントしたnの値が「22」を超えたか否かを判別する(ステップC29)。
すなわち、トランスポーズエリアのすべてにおいて、予め設定された最高音高及び最低音高の範囲から外れた音域に音高を有する種類のトランスポーズデータの有無を検出する処理が完了したか否かを判別する。nの値が「22」以下である場合には、ステップC25〜ステップC29のループを繰り返す。
【0023】
nの値が「22」を超えた場合には、nの値を「0」に戻して(ステップC30)、図9のフローのステップC31に移行して、nで指定したトランスポーズデータと他のトランスポーズデータとを比較するするためのオフセット用のポインタkを「1」にセットする。そして、nで指定するトランスポーズエリアの(0,n)〜(3,n)エリアにデータがあるか否かを判別する(ステップC32)。図8のステップC27の処理で(0,n)〜(3,n)エリアのデータが削除されていない場合にはそのエリアにデータが存在する。
データがある場合には、nの値とkの値とを加算した値が「22」以下であるか否かを判別する(ステップC33)。すなわち、nの値にオフセット値であるkの値を加算した値で示されるアドレスのエリアがトランスポーズエリア内に存在するか否かを判別する。加算した値が「22」以下である場合には、トランスポーズエリアの(0,n+k)〜(3,n+k)エリアにデータがあるか否かを判別する(ステップC34)。データがある場合には、トランスポーズエリアの(1,n)にストアされた黒鍵数とトランスポーズエリアの(1,n+k)にストアされた黒鍵数とが同一であるか否かを判別する(ステップC35)。
【0024】
両エリアの黒鍵数が同じである場合には、トランスポーズエリアの(0,n)の絶対値がトランスポーズエリアの(0,n+k)の絶対値より小さいか否かを判別する(ステップC36)。すなわち、nで指定したトランスポーズエリアのトランスポーズ量の絶対値がn+kで指定したトランスポーズエリアのトランスポーズ量の絶対値より小さいか否かを判別する。(0,n)の絶対値が(0,n+k)の絶対値より小さい場合には、nで指定したトランスポーズエリアの音高データの方がより原曲の音高データに近いことになる。この場合には、トランスポーズエリアの(0,n+k)〜(3,n+k)のデータを削除する(ステップC37)。
すなわち、作成したトランスポーズ量毎の黒鍵数データにおいて黒鍵に対応する音高数が同一の黒鍵数データが2系統以上ある場合には、原音の音高からのトランスポーズ量がより大きい黒鍵数データを除外する。
【0025】
(0,n)の絶対値が(0,n+k)の絶対値より小さくない場合には、(0,n)の絶対値と(0,n+k)の絶対値とが等しいか否かを判別する(ステップC38)。これらが等しい場合には、(0,n)のデータが負であるか否かを判別する(ステップC39)。(0,n)のデータが負である場合、すなわちnで指定したトランスポーズエリアの音高データが原曲の音高データよりも負の方向(低音域の方向)にトランスポーズされている場合には、トランスポーズエリアの(0,n)〜(3,n)のデータを削除する(ステップC40)。ステップC39において(0,n)のデータが負でなく、nで指定したトランスポーズエリアの音高データが原曲の音高データよりも正の方向(高音域の方向)にトランスポーズされている場合には、ステップC37においてトランスポーズエリアの(0,n+k)〜(3,n+k)のデータを削除する。
【0026】
すなわち、作成したトランスポーズ量毎の黒鍵数データにおいて黒鍵に対応する音高数が同一の黒鍵数データが2系統ある場合に、その2系統の黒鍵数データにおける原音の音高からのトランスポーズ量が等しい場合には、トランスポーズ方向が低音方向の黒鍵数データを除外する。高音方向にトランスポーズした方がより明快な音になるからである。ただし、演奏者の選択等に応じて、トランスポーズ方向が高音方向の黒鍵数データを除外する構成にしてもよい。
【0027】
ステップC37においてn+kで指定したトランスポーズエリアのデータを削除した後、若しくはステップC39において(0,n)のデータが負でない場合、又は、ステップC34においてトランスポーズエリアの(0,n+k)〜(3,n+k)のデータがない場合、若しくはステップC35においてトランスポーズエリアの(1,n)にストアされた黒鍵数とトランスポーズエリアの(1,n+k)にストアされた黒鍵数とが異なる場合には、ポインタkの値をインクリメントする(ステップC41)。そして、ステップC33に移行してn+kの値が「22」以下であるか否かを判別する。「22」以下である場合にはステップC41までのループを繰り返す。
【0028】
ステップC32においてトランスポーズエリアに(0,n)〜(3,n)のデータがない場合、又はステップC33においてn+kの値が「22」を超えている場合には、nの値をインクリメントしてトランスポーズエリアにおける次のアドレスのデータを指定する(ステップC42)。このときnの値が「22」を超えたか否かを判別し(ステップC43)、超えていない場合にはステップC31に移行してkの値を「1」に戻し、ステップC43までのループを繰り返す。nの値が「22」を超えた場合、すなわち原曲の音高データをトランスポーズした演奏候補となるデータの検出が完了した場合には、フラグTEFに「1」をセットして(ステップC44)、nの値を「0」に戻す(ステップC45)。そして、このフローを終了してメインフローに戻る。
【0029】
図10及び図11は、メインフローにおけるトランスポーズ選択処理のフローである。図10において、おすすめスイッチがオンされたか否かを判別する(ステップD1)。おすすめスイッチは、上記したトランスポーズ検出処理によってトランスポーズエリアにストアされた演奏候補のデータを演奏者に提示するためのスイッチである。このスイッチがオンでない場合にはこのフローを終了するが、このスイッチがオンされたときは、点灯している鍵のLEDをすべて消灯する(ステップD2)。そして、TEFが「1」であるか否かを判別する(ステップD3)。TEFが「0」である場合には、まだトランスポーズ検出処理が完了していないので、このフローを終了する。
【0030】
TEFが「1」である場合には、トランスポーズエリアにおいてポインタn(最初は図9のステップC45において「0」にセットされている)で指定するアドレスのエリア(0,n)にデータがあるか否かを判別する(ステップD4)。その指定したエリアにデータがない場合にはnの値をインクリメントして次のアドレスのエリアを指定する(ステップD5)。nで指定するアドレスのエリア(0,n)にデータがある場合には、エリア(0,n)にストアされているトランスポーズ量のデータをレジスタKEYにストアし(ステップD6)、エリア(1,n)にストアされている黒鍵数のデータをレジスタBLKにストアする(ステップD7)。
【0031】
次に、BLKにストアされた黒鍵数のデータに応じて所定の1オクターブの範囲(例えば、C4〜B4)における鍵の点灯パターンを変化させる。
すなわち、BLKにストアされた黒鍵数が「3」以下であるか否かを判別し(ステップD8)、「3」以下である場合にはC#の鍵のLEDを点灯させる(ステップD9)。
BLKにストアされた黒鍵数が「3」を超えている場合には、黒鍵数が「4」〜「10」の範囲内であるか否かを判別し(ステップD10)、この範囲内である場合にはC#,D#の鍵のLEDを点灯させる(ステップD11)。
BLKにストアされた黒鍵数が「10」を超えている場合には、黒鍵数が「11」〜「30」の範囲内であるか否かを判別し(ステップD12)、この範囲内である場合にはC#,D#,G#の鍵のLEDを点灯させる(ステップD13)。
BLKにストアされた黒鍵数が「30」を超えている場合には、図11のフローのステップD14において黒鍵数が「31」〜「50」の範囲内であるか否かを判別し、この範囲内である場合にはC#,D#,G#,A#の鍵のLEDを点灯させる(ステップD15)。
BLKにストアされた黒鍵数が「50」を超えている場合には、C#,D#,G#,A#,B#の鍵のLEDを点灯させる(ステップD16)。
【0032】
いずれかのパターンでLEDを点灯させた後は、nの値をインクリメントしてトランスポーズエリアの次のアドレスを指定する(ステップD17)。このとき、nの値が「22」を超えたか否かを判別する(ステップD18)。「22」を超えている場合には、nの値を「0」に戻す(ステップD19)。nの値が「22」以下である場合又はnの値を「0」に戻した場合は、レッスンスイッチがオンされたか否かを判別する(ステップD20)。このスイッチがオンでない場合は、図10のステップD1に移行して上記した処理を繰り返す。
すなわち、おすすめスイッチを操作する毎に、黒鍵数が少ない方から順に演奏のトランスポーズデータを提示すると共に、黒鍵数に応じて鍵の点灯パターンを変化させる。
ステップD20においてレッスンスイッチがオンされたときは、TEFに「0」をセットして(ステップD21)、メインフローに戻る。
【0033】
図12は、メインフローにおける最高最低設定処理のフローである。テンキースイッチ等により最高音高の入力がされたか否かを判別し(ステップE1)、入力されたときはその最高音高のデータをレジスタmaxにストアする(ステップE2)。同様に、最低音高の入力がされたか否かを判別し(ステップE3)、入力されたときはその最低音高のデータをレジスタminにストアする(ステップE4)。そして、メインフローに戻る。
【0034】
図13及び図14は、メインフローにおけるガイド処理のフローである。まず図13においてスタートスイッチがオンされたか否かを判別する(ステップG1)。このスイッチがオンされたときはフラグSTFを反転する(ステップG2)。そしてSTFの値が「1(演奏ガイド)」であるか否かを判別する(ステップG3)。STFの値が「0(演奏ガイド停止)」である場合には、点灯している全ての鍵のLEDを消灯して(ステップG4)、このフローを終了する。
【0035】
STFが「1」である場合には、レジスタNにストアされた番号で選択した曲(N)における最初のアドレスのデータを読出し(ステップG5)、読出したデータの種類がイベントデータであるかタイムデータであるか判別する(ステップG6)。タイムデータである場合には、次のイベントデータまでの待ち時間であるので、タイマーをスタートしてこのフローを終了する。
読出したデータの種類がイベントデータである場合には、さらにそのイベントがノートオンであるか否かを判別する(ステップG8)。このイベントは曲の最初のイベントデータであるのでノートオフはあり得ず、ノートオンかコントロールチェンジ等の制御イベントである。
ノートオンである場合には、そのイベントのノートデータをLED点灯用のレジスタLIGHTにストアする(ステップG9)。さらに、LIGHTにストアしたノートデータの数値にKEYにストアされたトランスポーズ量の数値を加算する(ステップG10)。そして、LIGHTの数値に対応する鍵番号の鍵を点灯する(ステップG11)。すなわち、原曲の音高をトランスポーズした音高の鍵を点灯させて演奏ガイドを行う。
この後、次のデータの読出しを行い(ステップG12)、ステップG6に移行してそのデータの種類を判別する。ステップG8においてイベントデータがノートオンでない場合には、そのイベントに対応した処理を行って(ステップG13)、ステップG12に移行して次のデータの読出しを行う。
【0036】
ステップG1においてスタートスイッチがオンでない場合には、図14のステップG14に移行して、STFが「1」になっているか否かを判別する。STFが「1」である場合すなわち演奏ガイドが開始している場合には、タイマインタラプト等によって一定時間が経過したか否かを判別する(ステップG15)。STFが「0」である場合、又は一定時間が経過していない場合には、このフローを終了する。
一定時間が経過した場合には、タイムデータの値をデクリメントする(ステップG16)。そして、タイムデータの値がゼロに達したか否かを判別する(ステップG17)。すなわち、タイムデータの次のアドレスにおけるイベントデータの処理開始時間に達したか否かを判別する。タイムデータの値がゼロに達していない場合にはこのフローを終了するが、ゼロに達したときは次のアドレスにデータがあるか否かを判別する(ステップG18)。
【0037】
次のデータがある場合には、そのデータを読出し(ステップG21)、読出したデータの種類を判別する(ステップG22)。そのデータがタイムデータである場合にはタイマーをスタートして(ステップG23)、このフローを終了する。読出したデータがイベントデータである場合には、そのイベントデータの種類を判別する(ステップG24)。イベントデータがノートオンである場合には、そのイベントのノートデータをLED点灯用のレジスタLIGHTにストアする(ステップG25)。さらに、LIGHTにストアしたノートデータの数値にKEYにストアされたトランスポーズ量の数値を加算する(ステップG26)。そして、LIGHTの数値に対応する鍵番号の鍵を点灯する(ステップG27)。すなわち、原曲の音高をトランスポーズした音高の鍵を点灯させて演奏ガイドを行う。
【0038】
イベントデータがノートオフである場合には、そのイベントのノートデータをLED点灯用のレジスタLIGHTにストアする(ステップG28)。さらに、LIGHTにストアしたノートデータの数値にKEYにストアされたトランスポーズ量の数値を加算する(ステップG29)。そして、LIGHTの数値に対応する鍵番号の鍵を消灯する(ステップG30)。
イベントデータがノートオン及びノートオフ以外のその他のイベントである場合には、そのイベントに対応したその他の処理を行う(ステップG31)。
【0039】
ステップG27において鍵を点灯した後、ステップG30において鍵を消灯した後、又はステップ31においてその他の処理を行った後は、ステップG18に移行して次のアドレスにデータがあるか否かを判別する。そして、次のアドレスにデータがある限り、そのデータに対応する処理を繰り返す。
ステップG18において次のアドレスにデータがない場合には、STFに「0(演奏ガイド停止)」をセットして(ステップG19)、点灯している全ての鍵のLEDを消灯して(ステップG20)、このフローを終了してメインフローに戻る。
【0040】
図15は、メインフローにおける鍵盤処理のフローである。まず、鍵走査を行って(ステップF1)、鍵変化があるか否かを判別する(ステップF2)。鍵変化がない場合にはこのフローを終了するが、鍵変化があったときはその変化が押鍵(オン)であるか離鍵(オフ)であるかを判別する。押鍵である場合には、その鍵番号すなわちノート番号をレジスタNOTEにストアする(ステップF3)。また、押鍵によるベロシティデータをレジスタVELにストアする(ステップF4)。次に、NOTEの音高データからKEYのトランスポーズ量を減算して(ステップF5)、その減算したNOTEの音高データに基づいてノートオンイベントを作成し(ステップF6)、音源に送付する(ステップF7)。すなわち、演奏用にトランスポーズされて演奏ガイドに従って押鍵された音高を再び原曲の音高に修正して音源に送付して発音させる。
なお、この場合において、押鍵された音高を修正することなくそのまま音源に送付してもよい。また、押鍵された音高を修正するかそのまま音源に送付するかを演奏者の操作に応じて選択してもよい。
【0041】
ステップF2において、鍵変化が離鍵である場合には、その鍵番号すなわちノート番号をレジスタNOTEにストアする(ステップF8)。次に、NOTEの音高データからKEYのトランスポーズ量を減算して(ステップF9)、その減算したNOTEの音高データに基づいてノートオフイベントを作成し(ステップF10)、消音のために音源に送付する(ステップF7)。
【0042】
このように、上記実施形態によれば、原曲の音高データ群を半音単位でトランスポーズ(移調)させてトランスポーズ量毎の音高データ群を作成した場合に、各トランスポーズ量(移調量)毎の音高データ群における黒鍵に対応する音高数が少ない順に配列してトランスポーズ量毎の黒鍵数データを作成し、特定の黒鍵数データが選択された場合にはその選択された黒鍵数データに対応するトランスポーズ量だけ原曲の音高データをトランスポーズさせて出力するので、原曲の優れた芸術性や美しい旋律を維持するとともに、演奏の未熟な初心者でも難易度の高い原曲を容易に演奏できるようにガイドすることができる。
【0043】
なお、上記実施形態においては、鍵盤演奏装置の発明について説明したが、上記フローチャートに示されるように、鍵盤演奏処理のプログラムの発明としても成立する。
すなわち、本発明による鍵盤演奏処理のプログラムは、第1の記憶手段(実施形態においては、図1の曲データROM5に相当する)に記憶された原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に各移調量毎の音高データ群における黒鍵に対応する音高数をカウントするステップと、カウントされた黒鍵に対応する音高数が少ない順に配列して移調量毎の黒鍵数データ(実施形態においては、図2(2)のトランスポーズエリアのデータに相当する)を作成するステップと、移調量毎の黒鍵数データの中から選択操作によって特定の黒鍵数データが選択された場合にはその選択された黒鍵数データに対応する移調量を第2の記憶手段(実施形態においては、図1のRAMに相当する)に記憶させるステップと、操作に応じて演奏が開始されたときは選択されて第1の記憶手段から読み出された原曲の音高データを第2の記憶手段に記憶された移調量だけ移調させて出力するステップとを実行する。
したがって、フロッピーディスク、CD、光磁気ディスク等の記憶媒体、又はインターネット等の通信回線を介して、この鍵盤演奏処理のプログラムをパソコン等の汎用情報機器にインストールして、鍵盤演奏機能をもたせることが可能になる。
【0044】
【発明の効果】
本発明によれば、原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に、各移調量毎の音高データ群における黒鍵に対応する音高数が少ない順に配列して移調量毎の黒鍵数データを作成し、特定の黒鍵数データが選択された場合にはその選択された黒鍵数データに対応する移調量だけ原曲の音高データを移調させて出力するので、原曲の優れた芸術性や美しい旋律を維持するとともに、演奏の未熟な初心者でも難易度の高い原曲を容易に演奏できるようにガイドすることができる。
【図面の簡単な説明】
【図1】本発明の鍵盤演奏装置としての電子鍵盤楽器の実施形態のシステム構成を示すブロック図。
【図2】図1におけるRAM内のデータ構成を示す図。
【図3】図1における曲データROMに記憶された曲データを示す図。
【図4】図1におけるCPUのメインフローチャート。
【図5】図4における曲選択処理のフローチャート。
【図6】図4におけるトランスポーズ検出処理のフローチャート。
【図7】図6に続くトランスポーズ検出処理のフローチャート。
【図8】図7に続くトランスポーズ検出処理のフローチャート。
【図9】図8に続くトランスポーズ検出処理のフローチャート。
【図10】図4におけるトランスポーズ選択処理のフローチャート。
【図11】図10に続くトランスポーズ選択処理のフローチャート。
【図12】図4における最高最低音高設定処理のフローチャート。
【図13】図4におけるガイド処理のフローチャート。
【図14】図13に続くガイド処理のフローチャート。
【図15】図4における鍵盤処理のフローチャート。
【符号の説明】
1 CPU
3 ROM
4 RAM
5 曲データROM
6 スイッチ部
7 鍵盤部
8 ガイドLED群駆動部
9 音源部
10 発音回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a keyboard performance device and a keyboard performance processing program.
[0002]
[Prior art]
Some electronic keyboard instruments are provided with LEDs (light emitting diodes) on each key of the keyboard, and the key to be pressed for a song selected by the performer from a plurality of types of songs stored in the song data ROM or the like. There is a keyboard performance device that has a function of guiding a key press by turning on an LED corresponding to. By using such a guide function, even a beginner who cannot perform by just looking at the score can play the song. However, it is difficult for beginners to easily perform a song having a large number of black key performances among the stored types of songs even if the LED is lit and the key depression is guided. For this reason, the pitch data of the original music is modified and stored in the music data ROM or the like so that it can be played with only the white key.
[0003]
[Problems to be solved by the invention]
However, in the conventional keyboard performance device that stores the corrected pitch data of the original song, not only the excellent artistry and beautiful melody of the original song are lost, but also the original song is desired to be played sometime. It was not possible to satisfy the user's desire.
[0004]
It is an object of the present invention to maintain the excellent artistry and beautiful melody of the original music and to guide the original music that is difficult to play even for beginners who are unskilled in performance.
[0005]
[Means for Solving the Problems]
  The keyboard performance device according to claim 1, first storage means for storing the original music,
Corresponding to the black key in the pitch data group for each transposition amount when the pitch data group for each transposition amount is created by transposing the pitch data group of the original music stored in the first storage means in semitone units. The counting means for counting the number of pitches to be generated, and the black key number data for each transposition amount based on the pitch number corresponding to the black key for each transposition amount counted by the counting means, and using the data as the black key Data arrangement means arranged in order from the smallest number of corresponding pitches, an externally operable operator, a second storage means, and the data arranged by the data arrangement means each time the operator is operated The black key number data for each transposition amount is selected in the order of arrangement, the transposition amount selecting means for storing the transposition amount corresponding to the last selected black key number data in the second storage means, and the automatic performance is started. When reading the pitch data of the original song from the first storage means Together be, has a configuration having a music data output means for outputting the tone pitch data read by transposing by transposition amount stored in the second storage means.
[0006]
  7. The program according to claim 6, wherein when the pitch data group for each transposition amount is created by transposing the pitch data group of the original music stored in the first storage means into a semitone unit, Step of counting the number of pitches corresponding to the black key in each pitch data group, and creating black key number data for each transposition amount based on the pitch number corresponding to the black key for each counted transposition amount The number of black keys for each transposition amount arranged by the arranging step each time the data is arranged in order from the smallest number of pitches corresponding to the black key and the externally operable operator is operated. Selecting the data in the order of arrangement, and storing the transposition amount corresponding to the last selected black key number data in the second storage means; and when the automatic performance is started, the original music from the first storage means While reading the pitch data of And a step of outputting said tone pitch data read by transposing by transposition amount stored in the second storage means.
[0007]
According to the invention described in claim 1 or claim 4, when the pitch data group for each transposition amount is created by transposing the pitch data group of the original music in units of semitones, the pitch for each transposition amount. When the number of pitches corresponding to the black key in the data group is arranged in ascending order, black key number data is created for each transposition amount, and when specific black key number data is selected, the selected black key number data The pitch data of the original music is transposed and output by the transposition amount corresponding to.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of an electronic keyboard instrument as a keyboard playing device according to the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration of an electronic keyboard instrument in the embodiment. In the figure, a CPU 1 is connected to a ROM 3, a RAM 4, a music data ROM 5, a switch unit 6, a keyboard unit 7, a guide LED group driving unit 8, and a sound source unit 9 via a system bus 2, and commands between these units. The electronic keyboard instrument is controlled according to the control program.
[0009]
The ROM 3 stores a control program executed by the CPU 1, initial data, and the like. The RAM 4 is a work area of the CPU 1, and as shown in FIG. 2 (1), a transpose area, a maximum set pitch area, and a minimum set pitch area are provided. The RAM 4 is provided with various register, flag, and pointer areas necessary for the CPU 1 to execute the control program. The data for each area will be described later. FIG. 2 (2) shows data (this is referred to as “black key number data”) including the number of black keys for each transpose amount (transposition amount) in the transpose area of FIG. 2 (1). This will be further described in detail.
[0010]
The song data ROM 5 in FIG. 1 stores song data of a plurality of types of original songs, as shown in FIG. Each piece of music data is composed of sequence data including event data and time data. Each event data includes note-on events, pitch data, and velocity data that are sound generation events, note-off events that are mute events, pitch data, and velocity data whose value is “0”. In addition, the event data includes a control event such as a control change, but the description is omitted because it is not particularly related to the present invention.
[0011]
1 is composed of a plurality of switch groups, a song selection switch for selecting one song from a plurality of songs stored in the song data ROM 5, and an original song stored in the song data ROM 5. "Recommendation" for presenting multiple types of transpose data to the performer, lesson switch for detecting the transpose of the song, start switch for starting or stopping the music lesson, and transposing the original song data A switch (which will be described later) and the like are provided.
[0012]
The keyboard unit 7 is composed of a plurality of white keys and a plurality of black keys, and inputs performance data including pitch data, velocity data, and the like to the CPU 1 according to performance. Further, an LED, which is a light emitting means for performance guide, is provided under each key. The guide LED group driving unit 8 turns on or turns off the corresponding LED in accordance with the turn-on command or turn-off command from the CPU 1 and key number data.
The tone generator 9 sends a tone waveform signal to the tone generation circuit 10 in response to tone data and tone generation commands including tone pitch data from the CPU 1, and sends it to the tone generation circuit 10 in response to tone data and a mute command from the CPU 1. Stop the musical sound waveform signal.
[0013]
Next, the operation of the keyboard performance process in the electronic keyboard instrument of FIG. 1 will be described with reference to the flowcharts of FIGS.
FIG. 4 shows a main flow. After predetermined initialization (step A1), music selection processing (step A2), transpose detection processing (step A3), transpose selection processing (step A4), and maximum / minimum pitch setting processing. (Step A5), keyboard processing (Step A6), guide processing (Step A7), and other processing (Step A8) are repeatedly executed.
[0014]
FIG. 5 is a flowchart of the music selection process in the main flow. It is determined whether or not the music selection switch and the numeric keypad indicating the music number are operated (step B1). Store (step B2). Next, a pointer is set to the address of the head data of the song (N) indicated by the N song number (step B3). Then, “0 (transpose amount is zero)” is set in the transpose register key (step B4). Also, the transpose area in FIG. 2A is cleared (step B5). Specifically, the black key number, maximum pitch, and minimum pitch areas in the transpose area shown in FIG. Then, the process returns to the main flow of FIG.
[0015]
6 to 10 are flow charts of the transpose detection process in the main flow. In FIG. 6, it is determined whether or not the lesson switch is turned on (step C1). If not turned on, this flow is terminated. If it is turned on, it is determined whether or not the flag TEF is “0”. (Step C2). TEF is a flag that is set to “1” when the transpose detection of the selected music data is completed. Therefore, if the TEF is already “1”, this flow is terminated and the process returns to the main flow.
[0016]
When TEF is “0”, “0” is set to the pointer n for designating the address of the transpose area in FIG. 2 (2), and the pointer m for designating the transpose amount (transposition amount) in semitones. Is set to "-11" (step C3). That is, the pitch of the music data of the original music is transposed to the lower one by “11 semitones”. For example, the pitch of B4 is transposed to the pitch of C4.
Next, “0” is stored in the register BLK that stores the detected number of black keys, “−11” is stored in the register MAX that stores the detected maximum pitch, and “” is stored in the register MIN that stores the minimum pitch. 138 "is stored (step C4). The pitch is expressed by a numerical value from “0” to “127”, and the semitone unit is “1”. Next, it is determined whether or not the data indicated by the pointer of the selected song (N) is a note-on event (step C5). If it is a note-on event, the pitch of the note-on event is stored in the register PITCH (step C6). Then, the value of m is added to the pitch of PITCH (step C7). That is, the pitch of the original music stored in PITCH is transposed by the value of m (initially -11).
[0017]
Next, it is determined whether or not the pitch stored in PITCH is equal to or higher than the pitch stored in MAX (initially “−11”) (step C8). If the pitch stored in PITCH is equal to or higher than the pitch stored in MAX, the pitch of PITCH is stored in MAX as the current highest pitch (step C9). If the pitch stored in PITCH is lower than the pitch stored in MAX, whether the pitch stored in PITCH is less than or equal to the pitch stored in MIN ("138" at first) Is discriminated (step C10). If the pitch stored in PITCH is less than or equal to the pitch stored in MIN, the pitch of PITCH is stored in MIN as the current minimum pitch (step C11).
[0018]
Next, the pitch stored in PITCH is divided by “12”, and the remainder is stored in register ODD (step C12). Next, in step C13 of FIG. 7, it is determined whether or not the numerical value stored in the ODD is any one of “1”, “3”, “6”, “8”, or “10”. One octave is composed of 12 pitches, and the pitch of C corresponding to the white key (pitch of C major "do") is expressed as a multiple of 12, so the numerical value stored in ODD is one of the above The pitch stored in PITCH is “C #”, “D #”, “F #”, “G #” or “A #”, and the pitch corresponding to the black key It turns out that. Therefore, “1” is added to the value of BLK that stores the number of black keys (step C14).
[0019]
After adding “1” to the value of BLK, or when the numerical value stored in ODD in step C13 is not any of the above values, that is, when the pitch stored in PITCH is the pitch corresponding to the white key Increments the pointer for designating the data address of the song (N) and designates the data at the next address (step C15). Then, it is determined whether or not there is no data at the address designated by the incremented pointer (step C16). If there is data, the process proceeds to step C5 in FIG. 6 and the loop up to step C16 is repeated. That is, this loop is repeated as long as there is song (N) data, and in all pitch data obtained by transposing the pitch data of the original song by the value m, the number of pitches corresponding to the black key, the highest pitch And the lowest pitch is detected.
[0020]
If there is no data at the address designated by the pointer in step C16, the value of m is stored in the area of KEY (0, n) of the transpose area shown in FIG. 2 (2) (step C17). The value of BLK is stored in the area of number (1, n) (step C18), the pitch of MAX is stored in the area of highest pitch (2, n) (step C19), and the lowest pitch (3, n ) Stores the pitch of the MIN (step C20). That is, black key number data corresponding to the transpose amount that is the value of m is created.
Next, the value of n is incremented to specify the next address of the transpose area, and the value of m is incremented to set the transpose amount higher by a semitone (step C21). And it is discriminate | determined whether the value of n exceeded "22" (step C22). That is, it is determined whether or not data storage to all areas of the transpose area has been completed.
When the value of n is “22” or less, that is, when an area to be stored remains in the transpose area, the process proceeds to step C4 in FIG. 6, and the loop up to step C22 in FIG. The number of black keys, the highest pitch, and the lowest pitch when the transpose amount is set higher by a semitone in order are detected.
[0021]
When the value of n exceeds “22” in step C22, as shown in FIG. 2 (2), the number of black keys when the transpose amount is changed from “−11” to “11”, the maximum The pitch and minimum pitch data are stored. That is, black key number data for each transpose amount is created.
In this case, the process proceeds to step C23 in FIG. 8, and the arrangement of the transpose areas is rearranged in ascending order of the number of black keys (1, n). Next, the pointer n is returned to “0” (step C24), and the following loop is repeatedly executed while incrementing the value of n.
That is, it is determined whether or not the pitch of the highest pitch (2, n) in the transpose area is equal to or lower than the highest pitch stored in the register max (step C25). It is determined whether or not the high (3, n) pitch is equal to or higher than the lowest pitch set in advance and stored in the register min (step C26). When the pitch of the highest pitch (2, n) in the transpose area is higher than the preset highest pitch, or the pitch of the lowest pitch (3, n) in the transpose area is higher than the preset lowest pitch If it is low, the data of the transpose amount, the number of black keys, the highest pitch and the lowest pitch stored in (0, n) to (3, n) in the transpose area are deleted (step C27).
That is, black key number data based on a pitch data group having a pitch in a range outside the preset maximum pitch and minimum pitch ranges from the pitch data group for each transpose amount is excluded.
[0022]
In step C25, the pitch of the highest pitch (2, n) in the transpose area is less than or equal to the preset maximum pitch, and in step C26, the pitch of the lowest pitch (3, n) in the transpose area is preset. When the pitch is equal to or higher than the set minimum pitch or after deleting the data in the transpose area in step C27, the value of n is incremented to designate the next address in the transpose area (step C28). Then, it is determined whether or not the incremented value of n exceeds “22” (step C29).
That is, in all of the transpose areas, it is determined whether or not the processing for detecting the presence / absence of transpose data of a type having a pitch in a range outside the preset maximum pitch and minimum pitch range is completed. To do. When the value of n is “22” or less, the loop of Step C25 to Step C29 is repeated.
[0023]
If the value of n exceeds “22”, the value of n is returned to “0” (step C30), and the process proceeds to step C31 of the flow of FIG. The offset pointer k for comparing with the transpose data is set to “1”. Then, it is determined whether or not there is data in the (0, n) to (3, n) areas of the transpose area designated by n (step C32). If the data in the (0, n) to (3, n) area has not been deleted in the process of step C27 in FIG. 8, the data exists in that area.
If there is data, it is determined whether or not the value obtained by adding the value of n and the value of k is equal to or less than “22” (step C33). That is, it is determined whether or not an address area indicated by a value obtained by adding the offset value k to the value n exists in the transpose area. If the added value is “22” or less, it is determined whether or not there is data in the (0, n + k) to (3, n + k) areas of the transpose area (step C34). If there is data, it is determined whether or not the number of black keys stored in (1, n) in the transpose area is the same as the number of black keys stored in (1, n + k) in the transpose area. (Step C35).
[0024]
If the number of black keys in both areas is the same, it is determined whether or not the absolute value of (0, n) in the transpose area is smaller than the absolute value of (0, n + k) in the transpose area (step C36). ). That is, it is determined whether or not the absolute value of the transpose amount of the transpose area designated by n is smaller than the absolute value of the transpose amount of the transpose area designated by n + k. When the absolute value of (0, n) is smaller than the absolute value of (0, n + k), the pitch data in the transpose area specified by n is closer to the pitch data of the original music. In this case, the data of (0, n + k) to (3, n + k) in the transpose area is deleted (step C37).
That is, in the generated black key number data for each transpose amount, when there are two or more black key number data having the same pitch number corresponding to the black key, the transpose amount from the pitch of the original sound is larger. Exclude black key number data.
[0025]
When the absolute value of (0, n) is not smaller than the absolute value of (0, n + k), it is determined whether or not the absolute value of (0, n) is equal to the absolute value of (0, n + k). (Step C38). If they are equal, it is determined whether or not the data (0, n) is negative (step C39). When the data of (0, n) is negative, that is, when the pitch data in the transpose area specified by n is transposed in the negative direction (the direction of the low frequency range) than the pitch data of the original music The data of (0, n) to (3, n) in the transpose area is deleted (step C40). In step C39, the data of (0, n) is not negative, and the pitch data in the transpose area designated by n is transposed in the positive direction (the direction of the high range) relative to the pitch data of the original music. In this case, the data of (0, n + k) to (3, n + k) in the transpose area is deleted in step C37.
[0026]
That is, when there are two black key number data with the same pitch number corresponding to the black key in the generated black key number data for each transpose amount, the pitch of the original sound in the two black key number data is calculated. If the transpose amounts of the keys are equal, the black key number data in which the transpose direction is the bass direction is excluded. This is because transposing in the direction of the treble produces a clearer sound. However, the configuration may be such that the black key number data whose transpose direction is the high pitch direction is excluded according to the player's selection or the like.
[0027]
After deleting the data of the transpose area designated by n + k in step C37, or if the data of (0, n) is not negative in step C39, or in step C34, (0, n + k) to (3 , N + k) or when the number of black keys stored in (1, n) in the transpose area differs from the number of black keys stored in (1, n + k) in the transpose area in step C35. Is incremented by the value of the pointer k (step C41). Then, the process proceeds to step C33 to determine whether or not the value of n + k is “22” or less. If it is “22” or less, the loop up to step C41 is repeated.
[0028]
If there is no data (0, n) to (3, n) in the transpose area in step C32, or if the value of n + k exceeds “22” in step C33, the value of n is incremented. Data of the next address in the transpose area is designated (step C42). At this time, it is determined whether or not the value of n exceeds “22” (step C43). If not, the process proceeds to step C31 to return the value of k to “1”, and the loop up to step C43 is performed. repeat. When the value of n exceeds “22”, that is, when detection of performance candidate data obtained by transposing the pitch data of the original music is completed, “1” is set to the flag TEF (step C44). ), The value of n is returned to “0” (step C45). Then, this flow is ended and the process returns to the main flow.
[0029]
10 and 11 show the transpose selection process flow in the main flow. In FIG. 10, it is determined whether or not the recommendation switch is turned on (step D1). The recommendation switch is a switch for presenting to the performer the performance candidate data stored in the transpose area by the above-described transpose detection process. If this switch is not turned on, this flow is terminated. If this switch is turned on, all the LEDs of the lit keys are turned off (step D2). And it is discriminate | determined whether TEF is "1" (step D3). If the TEF is “0”, the transpose detection process has not yet been completed, and thus this flow ends.
[0030]
When TEF is “1”, there is data in the area (0, n) of the address designated by the pointer n (initially set to “0” in step C45 in FIG. 9) in the transpose area. Whether or not (step D4). If there is no data in the designated area, the value of n is incremented to designate the next address area (step D5). If there is data in the area (0, n) of the address specified by n, the data of the transpose amount stored in the area (0, n) is stored in the register KEY (step D6), and the area (1 , N) stores the number of black key data stored in the register BLK (step D7).
[0031]
Next, the key lighting pattern in a predetermined one octave range (for example, C4 to B4) is changed according to the black key number data stored in the BLK.
That is, it is determined whether or not the number of black keys stored in the BLK is “3” or less (step D8). If it is “3” or less, the LED of the C # key is turned on (step D9). .
If the number of black keys stored in the BLK exceeds “3”, it is determined whether or not the number of black keys is within the range of “4” to “10” (step D10). If so, the LEDs of the C # and D # keys are turned on (step D11).
If the number of black keys stored in the BLK exceeds “10”, it is determined whether or not the number of black keys is within the range of “11” to “30” (step D12). If so, the LEDs of the C #, D #, and G # keys are turned on (step D13).
If the number of black keys stored in the BLK exceeds “30”, it is determined whether or not the number of black keys is within the range of “31” to “50” in step D14 of the flow of FIG. If it is within this range, the LEDs of the keys C #, D #, G #, A # are turned on (step D15).
If the number of black keys stored in the BLK exceeds “50”, the LEDs of the C #, D #, G #, A #, and B # keys are turned on (step D16).
[0032]
After the LED is turned on in any pattern, the value of n is incremented and the next address of the transpose area is designated (step D17). At this time, it is determined whether or not the value of n exceeds “22” (step D18). If it exceeds “22”, the value of n is returned to “0” (step D19). When the value of n is “22” or less or when the value of n is returned to “0”, it is determined whether or not the lesson switch is turned on (step D20). If this switch is not on, the process proceeds to step D1 in FIG. 10 and the above-described processing is repeated.
That is, every time the recommended switch is operated, performance transpose data is presented in order from the smallest number of black keys, and the key lighting pattern is changed according to the number of black keys.
When the lesson switch is turned on in step D20, “0” is set in TEF (step D21), and the process returns to the main flow.
[0033]
FIG. 12 is a flow of the highest and lowest setting process in the main flow. It is determined whether or not a maximum pitch has been input by a numeric key switch or the like (step E1). When the maximum pitch is input, the maximum pitch data is stored in the register max (step E2). Similarly, it is determined whether or not a minimum pitch has been input (step E3), and when input, the minimum pitch data is stored in the register min (step E4). Then, the process returns to the main flow.
[0034]
13 and 14 are flowcharts of the guide process in the main flow. First, in FIG. 13, it is determined whether or not the start switch is turned on (step G1). When this switch is turned on, the flag STF is inverted (step G2). Then, it is determined whether or not the STF value is “1 (performance guide)” (step G3). If the STF value is “0 (performance guide stop)”, the LEDs of all the keys that are lit are turned off (step G4), and this flow is terminated.
[0035]
If the STF is “1”, the data of the first address in the song (N) selected by the number stored in the register N is read (step G5), and the type of the read data is event data. Whether it is data or not is discriminated (step G6). If it is time data, it is a waiting time until the next event data, so a timer is started and this flow is ended.
If the read data type is event data, it is further determined whether or not the event is note-on (step G8). Since this event is the first event data of a song, note-off is impossible and it is a control event such as note-on or control change.
If the note is on, the note data of the event is stored in the LED lighting register LIGHT (step G9). Further, the numerical value of the transpose amount stored in KEY is added to the numerical value of the note data stored in LIGHT (step G10). Then, the key having the key number corresponding to the LIGHT value is turned on (step G11). That is, the performance guide is performed by turning on the key of the pitch that transposes the pitch of the original music.
Thereafter, the next data is read (step G12), and the process proceeds to step G6 to determine the type of the data. If the event data is not note-on in step G8, a process corresponding to the event is performed (step G13), the process proceeds to step G12, and the next data is read.
[0036]
If the start switch is not on in step G1, the process proceeds to step G14 in FIG. 14 to determine whether or not the STF is “1”. When the STF is “1”, that is, when the performance guide is started, it is determined whether or not a predetermined time has passed by a timer interrupt or the like (step G15). If the STF is “0” or if a certain time has not elapsed, this flow is terminated.
If the predetermined time has elapsed, the value of the time data is decremented (step G16). Then, it is determined whether or not the time data value has reached zero (step G17). That is, it is determined whether or not the event data processing start time at the next address of the time data has been reached. If the time data value has not reached zero, this flow is terminated. If it has reached zero, it is determined whether or not there is data at the next address (step G18).
[0037]
If there is next data, the data is read (step G21), and the type of the read data is determined (step G22). If the data is time data, a timer is started (step G23), and this flow ends. If the read data is event data, the type of the event data is determined (step G24). When the event data is note-on, the note data of the event is stored in the LED lighting register LIGHT (step G25). Furthermore, the numerical value of the transpose amount stored in KEY is added to the numerical value of the note data stored in LIGHT (step G26). Then, the key having the key number corresponding to the LIGHT value is turned on (step G27). That is, the performance guide is performed by turning on the key of the pitch that transposes the pitch of the original music.
[0038]
When the event data is note-off, the note data of the event is stored in the LED lighting register LIGHT (step G28). Further, the numerical value of the transpose amount stored in KEY is added to the numerical value of the note data stored in LIGHT (step G29). Then, the key with the key number corresponding to the LIGHT value is turned off (step G30).
If the event data is other events other than note-on and note-off, other processing corresponding to the event is performed (step G31).
[0039]
After the key is turned on in step G27, after the key is turned off in step G30, or after other processing is performed in step 31, the process proceeds to step G18 to determine whether there is data at the next address. . As long as there is data at the next address, the processing corresponding to the data is repeated.
If there is no data at the next address in step G18, “0 (stop playing guide)” is set in the STF (step G19), and the LEDs of all lit keys are turned off (step G20). This flow is terminated and the process returns to the main flow.
[0040]
FIG. 15 is a flowchart of keyboard processing in the main flow. First, key scanning is performed (step F1) to determine whether there is a key change (step F2). If there is no key change, this flow is terminated. If there is a key change, it is determined whether the change is a key depression (ON) or a key release (OFF). If the key is depressed, the key number, that is, the note number is stored in the register NOTE (step F3). Further, the velocity data by the key depression is stored in the register VEL (step F4). Next, the KEY transpose amount is subtracted from the note pitch data (step F5), and a note-on event is created based on the subtracted note pitch data (step F6) and sent to the sound source (step F6). Step F7). That is, the pitch transposed for performance and pressed according to the performance guide is corrected again to the pitch of the original music and sent to the sound source for sound generation.
In this case, the pitch that is pressed may be sent to the sound source without modification. Further, it may be selected in accordance with the player's operation whether to correct the pressed pitch or send it to the sound source as it is.
[0041]
If the key change is a key release in step F2, the key number, that is, the note number is stored in the register NOTE (step F8). Next, the transpose amount of KEY is subtracted from the pitch data of NOTE (step F9), a note-off event is created based on the subtracted pitch data of NOTE (step F10), and a sound source is used for muting. (Step F7).
[0042]
As described above, according to the above embodiment, when the pitch data group for each transpose amount is created by transposing (transposing) the pitch data group of the original music in units of semitones, each transpose amount (transposition) Volume), the number of pitches corresponding to the black key in the pitch data group is arranged in ascending order to create black key number data for each transpose amount, and when specific black key number data is selected Since the pitch data of the original song is transposed and output by the amount of transpose corresponding to the selected black key number data, the original artist's excellent artistry and beautiful melody can be maintained, and even an unskilled beginner can perform It is possible to guide so that an original song having a high degree of difficulty can be easily played.
[0043]
In the above embodiment, the invention of the keyboard performance device has been described. However, as shown in the flowchart, the invention is also established as an invention of a program for keyboard performance processing.
That is, the keyboard performance processing program according to the present invention transposes the pitch data group of the original music stored in the first storage means (corresponding to the music data ROM 5 in FIG. 1 in the embodiment) in semitone units. When the pitch data group for each transposition amount is created, the step of counting the pitch number corresponding to the black key in the pitch data group for each transposition amount and the pitch number corresponding to the counted black key are A step of creating the black key number data for each transposition amount (corresponding to the data of the transpose area in FIG. 2 (2) in the embodiment) arranged in ascending order, and the black key number data for each transposition amount When the specific black key number data is selected by the selection operation, the transposition amount corresponding to the selected black key number data is stored in the second storage means (corresponding to the RAM in FIG. 1 in the embodiment). Steps to remember When the performance is started in response to the operation, the pitch data of the original music selected and read from the first storage means is transposed by the transposition amount stored in the second storage means and output. And execute steps.
Therefore, this keyboard performance processing program can be installed in a general-purpose information device such as a personal computer via a storage medium such as a floppy disk, CD, or magneto-optical disk, or a communication line such as the Internet, to have a keyboard performance function. It becomes possible.
[0044]
【The invention's effect】
According to the present invention, when the pitch data group for each transposition amount is created by transposing the pitch data group of the original music in semitone units, the sound corresponding to the black key in the pitch data group for each transposition amount is created. The black key number data for each transposition amount is created by arranging in descending order, and when the specific black key number data is selected, only the transposition amount corresponding to the selected black key number data is generated. Since the pitch data is transposed and output, it is possible to maintain the excellent artistry and beautiful melody of the original music, and to guide even the inexperienced beginner to easily play the difficult original music. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of an embodiment of an electronic keyboard instrument as a keyboard playing device of the present invention.
FIG. 2 is a diagram showing a data configuration in a RAM in FIG. 1;
FIG. 3 is a view showing song data stored in a song data ROM in FIG. 1;
4 is a main flowchart of the CPU in FIG. 1. FIG.
FIG. 5 is a flowchart of music selection processing in FIG. 4;
6 is a flowchart of transpose detection processing in FIG. 4;
FIG. 7 is a flowchart of transpose detection processing subsequent to FIG. 6;
FIG. 8 is a flowchart of transpose detection processing following FIG.
FIG. 9 is a flowchart of transpose detection processing following FIG. 8;
FIG. 10 is a flowchart of transpose selection processing in FIG. 4;
FIG. 11 is a flowchart of transpose selection processing following FIG. 10;
12 is a flowchart of maximum / minimum pitch setting processing in FIG. 4;
13 is a flowchart of guide processing in FIG. 4;
FIG. 14 is a flowchart of guide processing following FIG. 13;
FIG. 15 is a flowchart of keyboard processing in FIG. 4;
[Explanation of symbols]
1 CPU
3 ROM
4 RAM
5 song data ROM
6 Switch part
7 Keyboard
8 Guide LED group drive
9 Sound source
10 Pronunciation circuit

Claims (9)

原曲を記憶する第1の記憶手段と、First storage means for storing the original music;
この第1の記憶手段に記憶された原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に移調量毎の音高データ群における黒鍵に対応する音高数をカウントする計数手段と、Corresponding to the black key in the pitch data group for each transposition amount when the pitch data group for each transposition amount is created by transposing the pitch data group of the original music stored in the first storage means in semitone units. Counting means for counting the number of pitches to be played,
この計数手段でカウントされた移調量毎の黒鍵に対応する音高数に基づき移調量毎の黒鍵数データを作成して当該データを黒鍵に対応する音高数が少ない順から配列するデータ配列手段と、Based on the number of pitches corresponding to the black key for each transposition amount counted by the counting means, black key number data for each transposition amount is created, and the data is arranged in order from the smallest number of pitches corresponding to the black key. Data array means;
外部操作可能な操作子と、An externally operable controller,
第2の記憶手段と、A second storage means;
前記操作子が操作される毎に、前記データ配列手段により配列された前記移調量毎の黒鍵数データを配列順に選択し、最後に選択された黒鍵数データに対応する移調量を前記第2の記憶手段に記憶させる移調量選択手段と、Each time the manipulator is operated, the black key number data for each transposition amount arranged by the data arrangement means is selected in the order of arrangement, and the transposition amount corresponding to the last selected black key number data is selected. Transposition amount selection means to be stored in the storage means,
自動演奏が開始されたときは前記第1の記憶手段から原曲の音高データを読み出すとともに、当該読み出された音高データを前記第2の記憶手段に記憶された移調量だけ移調させて出力する曲データ出力手段と、When the automatic performance is started, the pitch data of the original music is read from the first storage means, and the read pitch data is transposed by the transposition amount stored in the second storage means. Song data output means for outputting;
を有する鍵盤演奏装置。A keyboard playing device having
前記データ配列手段は、前記移調量毎の音高データ群のうち予め設定された最高音高及び最低音高の範囲から外れた音域に音高を有する音高データ群に基づく黒鍵数データを除外することを特徴とする請求項1記載の鍵盤演奏装置。The data arrangement means includes black key number data based on a pitch data group having pitches in a pitch range that is out of a preset maximum pitch range and minimum pitch range among pitch data groups for each transposition amount. 2. The keyboard performance device according to claim 1, wherein the keyboard performance device is excluded. 前記データ配列手段は、作成した移調量毎の黒鍵数データにおいて黒鍵に対応する音高数が同一の黒鍵数データが2系統以上ある場合には、原音の音高からの移調量がより大きい黒鍵数データを除外することを特徴とする請求項1又は2記載の鍵盤演奏装置。When there are two or more black key number data with the same pitch number corresponding to the black key in the generated black key number data for each transposition amount, the data arrangement means determines the transposition amount from the pitch of the original sound. 3. The keyboard playing device according to claim 1, wherein larger black key number data is excluded. 前記データ配列手段は、作成した移調量毎の黒鍵数データにおいて黒鍵に対応する音高数が同一の黒鍵数データが2系統ある場合に、その2系統の黒鍵数データにおける原音の音高からの移調量が等しい場合には、移調方向が高音方向又は低音方向のいずれか一方の黒鍵数データを除外することを特徴とする請求項3記載の鍵盤演奏装置。When there are two black key number data with the same pitch number corresponding to the black key in the generated black key number data for each transposition amount, the data arrangement means creates the original sound in the two black key number data. 4. The keyboard performance apparatus according to claim 3, wherein when the transposition amount from the pitch is equal, the black key number data in which the transposition direction is either the high tone direction or the low tone direction is excluded. 鍵盤の各鍵毎に設けられた複数の発光手段とA plurality of light emitting means provided for each key of the keyboard;
前記発光手段を点灯させる点灯制御手段と、Lighting control means for lighting the light emitting means;
前記移調量毎の黒鍵数データの中から操作子によって特定の黒鍵数データが選択された場合にはその選択された黒鍵数データにおける黒鍵数に応じて前記点灯制御手段に対して発光手段の点灯パターンを指示する点灯パターン指示手段とWhen specific black key number data is selected by the operator from the black key number data for each transposition amount, the lighting control means is controlled according to the number of black keys in the selected black key number data. A lighting pattern indicating means for instructing a lighting pattern of the light emitting means;
をさらに有することを特徴とする請求項1〜4のいずれかに記載の鍵盤演奏装置。The keyboard playing device according to claim 1, further comprising:
コンピュータに、On the computer,
第1の記憶手段に記憶された原曲の音高データ群を半音単位で移調させて移調量毎の音高データ群を作成した場合に各移調量毎の音高データ群における黒鍵に対応する音高数をカウントするステップと、Corresponds to the black key in the pitch data group for each transposition amount when the pitch data group of the original music stored in the first storage means is transposed in semitones to create the pitch data group for each transposition amount Counting the number of pitches to play,
このカウントされた移調量毎の黒鍵に対応する音高数に基づいて移調量毎の黒鍵数データを作成して当該データを黒鍵に対応する音高数が少ない順から配列するステップとCreating black key number data for each transposition amount based on the counted pitch number corresponding to the black key for each transposition amount, and arranging the data in ascending order of the pitch number corresponding to the black key;
外部操作可能な操作子が操作される毎に、前記配列するステップにより配列された前記移調量毎の黒鍵数データを配列順に選択し、最後に選択された黒鍵数データに対応する移調量を第2の記憶手段に記憶させるステップと、Each time an externally operable controller is operated, the black key number data for each transposition amount arranged in the arranging step is selected in the order of arrangement, and the transposition amount corresponding to the last selected black key number data is selected. Storing in the second storage means;
自動演奏が開始されたときは前記第1の記憶手段から原曲の音高データを読み出すとともに、当該読み出された音高データを前記第2の記憶手段に記憶された移調量だけ移調させて出力するステップと、When the automatic performance is started, the pitch data of the original music is read from the first storage means, and the read pitch data is transposed by the transposition amount stored in the second storage means. Output step;
を実行させる鍵盤演奏処理のプログラム。A keyboard performance processing program that executes
前記黒鍵に対応する音高数が少ない順から配列するステップの実行後、After executing the step of arranging in order from the lowest pitch corresponding to the black key,
さらに前記移調量毎の音高データ群のうち予め設定された最高音高及び最低音高の範囲から外れた音域に音高を有する音高データ群に基づく黒鍵数データを除外するステップとAnd a step of excluding black key number data based on a pitch data group having a pitch outside the range of the preset maximum pitch and minimum pitch among the pitch data group for each transposition amount;
を実行させることを特徴とする請求項6記載の鍵盤演奏処理のプログラム。The program for keyboard performance processing according to claim 6, wherein:
前記黒鍵に対応する音高数が少ない順から配列するステップの実行後、After executing the step of arranging in order from the smallest pitch corresponding to the black key,
さらに作成した移調量毎の黒鍵数データにおいて黒鍵に対応する音高数が同一の黒鍵数データが2系統以上ある場合には、原音の音高からの移調量がより大きい黒鍵数データを除外するステップと、Further, in the created black key number data for each transposition amount, when there are two or more black key number data having the same pitch number corresponding to the black key, the number of black keys having a larger transposition amount from the pitch of the original sound. A step of excluding data,
その2系統の黒鍵数データにおける原音の音高からの移調量が等しい場合には、移調方向が高音方向又は低音方向のいずれか一方の黒鍵数データを除外するステップとA step of excluding black key number data in which the transposition direction is the high pitch direction or the low pitch direction when the transposition amount from the pitch of the original sound is equal in the two systems of black key number data;
を実行させることを特徴とする請求項6記載の鍵盤演奏処理のプログラム。The program for keyboard performance processing according to claim 6, wherein:
前記最後に選択された黒鍵数データに対応する移調量を第2の記憶手段に記憶させるステップの実行の後、選択された黒鍵数データにおける黒鍵数に応じて鍵盤の各鍵に設けられた複数の発行手段の点灯パターンを指示するステップを、After executing the step of storing the transposition amount corresponding to the last selected black key number data in the second storage means, each key of the keyboard is provided according to the number of black keys in the selected black key number data. Instructing the lighting pattern of the plurality of issuing means
さらに実行することを特徴とする請求項6記載の鍵盤演奏処理のプログラム。7. The keyboard performance processing program according to claim 6, further executed.
JP2001179943A 2001-06-14 2001-06-14 Keyboard playing device and keyboard playing processing program Expired - Fee Related JP3969019B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001179943A JP3969019B2 (en) 2001-06-14 2001-06-14 Keyboard playing device and keyboard playing processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001179943A JP3969019B2 (en) 2001-06-14 2001-06-14 Keyboard playing device and keyboard playing processing program

Publications (2)

Publication Number Publication Date
JP2002372971A JP2002372971A (en) 2002-12-26
JP3969019B2 true JP3969019B2 (en) 2007-08-29

Family

ID=19020431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001179943A Expired - Fee Related JP3969019B2 (en) 2001-06-14 2001-06-14 Keyboard playing device and keyboard playing processing program

Country Status (1)

Country Link
JP (1) JP3969019B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4965117B2 (en) * 2005-12-09 2012-07-04 秀夫 渡辺 Transposing device
JP5497724B2 (en) * 2011-11-16 2014-05-21 秀夫 渡辺 Transposing device

Also Published As

Publication number Publication date
JP2002372971A (en) 2002-12-26

Similar Documents

Publication Publication Date Title
US6002080A (en) Electronic wind instrument capable of diversified performance expression
US6867359B2 (en) Musical instrument capable of changing style of performance through idle keys, method employed therein and computer program for the method
CN102148026B (en) Electronic musical instrument
JP5168297B2 (en) Automatic accompaniment device and automatic accompaniment program
JP7160068B2 (en) Electronic musical instrument, method of sounding electronic musical instrument, and program
JP3743024B2 (en) Performance practice device
JP3969019B2 (en) Keyboard playing device and keyboard playing processing program
JP4628725B2 (en) Tempo information output device, tempo information output method, computer program for tempo information output, touch information output device, touch information output method, and computer program for touch information output
JP3005915B2 (en) Electronic musical instrument
JP3743364B2 (en) Performance practice device
JP2003066957A (en) Performance practice device and performance practice processing program
JP5564921B2 (en) Electronic musical instruments
JP2010117419A (en) Electronic musical instrument
JP5640308B2 (en) Performance device and performance processing program
JP3885546B2 (en) Performance learning apparatus and performance learning processing program
JP3557474B2 (en) Tone generator
JP3800867B2 (en) Performance learning apparatus and recording medium on which performance learning processing program is recorded
JPH07219531A (en) Electronic musical instrument
JP2013174901A (en) Electronic musical instrument
JP3622558B2 (en) Musical sound editing apparatus and recording medium recording musical sound editing processing program
JP3948246B2 (en) Performance learning apparatus and performance learning processing program
JP3876681B2 (en) Performance learning apparatus and performance learning processing program
JP2002073014A (en) Score for performance
JP4067399B2 (en) Glissando control device
JP3070585B2 (en) Tone characteristic setting device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070528

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3969019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees