(57)【要約】【課題】楽譜記号の表示位置を簡単に制御できるようにする。【解決手段】楽譜表示データは、タイミング情報により特定される表示位置から楽譜記号を移動すべき水平方向の表示位置を指示するタイミングにより記述される属性情報、あるいは特定の表示位置から楽譜記号を移動すべき垂直方向の表示位置を指示する音高関連情報により記述される属性情報を具える。該属性情報を参照することによって、楽譜記号の表示位置を制御する。すなわち、楽譜記号を表示する楽譜上の水平方向の表示位置はタイミング情報に従って特定され、垂直方向の表示位置は予め決められた位置に特定されるが、属性情報による前記特定の位置から楽譜記号を移動すべき水平方向の表示位置あるいは垂直方向の表示位置の指示に従って表示位置を移動するように制御する。これにより、表示位置を適宜の位置に移動して楽譜記号を表示することが簡単にできるようになる。【選択図】　　　　図６
2004117861.tif 000002
【特許請求の範囲】
【請求項１】
楽譜表示対象の楽譜記号を表す楽譜記号情報と、
前記楽譜記号を配置する楽譜上の水平方向の表示位置を表すタイミング情報と、
前記タイミング情報により特定される表示位置から前記楽譜記号を移動すべき水平方向の表示位置を指示するタイミングにより記述される属性情報と
を具え、
前記属性情報を参照することによって前記楽譜記号を表示する水平方向の表示位置を適宜の位置に制御できるようにしたことを特徴とする楽譜表示データを記憶した記憶媒体。
【請求項２】
楽譜表示対象の楽譜記号を表す楽譜記号情報と、
前記楽譜記号を配置する楽譜上の水平方向の表示位置を表すタイミング情報と、
特定の表示位置から前記楽譜記号を移動すべき垂直方向の表示位置を指示する音高関連情報により記述される属性情報と
を具え、
前記属性情報を参照することによって前記楽譜記号を表示する垂直方向の表示位置を適宜の位置に制御できるようにしたことを特徴とする楽譜表示データを記憶した記憶媒体。
【請求項３】
少なくとも楽譜記号情報とタイミング情報と属性情報とを含む楽譜表示データに従って楽譜表示を行う楽譜表示装置であって、
楽譜記号情報に従って楽譜上に表示する楽譜記号を決定する楽譜記号決定手段と、
タイミング情報に従って前記楽譜記号を配置する楽譜上の水平方向の表示位置を決定する位置決定手段と、
属性情報に従って、前記決定した表示位置から水平方向の表示位置を移動及び／又は特定の表示位置から垂直方向の表示位置を移動して前記楽譜記号を表示する表示手段と
を具えた楽譜表示装置。
【請求項４】
コンピュータに、
楽譜記号情報に従って楽譜上に表示する楽譜記号を決定する手順と、
タイミング情報に従って前記楽譜記号を配置する楽譜上の水平方向の表示位置を決定する手順と、
属性情報に従って、前記決定した表示位置から水平方向の表示位置を移動及び／又は特定の表示位置から垂直方向の表示位置を移動して前記楽譜記号を表示する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、楽譜表示のための楽譜表示データを記憶した記憶媒体、該楽譜表示データを用いて楽譜を表示する楽譜表示装置及びプログラムに関する。特に、楽譜表示データ中の水平方向又は垂直方向の表示位置を指定する属性情報に従って、楽譜記号の表示位置を適宜に制御して表示できるようにした楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラムに関する。
【０００２】
【従来の技術】
従来から、自動演奏データに基づいて楽譜を表示する装置又はプログラムなどが知られている（例えば特開平１１−３２７４２７号公報など）。これらの装置では、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ上などに楽譜を表示する。一般的に、自動演奏データは楽音の音高を指定するデータ等を発音あるいは消音のイベントのタイミングデータと共に持つようなフォーマットになっている。タイミングデータとは、イベントを発生させる時刻やイベント間の時間間隔等を表す情報である。このような自動演奏データに基づいて楽譜表示を行う際には、自動演奏データを解析して、発音持続時間や発音タイミングの時間間隔などに従って音符や休符の種類を決定する。また、楽譜上に音符を表示する表示位置として、音高に従って上下方向の表示位置を、音符長に従って左右方向の表示位置を決めて、音符や休符あるいは各種音楽記号などを表示する。
【０００３】
【発明が解決しようとする課題】
上述したように従来の楽譜表示においては、自動演奏データに基づいて楽譜を表示しているので楽譜記号の表示位置を簡単に制御することができない、という問題点があった。すなわち、音符記号については自動演奏データ中のノートイベントに基づいて表示されるので、その音高とタイミングに従って表示位置が決定され、その表示位置に音符記号を表示する。その他の楽譜記号については装置側で一義的に表示位置が決められており、その表示位置にその他の楽譜記号を表示する。そのために、例えば狭い表示範囲に音符記号や楽譜記号を多数表示しなければならないような場合には、複数の楽譜記号が重なって表示されてしまうことがある。しかし、従来では表示位置が自動演奏データや予め決められた表示位置に限定されるものであり、各楽譜記号の表示位置を制御することができなかったことから、ユーザにとって非常に見にくい楽譜がそのまま表示されてしまう。こうした問題を解決する方法として、楽譜記号を表示するための楽譜記号データ毎に、該楽譜記号の表示位置として水平方向、垂直方向の表示位置をそれぞれ記憶することで、自由な位置に楽譜記号を表示可能とすることが考えられる。しかし、そうした場合に記憶する楽譜記号の表示位置は表示装置におけるある基準点を元にした絶対座標であり、異なる大きさや形状の表示装置に対応させるには各表示装置にあわせて表示位置を書き換えなければならず面倒である。
【０００４】
本発明は上述の点に鑑みてなされたもので、水平方向又は垂直方向の表示位置を指定する属性情報を楽譜表示データに持たせ、該属性情報に従って楽譜記号の表示位置を制御することにより、同じ属性情報を用いて表示装置の大きさや形状等に関わらずにユーザにとって見やすい楽譜を表示できるようにした楽譜表示データを記憶した記憶媒体、その楽譜表示データを用いた楽譜表示装置及びプログラムを提供しようとするものである。
【０００５】
【課題を解決するための手段】
本発明の請求項１に係る楽譜表示データは、楽譜表示対象の楽譜記号を表す楽譜記号情報と、前記楽譜記号を配置する楽譜上の水平方向の表示位置を表すタイミング情報と、前記タイミング情報により特定される表示位置から前記楽譜記号を移動すべき水平方向の表示位置を指示するタイミングにより記述される属性情報とを具え、前記属性情報を参照することによって前記楽譜記号を表示する水平方向の表示位置を適宜の位置に制御できるようにしたことを特徴とする。
また、本発明の請求項２に係る楽譜表示データは、楽譜表示対象の楽譜記号を表す楽譜記号情報と、前記楽譜記号を配置する楽譜上の水平方向の表示位置を表すタイミング情報と、特定の表示位置から前記楽譜記号を移動すべき垂直方向の表示位置を指示する音高関連情報により記述される属性情報とを具え、前記属性情報を参照することによって前記楽譜記号を表示する垂直方向の表示位置を適宜の位置に制御できるようにしたことを特徴とする。
【０００６】
これらの発明によると、タイミング情報により特定される表示位置から前記楽譜記号を移動すべき水平方向の表示位置を指示するタイミングにより記述される属性情報、あるいは特定の表示位置から前記楽譜記号を移動すべき垂直方向の表示位置を指示する音高関連情報により記述される属性情報を具えてなり、該属性情報を参照することによって前記楽譜記号を表示する水平方向の表示位置あるいは前記楽譜記号を表示する垂直方向の表示位置を適宜の位置に制御することができるようにした。すなわち、楽譜記号を表示する楽譜上の水平方向の表示位置はタイミング情報に従って特定され、垂直方向の表示位置は予め決められた位置に特定されるが、属性情報による前記特定の位置から楽譜記号を移動すべき水平方向の表示位置あるいは垂直方向の表示位置の指示に従って表示位置を移動するように制御する。このように、楽譜表示データ中に属性情報として特定の表示位置から楽譜記号を移動すべき水平方向あるいは垂直方向の表示位置を指示するようにしたことにより、該属性情報に従って表示位置を適宜の位置に移動して楽譜記号を表示することが簡単にできる。また、楽譜記号を移動すべき水平方向の表示位置あるいは垂直方向の表示位置をタイミングあるいは音高関連情報により記述することで、同じ属性情報を用いて表示装置の大きさや形状等に関わらずにユーザにとって見やすい楽譜を表示することができる。
【０００７】
本発明の請求項３に係る楽譜表示装置は、少なくとも楽譜記号情報とタイミング情報と属性情報とを含む楽譜表示データに従って楽譜表示を行う楽譜表示装置であって、楽譜記号情報に従って楽譜上に表示する楽譜記号を決定する楽譜記号決定手段と、タイミング情報に従って前記楽譜記号を配置する楽譜上の水平方向の表示位置を決定する位置決定手段と、属性情報に従って、前記決定した表示位置から水平方向の表示位置を移動及び／又は特定の表示位置から垂直方向の表示位置を移動して前記楽譜記号を表示する表示手段とを具える。このように属性情報に従って楽譜記号の表示位置を制御できるようにしたことにより、表示装置の大きさや形状等に関わらずにユーザにとって見やすい楽譜を表示することが簡単にできるようになる。
【０００８】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【０００９】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１０】
図１は、この発明に係る楽譜表示装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、検出回路４及び５、表示回路６、音源回路７、効果回路８、外部記憶装置９、ＭＩＤＩインタフェース（Ｉ／Ｆ）１０および通信インタフェース（Ｉ／Ｆ）１１がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。例えば、タイマ１Ａはクロックパルスを発生し、発生したクロックパルスをＣＰＵ１に対して処理タイミング命令として与えたり、あるいはＣＰＵ１に対してインタラプト命令として与える。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１１】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラム（例えば楽譜表示処理など）や各種データ（例えば楽譜表示データや自動演奏データなど）等を格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中の制御プログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。演奏操作子４Ａは楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子４Ａ（鍵盤等）は楽音演奏のために使用できるのは勿論のこと、楽譜表示の対象とする曲を選択する入力手段などとして使用することもできる。検出回路４は、演奏操作子４Ａの各鍵の押圧及び離鍵を検出することによって検出出力を生ずる。パネル操作子（スイッチ等）５Ａは、楽譜表示対象の曲を選択するための選択スイッチ、自動演奏に関する各種情報等を入力するためのスイッチなどである。勿論、これら以外にも楽譜表示データを編集するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいはディスプレイ６Ａに表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてもよい。検出回路５は上記各スイッチの操作状態を検出し、その操作状態に応じたスイッチ情報をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。表示回路６は選択された曲の楽譜を、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイ６Ａに表示するのは勿論のこと、自動演奏に関する各種情報あるいはＣＰＵ１の制御状態などを表示したりする。
【００１２】
音源回路７は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス１Ｄを経由して与えられた演奏情報を入力し、これらに基づいて楽音信号を発生する。音源回路７から発生された楽音信号は、効果回路８を介して効果付与されてアンプやスピーカなどを含むサウンドシステム８Ａから発音される。効果回路８は複数のエフェクトユニットを含んでおり、各エフェクトユニットは効果パラメータに従いそれぞれ異なる効果を音源回路７からの楽音信号に付与する。この音源回路７と効果回路８とサウンドシステム８Ａの構成には、従来のいかなる構成を用いてもよい。例えば、音源回路７はＦＭ、ＰＣＭ、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。外部記憶装置９は、楽譜表示データや自動演奏データ、あるいはＣＰＵ１が実行する各種制御プログラム等の制御に関するデータなどを記憶するものである。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置９（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置９はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｋ）等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であればどのようなものであってもよい。半導体メモリなどであってもよい。
【００１３】
ＭＩＤＩインタフェース（Ｉ／Ｆ）１０は、他のＭＩＤＩ機器１０Ａ等からＭＩＤＩ規格の演奏情報（つまりＭＩＤＩデータ）を当該電子楽器へ入力したり、あるいは当該電子楽器からＭＩＤＩ規格の演奏情報を他のＭＩＤＩ機器１０Ａ等へ出力するためのインタフェースである。他のＭＩＤＩ機器１０Ａはユーザによる操作に応じてＭＩＤＩデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。なお、ＭＩＤＩインタフェース１０は専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェース１０を構成するようにしてもよい。この場合、ＭＩＤＩイベントデータ以外のデータをも同時に送受信するようにしてもよい。ＭＩＤＩインタフェース１０として上記したような汎用のインタフェースを用いる場合には、他のＭＩＤＩ機器１０ＡはＭＩＤＩイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏情報に関するデータフォーマットはＭＩＤＩ形式のデータに限らず、他の形式であってもよく、その場合はＭＩＤＩインタフェース１０と他のＭＩＤＩ機器１０Ａはそれにあった構成とする。通信インタフェース（Ｉ／Ｆ）１１は、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワークＸに接続されており、該通信ネットワークＸを介して、サーバコンピュータ１１Ａと接続され、当該サーバコンピュータ１１Ａから制御プログラムや各種データを電子楽器側に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置９（例えば、ハードディスク）等に制御プログラムや各種データが記憶されていない場合に、サーバコンピュータ１１Ａから制御プログラムや各種データをダウンロードするために用いられる。こうした通信インタフェース１１は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００１４】
なお、上述した電子楽器において、演奏操作子４Ａは鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、電子楽器は演奏操作子４Ａやディスプレイ６Ａあるいは音源回路７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものであってもよいことはいうまでもない。さらに、本発明に係る電子楽器は、パーソナルコンピュータや携帯電話等の携帯型通信端末、あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００１５】
ここで、ＲＯＭ２や外部記憶装置９に記憶される楽譜表示データについて説明する。図２は、楽譜表示データのデータ構成の一実施例を示す概念図である。
楽譜表示データは、ディスプレイ６Ａ上に表示された複数段の五線譜等に対して音符や音楽記号などの各種イベントを配置する位置（表示位置）及び当該表示位置に表示する各種イベントの種類などを定義したデータである。楽譜表示データは複数のパート毎に定義されており、各パートのデータは五線譜の１段分に対応する。例えば、第１パートのデータは１段目の五線譜、第２パートのデータは２段目の五線譜として表示される。各パートのデータは、タイミングデータと楽譜記号データの列からなるイベントデータを複数含む。タイミングデータは楽譜記号データの存在すべきディスプレイ６Ａ上の水平方向（Ｘ方向）の表示位置を規定するもので、自動演奏データのタイミングデータと同様のフォーマットで記述される。例えば、時間的に１つ前のイベントとの間の相対タイミングや、曲先頭や各小節先頭などからの絶対タイミングなどで、単位は所定音符（例えば４分音符など）を所定個数（例えば９６０個や４８０個など）に分割したクロック（ティックとも言う）で表すことが多い。この実施例では後述の図５や図６に示すようにタイミングデータを「１：１：０００」や「２：３：２４０」などのようにして、前から順に「小節番号：拍数：クロック」により表す。すなわち、「１：１：０００」は１小節目の１拍目の０（０００）クロックで表されるＸ方向の表示位置を示すタイミングデータであり、「２：３：２４０」は２小節目の３拍目の２４０クロックで表されるＸ方向の表示位置を示すタイミングデータである。このように自動演奏データのタイミングデータと同様のフォーマットで楽譜表示データのＸ方向表示位置を規定することにより、同一楽曲について自動演奏データと楽譜表示データが存在する場合、両データ中の各音符の対応関係がわかる（対応する音符には同じタイミングを示すタイミングデータが付されている）という利点がある。
【００１６】
楽譜記号データは少なくとも、通常イベント、サブイベント、属性イベントのいずれかからなる。この実施の形態において、通常イベントは拍子記号、調号、テンポマーク、音部記号、符頭、符尾、休符、小節線、テキストなどの楽譜記号を楽譜上に表示するためのデータである。サブイベントは直前に有る通常イベントを修飾するためのデータであり、例えば符尾イベントに関するスタッカートやテヌート等の記号、符頭イベントに関する付点、あるいはタイ、グリッサンド、ポルタメント等の記号を楽譜上に表示するためのデータである。属性イベントは直前に有る通常イベント又はサブイベントを修飾するものであり、例えば通常イベント又はサブイベントの表示位置に関して水平方向のオフセット量、垂直方向のオフセット量、通常イベント又はサブイベントそのものを「表示する／表示しない」、通常イベント又はサブイベントを表示すべき五線譜番号、それらに関するパラメータなどからなる。上記したサブイベントや属性イベントには、修飾する通常イベントやサブイベントと同じタイミングデータを付す。これにより、修飾する対象のイベントデータを明確にする。１つの通常イベントに対しては、複数のサブイベントや属性イベントを記述することができる。また、１つのサブイベントに対しても複数の属性イベントを記述することができる。なお、楽譜記号の種類は例示したものに限らない。
【００１７】
上記したような各イベントデータは例えばスタンダードＭＩＤＩファイル（ＳＭＦ）においてテキストメタイベントにより記述され、メタイベントであることを表す予め決められた所定の「イベント情報（例えば’ＦＦ’などの記号）」と、当該イベントデータの種類を表す「タイプ」と、可変長である当該イベントデータの長さを表す「データ長」と、前記「タイプ」に応じた楽譜表示の際に必要な複数の定義情報とからなる。ここで、イベントデータにおける「タイプ」毎の定義情報について、図３を用いて説明する。図３（ａ）は符尾を表示するための通常イベント、図３（ｂ）は符頭を表示するための通常イベント、図３（ｃ）は休符を表示するための通常イベント、図３（ｄ）は属性イベントにおけるそれぞれの定義情報を示したものである。なお、この実施例において、符尾とは音符の符幹や１拍分の音符をまとめるビーム（連桁）や音符の旗を含む。
【００１８】
イベントデータが符尾を表示するための通常イベントである場合には「タイプ」に「Ｓｔｅｍ」を示すデータが記述され、図３（ａ）に示すように定義情報として、パートに対応する声部（ｖｃ：例えば第１声部又は第２声部など）、同時に表示する音符数（ｎｎ）、符尾の向き（ｄｄ：例えば自動、上向き又は下向きなど）、旗の数（ｆｆ）、前から表示を開始するビームの数（ｂｆ）、後から表示を開始するビームの数（ｂｂ）等を含む。符頭を表示するための通常イベントである場合には「タイプ」に「Ｈｅａｄ」を示すデータが記述され、図３（ｂ）に示すように定義情報として、音符の種類（ｔｙ：例えば３全音符〜５１２分音符など）、音高に対応するノートナンバ（ｎｎ）、音符に付する臨時記号（ａｃ：例えばシャープ（♯）やフラット（♭）など）等を含む。休符を表示するための通常イベントである場合には「タイプ」に「Ｒｅｓｔ」を示すデータが記述され、図３（ｃ）に示すように定義情報として、声部（ｖｃ）、休符の種類（ｔｙ：例えば３全休符〜５１２分休符など）、休符に付する付点（ｄｔ）等を含む。属性イベントである場合には「タイプ」に「Ａｔｔｒｉｂｕｔｅ」を示すデータが記述され、図３（ｄ）に示すように定義情報として、タイミング（例えばＣｌｏｃｋなど）により記述されるデフォルトの表示位置からの水平方向の表示位置のオフセット量（０：Ｘ　Ｏｆｆｓｅｔ）、音高関連情報（例えば白鍵（Ｉｖｏｒｙ）の数など）により記述される垂直方向の表示位置のオフセット量（１：Ｙ　Ｏｆｆｓｅｔ）、あるいは表示すべき五線譜番号（２：Ｓｔａｖｅ　Ｎｕｍｂｅｒ）などの適用する属性タイプ（ｔｙ）、属性タイプに対応した所定値からなるパラメータ値等を含む。これらの各イベントデータの具体的な定義例と、該イベントデータに基づいて表示される楽譜についての具体例については後述する（図５及び図６参照）。
【００１９】
なお、「タイプ」の名称や各イベントデータ毎の定義情報などは上記したものに限らないことは言うまでもない。また、上述の図３には図示しないが、イベントデータが例えばグリッサンド記号を表示するためのサブイベントである場合には「タイプ」に「Ｇｌｉｓｓａｎｄｏ」を示すデータが記述され、定義情報としてグリッサンドの開始・開始／終了・終了、グリッサンドの表示種類（例えば、波線とグリッサンド記号「ｇｌｉｓｓ」表示とを同時に表示する、あるいは波線のみを表示するなど）等を含む。
【００２０】
図１に示した電子楽器では、上述した楽譜表示データに従ってディスプレイ６Ａ上に楽譜を表示する。この楽譜表示の際に、表示すべき五線譜を指定した属性イベントに従って１つのパートの音符列を複数段の五線譜にわたるように表示することができる。また、表示位置のオフセット量を指定した属性イベントに従って、音符や休符あるいはテキストなどの楽譜上に表示する楽譜記号の表示位置をデフォルトの表示位置から適宜の位置にずらして表示することができる。こうした表示を行う楽譜表示処理は、図１に示した電子楽器におけるＣＰＵ１が楽譜表示処理を実現する所定のプログラム（ソフトウエア）を実行することにより実施される。そこで、この「楽譜表示処理」の処理動作について図４を用いて説明する。図４は、「楽譜表示処理」の一実施例を示したフローチャートである。この楽譜表示処理は、１パート毎の楽譜表示データに従って行われる。以下、図４に示したフローチャートに従って、当該処理の処理動作を説明する。
【００２１】
ステップＳ１では、曲選択に応じて特定された楽譜表示データから通常イベント、例えばタイプが「Ｓｔｅｍ」、「Ｈｅａｄ」、「Ｒｅｓｔ」などを示すデータであるイベントデータを読み出す。ステップＳ２では次の同タイミングイベント、つまり読み出した通常イベントのタイミングデータと同じタイミングデータを持つイベントデータが、サブイベント又は属性イベントであるか否かを判定する。次の同タイミングイベントがサブイベント又は属性イベントである場合には（ステップＳ２のＹＥＳ）、当該サブイベント又は属性イベントを読み出す（ステップＳ３）。すなわち、１つの通常イベントに複数のサブイベントや属性イベントが付属している場合、あるいは１つのサブイベントに複数の属性イベントが付属している場合には、それらのイベントデータは１つの楽譜記号や楽譜記号の表示位置などを決定するのに必要な情報であることから、そうしたサブイベントや属性イベントを全て読み出す。ステップＳ４では楽譜表示に必要なデータがそろったか否か、つまり１つの楽譜記号や楽譜記号の表示位置などを決定するのに必要なイベントデータを全て読み出したか否かを判定する。楽譜表示に必要なデータがそろっていない場合には（ステップＳ４のＮＯ）、ステップＳ１に戻って上記処理を繰り返し実行する。例えば、全音符や休符などの楽譜記号を表示するには１つの通常イベントを読み出すだけでよいが、４分音符や８分音符などの楽譜記号を表示するには複数の通常イベント（タイプ「Ｓｔｅｍ」と「Ｈｅａｄ」）を少なくとも読み出さなければならないことから、そうしたデータが全てそろうまでイベントデータを繰り返し読み出す。
【００２２】
ステップＳ５では通常イベントのタイミングデータとＸオフセットの属性イベントが付加されている場合は該Ｘオフセット量に応じて、楽譜記号を表示するＸ方向位置（絶対座標）を決定する。ステップＳ６では、音符記号に関して通常イベントのノートナンバ又はそのほかの記号に関してデフォルト位置と、Ｙオフセットの属性イベントが付加されている場合は該Ｙオフセット量や五線譜番号とに応じて、各楽譜記号を表示する五線譜位置とＹ方向位置（絶対座標）とを決定する。楽譜記号を表示するＸ方向位置は、各楽譜記号毎及びその記号のタイミング毎に基本的な表示位置（デフォルトの表示位置）が決まっている。例えば、タイミング「０」（タイミングデータが例えば１：１：０００の場合など）に音部記号、調号、最初の音符が並んでいるような場合には、すべての楽譜記号が同じＸ方向位置に表示されるわけではなく、それぞれが適切な位置に配置されるように基本的な表示位置が予め決められている。一方、楽譜記号を表示するＹ方向位置についても、各楽譜記号毎に基本的な表示位置が決まっている。ただし、音符記号についてはノートナンバや調号などに応じて表示位置がＹ方向に変化する。こうした楽譜記号を表示するＸ方向位置とＹ方向位置は、表示するディスプレイの大きさや形状などに応じて適宜に決定される。このため、同じタイミングにある楽譜記号でも、ディスプレイが異なれば異なる位置に表示されることになる。ステップＳ７では、読み出した通常イベント、サブイベントに応じて、表示すべき楽譜記号を決定する。ステップＳ８では、楽譜記号を決定された表示位置に表示する。この楽譜表示の際に１つのパートの音符が複数段の五線譜にまたがる場合には、属性イベントの五線譜番号に従って、その音符に関連する記号、例えば複数音符を連結するビームや、複数音符をずらして演奏するアルペジオ記号などを複数段の五線譜にまたがるように表示する。１つのパートの音符が複数段の五線譜にまたがる場合についての詳細な説明は後述する（図５参照）。ステップＳ９では、曲の末尾であるか否かを判定する。曲の末尾でない場合には（ステップＳ９のＮＯ）、ステップＳ１に戻って次の楽譜表示を行うための通常イベントやサブイベントや属性イベントなどを読み出す。
【００２３】
以上のように、楽譜表示データ中の属性イベントに当該音符を表示する五線譜番号を指定しておくことで、１つのパートの音符を複数段の五線譜にわたるようにして表示することが可能となる。また、楽譜表示データ中の属性イベントに表示位置のオフセット量を指定しておくことで、楽譜上に表示する楽譜記号の表示位置をデフォルトの表示位置から適宜の位置にずらして表示することが可能となる。また、上述したように楽譜表示データはタイミングデータを持つものであることから、自動演奏データのタイミングデータと楽譜表示データのタイミングデータとが同じタイミングである場合に、楽譜表示データのタイミングのままで楽譜表示を行うとおかしな表示位置に表示されること、あるいは楽譜記号が重複表示されて見にくい表示となることを、属性イベントにおけるＸ及びＹ方向の表示位置のオフセット量により表示位置を調節することによって防ぐことができる。
【００２４】
ここで、楽譜表示データに基づいて表示される楽譜の具体的な表示例を示す。図５は、１つのパートの音符を複数段の五線譜にわたるようにして表示する場合を示す図である。図６は、属性イベントにおけるＸ及びＹ方向の表示位置のオフセット量により表示位置を調節した場合を示す図である。図５と図６において、上段図は具体的な楽譜表示データ定義の一実施例であり、下段図は該楽譜表示データに基づいて表示される楽譜表示例である。なお、図５及び図６においては楽譜表示データと該楽譜表示データに基づいて表示される各イベントとの対応関係を理解しやすくするために、便宜的に記号ａ、ｂ、ｃ…を付した。これにより、例えば楽譜表示データａに従って符尾イベントａが表示されることを示す。
【００２５】
まず、図５について説明する。タイミングデータが「１：１：０００」であるイベントデータａはタイプが「Ｓｔｅｍ」である通常イベント、つまり符尾を表示するためのデータであり、声部が高音部である第１声部（ｖｃ＝１）、音符数が１個（ｎｎ＝１）、符尾の向きが下向き（ｄｄ＝２）、旗の数が０個（ｆｆ＝０）、前からのビームが０個（ｂｆ＝０）、後からのビームが１個（ｂｂ＝１）であることを示す。該イベントデータａと同じタイミングデータであるイベントデータｂはタイプが「Ｈｅａｄ」である通常イベント、つまり符頭を表示するためのデータであり、音符種類が８分音符（ｔｙ＝５（Ｅｉｇｈｔｈ））、音高がＤ４（ｎｎ＝７４（Ｄ４））、臨時記号がなし（ａｃ＝１（Ｎｏｎｅ））であることを示す。イベントデータａに従って、Ｘ方向「１：１：０００」及びＹ方向Ｄ４に対応する表示位置から下向きの符幹及び後から前に向かってのビームからなる符尾イベントａを表示する。イベントデータｂに従って、Ｘ方向「１：１：０００」及びＹ方向Ｄ４に対応する表示位置に８分音符（臨時記号なし）を表す符頭イベントｂを表示する。次に、タイミングデータが「１：１：２４０」であるイベントデータｃ及びイベントデータｄに従って、Ｘ方向「１：１：２４０」及びＹ方向Ｇ３に対応する表示位置から下向きの符幹及び後から前に向かってのビーム（ｂｆ＝１）及び前から後に向かってのビーム（ｂｂ＝１）からなる符尾イベントｃ、前記表示位置に８分音符（臨時記号なし）を表す符頭イベントｄを表示する。
【００２６】
さらに、タイミングデータが「１：２：０００」であるイベントデータｅ及びイベントデータｇに従って、Ｘ方向「１：２：０００」及びＹ方向Ｃ２に対応する表示位置から上向きの符幹及び後から前に向かってのビーム（ｂｆ＝１）及び前から後に向かってのビーム（ｂｂ＝１）からなる符尾イベントｅ、前記表示位置に８分音符（臨時記号なし）を表す符頭イベントｆを表示する。ただし、タイミングデータが「１：２：０００」であるイベントデータｅ及びイベントデータｇに対してはそれぞれタイプが「Ａｔｔｒｉｂｕｔｅ」である属性イベントｆ及びｈが付加されており、該属性イベントｆ及びｈのタイプは共に「２」（ｔｙ＝２）であって、パラメータは「１」（ｐｐｐｐ＝１）である。つまり、表示すべき五線譜が低音部（Ｓｔａｖｅ２：２段目）の五線譜であることを示している。したがって、イベントデータｅ及びイベントデータｇに従って表示される楽譜記号（符尾イベントｅ及び符頭イベントｆ）は低音部に表示されるが、高音部のパートの続きとして表示される。すなわち、高音部の五線譜と低音部の五線譜とにまたがるようにして前の楽譜記号（符尾イベントｃ及び符頭イベントｄ）とビームが接続された形状で当該楽譜記号は表示される。同様に、タイミングデータが「１：２：２４０」であるイベントデータｉ及びイベントデータｋには属性イベントｊ及びｌが付加されており、該属性イベントｆ及びｈのタイプは「２」（ｔｙ＝２）であり、パラメータは「１」（ｐｐｐｐ＝１）である。したがって、イベントデータｉ及びイベントデータｌに従って表示される楽譜記号（符尾イベントｉ及び符頭イベントｌ）においても、高音部の五線譜と低音部の五線譜とにまたがるようにして前の楽譜記号（符尾イベントｅ及び符頭イベントｆ）とビームとが接続された形状で表示される。このように、楽譜表示データに表示すべき五線譜を示す属性情報を持たせて、該属性情報に応じて楽譜を表示することにより、１つのパートを構成する音符を複数段の五線譜にわたるように表示することができる。
【００２７】
次に、図６について説明する。タイミングデータが「１：１：０００」であるイベントデータａ及びイベントデータｂに従って、Ｘ方向「１：１：０００」及びＹ方向Ｃ４に対応する表示位置から上向きの符幹のみからなる符尾イベントａ及び前記表示位置に４分音符（臨時記号なし）を表す符頭イベントｂを表示する。また、この他にタイミングデータが「１：１：０００」であるイベントデータｃが存在し、該イベントデータｃはタイプが「Ｒｅｓｔ」である通常イベントであり、声部が高音部である第１声部（ｖｃ＝１）、休符の種類が４分休符（ｔｙ＝４（Ｑｕａｒｔｅｒ））、付点なし（ｄｔ＝０）である。このイベントデータｃに従ってＸ方向「１：１：０００」及び所定のＹ方向（デフォルト）に対応する表示位置に４分休符イベントｃを表示すると、既に表示済みの楽譜記号（符尾イベントａ及び符頭イベントｂ）と重なって表示されてしまうことになる。そこで、前記イベントデータｃに対して属性イベントであるイベントデータｄを付加する。該属性イベントのタイプは「１」（ｔｙ＝１）であり、パラメータは「−４」（ｐｐｐｐ＝−４）である。したがって、イベントデータｃに従って表示される楽譜記号（４分休符イベントｃ）は、本来表示されるべきデフォルトのＹ方向の表示位置（ここではＣ４）から音高の低い方へ白鍵「４」つ分だけオフセットされた表示位置（つまりＦ３）へと移動されて表示される。このように、楽譜表示データにタイミングにより記述されるＸ方向位置と音高関連情報（例えば白鍵数）により記述されるＹ方向位置とをそれぞれ示す属性情報を持たせて、該属性情報に応じて楽譜を表示することにより、Ｘ方向位置又はＹ方向位置に表示位置をずらして音符を表示することができる。
【００２８】
なお、上述した実施例においては楽譜表示データのフォーマットとして、１つの通常イベントに対して１乃至複数のサブイベントや属性イベントを付加するようにしたが、１つの通常イベント内にサブイベントの情報や属性イベントの情報を含ませてもよい。また、修飾される通常イベントの直後に同じ時間情報を持たせてサブイベントや属性イベントを付加するようにしたが、サブイベントや属性イベントに修飾する通常イベントへのポインタ的な情報を持たせるようにして対応付けるようにしてもよい。
なお、上述した実施例においては音符を表すイベントとして符尾イベントと符頭イベントとに分けたものを示したが、符尾と符頭とをひとまとめにした形の通常イベントであってもよい。
【００２９】
なお、楽譜表示データのフォーマットは、各イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、イベントの発生する時刻に対応するメモリ領域にイベントを記憶した「ベタ方式」等、どのような形式であってもよい。
なお、メモリ上において、時系列の楽譜表示データが連続する領域に記憶されていてもよいし、飛び飛びの領域に散在して記憶されているデータを、連続するデータとして別途管理するようにしてもよい（すなわち、時系列的に連続するデータとして管理することができればよく、メモリ上で連続して記憶されているか否かは問題ではない）。また、楽譜表示データと自動演奏データとを１つのデータとして混在記憶するようにしてもよい。
【００３０】
【発明の効果】
本発明によれば、楽譜表示データ中の特定の表示位置から楽譜記号を移動すべき水平方向又は垂直方向の表示位置を指定する属性情報に従って楽譜記号の表示位置を適宜の位置に制御できるようにしたことから、表示装置の大きさや形状等に関わらずにユーザにとって見やすい楽譜を表示することが簡単にできるようになる、という効果が得られる。
【図面の簡単な説明】
【図１】この発明に係る楽譜表示装置を適用した電子楽器の全体構成の一実施例を示したハード構成ブロック図である。
【図２】楽譜表示データのデータ構成の一実施例を示す概念図である。
【図３】イベントデータにおける「タイプ」毎の定義情報について説明するための概念図である。
【図４】楽譜表示処理の一実施例を示したフローチャートである。
【図５】１つのパートの音符を複数段の五線譜にわたるようにして表示する場合の具体例を示す図である。
【図６】属性イベントにおけるＸ及びＹ方向の表示位置オフセットにより表示値を調節した場合の具体例を示す図である。
【符号の説明】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４、５…検出回路、４Ａ…演奏操作子、５Ａ…パネル操作子、６…表示回路、６Ａ…ディスプレイ、７…音源回路、８…効果回路、８Ａ…サウンドシステム、９…外部記憶装置、１０…ＭＩＤＩインタフェース、１０Ａ…ＭＩＤＩ機器、１１…通信インタフェース、１１Ａ…サーバコンピュータ、１Ｄ…通信バス、Ｘ…通信ネットワーク
【図１】
2004117861.tif 000003
【図２】
2004117861.tif 000004
【図３】
2004117861.tif 000005
【図４】
2004117861.tif 000006
【図５】
2004117861.tif 000007
【図６】
2004117861.tif 000008