(57)【特許請求の範囲】
【請求項１】
譜線譜上に符頭や嬰記号、或いは変記号などのシンボルを配置することで楽譜を表示する装置であって、
同じタイミングで入力された楽音の音高を表す音高データを取得する音高データ取得手段と、
前記音高データ取得手段が取得した音高データが表す音高を、当該取得した音高データの中にその派生音がある幹音と、派生音がない幹音と、派生音とに分類する音高分類手段と、
前記音高分類手段により分類された音高データに前記派生音がある幹音が存在しない場合、前記取得された全ての音高データが表わす音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置を予め定められたひとつの位置に設定し、前記派生音がある幹音が存在する場合、当該派生音がある幹音の音高を示す符頭及びそれ以外の音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置の夫々を異なる位置に設定する符頭表示位置設定手段と、
前記符頭表示位置設定手段が設定した符頭の表示位置に基づいて、前記派生音の種類を表すシンボルの表示位置を設定するシンボル表示位置設定手段と、
前記符頭表示位置設定手段、及び前記シンボル表示位置設定手段がそれぞれ設定した表示位置に従って、前記符頭、及び前記派生音の種類を表すシンボルを配置して前記楽譜を表示させる楽譜表示手段と、
を具備したことを特徴とする楽譜表示装置。
【請求項２】
前記符頭表示位置設定手段は、前記派生音がある幹音の音高を示す符頭における前記線に沿った方向上の表示位置を、前記それ以外の音高を示す符頭のそれよりも演奏進行上の前方に設定する、
ことを特徴とする請求項１記載の楽譜表示装置。
【請求項３】
前記符頭表示位置設定手段は、前記派生音がある幹音の音高を示す符頭と前記それ以外の音高を示す符頭間における前記線に沿った方向上の間隔を、前記分類された派生音の数に応じて変化させる、
ことを特徴とする請求項１記載の楽譜表示装置。
【請求項４】
譜線譜上に符頭や嬰記号、或いは変記号などのシンボルを配置することで楽譜を表示する装置が読み取り可能な記録媒体であって、
同じタイミングで入力された楽音の音高を表す音高データを取得する音高データ取得手段と、
前記音高データ取得手段が取得した音高データが表す音高を、当該取得した音高データの中にその派生音がある幹音と、派生音がない幹音と、派生音とに分類する音高分類手段と、
前記音高分類手段により分類された音高データに前記派生音がある幹音が存在しない場合、前記取得された全ての音高データが表わす音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置を予め定められたひとつの位置に設定し、前記派生音がある幹音が存在する場合、当該派生音がある幹音の音高を示す符頭及びそれ以外の音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置の夫々を異なる位置に設定する符頭表示位置設定手段と、
前記符頭表示位置設定手段が設定した符頭の表示位置に基づいて、前記派生音の種類を表すシンボルの表示位置を設定するシンボル表示位置設定手段と、
前記符頭表示位置設定手段、及び前記シンボル表示位置設定手段がそれぞれ設定した表示位置に従って、前記符頭、及び前記派生音の種類を表すシンボルを配置して前記楽譜を表示させる楽譜表示手段と、
を実現させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、譜線譜上に符頭や嬰記号、或いは変記号などのシンボルを配置することで楽譜を表示するための技術に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
現在では、音楽表現にそれまで行われていなかった試みが多く取り入れられるようになっている。それにより、例えば図２１、或いは図２２に示すように、５つの構成音からなる和音を鳴らすことも多く行われるようになってきている。
【０００３】
従来の楽譜表示装置は、図２１、及び図２２に示すように記譜された和音を、それぞれ、図２３、及び図２４に示すように表示していた。図２３では、「Ｃ５」を表す符頭に、「＃」で表される嬰記号、及びナチュラル記号を付して２つの音、即ち「Ｃ５」及びそれに嬰記号を付して表される音（以降、「Ｃ＃５」と表記する。嬰記号、或いは変記号を付して表される他の音も同様に表記する）を表現していた。他方の図２４では、図中、矢印で示す「♭」で表される変記号を点滅させることで２つの音、即ち「Ｃ５」及び「Ｃ♭５」を表現していた。しかし、そのような楽譜表示方法では、嬰記号や変記号などの記号（シンボル）と音高を表すシンボルである符頭との間の対応関係が判りにくいため、ユーザがその内容を認識し難いという問題点があった。
【０００４】
図２３に示す例では、一つの符頭に嬰記号、及びナチュラル記号を付している。しかし、通常、それらの記号を同じ符頭に付けることはありえない。このようなことからも混乱を招きやすい。その混乱は、当然のことながら、嬰記号や変記号、或いはナチュラル記号などの記号の数が多くなったり、それらが狭い範囲に集まるほど、招きやすくなる。
【０００５】
図２４に示す例では、変記号を点滅させることで表示される記号の数は図２３に示すような例と比較して少なくなる。しかし、記号が点滅することで、音をふるわせる、という誤った意味にユーザが捉えやすくなる。それ以外には、点滅することから、一定時間以上、楽譜を見ていなければその内容を理解することはできない。
【０００６】
本発明の課題は、常にユーザが認識しやすい形で楽譜を表示する楽譜表示装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の楽譜表示装置は、譜線譜上に符頭や嬰記号、或いは変記号などのシンボルを配置することで楽譜を表示する装置であって、同じタイミングで入力された楽音の音高を表す音高データを取得する音高データ取得手段と、前記音高データ取得手段が取得した音高データが表す音高を、当該取得した音高データの中にその派生音がある幹音と、派生音がない幹音と、派生音とに分類する音高分類手段と、前記音高分類手段により分類された音高データに前記派生音がある幹音が存在しない場合、前記取得された全ての音高データが表わす音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置を予め定められたひとつの位置に設定し、前記派生音がある幹音が存在する場合、当該派生音がある幹音の音高を示す符頭及びそれ以外の音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置の夫々を異なる位置に設定する符頭表示位置設定手段と、前記符頭表示位置設定手段が設定した符頭の表示位置に基づいて、前記派生音の種類を表すシンボルの表示位置を設定するシンボル表示位置設定手段と、前記符頭表示位置設定手段、及び前記シンボル表示位置設定手段がそれぞれ設定した表示位置に従って、前記符頭、及び前記派生音の種類を表すシンボルを配置して前記楽譜を表示させる楽譜表示手段と、を具備する。
【０００８】
なお、上記の構成において、符頭表示位置設定手段は、前記派生音がある幹音の音高を示す符頭における前記線に沿った方向上の表示位置を、前記それ以外の音高を示す符頭のそれよりも演奏進行上の前方に設定する、ことが望ましい。
【００１０】
また、符頭表示位置設定手段は、前記派生音がある幹音の音高を示す符頭と前記それ以外の音高を示す符頭間における前記線に沿った方向上の間隔を、前記分類された派生音の数に応じて変化させる、ことが望ましい。
【００１１】
本発明の記録媒体は、譜線譜上に符頭や嬰記号、或いは変記号などのシンボルを配置することで楽譜を表示する装置が読み取り可能な記録媒体であって、同じタイミングで入力された楽音の音高を表す音高データを取得する音高データ取得手段と、前記音高データ取得手段が取得した音高データが表す音高を、当該取得した音高データの中にその派生音がある幹音と、派生音がない幹音と、派生音とに分類する音高分類手段と、前記音高分類手段により分類された音高データに前記派生音がある幹音が存在しない場合、前記取得された全ての音高データが表わす音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置を予め定められたひとつの位置に設定し、前記派生音がある幹音が存在する場合、当該派生音がある幹音の音高を示す符頭及びそれ以外の音高を示す符頭の前記譜線譜を構成する線に沿った方向上の表示位置の夫々を異なる位置に設定する符頭表示位置設定手段と、前記符頭表示位置設定手段が設定した符頭の表示位置に基づいて、前記派生音の種類を表すシンボルの表示位置を設定するシンボル表示位置設定手段と、前記符頭表示位置設定手段、及び前記シンボル表示位置設定手段がそれぞれ設定した表示位置に従って、前記符頭、及び前記派生音の種類を表すシンボルを配置して前記楽譜を表示させる楽譜表示手段と、を実現させるプログラムを記録している。
【００１２】
本発明では、幹音とその派生音を同時に発音させる楽音として楽譜表示する場合に、その幹音と派生音とに少なくとも分け、譜線譜を構成する線に沿った方向上の位置を異ならせて、幹音を表す符頭、及びその派生音を表す符頭を表示させ、その符頭の表示位置に応じて嬰記号、或いは変記号を表示させる。
【００１３】
そのように表示させることにより、符頭は発音させる楽音毎に表示され、符頭に付けるべき嬰記号や変記号などのシンボルは符頭毎に付けて表示される。この結果、ユーザが認識しやすい形で楽譜を表示させることになる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
＜第１の実施の形態＞
図１は、本実施の形態による楽譜表示装置を搭載した電子楽器の外観を示す図である。
【００１５】
その電子楽器は、図１に示すように、多数の鍵（ここでは６１鍵である）を有する鍵盤１０１を備えた電子鍵盤楽器である。その上面には、液晶表示器１０２が設けられている。その液晶表示器１０２は、画面一面に任意の画像を表示できるものであり、楽譜はこれに表示されるようになっている。なお、その液晶表示器１０２を搭載する代わりに、テレビなどの表示装置と接続させる機能を搭載しても良い。
【００１６】
図２は、上記電子楽器の回路構成図である。図２に示すように、楽器全体の制御を行うＣＰＵ２０１と、ＣＰＵ２０１が実行するプラグラムや各種の画像データ、制御データなどを格納したＲＯＭ２０２と、そのＣＰＵ２０１がワーク用に用いるＲＡＭ２０３と、上述した鍵盤１０１、及び液晶表示器１０２と、各種スイッチやボタンなどを有する操作部２０４と、ＣＰＵ２０１の指示に従って発音させるべき楽音の波形データを生成する音源２０５と、その音源２０５が生成した波形データを音声に変換して出力するサウンドシステム２０６と、を備えて構成されている。本実施の形態による楽譜表示装置は、ユーザが鍵盤１０１上で押鍵している鍵の音高を液晶表示器１０２上に楽譜表示する装置として実現されている。
【００１７】
上記鍵盤１０１、及び操作部２０４は、それへのユーザの操作を検出する回路を備えたものである。また、サウンドシステム２０６は、音源２０５から入力した波形データをアナログのオーディオ信号に変換するＤ／Ａコンバータ、そのコンバータが出力したオーディオ信号を増幅するアンプ、及び、そのアンプが出力したオーディオ信号を音声に変換するスピーカなどから構成されている。
【００１８】
以上の構成において、動作を説明する。
ＣＰＵ２０１は、電源がオンされると、ＲＯＭ２０２に格納されたプログラムを読み出して実行することにより、楽器全体の制御を開始する。液晶表示器１０２には、例えば五線譜を表示させるための画像データを送出して表示させる。それ以降は、ユーザの鍵盤１０１、或いは操作部２０４への操作に応じて制御を行う。
【００１９】
液晶表示器１０２は、例えば１画面分の記憶容量を少なくとも有するメモリ（例えばＶＲＡＭ）を備え、そのメモリに書き込まれた画像データに従って液晶パネルを駆動、即ち液晶間に電圧を印加することで画像を表示する。このことから、新たに画像を表示させることを含む表示内容の変更は、そのメモリに格納された画像データを書き換えることで行われる。
【００２０】
図３に示すように、ＲＯＭ２０２には楽譜を構成する各種シンボル、具体的には五線譜やト音記号、ヘ音記号、符頭、「＃」、及び「♭」などの画像データが格納されている。このことから、ＣＰＵ２０１は、ＲＡＭ２０３に確保した作業エリアに、ＲＯＭ２０２から読み出した表示すべきシンボルの画像データを、そのシンボルの表示位置に応じて書き込むことで液晶表示器１０２に送出すべき１画面分の画像データを生成する。一度、１画面分の画像データを生成した後は、表示させるべきシンボルの種類や数、或いはその表示位置の変更などに応じて、作業エリアの画像データを全て書き換えるか、或いはその一部を書き換えることにより、そのエリアの画像データを更新する。更新したエリアの画像データは液晶表示器１０２に送出することで、その更新を表示内容に反映させる。
【００２１】
図４に示すように、ＲＯＭ２０３には楽器の制御を行うために作業用の様々なエリアが確保されている。図４中のＶＲＡＭエリアは、上記作業エリアに対応し、そのＶＲＡＭエリアに格納された画像データが液晶表示器１０２に送出されてそのメモリに格納される。
【００２２】
ユーザが操作部２０４を操作した場合、それの検出回路からその操作内容を示す情報がＣＰＵ２０１に送出される。ＣＰＵ２０１は、その情報を基に、制御すべき対象を特定し、その特定した対象に対する制御を行う。それにより、特に詳細な説明は省略するが、ユーザは、操作部２０４を操作することにより、各種設定やその設定内容の変更を行えるようになっている。
【００２３】
一方、ユーザが鍵盤１０１上の鍵を押鍵、或いは離鍵した場合にも、操作部２０４のときと同様に、その操作内容を示す情報がそれの検出回路からＣＰＵ２０１に送出される。ＣＰＵ２０１は、その情報を基に音源２０５に送出すべきコマンドを生成して送出する。それにより、ユーザの鍵盤１０１への操作に応じて、サウンドシステム２０６から楽音をリアルタイムで放音させる。それ以外には、ユーザが押鍵中の鍵を液晶表示器１０２に楽譜表示させる。その楽譜表示は、以下のようにして行う。
【００２４】
図９は、本実施の形態における楽譜表示方法を説明する図であり、図１０は、状況に応じた楽譜表示例を示す図である。先ず、図９、及び図１０を参照して、その楽譜表示方法について具体的に説明する。
【００２５】
本実施の形態では、図９に示すように、五線譜を構成する線の垂直方向（Ｙ方向）に沿って符頭を並べる列の候補として、その線に沿った方向（Ｘ方向）上の位置が異なる基本表示列、及びその両側に位置する２つの副表示列ａ、ｂを設定している。基本表示列は、幹音とその派生音が共に存在していない場合に選択し、それらが共に存在している場合には、２つの副表示列ａ、ｂを選択するようになっている。なお、以降は、幹音とその派生音が共に存在することを、隣接同音を含む、とも表現することにする。
【００２６】
副表示列ａには、幹音を表す符頭を並べる（配置する）のに使用し、他方の副表示列ｂには、その幹音の派生音を含む、それ以外の楽音を表す符頭を並べるのに使用するようにしている。それにより、幹音を表す符頭は、その派生音を表す符頭と比較して、演奏進行上における前方に位置させている。これは、そのような位置関係とすることにより、幹音を表す符頭の前にナチュラル記号を配置するような必要性を回避できるためである。この結果、そのような位置関係とすることにより、符頭以外に表示されるシンボルの数を抑えることができ、それによって、より内容を認識しやすい楽譜を表示させることができるようになる。
【００２７】
楽音を表す符頭は全て表示することで、ユーザは幾つの楽音を鳴らしているのかを直ちに理解することができる。幹音、及びその派生音を表す符頭は、Ｘ方向上の位置を異ならせることで、個別に嬰記号や変記号、或いはナチュラル記号を表すシンボルを符頭に付けることができる。このようなことから、常にユーザが認識しやすい形で楽譜を表示させることができる。
【００２８】
副表示列ａは、副表示列ａ１〜３からなり、そのうちの一つを選択するようになっている。副表示列ｂも同様に、副表示列ｂ１〜３からなり、そのうちの一つを選択するようになっている。これは、副表示列ａ、ｂ間に、嬰記号や変記号を見やすい状態に配置する必要から、その記号の数に応じて、その間の五線譜の線に沿った方向（Ｘ方向）上の間隔を変化させるためである。本実施の形態では、嬰記号や変記号が重なって見難くなるのを回避するために、それらの記号を列で配置している。このことから、嬰記号、或いは変記号の表示列が一つであれば副表示列ａ１、ｂ１を選択し、その表示列が二つであれば副表示列ａ２、ｂ２を選択し、その表示列が三つであれば副表示列ａ３、ｂ３を選択している。それにより、図１０に示すように、その表示列の数が増えるほど、副表示列ａ、ｂ間のＸ方向上の間隔を広げるようにしている。このようにしてその間隔を制御することで、幹音とその派生音をそれぞれ表す符頭がむやみに離れてしまうのを回避することができる。
【００２９】
上述したような楽譜表示は、以下のようにして実現させている。
図４に示すＡ〜Ｃレジスタ（ＲＥＧＩＳＴＥＲ）は、上記楽譜表示を行うために確保したエリアである。それら各レジスタは、それぞれ、２つのエリアを持つ多数の格納エリアから構成されている。具体的には、例えばＢレジスタでは、［０］〜［ｎ］で表される計ｎ＋１個の格納エリアが存在し、それらの格納エリアは、更に［０］、或いは［１］を付加して表されるエリアから構成されている。
以降は、図４に示したように、エリアは、「エリア［ｎ］」、或いは「エリア［ｎ］［０］」といったように、［］を用いて表すことにする。エリアを特に限定する必要がない場合には、即ち括弧内が任意の値で良い場合には、その括弧内の内容は省略することにする。
【００３０】
ＣＰＵ２０１は、鍵盤１０１の検出回路が送出した操作内容を示すデータをＢレジスタに格納する。その格納は、ユーザが押鍵している鍵毎に、言い換えれば、発音を開始する、或いは発音中の楽音毎に、エリア［］［１］にはそのノートナンバーを格納し、エリア［］［０］にはそのナンバーの音高の楽音が発音中（発音開始を含む）であることを示す値の１を格納することで行っている。それにより、Ｂレジスタには、図５中の上段に表すような内容が格納される。
【００３１】
次に、ＣＰＵ２０１は、Ｂレジスタのなかに、幹音、及びその派生音（幹音に嬰記号、或いは変記号を付して表される楽音）のデータが共に格納されているか否か調べ、そのようなデータが格納されていれば、幹音のデータをＡレジスタに格納して、それをＢレジスタから消去する。そのような操作をＢレジスタに対して行うことで、そのＢレジスタの内容は上段から下段に表すように変更されることになる。一方のＡレジスタには、図６に表すような内容が格納されることになる。そのようにして、発音を開始する、或いは発音中の楽音のデータは、必要に応じて、Ａレジスタ、及びＢレジスタに分けて格納する。Ａレジスタに格納された楽音のデータは、副表示列ａに符頭を表示するのに用いられ、Ｂレジスタに格納された楽音のデータは、副表示列ｂに符頭を表示するのに用いられる。Ａレジスタに楽音のデータを格納しなければ、Ｂレジスタに格納された楽音のデータは基本表示列に符頭を表示するのに用いられる。
【００３２】
Ｂレジスタに対する上記の操作を行った後は、そのＢレジスタに派生音のデータが格納されているか否か調べる。その結果、派生音のデータが格納されていれば、その派生音に対応するノートナンバーをＣレジスタのエリア［］［０］に格納し、嬰記号、或いは変記号の表示列を表す番号（以降、ラインナンバーと呼ぶ）をそれのエリア［］［１］に格納する。そのようにして、Ｃレジスタに、嬰記号、或いは変記号を表示するためのデータを格納する。それにより、Ｂレジスタに図５の下段に表すようなデータが格納されていた場合には、Ｃレジスタには図７に表すような内容が格納されることになる。嬰記号、或いは変記号の表示列数の保持用に用意した変数ｔの格納エリアには、図８に示すように、データとして２が格納されることになる。
【００３３】
ＣＰＵ２０１は、変数ｔに代入された値から、符頭の表示列を選択する。各表示列のＸ方向上の表示位置（Ｘ座標）は、図３に示すように、ＲＯＭ２０２に格納されており、選択した表示列に対応するＸ座標をＲＯＭ２０２から読み出して符頭を表示させるＸ座標を設定する。符頭のＹ方向上の表示位置（Ｙ座標）とノートナンバーの対応関係は、図３に示す音高・Ｙ座標変換テーブルに定義されている。このことから、ＣＰＵ２０１は、Ｂレジスタ、或いはＡレジスタに格納されたノートナンバーに対応するＹ座標をそのテーブルから読み出して、符頭を表示させるＹ座標を設定する。符頭に付ける嬰記号、或いは変記号のＹ座標も同様に設定する。嬰記号、或いは変記号の表示列毎のＸ座標（ここでは、基準とするＸ座標からの補正値（シフト量）である）は、その表示列別（基本表示列、副表示列ａ１〜３（ｂ１〜３）である）に図３に示す補正値変換テーブルに定義されている。このことから、ＣＰＵ２０１は、符頭を表示させる表示列に応じて、Ｃレジスタに格納されたラインナンバーに対応するＸ座標をそのテーブルから読み出すことで嬰記号、或いは変記号のＸ座標を設定する。
【００３４】
上述したようにして楽譜上に配置するシンボルの種類、その表示位置が決定される。ＣＰＵ２０１は、配置するシンボルの画像データをＲＯＭ２０２から読み出し、それの表示位置に応じてＲＡＭ２０３のＶＲＡＭエリアに格納する。それを各シンボル毎に行うことで、ＶＲＡＭエリア上に、１画面分の画像データを生成する。ＶＲＡＭエリアに生成した１画面分の画像データは液晶表示部１０２に送出してそれのメモリに書き込むことにより、その表示部１０２に楽譜（図９、或いは図１０参照）を表示させる。
【００３５】
図１１〜図１７は、楽譜表示処理の動作フローチャートである。電源がオンされた後にＣＰＵ２０１が実行する、楽譜表示に係わる重要部分の処理を抜粋してその流れを表したものである。次に、図１１〜図１７に示す動作フローチャートを参照して、その楽譜表示処理について詳細に説明する。なお、図１１〜図１７に示す動作フローチャートは、ＣＰＵ２０１が、ＲＯＭ２０２に格納されたプログラムを実行することで実現される。
【００３６】
先ず、ステップ１１０１では、イニシャライズを行い、楽器を予め定めた状態に設定する。続くステップ１１０２では、ＲＯＭ２０２から五線譜、ト音記号、及びヘ音記号の各画像データを読み出してＲＡＭ２０３のＶＲＡＭエリアに書き込み、それを液晶表示器１０２に送出することでその表示器１０２に五線譜を表示させる。その後、ステップ１１０３に移行する。
【００３７】
ステップ１１０３では、鍵盤１０１からユーザの操作内容を表す情報を入力したか否か判定する。ユーザが鍵盤１０１上の何れかの鍵を押鍵、或いは離鍵した場合、その操作内容を表す情報が鍵盤１０１からＣＰＵ２０１に送出されることから、判定はＹＥＳとなってステップ１１０４に移行する。そうでない場合には、判定はＮＯとなり、例えば所定時間が経過した後、再度ステップ１１０３を実行する。
【００３８】
ステップ１１０４では、ＶＲＡＭエリアに格納された符頭、嬰記号、或いは変記号などのシンボルの画像データを消去して五線譜（ここではト音記号、及びヘ音記号を含む）の画像データだけを残す。また、Ａ〜Ｃレジスタの内容をクリアする。続くステップ１１０５では、変数ｎに０を代入する。その代入を行った後、ステップ１１０６に移行する。
【００３９】
どの音高の楽音が発音中か否かは、特に詳細な説明は省略するが、例えばＲＡＭ２０３にエリアを確保し、ノートナンバー毎に、そのナンバーに対応する楽音が発音中か否かを示す値を格納することで把握するようにしている。ステップ１１０６〜１１１１では、変数ｎの値を順次、インクリメントしながら、そのエリアの変数ｎの値で指定されるノートナンバーの楽音が発音中か否か確認し、その確認結果に応じてＢレジスタの内容を更新していくための処理が行われる。
【００４０】
先ず、ステップ１１０６では、変数ｎの値に対応するノートナンバーの楽音が発音中か否か判定する。そのナンバーが割り当てられた鍵をユーザが押鍵している場合、その旨を表す値が上記エリアに格納されていることから判定はＹＥＳとなり、ステップ１１０７でＢレジスタのエリア［ｎ］［１］に１を代入した後、ステップ１１０９に移行する。そうでない場合には、判定はＮＯとなり、ステップ１１０８でエリア［ｎ］［１］に０を代入した後、そのステップ１１０９に移行する。
【００４１】
ステップ１１０９では、Ｂレジスタのエリア［ｎ］［０］に変数ｎの値を格納する。続くステップ１１１０では、変数ｎの値をインクリメントする。その後は、ステップ１１１１に移行して、変数ｎの値が６０より大きいか否か判定する。鍵盤１０１は６１鍵である。このことから、全ての鍵の状態に応じてＢレジスタの内容の更新を終了した場合、判定はＹＥＳとなり、図１２に示すステップ１１１２に移行する。そうでない場合には、判定はＮＯとなって上記ステップ１１０６に戻る。
【００４２】
このようにして、Ｂレジスタの各エリア［］には、それに対応する鍵の状態に応じたデータが格納される。図１２に示すステップ１１１２〜１１２１では、そのＢレジスタの内容を参照して、派生音と共に発音される幹音のデータをＡレジスタに格納し、その幹音のデータをＢレジスタから削除するための処理が行われる。
【００４３】
先ず、ステップ１１１２では、変数ｍ及びｎにそれぞれ０を代入する。続くステップ１１１３では、Ｂレジスタのエリア［ｎ］［１］に１が格納されているか否か判定する。変数ｎの値をノートナンバーとする鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１１４に移行する。そうでない場合には、判定はＮＯとなり、後述するステップ１１２０に移行する。
【００４４】
ステップ１１１４では、Ｂレジスタのエリア［ｎ］［０］に格納されたノートナンバーが白鍵に割り当てられたナンバーか否か、即ちそのナンバーが幹音のナンバーか否か判定する。変数ｎの値をノートナンバーとする白鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１１５に移行する。そうでない場合には、判定はＮＯとなってステップ１１２０に移行する。
【００４５】
ステップ１１１５では、ステップ１１１４で幹音と判定した楽音の派生音が発音中であることを示す１がＢレジスタのエリア［ｎ＋１］［１］或いは［ｎ−１］［１］に格納されているか否か判定する。変数ｎの値をノートナンバーとする白鍵の他に、その白鍵の派生音のノートナンバーが割り当てられた黒鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１１６に移行する。そうでない場合には、判定はＮＯとなってステップ１１２０に移行する。
【００４６】
ステップ１１１６では、Ａレジスタのエリア［ｍ］［０］に変数ｎの値を格納する。次に実行するステップ１１１７では、Ａレジスタのエリア［ｍ］［１］に１を格納する。それ以降は、ステップ１１１８でＢレジスタのエリア［ｎ］［１］に０を格納し、ステップ１１１９で変数ｍの値をインクリメントし、ステップ１１２０で変数ｎの値をインクリメントする。その変数ｎの値をインクリメントした後はステップ１１２１に移行する。
【００４７】
ステップ１１２１では、変数ｎの値が６０より大きいか否か判定する。Ｂレジスタ中から派生音とともに発音される幹音のデータを全てＡレジスタに格納した場合、判定はＹＥＳとなって図１３に示すステップ１１２２に移行する。そうでない場合には、判定はＮＯとなって上記ステップ１１１３に戻る。
【００４８】
このようにして、Ｂレジスタの内容には図５に示すような操作が行われ、Ａレジスタには図６に示すような内容が格納されることになる。図１３のステップ１１２２〜１１３４では、操作を行った後のＢレジスタを対象にして、Ｃレジスタに嬰記号、或いは変記号の表示用のデータを格納するための処理が行われる。
【００４９】
先ず、ステップ１１２２では、変数ｎ、ｌ、ｓ、及びｔにそれぞれ０を代入する。続くステップ１１２３では、Ｂレジスタのエリア［ｎ］［１］に１が格納されているか否か判定する。変数ｎの値をノートナンバーとする鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１２４に移行する。そうでない場合には、判定はＮＯとなり、後述するステップ１１３３に移行する。
【００５０】
ステップ１１２４では、Ｂレジスタのエリア［ｎ］［０］に格納されたノートナンバーが黒鍵に割り当てられたナンバーか否か、即ちそのナンバーが派生音のナンバーか否か判定する。変数ｎの値をノートナンバーとする黒鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１２５に移行する。そうでない場合には、判定はＮＯとなってステップ１１３３に移行する。
【００５１】
ステップ１１２５では、Ｃレジスタのエリア［ｌ］［０］に変数ｎの値を格納する。続くステップ１１２６では、変数ｌの値をインクリメントし、その後に移行するステップ１１２７では変数ｓの値をインクリメントする。その変数ｓの値をインクリメントした後はステップ１１２８に移行する。
【００５２】
ステップ１１２８では、変数ｓの値が３より大きいか否か判定する。その値が３より大きい場合、判定はＹＥＳとなり、ステップ１１２９で変数ｓに１を代入した後、ステップ１１３０に移行する。そうでない場合には、判定はＮＯとなり、そのステップ１１３０に移行する。
【００５３】
ステップ１１３０では、Ｃレジスタのエリア［ｌ］［１］に変数ｓの値をラインナンバーとして格納する。続くステップ１１３１では、変数ｓの値が変数ｔの値より大きいか否か判定する。変数ｓの値が変数ｔの値より大きい場合、判定はＹＥＳとなり、ステップ１１３２で変数ｔに変数ｓの値を代入した後、ステップ１１３３に移行する。そうでない場合には、判定はＮＯとなり、そのステップ１１３３に移行する。変数ｓの値が変数ｔの値より大きければ変数ｔに変数ｓの値を代入することにより、変数ｔには、変数ｓに代入された値のなかで最大の値が保持されることになる。
【００５４】
ステップ１１３３では、変数ｎの値をインクリメントする。続くステップ１１３４では、変数ｎの値が６０より大きいか否か判定する。Ｂレジスタの内容を参照して、嬰記号、或いは変記号を表示するためのデータをＣレジスタに全て格納した場合、判定はＹＥＳとなり、図１４に示すステップ１１３５に移行する。そうでない場合には、判定はＮＯとなって上記ステップ１１２３に戻る。
【００５５】
上記したように、変数ｓには１→２→３→１の流れで値をサイクリックに代入する。その代入は、Ｂレジスタのエリア［］のデータを参照していくために用いる変数ｎの値をインクリメントしながら、必要に応じて行っている。このため、図９、或いは図１０に示すように、嬰記号、或いは変記号を表示させることができ、その一部が他のシンボルと重なるような状態に表示してしまうのは確実に回避されることになる。
【００５６】
図１４のステップ１１３５に移行した時点ではＡ〜Ｃレジスタの内容は確定した状態となっている。このことから、そのステップ１１３５以降では、それらのレジスタに格納された内容に従って楽譜を表示させるための処理が行われる。
【００５７】
先ず、ステップ１１３５では、変数ｍの値が０か否か判定する。上述したように、その初期値は０であり、Ａレジスタのエリア［］にデータを格納する度に、変数ｍの値はインクリメントされる。このため、ユーザが幹音、及びその幹音の派生音となる関係の白鍵、及び黒鍵を押鍵していた場合、変数ｍには１以上の値が代入されている結果となり、判定はＹＥＳとなってステップ１１３６に移行する。そうでない場合には、判定はＮＯとなり、図１５に示すステップ１１４９に移行する。
【００５８】
ステップ１１３６〜１１４８では、基本表示列に符頭を並べて表示させるための処理が行われる。
先ず、ステップ１１３６では、変数ｎに０を代入する。続くステップ１１３７では、Ｂレジスタのエリア［ｎ］［１］に１が格納されているか否か判定する。変数ｎの値をノートナンバーとする鍵をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１３８に移行する。そうでない場合には、判定はＮＯとなり、後述するステップ１１４０に移行する。
【００５９】
ステップ１１３８では、図３に示す音高・Ｙ座標変換テーブルから、Ｂレジスタのエリア［ｎ］［０］に格納されたノートナンバーに対応するＹ座標を読み出し、それを符頭を表示させるＹ座標として設定する。続くステップ１１３９では、その符頭を表示させるＸ座標として基本表示列のＸ座標を設定し、それによって確定したＸＹ座標に応じて符頭の画像データをＶＲＡＭエリアに格納する。その後は、ステップ１１４０に移行する。
【００６０】
ステップ１１４０では、変数ｎの値をインクリメントする。その後に移行するステップ１１４１では、変数ｎの値が６０より大きいか否か判定する。Ｂレジスタの内容を参照して、表示させるべき符頭の画像データを全てＶＲＡＭエリアに書き込んだ場合、判定はＹＥＳとなってステップ１１４２に移行する。そうでない場合には、判定はＮＯとなり、上記ステップ１１３７に戻ってそれ以降の処理を同様に実行する。
【００６１】
ステップ１１３７〜１１４１で形成される処理ループをステップ１１４１の判定がＹＥＳとなるまでの間、繰り返し実行することにより、ユーザが押鍵している鍵の音高を明示するための符頭の画像データがＶＲＡＭエリアに順次、書き込まれていくことになる。
【００６２】
ステップ１１４２では、変数ｌに０を代入する。続くステップ１１４３では、Ｃレジスタのエリア［ｌ］［１］に０以外の値が格納されているか否か判定する。Ｃレジスタのエリア［ｌ］［０］に格納されたノートナンバーが割り当てられた黒鍵をユーザが押鍵している場合、エリア［ｌ］［１］には１以上の値のラインナンバーが格納されることから、判定はＹＥＳとなってステップ１１４４に移行する。そうでない場合には、判定はＮＯとなって後述するステップ１１４７に移行する。
【００６３】
ステップ１１４４では、図３に示す音高・Ｙ座標変換テーブルから、Ｃレジスタのエリア［ｌ］［０］に格納されたノートナンバーに対応するＹ座標を読み出し、そのノートナンバーから特定されるシンボル（「＃」或いは「♭」）を表示させるＹ座標として設定する。続くステップ１１４５では、図３に示す補正値変換テーブルから、基本表示列でエリア［ｌ］［１］に格納されたラインナンバーに対応するＸ座標の補正値を読み出す。その後に移行するステップ１１４６では、基本表示列のＸ座標にステップ１１４５で読み出した補正値を加算してシンボルを表示させるＸ座標を設定し、それによって確定したＸＹ座標に応じてシンボルの画像データをＶＲＡＭエリアに格納する。その後はステップ１１４７に移行する。
【００６４】
ステップ１１４７では、変数ｌの値をインクリメントする。次に実行するステップ１１４８では、変数ｌの値が２４より大きいか否か判定する。Ｃレジスタのエリア［］数は２５としている。このことから、Ｃレジスタに格納されたデータで指定されるシンボルの画像データをＶＲＡＭエリアに全て格納した場合、判定はＹＥＳとなり、そのＶＲＡＭエリアに格納されている１画面分の画像データを液晶表示器１０２に送出した後、図１１のステップ１１０３に戻って、それ以降の処理を同様に実行する。そうでない場合には、判定はＮＯとなり、上記ステップ１１４３に戻る。
【００６５】
ステップ１１４３〜１１４８で形成される処理ループをステップ１１４８の判定がＹＥＳとなるまでの間、繰り返し実行することにより、ユーザが押鍵している黒鍵の音高を明示するためのシンボルの画像データがＶＲＡＭエリアに順次、書き込まれていくことになる。
【００６６】
上記ステップ１１３５の判定がＮＯとなって図１５のステップ１１４９に移行することは、符頭を副表示列ａ、ｂに表示させることを意味する。このことから、そのステップ１１４９以降では、符頭を副表示列ａ、ｂに表示させるための処理が行われる。
【００６７】
先ず、ステップ１１４９では、変数ｔの値が１か否か判定する。その変数ｔに１が代入されていた場合、判定はＹＥＳとなり、ステップ１１５０に移行する。
そうでない場合には、判定はＮＯとなって図１６に示すステップ１１６９に移行する。
【００６８】
変数ｔに１が代入されているということは、嬰記号、或いは変記号の表示列数は１であり、符頭は副表示列ａ１、ｂ１に並べて表示させることを意味する。このことから、ステップ１１５０〜１１６８では、そのように表示するための処理が行われる。
【００６９】
先ず、ステップ１１５０では、変数ｍに０を代入する。続くステップ１１５１では、Ａレジスタのエリア［ｍ］［１］に１が格納されているか否か判定する。エリア［ｍ］［０］に格納されたノートナンバーが割り当てられた鍵（白鍵）をユーザが押鍵していた場合、判定はＹＥＳとなってステップ１１５２に移行する。そうでない場合には、判定はＮＯとなり、後述するステップ１１５４に移行する。
【００７０】
ステップ１１５２では、図３に示す音高・Ｙ座標変換テーブルから、Ｃレジスタのエリア［ｍ］［０］に格納されたノートナンバーに対応するＹ座標を読み出し、そのナンバーに対応する音高を示す符頭を表示させるＹ座標として設定する。続くステップ１１５３では、その符頭を表示させるＸ座標として副表示列ａ１のＸ座標を設定し、それによって確定したＸＹ座標に応じて符頭の画像データをＶＲＡＭエリアに格納する。その後は、ステップ１１５４に移行する。
【００７１】
ステップ１１５４では、変数ｍの値をインクリメントする。その後に移行するステップ１１５５では、変数ｍの値が２４より大きいか否か判定する。Ａレジスタのエリア［］数は２５としている。このことから、Ａレジスタに格納されたデータで指定される符頭の画像データをＶＲＡＭエリアに全て格納した場合、判定はＹＥＳとなってステップ１１５６に移行する。そうでない場合には、判定はＮＯとなり、上記ステップ１１５１に戻る。
【００７２】
ステップ１１５１〜１１５５で形成される処理ループをステップ１１５５の判定がＹＥＳとなるまでの間、繰り返し実行することにより、派生音とともに発音される幹音の音高を明示するための符頭の画像データがＶＲＡＭエリアに順次、書き込まれていくことになる。それにより、副表示列ａ１に幹音の音高を示す符頭が並べて表示される。
【００７３】
ステップ１１５６〜１１６１では、Ｂレジスタの内容を参照して、副表示列ｂ１に派生音を含むそれ以外の楽音の音高を示す符頭を並べて表示させるための処理が行われる。
【００７４】
先ず、ステップ１１５６では、変数ｎに０を代入する。続くステップ１１５７では、Ｂレジスタのエリア［ｎ］［１］に１が格納されているか否か判定する。Ｂレジスタのエリア［ｎ］［０］に格納されたノートナンバーが割り当てられた鍵をユーザが押鍵している場合、エリア［ｎ］［１］には１が格納されることから、判定はＹＥＳとなってステップ１１５８に移行する。そうでない場合には、判定はＮＯとなって後述するステップ１１６０に移行する。
【００７５】
ステップ１１５８では、図３に示す音高・Ｙ座標変換テーブルから、Ｂレジスタのエリア［ｎ］［０］に格納されたノートナンバーに対応するＹ座標を読み出し、そのナンバーに対応する音高を示す符頭を表示させるＹ座標として設定する。続くステップ１１５９では、その符頭を表示させるＸ座標として副表示列ｂ１のＸ座標を設定し、それによって確定したＸＹ座標に応じて符頭の画像データをＶＲＡＭエリアに格納する。その後は、ステップ１１６０に移行する。
【００７６】
ステップ１１６０では、変数ｎの値をインクリメントする。その後に移行するステップ１１６１では、変数ｎの値が６０より大きいか否か判定する。Ｂレジスタに格納されたデータで指定される符頭の画像データをＶＲＡＭエリアに全て格納した場合、判定はＹＥＳとなってステップ１１６２に移行する。そうでない場合には、判定はＮＯとなり、上記ステップ１１５７に戻る。
【００７７】
このようにして、ステップ１１５７〜１１６１で形成される処理ループをステップ１１６１の判定がＹＥＳとなるまでの間、繰り返し実行することにより、副表示列ｂ１に並べて表示させるべき符頭の画像データがＶＲＡＭエリアに順次、書き込まれていくことになる。
【００７８】
ステップ１１６２〜１１６８では、Ｃレジスタの内容を参照して、副表示列ａ１と副表示列ｂ１間に嬰記号、或いは変記号を表すシンボルを表示させるための処理が行われる。
【００７９】
先ず、ステップ１１６２では、変数ｌに０を代入する。続くステップ１１６３では、Ｃレジスタのエリア［ｌ］［１］に０以外の値が格納されているか否か判定する。Ｃレジスタのエリア［ｌ］［０］に格納されたノートナンバーが割り当てられた黒鍵をユーザが押鍵している場合、エリア［ｌ］［１］には１以上の値のラインナンバーが格納されることから、判定はＹＥＳとなってステップ１１６４に移行する。そうでない場合には、判定はＮＯとなって後述するステップ１１６７に移行する。
【００８０】
ステップ１１６４では、図３に示す音高・Ｙ座標変換テーブルから、Ｃレジスタのエリア［ｌ］［０］に格納されたノートナンバーに対応するＹ座標を読み出し、そのノートナンバーから特定されるシンボル（「＃」或いは「♭」）を表示させるＹ座標として設定する。続くステップ１１６５では、図３に示す補正値変換テーブルから、副表示列ａ１（或いはｂ１）でエリア［ｌ］［１］に格納されたラインナンバーに対応するＸ座標の補正値を読み出す。その後に移行するステップ１１６６では、副表示列ｂ１のＸ座標にステップ１１６５で読み出した補正値を加算してシンボルを表示させるＸ座標を設定し、それによって確定したＸＹ座標に応じてシンボルの画像データをＶＲＡＭエリアに格納する。その後はステップ１１６７に移行する。
【００８１】
ステップ１１６７では、変数ｌの値をインクリメントする。次に実行するステップ１１６８では、変数ｌの値が２４より大きいか否か判定する。Ｃレジスタに格納されたデータで指定されるシンボルの画像データをＶＲＡＭエリアに全て格納した場合、判定はＹＥＳとなり、そのＶＲＡＭエリアに格納されている１画面分の画像データを液晶表示器１０２に送出した後、図１１のステップ１１０３に戻って、それ以降の処理を同様に実行する。そうでない場合には、判定はＮＯとなり、上記ステップ１１６３に戻る。
【００８２】
ステップ１１６３〜１１６８で形成される処理ループをステップ１１６８の判定がＹＥＳとなるまでの間、繰り返し実行することにより、ユーザが押鍵している黒鍵の音高を明示するためのシンボルの画像データがＶＲＡＭエリアに順次、書き込まれていくことになる。
【００８３】
上記ステップ１１４９の判定がＮＯとなって移行する図１６のステップ１１６９では、変数ｔの値が２か否か判定する。その変数ｔに２が代入されていた場合、判定はＹＥＳとなり、ステップ１１７０に移行する。そうでない場合には、判定はＮＯとなって図１７のステップ１１８９に移行する。
【００８４】
変数ｔに２が代入されているということは、嬰記号、或いは変記号の表示列数は２であり、符頭は副表示列ａ１、ｂ１に並べて表示させることを意味する。このことから、ステップ１１７０〜１１８８では、そのように表示するための処理が行われる。しかし、その内容は、基本的には上述したステップ１１５０〜１１６８と同じであるため、詳細な説明は省略する。
【００８５】
一方、図１７のステップ１１８９に移行することは、変数ｔに３が代入されていることを意味する。このため、嬰記号、或いは変記号の表示列数は３であり、符頭は副表示列ａ３、ｂ３に並べて表示させなければならない。このことから、ステップ１１８９〜１２０７では、そのように表示するための処理が行われる。しかし、その内容も、基本的には上述したステップ１１５０〜１１６８と同じである。このため、詳細な説明は省略する。
【００８６】
なお、本実施の形態では、副表示列ａに幹音を表す符頭だけを並べて表示し、その派生音を含むそれ以外の楽音を表す符頭は副表示列ｂに並べて表示しているが、楽音の割り振りはそれに限定されるものではない。例えば副表示列ｂに派生音を表す符頭のみを並べて表示し、その幹音を含むそれ以外の楽音を表す符頭を副表示列ａに並べて表示しても良い。
【００８７】
それ以外には、例えば、図１８に示すように、副表示列を一つだけ基本表示列の後方に用意し、幹音とその派生音が共に存在している場合に、即ち隣接同音を含む場合に、副表示列には幹音を表す符頭だけを並べて表示し、基本表示列にはその派生音を含むそれ以外の楽音を表す符頭を並べて表示させるようにしても良い。その逆の関係に、基本表示列と副表示列に符頭を並べて表示させても良い。そのようにした場合には、図１８（ｂ）に示すナチュラル記号は省略させることができる。或いは、図２０（ａ）に示すように、基本表示列の前方に副表示列を一つだけ用意し、副表示列には幹音を表す符頭を並べ、基本表示列にはその派生音を含むそれ以外の楽音を表す符頭を並べて表示させても良い。基本表示列と副表示列に並べる符頭をその逆にしても良い。
【００８８】
本実施の形態と同じく、基本表示列、及び２つの副表示列を用意している場合には、図１９（ｂ）に示すように、派生音を表す符頭は副表示列ａに並べ、その幹音を表す符頭は副表示列ｂに並べ、それら以外の楽音を表す符頭は基本表示列に並べて表示するようにしても良い。図２０（ｂ）に示すように、副表示列ａ、ｂに並べる符頭をその逆にしても良い。或いは、図１９（ｃ）に示すように、副表示列ａに派生音を表す符頭のみを並べ、その幹音を含むそれ以外の楽音を表す符頭を副表示列ｂに並べて表示しても良い。これらのように、本発明は様々に変形させることができる。
【００８９】
本実施の形態では、ユーザが押鍵している鍵を楽譜の形で表示するようになっているが、スタンダードＭＩＤＩファイルなどの演奏データを対象に楽譜を表示するようにしても良い。演奏データを対象とする場合には、例えば各楽音の発音開始タイミングを基に和音を判定して、その構成音を上述したように楽譜表示させれば良い。本実施の形態は電子楽器に搭載された楽譜表示装置に本発明を適用したものであるが、本発明を適用できる楽譜表示装置はそれに限定されるものでもない。
【００９０】
上記したような動作を実現させるプログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等の通信回線を用いて、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザはプログラムを取得して任意の楽譜表示装置、或いはコンピュータ等のデータ処理装置にロードすることにより、その装置に本発明を適用させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【００９１】
【発明の効果】
以上、説明したように本発明は、幹音とその派生音を同時に発音させる楽音として楽譜表示する場合に、その幹音と派生音とに少なくとも分け、譜線譜を構成する線に沿った方向上の位置を異ならせて、幹音を表す符頭、及びその派生音を表す符頭を表示させ、その符頭の表示位置に応じて嬰記号、或いは変記号を表示させる。それにより、符頭は発音させる楽音毎に表示し、符頭に付けるべき嬰記号や変記号などのシンボルは符頭毎に付けて表示させる。このため、ユーザが認識しやすい形で楽譜を表示させることができる。
【図面の簡単な説明】
【図１】本実施の形態による楽譜表示装置を搭載した電子楽器の外観を示す図である。
【図２】本実施の形態による楽譜表示装置を搭載した電子楽器の回路構成図である。
【図３】ＲＯＭのマッピング例を説明する図である。
【図４】ＲＡＭのマッピング例を説明する図である。
【図５】Ｂレジスタの内容例、及びその内容の操作方法を説明する図である。
【図６】Ａレジスタの内容例を説明する図である。
【図７】Ｃレジスタの内容例を説明する図である。
【図８】変数ｔの格納エリアに格納されたデータ例を説明する図である。
【図９】本実施の形態における楽譜表示方法を説明する図である。
【図１０】状況に応じた楽譜表示例を示す図である。
【図１１】楽譜表示処理の動作フローチャートである。
【図１２】楽譜表示処理の動作フローチャートである（続き１）。
【図１３】楽譜表示処理の動作フローチャートである（続き２）。
【図１４】楽譜表示処理の動作フローチャートである（続き３）。
【図１５】楽譜表示処理の動作フローチャートである（続き４）。
【図１６】楽譜表示処理の動作フローチャートである（続き５）。
【図１７】楽譜表示処理の動作フローチャートである（続き６）。
【図１８】他の楽譜表示方法を説明する図である（その１）。
【図１９】他の楽譜表示方法を説明する図である（その２）。
【図２０】他の楽譜表示方法を説明する図である（その３）。
【図２１】和音の記譜例を示す図である（その１）。
【図２２】和音の記譜例を示す図である（その２）。
【図２３】従来の楽譜表示例を示す図である（その１）。
【図２４】従来の楽譜表示例を示す図である（その２）。
【符号の説明】
１０１    鍵盤
１０２    液晶表示器
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
【図１】
0003899778.tif 000002
【図２】
0003899778.tif 000003
【図３】
0003899778.tif 000004
【図４】
0003899778.tif 000005
【図５】
0003899778.tif 000006
【図６】
0003899778.tif 000007
【図７】
0003899778.tif 000008
【図８】
0003899778.tif 000009
【図９】
0003899778.tif 000010
【図１０】
0003899778.tif 000011
【図１１】
0003899778.tif 000012
【図１２】
0003899778.tif 000013
【図１３】
0003899778.tif 000014
【図１４】
0003899778.tif 000015
【図１５】
0003899778.tif 000016
【図１６】
0003899778.tif 000017
【図１７】
0003899778.tif 000018
【図１８】
0003899778.tif 000019
【図１９】
0003899778.tif 000020
【図２０】
0003899778.tif 000021
【図２１】
0003899778.tif 000022
【図２２】
0003899778.tif 000023
【図２３】
0003899778.tif 000024
【図２４】
0003899778.tif 000025