(57)【要約】      （修正有）【課題】音符だけでなく歌詞も見栄えよく表示できる楽譜表示装置および楽譜表示方法を実現するプログラムを提供する。【解決手段】楽譜データの内ある１小節において、第３拍の音符密度が他の拍の音符密度に対して高く、かつ音符毎に歌詞が配置されているにも拘わらず、各拍の表示領域の時間軸方向の長さは一定であるため、第３拍の歌詞は（ａ）に示すように重なって表示される。そこで歌詞が重なって表示される個所を検出し、該検出された個所の表示領域を、歌詞が重ならないよう時間軸方向に伸長させている。伸長制御を行う表示領域の最小単位をたとえば１拍とすると、（ｂ）に示すように、第３拍の表示領域のみを、他の拍の表示領域の２倍に伸長させ、歌詞が重ならないようにしている。【選択図】図２
2005017824.tif 000002
【特許請求の範囲】
【請求項１】
供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、
該読み出し手段によって読み出された音符データに基づいて、該音符データに含まれるすべての音符を楽譜表示する楽譜表示手段と、
該楽譜表示手段によって表示された楽譜全体を時間軸方向に複数の区間に分割する分割手段と、
前記読み出し手段によって読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段と、
該検出手段によって少なくとも１つの区間が検出されたときに、該区間のみに含まれる音符データおよび歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示を制御する制御手段とを有することを特徴とする楽譜表示装置。
【請求項２】
前記検出手段によって少なくとも１つの区間が検出されたときに、該区間に含まれる歌詞同士が重ならないように、該区間を伸長させる倍率を決定する決定手段をさらに有し、
前記制御手段は、前記決定手段によって決定された倍率に基づいて、当該区間のみに含まれる音符データおよび歌詞データに対して、その表示を制御することを特徴とする請求項１に記載の楽譜表示装置。
【請求項３】
供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、
該読み出し手段によって読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体を時間軸方向に複数の区間に分割する分割手段と、
前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段と、
該検出手段によって少なくとも１つの区間が検出されたときに、該区間のみに含まれる歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示を制御する制御手段と、
該制御手段によって制御された歌詞データの表示位置に、前記読み出し手段によって読み出された音符データに含まれる音符を対応付けて楽譜表示する楽譜表示手段とを有することを特徴とする楽譜表示装置。
【請求項４】
供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手順と、
該読み出し手順によって読み出された音符データに基づいて、該音符データに含まれるすべての音符を表示手段上に楽譜表示する楽譜表示手順と、
前記表示手段上に表示された楽譜全体を時間軸方向に複数の区間に分割する分割手順と、
前記読み出し手順によって読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手順と、
該検出手順によって少なくとも１つの区間が検出されたときに、該区間のみに含まれる音符データおよび歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示を制御する制御手順とをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音符だけでなく歌詞も見栄えよく表示する楽譜表示装置および楽譜表示方法を実現するためのプログラムに関する。
【０００２】
【従来の技術】
表示装置に五線譜を表示し、供給された演奏データに基づいて、前記五線譜上に音符を見栄えよく表示する楽譜表示装置は、従来から知られている。
【０００３】
このような楽譜表示装置として、演奏データに基づいて、該演奏データに含まれる音符を単純に楽譜表示したのでは、発音タイミングの異なる音符が重なって表示されてしまう場合に、その音符の属する小節の表示幅を延ばしたり、その音符の表示位置を変更したりして、音符が重なって表示されないように表示制御するものがある（たとえば、特許文献１参照）。
【０００４】
【特許文献１】
特開平１１−３２７４２７号公報
【０００５】
【発明が解決しようとする課題】
ところで、演奏データに、音符データだけでなく、歌詞データも含まれているときには、歌詞データも、音符データと同様のデータフォーマット（たとえば、イベントデータとタイミングデータ（その直後に位置するイベントデータを再生すべきタイミングを示すデータ）を一組とし、それを再生順に並べたフォーマット）を採ることが多いので、この場合には、音符と一緒に歌詞も楽譜表示させるようにしている。
【０００６】
しかし、上記従来の楽譜表示装置を用いて、音符と一緒に歌詞も楽譜表示した場合には、音符については、上記表示制御によって隣接する音符同士が重ならないように表示されるものの、歌詞については、特に考慮されていないために、音符密度の高い表示個所では、歌詞の文字が重なって表示されてしまい、判読し難くなることがある。
【０００７】
この問題に対処するために、表示画面を時間軸方向（再生方向）に拡大表示させる機能（この種の装置には、通常備えられている機能である）を使うことも考えられるが、この機能を使うと、楽譜全体に亘って一定倍率で拡大表示されてしまうので、元々音符密度が低く、歌詞が重ならずに表示されている個所では、歌詞の文字間隔が必要以上に広がってしまい、却って判読し辛くなることもある。
【０００８】
本発明は、この点に着目してなされたものであり、音符データだけでなく歌詞データも含まれている演奏データに基づいて楽譜表示を行うときに、音符だけでなく歌詞も見栄えよく表示することが可能となる楽譜表示装置および楽譜表示方法を実現するためのプログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の楽譜表示装置は、供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、該読み出し手段によって読み出された音符データに基づいて、該音符データに含まれるすべての音符を楽譜表示する楽譜表示手段と、該楽譜表示手段によって表示された楽譜全体を時間軸方向に複数の区間に分割する分割手段と、前記読み出し手段によって読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段と、該検出手段によって少なくとも１つの区間が検出されたときに、該区間のみに含まれる音符データおよび歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示を制御する制御手段とを有することを特徴とする。
【００１０】
好ましくは、前記検出手段によって少なくとも１つの区間が検出されたときに、該区間に含まれる歌詞同士が重ならないように、該区間を伸長させる倍率を決定する決定手段をさらに有し、前記制御手段は、前記決定手段によって決定された倍率に基づいて、当該区間のみに含まれる音符データおよび歌詞データに対して、その表示を制御することを特徴とする。
【００１１】
また、上記目的を達成するため、請求項３に記載の楽譜表示装置は、供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、該読み出し手段によって読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体を時間軸方向に複数の区間に分割する分割手段と、前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段と、該検出手段によって少なくとも１つの区間が検出されたときに、該区間のみに含まれる歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示を制御する制御手段と、該制御手段によって制御された歌詞データの表示位置に、前記読み出し手段によって読み出された音符データに含まれる音符を対応付けて楽譜表示する楽譜表示手段とを有することを特徴とする。
【００１２】
さらに、請求項４に記載のプログラムは、請求項１と同様の技術的思想によって実現できる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１４】
図１は、本発明の一実施の形態に係る楽譜表示装置の概略構成を示すブロック図である。
【００１５】
同図に示すように、本実施の形態の楽譜表示装置は、文字入力用キーボード、マウス等のポインティングデバイスおよび各種スイッチ等の複数の操作子からなる操作子群１と、該操作子群１の各操作子の操作状態を検出する検出回路２と、装置全体の制御を司るＣＰＵ３と、該ＣＰＵ３が実行する制御プログラムや各種テーブルデータ等を記憶するＲＯＭ４と、演奏データ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ５と、前記制御プログラムを含む各種アプリケーションプログラムや各種演奏データ、各種データ等を記憶する外部記憶装置６と、各種情報等を表示する、たとえば液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示装置７と、外部ＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）機器等の外部制御機器１００を接続し、この外部制御機器１００とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）８と、上記記憶された演奏データ等を楽音信号に変換する音源回路９と、該音源回路９からの楽音信号に各種効果を付与するための効果回路１０と、該効果回路１０からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Ｄｉｇｉｔａｌ−ｔｏ−Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｅｒ）やアンプ、スピーカ等のサウンドシステム１１とにより構成されている。
【００１６】
上記構成要素２〜１０は、バス１２を介して相互に接続され、通信Ｉ／Ｆ８には外部制御機器１００が接続され、音源回路９には効果回路１０が接続され、効果回路１０にはサウンドシステム１１が接続されている。
【００１７】
外部記憶装置６としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置６には、前述のように、ＣＰＵ３が実行する制御プログラムも記憶でき、ＲＯＭ４に制御プログラムが記憶されていない場合には、この外部記憶装置６に制御プログラムを記憶させておき、それをＲＡＭ５に読み込むことにより、ＲＯＭ４に制御プログラムを記憶している場合と同様の動作をＣＰＵ３にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１８】
通信Ｉ／Ｆ８には、図示例では、外部制御機器１００が直接接続されているが、これに限られず、たとえばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置６に上記各プログラムや各種パラメータが記憶されていなければ、通信Ｉ／Ｆ８は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ（本実施の形態では、楽譜表示装置）は、通信Ｉ／Ｆ８および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してコンピュータへと配信し、コンピュータが通信Ｉ／Ｆ８を介して、これらプログラムやパラメータを受信して外部記憶装置６に蓄積することにより、ダウンロードが完了する。
【００１９】
なお、本実施の形態の楽譜表示装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【００２０】
以上のように構成された楽譜表示装置が実行する制御処理を、まず図２および図３を参照してその概要を説明し、次に図４および図５を参照して詳細に説明する。
【００２１】
図２は、同じ演奏データに基づいて、従来の楽譜表示装置および本実施の形態の楽譜表示装置によりそれぞれ表示された楽譜の一例を示す図であり、同図（ａ）が、従来の楽譜表示装置によって表示された楽譜を示し、同図（ｂ）が、本実施の形態の楽譜表示装置によって表示された楽譜を示している。なお、同図（ａ）は、本実施の形態の楽譜表示装置が表示制御を行う前の歌詞表示データ（後述する図３参照）に基づいて歌詞表示した楽譜を表しているとも言える。ただし、本実施の形態では、表示制御を行う前の歌詞表示データに基づいて歌詞を表示するようには構成されていない（ただし、音符表示はなされる）。もちろん、このような歌詞表示機能を持たせるようにしてもよい。
【００２２】
図示例では、供給された演奏データ、つまり楽譜表示の対象となる楽譜データのうち、ある１小節の演奏データに基づいて表示された楽譜が描画されている。同図から分かるように、この小節の演奏データは、第１、第２および第４拍がそれぞれ１つの４分音符からなり、第３拍が２つの８分音符からなる音符列と、音符毎に１文字ずつ対応付けられた歌詞列とよって構成されている。
【００２３】
この小節では、第３拍の音符密度が他の拍の音符密度に対して高く、かつ音符毎に歌詞が配置されているにも拘わらず、各拍の表示領域の時間軸方向の長さは一定（厳密に言えば、第３拍の表示領域は、音符密度が高い分、音符密度の低い他の拍より長いが、音符毎に配置されている歌詞が重ならないで表示できるほど長くはない）であるため、第３拍の歌詞は、図２（ａ）に示すように、重なって表示される。
【００２４】
そこで、本実施の形態の楽譜表示装置は、歌詞が重なって表示される個所を検出し、該検出された個所の表示領域を、歌詞が重ならない倍率だけ時間軸方向に伸長させるようにしている。伸長制御を行う表示領域の最小単位（以下、「表示変更範囲」という）を、たとえば１拍とすると、図２（ｂ）に示すように、第３拍の表示領域のみを、他の拍の表示領域の２倍に伸長させ、歌詞が重ならないようにしている。ここで、表示領域を２倍に伸長させたのは、歌詞を１文字表示させるのに、１拍に４分音符を１つ表示させたときの表示領域が１つ必要であるからである。しかし、歌詞が重ならなければ、２倍より小さい倍率（たとえば、１．５倍等）を採用してもよいことは言うまでもない。
【００２５】
演奏データに基づいて楽譜表示させるために、本実施の形態では、演奏データに基づいて、音符表示用の音符表示データと歌詞表示用の歌詞表示データを生成するようにしている。なお、五線譜やト音記号等の、楽譜表示用の定型データは、たとえば、前記ＲＯＭ４に予め記憶させておき、それを読み出して楽譜表示に用いるようにすればよい。
【００２６】
図３は、音符表示データおよび歌詞表示データの各フォーマットの一例を示す図であり、音符表示データは、表示すべき音符毎に１つずつ設けられ、歌詞表示データは、表示すべき歌詞毎に１つずつ設けられている。
【００２７】
同図に示すように、各音符表示データは、それぞれ、当該音符の発音タイミングを示すタイミングデータ２１と、当該音符の音高を示す音高データ２２と、当該音符の種類（４分音符や８分音符等）を示す音符種類データ２３と、当該音符を表示するフォントのサイズを示すフォントサイズデータ２４と、当該音符の楽譜上の表示位置を示す表示位置データ２５と、当該音符の表示色を示すデータや当該音符に装飾を施す場合に、その装飾の種類を決定するデータ等のその他データ（図示せず）とによって構成されている。
【００２８】
ここで、タイミングデータ２１および音高データ２２は、演奏データがどのようなフォーマットのものであっても、通常そのデータ内に含まれているので、それを読み出して直接得ることができ、音符種類データ２３は、演奏データ内に含まれていないとしても、発音継続時間を示すデータは通常含まれているので、それを読み出し、簡単な演算を施すことによって、得ることができる。また、フォントサイズデータ２４や表示色を示すデータは、ユーザが予め設定していれば、それを読み出し、ユーザが予め設定していなければ、デフォルト値を読み出して、得ることができる。さらに、表示位置データ２５は、まず、タイミングデータ２１に基づいて算出したものを設定し、次に、たとえば前記特許文献１に記載された楽譜割付方法を用いて、そのまま表示したのでは重なってしまう音符に対する再レイアウト（対象となる小節数、小節幅、拍および音符の再レイアウト）を行い、その再レイアウト結果に基づいて、設定されたデータを更新する（更新の必要がないこともある）。
【００２９】
また、各歌詞表示データは、それぞれ、当該歌詞の歌唱タイミングを示すタイミングデータ３１と、当該歌詞の内容（文字）を示す歌詞データ３２と、当該歌詞を表示するフォントの種類（明朝体やゴシック体等）を示すフォント種類データ３３と、当該歌詞を表示するフォントのサイズを示すフォントサイズデータ３４と、当該歌詞の楽譜上の表示位置を示す表示位置データ３５と、当該歌詞の表示色を示すデータ等のその他データ（図示せず）とによって構成されている。
【００３０】
ここで、タイミングデータ３１および歌詞データ３２は、演奏データがどのようなフォーマットのものであっても、通常そのデータ内に含まれているので、それを読み出して直接得ることができる。また、フォント種類データ３３、フォントサイズデータ３４および表示色を示すデータは、ユーザが予め設定していれば、それを読み出し、ユーザが予め設定していなければ、デフォルト値を読み出して、得ることができる。さらに、表示位置データ３５は、タイミングデータ３１および音符表示データの表示位置データ（更新後のもの）２５に基づいて算出して得ることができる。
【００３１】
このように生成された音符表示データおよび歌詞表示データを用いて、ある１小節の楽譜を表示したときの一例が、図２（ａ）であり、音符密度が高い表示領域では、歌詞が重なって表示されることがある。そこで、本発明は、歌詞が重なって表示されないように、楽譜表示の再レイアウトを行うことを特徴とする。
【００３２】
次に、この制御処理を詳細に説明する。
【００３３】
図４および図５は、本実施の形態の楽譜表示装置、特にＣＰＵ３が実行する楽譜表示処理の手順を示すフローチャートであり、この楽譜表示処理は、主として、次の処理によって構成されている。すなわち、
（１）ユーザ設定処理
（２）音符表示データ生成および表示処理
（３）歌詞表示データ生成処理
（４）楽譜表示処理
である。
【００３４】
以下、（１）〜（４）の処理を順に説明する。
【００３５】
上記（１）のユーザ設定処理は、ステップＳ１に対応し、このユーザ設定処理としては、操作者が楽譜表示の対象とする演奏データを選択したときに、該演奏データを、たとえば、前記外部記憶装置６から読み出して、前記ＲＡＭ５に確保された演奏データ格納領域に格納する処理や、前記表示変更範囲（たとえば、「１小節」、「１拍」および「１音符」のいずれか）、前記表示色、前記表示フォントのサイズおよび歌詞の表示フォントの種類を設定する処理等が挙げられる。
【００３６】
前記（２）の音符表示データ生成および表示処理は、ステップＳ２およびＳ３に対応し、前記演奏データ格納領域に格納されている演奏データから、音符に関するデータ（音符データ）を読み出し、この音符データに対して前記従来の楽譜割付方法を施すことにより、音符を楽譜表示したときに隣接する音符同士が重ならないような音符表示データを生成した（ステップＳ２）後、この音符表示データに基づいて楽譜表示を行う（ステップＳ３）。この楽譜表示では、五線譜上に音符のみが表示され、歌詞は表示されない。もちろん、ステップＳ３の処理を削除し、後述するステップＳ４の処理の後に、「音符表示データおよび歌詞表示データに基づき表示」という処理を加えることにより、前記図２（ａ）のように、五線譜上に、いずれも重なって表示されない音符と一部重なって表示される歌詞を表示するようにしてもよい。なお、ステップＳ３の楽譜表示では、五線譜やト音記号等の、どの楽譜表示にも共通に表示されるものは、言うまでもなく表示されるが、この表示は、前述のように、ＲＯＭ４に予め記憶されたデータを読み出し、このデータに基づいて行うようにすればよい。
【００３７】
本発明は、演奏データから、このような音符表示データを生成することを特徴とするものではないので、前記特許文献１に記載された楽譜割付方法、すなわち公知の楽譜割付方法を用いて、音符表示データを生成するようにしている。もちろん、楽譜割付方法は、公知のものに限らず、将来発明されるものであってもよい。また、楽譜割付方法として、前記特許文献１に記載のものを採用したのは、便宜上に過ぎず、音符を楽譜表示したときに隣接する音符同士が重ならないような音符表示データを生成可能な方法であれば、どのような方法を採用してもよい。
【００３８】
前記（３）の歌詞表示データ生成処理は、ステップＳ４〜Ｓ１４に対応し、まず、全楽譜表示領域を複数の表示変更範囲に分割し、この分割後の表示変更範囲毎に、当該表示変更範囲に含まれる歌詞表示データのそれぞれについて、その次に位置する歌詞表示データとの表示の重なりを検出する（ステップＳ６）。このとき、重なりが検出されると、対象歌詞表示データと次の歌詞表示データとのタイミング差および重なり量に基づいて、両者が重ならない倍率、すなわち、当該表示変更範囲を伸長させる倍率を決定し、この決定した倍率が、現在設定中の倍率（以下、「現在の倍率」と略して言う）より高い場合には、この決定された倍率で、現在の倍率を更新する（ステップＳ８）。なお、重なりが検出されなければ、何もしない。そして、ステップＳ６〜Ｓ８の処理を、当該表示変更範囲に含まれるすべての歌詞表示データについて行った（ステップＳ９→Ｓ１０→Ｓ６）後、現在の倍率に従って、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する（ステップＳ１１）ともに、現在の倍率に従って、当該表示変更範囲内のすべての音符表示データの表示位置を変更する（ステップＳ１２）。そして、ステップＳ５〜Ｓ１２の処理を、前記分割されたすべての表示変更範囲について行う（ステップＳ１３→Ｓ１４→Ｓ５）。
【００３９】
上記ステップＳ６の重なりの検出処理では、対象歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞表示データの表示位置データと次の歌詞表示データの表示位置データに基づいて両歌詞間の距離（表示間隔）を算出し、算出した表示幅が算出した距離より長いときに、重なりがあると検出する。もちろん、重なりが検出される方法であれば、これに限らないことは言うまでもない。また、重なりの検出では、場合によっては、次の歌詞との重なりではなく、拍の区切りや小節線との重なりを検出した方が楽譜表示の見栄えがよいこともあるので、その場合には、次の歌詞との重なりの検出に代えて、拍の区切りや小節線との重なりを検出するようにすればよい。
【００４０】
なお、表示変更範囲として、前述のように、「１音符」を設定することもできるが、この場合には、倍率を算出し、この倍率に基づいて当該表示変更範囲を伸長させる必要はないので、次の歌詞の表示位置を、対象歌詞と重ならない位置に変更すればよい。このとき、次の歌詞に対応する音符の表示位置も、次の歌詞の表示位置の変更に応じて変更する。
【００４１】
前記（４）の楽譜表示処理は、ステップＳ１５に対応し、以上のようにして生成された音符表示データおよび歌詞表示データに基づいて楽譜表示を行う。
【００４２】
なお、本歌詞表示データ生成処理では、まず、音符データに対して従来の従来の楽譜割付方法を施すことにより、音符同士が重ならないような音符表示データを生成し、次に、この音符表示データに基づいて歌詞表示データを表示したときの重なりを検出し、この検出結果に基づいて、歌詞が重ならないような歌詞表示データを生成し、さらに、この歌詞表示データに応じて、再度音符表示データを変更するようにしているが、これに限らず、まず、演奏データから、歌詞に関するデータ（歌詞データ）を読み出し、この歌詞データに含まれるタイミングデータに基づいて歌詞表示データを作成し、次に、この歌詞表示データに基づいて歌詞を表示したときの重なりを検出し、この検出結果に基づいて、歌詞が重ならないように歌詞表示データを変更し、さらに、この歌詞表示データに基づいて、音符表示データを生成するようにしてもよい。この場合の処理は、ステップＳ２およびＳ３の処理を削除し、ステップＳ４の処理内容を、「歌詞データを読み出し、歌詞データのタイミングに応じて歌詞表示データを作成」に変更し、ステップＳ１２の処理内容を、「歌詞表示データに従い、音符表示データを作成」に変更するだけで、簡単に得られる。
【００４３】
このように、本実施の形態では、全楽譜表示領域を複数の表示変更範囲に分割し、この分割後の表示変更範囲毎に、当該表示変更範囲に含まれる歌詞表示データのそれぞれについて、その次に位置する歌詞表示データとの表示の重なりを検出し、表示の重なりが検出された場合には、当該表示変更範囲のみを、表示の重なりが解消されるだけ伸長させるようにし、表示の重なりが検出されない表示変更範囲に対しては、その楽譜表示を変更しないようにしたので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【００４４】
図６は、他の楽譜表示処理の手順を示すフローチャートであり、この楽譜表示処理は、前記図４および図５の楽譜表示処理に対して、前記（３）の歌詞表示データ生成処理の処理方法のみが異なっている。以下、この相違点のみ説明する。なお、図６中、図４および図５と同様の処理には同一符号が付されている。
【００４５】
図６において、歌詞表示データ生成処理は、ステップＳ５〜Ｓ１４に相当し、そのステップ中、図４および図５とステップ番号の異なるステップ、すなわちステップＳ２１〜Ｓ２４の処理が、図４および図５の歌詞表示データ生成処理内の処理と異なっている。
【００４６】
まず、表示変更範囲に含まれるすべての歌詞表示データのそれぞれについて、表示が重なるものがあるかどうかを検出し（ステップＳ２１）、１つでも重なるものが検出されれば、当該表示変更範囲を伸長させる倍率を次の段階の倍率にセットし（ステップＳ２２）、この倍率にに従って、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する（ステップＳ２３）。次に、現在セットされている倍率が最終倍率でない場合には、歌詞表示データの変更された表示位置に基づいて、再度、当該表示変更範囲に含まれるすべての歌詞表示データのそれぞれについて、表示が重なるものがあるかどうかを検出する（ステップＳ２４→Ｓ２１）。そして、当該表示変更範囲のすべての歌詞表示データが重なって表示されないようになるまで、倍率の段階を上げて行きながら、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する（ステップＳ２４→Ｓ２１→Ｓ１２）。ただし、倍率の段階が最終倍率に到達してしまったときには、そのとき、当該表示変更範囲内に重なって表示される歌詞表示データが存在していても、それ以上倍率の段階を上げずに、少々の重なりはそのまま表示する（ステップＳ２４→Ｓ１２）。
【００４７】
このように、本歌詞表示データ生成処理は、図４および図５の歌詞表示データ生成処理に対して、主として、表示変更範囲を伸長させる倍率を段階的に上げるようにした点が異なるのみであるので、段階を粗くすれば、図４および図５の歌詞表示データ生成処理による処理後の楽譜表示との違いは若干発生するものの、段階を細かくすれば、その差は無視できる程度となる。
【００４８】
なお、倍率の段階は、予め固定的に設定され、操作者が選択できないように構成されていてもよいし、これとは逆に、複数の倍率が設定された倍率リストが複数種類予め設定され、操作者が、その中から任意に選択できるようにしてもよいし、選択したものを編集できるようにしてもよいし、さらに、一から設定できるようにしてもよい。操作者が、倍率リストを選択したり、編集したりするように構成されている場合には、複数の倍率リストからいずれかを選択する処理が必要であるが、その処理は、図６のステップＳ１のユーザ設定処理中で行うようにすればよい。
【００４９】
なお、本実施の形態では、演奏データのフォーマットについては特に指定されていないので、自動演奏可能なものであればどのようなものを採用してもよい。たとえば、音符データは、単数パートからなるものでもよいし、複数パートからなるものでもよい。音符データが複数パートからなる場合には、歌詞データは、対応付けて表示される音符データと同じトラック（パート）に入っていた方が処理の都合上好ましいが、これに限られるわけではなく、別のトラックに入っていてもよい。演奏データは、音符データと歌詞データを一まとめにして、１つのファイルで形成するようにしたが、音符データと歌詞データとを別ファイルで形成するようにしてもよい。この場合、歌詞データは、該歌詞データに含まれる個々の歌詞が、音符データに含まれるどの音符に対応するかを示す情報（たとえば、タイミング情報）を備えておく必要がある。
【００５０】
また、本実施の形態では、音符データおよび歌詞データはそれぞれ別のイベントとして取り扱うようにしたが、これに限らず、音符イベント中に歌詞情報を含むようなデータフォーマットを採用してもよい。
【００５１】
さらに、本実施の形態では、各歌詞イベント中にはそれぞれ１文字分の歌詞情報が含まれる例を挙げて説明したが、これに限らず、複数文字分の歌詞情報が含まれるイベントが混在するようにしてもよい。文字も、ひらがなに限らず、漢字、数字またはアルファベット文字など、どのような文字であってもよい。
【００５２】
また、本実施の形態では、表示変更範囲を伸長させる倍率は、当該表示変更範囲内では一定であるが、当該表示変更範囲でも、倍率を適用する位置に応じて変更するようにしてもよい。この場合の変更量は、操作者が自由に設定できるようにしてもよい。
【００５３】
さらに、本実施の形態では、演奏データの全体に亘って、音符表示データおよび歌詞表示用データを生成した後、これらデータに基づいて、一括して楽譜表示するようにしたが、これに限らず、表示変更範囲毎に生成途中の音符表示データおよび歌詞表示用データに基づいて、各段階で楽譜表示するようにしてもよい。
【００５４】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵ３やＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００５５】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５６】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００５７】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００５８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ３などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００５９】
【発明の効果】
以上説明したように、請求項１または４に記載の発明によれば、供給された演奏データから読み出された音符データに基づいて、該音符データに含まれるすべての音符が表示手段上に楽譜表示され、該表示された楽譜全体が時間軸方向に複数の区間に分割され、前記演奏データから読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間が検出されると、該区間のみに含まれる音符データおよび歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示が制御されるので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【００６０】
また、請求項３に記載の発明によれば、供給された演奏データから読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体が時間軸方向に複数の区間に分割され、前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間が検出されると、該区間のみに含まれる歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示が制御され、該制御された歌詞データの表示位置に、前記演奏データから読み出された音符データに含まれる音符が対応付けて楽譜表示されるので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る楽譜表示装置の概略構成を示すブロック図である。
【図２】同じ演奏データに基づいて、従来の楽譜表示装置および本実施の形態の楽譜表示装置がそれぞれ表示した楽譜の一例を示す図である。
【図３】音符表示データおよび歌詞表示データの各フォーマットの一例を示す図である。
【図４】図１の楽譜表示装置、特にＣＰＵが実行する楽譜表示処理の手順を示すフローチャートである。
【図５】図４の楽譜表示処理の続きの手順を示すフローチャートである。
【図６】他の楽譜表示処理の手順を示すフローチャートである。
【符号の説明】
１…操作子群（分割手段），３…ＣＰＵ（読み出し手段、楽譜表示手段、分割手段、検出手段、制御手段、決定手段），７…表示装置（楽譜表示手段、表示手段）
【図１】
2005017824.tif 000003
【図２】
2005017824.tif 000004
【図３】
2005017824.tif 000005
【図４】
2005017824.tif 000006
【図５】
2005017824.tif 000007
【図６】
2005017824.tif 000008