JP4221757B2 - 楽譜表示装置および楽譜表示方法を実現するためのプログラム - Google Patents
楽譜表示装置および楽譜表示方法を実現するためのプログラム Download PDFInfo
- Publication number
- JP4221757B2 JP4221757B2 JP2003184390A JP2003184390A JP4221757B2 JP 4221757 B2 JP4221757 B2 JP 4221757B2 JP 2003184390 A JP2003184390 A JP 2003184390A JP 2003184390 A JP2003184390 A JP 2003184390A JP 4221757 B2 JP4221757 B2 JP 4221757B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- lyrics
- display
- lyric
- note
- 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
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、音符だけでなく歌詞も見栄えよく表示する楽譜表示装置および楽譜表示方法を実現するためのプログラムに関する。
【0002】
【従来の技術】
表示装置に五線譜を表示し、供給された演奏データに基づいて、前記五線譜上に音符を見栄えよく表示する楽譜表示装置は、従来から知られている。
【0003】
このような楽譜表示装置として、演奏データに基づいて、該演奏データに含まれる音符を単純に楽譜表示したのでは、発音タイミングの異なる音符が重なって表示されてしまう場合に、その音符の属する小節の表示幅を延ばしたり、その音符の表示位置を変更したりして、音符が重なって表示されないように表示制御するものがある(たとえば、特許文献1参照)。
【0004】
【特許文献1】
特開平11−327427号公報
【0005】
【発明が解決しようとする課題】
ところで、演奏データに、音符データだけでなく、歌詞データも含まれているときには、歌詞データも、音符データと同様のデータフォーマット(たとえば、イベントデータとタイミングデータ(その直後に位置するイベントデータを再生すべきタイミングを示すデータ)を一組とし、それを再生順に並べたフォーマット)を採ることが多いので、この場合には、音符と一緒に歌詞も楽譜表示させるようにしている。
【0006】
しかし、上記従来の楽譜表示装置を用いて、音符と一緒に歌詞も楽譜表示した場合には、音符については、上記表示制御によって隣接する音符同士が重ならないように表示されるものの、歌詞については、特に考慮されていないために、音符密度の高い表示個所では、歌詞の文字が重なって表示されてしまい、判読し難くなることがある。
【0007】
この問題に対処するために、表示画面を時間軸方向(再生方向)に拡大表示させる機能(この種の装置には、通常備えられている機能である)を使うことも考えられるが、この機能を使うと、楽譜全体に亘って一定倍率で拡大表示されてしまうので、元々音符密度が低く、歌詞が重ならずに表示されている個所では、歌詞の文字間隔が必要以上に広がってしまい、却って判読し辛くなることもある。
【0008】
本発明は、この点に着目してなされたものであり、音符データだけでなく歌詞データも含まれている演奏データに基づいて楽譜表示を行うときに、音符だけでなく歌詞も見栄えよく表示することが可能となる楽譜表示装置および楽譜表示方法を実現するためのプログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載の楽譜表示装置は、供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、該読み出し手段によって読み出された音符データに基づいて、表示すべき音符毎の音符表示データを生成する第1の生成手段と、該第1の生成手段によって生成された音符表示データに基づいて、前記読み出された音符データに含まれるすべての音符を楽譜表示する楽譜表示手段と、該楽譜表示手段によって表示された楽譜全体を時間軸方向に複数の区間に分割する分割手段と、前記読み出し手段によって読み出された歌詞データに基づいて、表示すべき歌詞毎の歌詞表示データであって、当該歌詞の歌唱タイミングを示すタイミングデータと、当該歌詞を表示するフォントのサイズを示すフォントサイズデータと、当該歌詞の前記楽譜上の表示位置を示す表示位置データとを含むものを生成する第2の生成手段と、該第2の生成手段によって生成された歌詞表示データに基づいて、前記読み出された歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段であって、前記複数の区間の各区間毎に、当該区間に含まれる各歌詞を1つずつ対象歌詞とし、その対象歌詞に対応する歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞の歌詞表示データの表示位置データとその次の歌詞の歌詞表示データの表示位置データに基づいて両歌詞の表示間隔を算出し、算出した表示幅および表示間隔に基づいて両歌詞の表示に重なりがあるかどうかを判別するものと、該検出手段によって少なくとも1つの区間が検出されたときに、該区間に含まれる歌詞同士がすべて重ならないように、該区間に含まれる各対象歌詞にそれぞれ対応する歌詞表示データのタイミングデータとその次の歌詞に対応する歌詞表示データのタイミングデータとのタイミング差および重なり量に基づいて、該区間を伸長させる倍率を、最終倍率になるまで倍率の段階を上げて行きながら決定する決定手段と、該決定手段によって決定された倍率に基づいて、当該区間のみに含まれる音符データおよび歌詞データに対して、その表示を制御する制御手段とを有することを特徴とする。
【0011】
また、上記目的を達成するため、請求項2に記載の楽譜表示装置は、供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、該読み出し手段によって読み出された歌詞データに基づいて、表示すべき歌詞毎の歌詞表示データであって、当該歌詞の歌唱タイミングを示すタイミングデータと、当該歌詞を表示するフォントのサイズを示すフォントサイズデータと、当該歌詞の楽譜上の表示位置を示す表示位置データとを含むものを生成する生成手段と、該生成手段によって生成された歌詞表示データに基づいて、前記読み出された歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体を時間軸方向に複数の区間に分割する分割手段と、前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段であって、前記複数の区間の各区間毎に、当該区間に含まれる各歌詞を1つずつ対象歌詞とし、その対象歌詞に対応する歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞の歌詞表示データの表示位置データとその次の歌詞の歌詞表示データの表示位置データに基づいて両歌詞の表示間隔を算出し、算出した表示幅および表示間隔に基づいて両歌詞の表示に重なりがあるかどうかを判別するものと、該検出手段によって少なくとも1つの区間が検出されたときに、該区間に含まれる歌詞同士がすべて重ならないように、該区間に含まれる各対象歌詞にそれぞれ対応する歌詞表示データのタイミングデータとその次の歌詞に対応する歌詞表示データのタイミングデータとのタイミング差および重なり量に基づいて、該区間を伸長させる倍率を、最終倍率になるまで倍率の段階を上げて行きながら決定する決定手段と、該決定手段によって決定された倍率に基づいて、当該区間のみに含まれる歌詞データに対して、その表示を制御する制御手段と、該制御手段によって制御された歌詞データの表示位置に、前記読み出し手段によって読み出された音符データに含まれる音符を対応付けて楽譜表示する楽譜表示手段とを有することを特徴とする。
【0012】
さらに、請求項3に記載のプログラムは、請求項1と同様の技術的思想によって実現できる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0014】
図1は、本発明の一実施の形態に係る楽譜表示装置の概略構成を示すブロック図である。
【0015】
同図に示すように、本実施の形態の楽譜表示装置は、文字入力用キーボード、マウス等のポインティングデバイスおよび各種スイッチ等の複数の操作子からなる操作子群1と、該操作子群1の各操作子の操作状態を検出する検出回路2と、装置全体の制御を司るCPU3と、該CPU3が実行する制御プログラムや各種テーブルデータ等を記憶するROM4と、演奏データ、各種入力情報および演算結果等を一時的に記憶するRAM5と、前記制御プログラムを含む各種アプリケーションプログラムや各種演奏データ、各種データ等を記憶する外部記憶装置6と、各種情報等を表示する、たとえば液晶ディスプレイ(LCD)および発光ダイオード(LED)等を備えた表示装置7と、外部MIDI(Musical Instrument Digital Interface)機器等の外部制御機器100を接続し、この外部制御機器100とデータの送受信を行う通信インターフェース(I/F)8と、上記記憶された演奏データ等を楽音信号に変換する音源回路9と、該音源回路9からの楽音信号に各種効果を付与するための効果回路10と、該効果回路10からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム11とにより構成されている。
【0016】
上記構成要素2〜10は、バス12を介して相互に接続され、通信I/F8には外部制御機器100が接続され、音源回路9には効果回路10が接続され、効果回路10にはサウンドシステム11が接続されている。
【0017】
外部記憶装置6としては、たとえば、フレキシブルディスクドライブ(FDD)、ハードディスクドライブ(HDD)、CD−ROMドライブおよび光磁気ディスク(MO)ドライブ等を挙げることができる。そして、外部記憶装置6には、前述のように、CPU3が実行する制御プログラムも記憶でき、ROM4に制御プログラムが記憶されていない場合には、この外部記憶装置6に制御プログラムを記憶させておき、それをRAM5に読み込むことにより、ROM4に制御プログラムを記憶している場合と同様の動作をCPU3にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【0018】
通信I/F8には、図示例では、外部制御機器100が直接接続されているが、これに限られず、たとえばLAN(Local Area Network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、外部記憶装置6に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F8は、サーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなるコンピュータ(本実施の形態では、楽譜表示装置)は、通信I/F8および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介してコンピュータへと配信し、コンピュータが通信I/F8を介して、これらプログラムやパラメータを受信して外部記憶装置6に蓄積することにより、ダウンロードが完了する。
【0019】
なお、本実施の形態の楽譜表示装置は、上述の構成から分かるように、汎用的なパーソナルコンピュータ上に構築されたものであるが、これに限らず、本発明を実施できる最小限要素のみから構成した専用装置上に構築してもよい。
【0020】
以上のように構成された楽譜表示装置が実行する制御処理を、まず図2および図3を参照してその概要を説明し、次に図4および図5を参照して詳細に説明する。
【0021】
図2は、同じ演奏データに基づいて、従来の楽譜表示装置および本実施の形態の楽譜表示装置によりそれぞれ表示された楽譜の一例を示す図であり、同図(a)が、従来の楽譜表示装置によって表示された楽譜を示し、同図(b)が、本実施の形態の楽譜表示装置によって表示された楽譜を示している。なお、同図(a)は、本実施の形態の楽譜表示装置が表示制御を行う前の歌詞表示データ(後述する図3参照)に基づいて歌詞表示した楽譜を表しているとも言える。ただし、本実施の形態では、表示制御を行う前の歌詞表示データに基づいて歌詞を表示するようには構成されていない(ただし、音符表示はなされる)。もちろん、このような歌詞表示機能を持たせるようにしてもよい。
【0022】
図示例では、供給された演奏データ、つまり楽譜表示の対象となる楽譜データのうち、ある1小節の演奏データに基づいて表示された楽譜が描画されている。同図から分かるように、この小節の演奏データは、第1、第2および第4拍がそれぞれ1つの4分音符からなり、第3拍が2つの8分音符からなる音符列と、音符毎に1文字ずつ対応付けられた歌詞列とよって構成されている。
【0023】
この小節では、第3拍の音符密度が他の拍の音符密度に対して高く、かつ音符毎に歌詞が配置されているにも拘わらず、各拍の表示領域の時間軸方向の長さは一定(厳密に言えば、第3拍の表示領域は、音符密度が高い分、音符密度の低い他の拍より長いが、音符毎に配置されている歌詞が重ならないで表示できるほど長くはない)であるため、第3拍の歌詞は、図2(a)に示すように、重なって表示される。
【0024】
そこで、本実施の形態の楽譜表示装置は、歌詞が重なって表示される個所を検出し、該検出された個所の表示領域を、歌詞が重ならない倍率だけ時間軸方向に伸長させるようにしている。伸長制御を行う表示領域の最小単位(以下、「表示変更範囲」という)を、たとえば1拍とすると、図2(b)に示すように、第3拍の表示領域のみを、他の拍の表示領域の2倍に伸長させ、歌詞が重ならないようにしている。ここで、表示領域を2倍に伸長させたのは、歌詞を1文字表示させるのに、1拍に4分音符を1つ表示させたときの表示領域が1つ必要であるからである。しかし、歌詞が重ならなければ、2倍より小さい倍率(たとえば、1.5倍等)を採用してもよいことは言うまでもない。
【0025】
演奏データに基づいて楽譜表示させるために、本実施の形態では、演奏データに基づいて、音符表示用の音符表示データと歌詞表示用の歌詞表示データを生成するようにしている。なお、五線譜やト音記号等の、楽譜表示用の定型データは、たとえば、前記ROM4に予め記憶させておき、それを読み出して楽譜表示に用いるようにすればよい。
【0026】
図3は、音符表示データおよび歌詞表示データの各フォーマットの一例を示す図であり、音符表示データは、表示すべき音符毎に1つずつ設けられ、歌詞表示データは、表示すべき歌詞毎に1つずつ設けられている。
【0027】
同図に示すように、各音符表示データは、それぞれ、当該音符の発音タイミングを示すタイミングデータ21と、当該音符の音高を示す音高データ22と、当該音符の種類(4分音符や8分音符等)を示す音符種類データ23と、当該音符を表示するフォントのサイズを示すフォントサイズデータ24と、当該音符の楽譜上の表示位置を示す表示位置データ25と、当該音符の表示色を示すデータや当該音符に装飾を施す場合に、その装飾の種類を決定するデータ等のその他データ(図示せず)とによって構成されている。
【0028】
ここで、タイミングデータ21および音高データ22は、演奏データがどのようなフォーマットのものであっても、通常そのデータ内に含まれているので、それを読み出して直接得ることができ、音符種類データ23は、演奏データ内に含まれていないとしても、発音継続時間を示すデータは通常含まれているので、それを読み出し、簡単な演算を施すことによって、得ることができる。また、フォントサイズデータ24や表示色を示すデータは、ユーザが予め設定していれば、それを読み出し、ユーザが予め設定していなければ、デフォルト値を読み出して、得ることができる。さらに、表示位置データ25は、まず、タイミングデータ21に基づいて算出したものを設定し、次に、たとえば前記特許文献1に記載された楽譜割付方法を用いて、そのまま表示したのでは重なってしまう音符に対する再レイアウト(対象となる小節数、小節幅、拍および音符の再レイアウト)を行い、その再レイアウト結果に基づいて、設定されたデータを更新する(更新の必要がないこともある)。
【0029】
また、各歌詞表示データは、それぞれ、当該歌詞の歌唱タイミングを示すタイミングデータ31と、当該歌詞の内容(文字)を示す歌詞データ32と、当該歌詞を表示するフォントの種類(明朝体やゴシック体等)を示すフォント種類データ33と、当該歌詞を表示するフォントのサイズを示すフォントサイズデータ34と、当該歌詞の楽譜上の表示位置を示す表示位置データ35と、当該歌詞の表示色を示すデータ等のその他データ(図示せず)とによって構成されている。
【0030】
ここで、タイミングデータ31および歌詞データ32は、演奏データがどのようなフォーマットのものであっても、通常そのデータ内に含まれているので、それを読み出して直接得ることができる。また、フォント種類データ33、フォントサイズデータ34および表示色を示すデータは、ユーザが予め設定していれば、それを読み出し、ユーザが予め設定していなければ、デフォルト値を読み出して、得ることができる。さらに、表示位置データ35は、タイミングデータ31および音符表示データの表示位置データ(更新後のもの)25に基づいて算出して得ることができる。
【0031】
このように生成された音符表示データおよび歌詞表示データを用いて、ある1小節の楽譜を表示したときの一例が、図2(a)であり、音符密度が高い表示領域では、歌詞が重なって表示されることがある。そこで、本発明は、歌詞が重なって表示されないように、楽譜表示の再レイアウトを行うことを特徴とする。
【0032】
次に、この制御処理を詳細に説明する。
【0033】
図4および図5は、本実施の形態の楽譜表示装置、特にCPU3が実行する楽譜表示処理の手順を示すフローチャートであり、この楽譜表示処理は、主として、次の処理によって構成されている。すなわち、
(1)ユーザ設定処理
(2)音符表示データ生成および表示処理
(3)歌詞表示データ生成処理
(4)楽譜表示処理
である。
【0034】
以下、(1)〜(4)の処理を順に説明する。
【0035】
上記(1)のユーザ設定処理は、ステップS1に対応し、このユーザ設定処理としては、操作者が楽譜表示の対象とする演奏データを選択したときに、該演奏データを、たとえば、前記外部記憶装置6から読み出して、前記RAM5に確保された演奏データ格納領域に格納する処理や、前記表示変更範囲(たとえば、「1小節」、「1拍」および「1音符」のいずれか)、前記表示色、前記表示フォントのサイズおよび歌詞の表示フォントの種類を設定する処理等が挙げられる。
【0036】
前記(2)の音符表示データ生成および表示処理は、ステップS2およびS3に対応し、前記演奏データ格納領域に格納されている演奏データから、音符に関するデータ(音符データ)を読み出し、この音符データに対して前記従来の楽譜割付方法を施すことにより、音符を楽譜表示したときに隣接する音符同士が重ならないような音符表示データを生成した(ステップS2)後、この音符表示データに基づいて楽譜表示を行う(ステップS3)。この楽譜表示では、五線譜上に音符のみが表示され、歌詞は表示されない。もちろん、ステップS3の処理を削除し、後述するステップS4の処理の後に、「音符表示データおよび歌詞表示データに基づき表示」という処理を加えることにより、前記図2(a)のように、五線譜上に、いずれも重なって表示されない音符と一部重なって表示される歌詞を表示するようにしてもよい。なお、ステップS3の楽譜表示では、五線譜やト音記号等の、どの楽譜表示にも共通に表示されるものは、言うまでもなく表示されるが、この表示は、前述のように、ROM4に予め記憶されたデータを読み出し、このデータに基づいて行うようにすればよい。
【0037】
本発明は、演奏データから、このような音符表示データを生成することを特徴とするものではないので、前記特許文献1に記載された楽譜割付方法、すなわち公知の楽譜割付方法を用いて、音符表示データを生成するようにしている。もちろん、楽譜割付方法は、公知のものに限らず、将来発明されるものであってもよい。また、楽譜割付方法として、前記特許文献1に記載のものを採用したのは、便宜上に過ぎず、音符を楽譜表示したときに隣接する音符同士が重ならないような音符表示データを生成可能な方法であれば、どのような方法を採用してもよい。
【0038】
前記(3)の歌詞表示データ生成処理は、ステップS4〜S14に対応し、まず、全楽譜表示領域を複数の表示変更範囲に分割し、この分割後の表示変更範囲毎に、当該表示変更範囲に含まれる歌詞表示データのそれぞれについて、その次に位置する歌詞表示データとの表示の重なりを検出する(ステップS6)。このとき、重なりが検出されると、対象歌詞表示データと次の歌詞表示データとのタイミング差および重なり量に基づいて、両者が重ならない倍率、すなわち、当該表示変更範囲を伸長させる倍率を決定し、この決定した倍率が、現在設定中の倍率(以下、「現在の倍率」と略して言う)より高い場合には、この決定された倍率で、現在の倍率を更新する(ステップS8)。なお、重なりが検出されなければ、何もしない。そして、ステップS6〜S8の処理を、当該表示変更範囲に含まれるすべての歌詞表示データについて行った(ステップS9→S10→S6)後、現在の倍率に従って、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する(ステップS11)ともに、現在の倍率に従って、当該表示変更範囲内のすべての音符表示データの表示位置を変更する(ステップS12)。そして、ステップS5〜S12の処理を、前記分割されたすべての表示変更範囲について行う(ステップS13→S14→S5)。
【0039】
上記ステップS6の重なりの検出処理では、対象歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞表示データの表示位置データと次の歌詞表示データの表示位置データに基づいて両歌詞間の距離(表示間隔)を算出し、算出した表示幅が算出した距離より長いときに、重なりがあると検出する。もちろん、重なりが検出される方法であれば、これに限らないことは言うまでもない。また、重なりの検出では、場合によっては、次の歌詞との重なりではなく、拍の区切りや小節線との重なりを検出した方が楽譜表示の見栄えがよいこともあるので、その場合には、次の歌詞との重なりの検出に代えて、拍の区切りや小節線との重なりを検出するようにすればよい。
【0040】
なお、表示変更範囲として、前述のように、「1音符」を設定することもできるが、この場合には、倍率を算出し、この倍率に基づいて当該表示変更範囲を伸長させる必要はないので、次の歌詞の表示位置を、対象歌詞と重ならない位置に変更すればよい。このとき、次の歌詞に対応する音符の表示位置も、次の歌詞の表示位置の変更に応じて変更する。
【0041】
前記(4)の楽譜表示処理は、ステップS15に対応し、以上のようにして生成された音符表示データおよび歌詞表示データに基づいて楽譜表示を行う。
【0042】
なお、本歌詞表示データ生成処理では、まず、音符データに対して従来の従来の楽譜割付方法を施すことにより、音符同士が重ならないような音符表示データを生成し、次に、この音符表示データに基づいて歌詞表示データを表示したときの重なりを検出し、この検出結果に基づいて、歌詞が重ならないような歌詞表示データを生成し、さらに、この歌詞表示データに応じて、再度音符表示データを変更するようにしているが、これに限らず、まず、演奏データから、歌詞に関するデータ(歌詞データ)を読み出し、この歌詞データに含まれるタイミングデータに基づいて歌詞表示データを作成し、次に、この歌詞表示データに基づいて歌詞を表示したときの重なりを検出し、この検出結果に基づいて、歌詞が重ならないように歌詞表示データを変更し、さらに、この歌詞表示データに基づいて、音符表示データを生成するようにしてもよい。この場合の処理は、ステップS2およびS3の処理を削除し、ステップS4の処理内容を、「歌詞データを読み出し、歌詞データのタイミングに応じて歌詞表示データを作成」に変更し、ステップS12の処理内容を、「歌詞表示データに従い、音符表示データを作成」に変更するだけで、簡単に得られる。
【0043】
このように、本実施の形態では、全楽譜表示領域を複数の表示変更範囲に分割し、この分割後の表示変更範囲毎に、当該表示変更範囲に含まれる歌詞表示データのそれぞれについて、その次に位置する歌詞表示データとの表示の重なりを検出し、表示の重なりが検出された場合には、当該表示変更範囲のみを、表示の重なりが解消されるだけ伸長させるようにし、表示の重なりが検出されない表示変更範囲に対しては、その楽譜表示を変更しないようにしたので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【0044】
図6は、他の楽譜表示処理の手順を示すフローチャートであり、この楽譜表示処理は、前記図4および図5の楽譜表示処理に対して、前記(3)の歌詞表示データ生成処理の処理方法のみが異なっている。以下、この相違点のみ説明する。なお、図6中、図4および図5と同様の処理には同一符号が付されている。
【0045】
図6において、歌詞表示データ生成処理は、ステップS5〜S14に相当し、そのステップ中、図4および図5とステップ番号の異なるステップ、すなわちステップS21〜S24の処理が、図4および図5の歌詞表示データ生成処理内の処理と異なっている。
【0046】
まず、表示変更範囲に含まれるすべての歌詞表示データのそれぞれについて、表示が重なるものがあるかどうかを検出し(ステップS21)、1つでも重なるものが検出されれば、当該表示変更範囲を伸長させる倍率を次の段階の倍率にセットし(ステップS22)、この倍率に従って、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する(ステップS23)。次に、現在セットされている倍率が最終倍率でない場合には、歌詞表示データの変更された表示位置に基づいて、再度、当該表示変更範囲に含まれるすべての歌詞表示データのそれぞれについて、表示が重なるものがあるかどうかを検出する(ステップS24→S21)。そして、当該表示変更範囲のすべての歌詞表示データが重なって表示されないようになるまで、倍率の段階を上げて行きながら、当該表示変更範囲内のすべての歌詞表示データの表示位置を変更する(ステップS24→S21→S12)。ただし、倍率の段階が最終倍率に到達してしまったときには、そのとき、当該表示変更範囲内に重なって表示される歌詞表示データが存在していても、それ以上倍率の段階を上げずに、少々の重なりはそのまま表示する(ステップS24→S12)。
【0047】
このように、本歌詞表示データ生成処理は、図4および図5の歌詞表示データ生成処理に対して、主として、表示変更範囲を伸長させる倍率を段階的に上げるようにした点が異なるのみであるので、段階を粗くすれば、図4および図5の歌詞表示データ生成処理による処理後の楽譜表示との違いは若干発生するものの、段階を細かくすれば、その差は無視できる程度となる。
【0048】
なお、倍率の段階は、予め固定的に設定され、操作者が選択できないように構成されていてもよいし、これとは逆に、複数の倍率が設定された倍率リストが複数種類予め設定され、操作者が、その中から任意に選択できるようにしてもよいし、選択したものを編集できるようにしてもよいし、さらに、一から設定できるようにしてもよい。操作者が、倍率リストを選択したり、編集したりするように構成されている場合には、複数の倍率リストからいずれかを選択する処理が必要であるが、その処理は、図6のステップS1のユーザ設定処理中で行うようにすればよい。
【0049】
なお、本実施の形態では、演奏データのフォーマットについては特に指定されていないので、自動演奏可能なものであればどのようなものを採用してもよい。たとえば、音符データは、単数パートからなるものでもよいし、複数パートからなるものでもよい。音符データが複数パートからなる場合には、歌詞データは、対応付けて表示される音符データと同じトラック(パート)に入っていた方が処理の都合上好ましいが、これに限られるわけではなく、別のトラックに入っていてもよい。演奏データは、音符データと歌詞データを一まとめにして、1つのファイルで形成するようにしたが、音符データと歌詞データとを別ファイルで形成するようにしてもよい。この場合、歌詞データは、該歌詞データに含まれる個々の歌詞が、音符データに含まれるどの音符に対応するかを示す情報(たとえば、タイミング情報)を備えておく必要がある。
【0050】
また、本実施の形態では、音符データおよび歌詞データはそれぞれ別のイベントとして取り扱うようにしたが、これに限らず、音符イベント中に歌詞情報を含むようなデータフォーマットを採用してもよい。
【0051】
さらに、本実施の形態では、各歌詞イベント中にはそれぞれ1文字分の歌詞情報が含まれる例を挙げて説明したが、これに限らず、複数文字分の歌詞情報が含まれるイベントが混在するようにしてもよい。文字も、ひらがなに限らず、漢字、数字またはアルファベット文字など、どのような文字であってもよい。
【0052】
また、本実施の形態では、表示変更範囲を伸長させる倍率は、当該表示変更範囲内では一定であるが、当該表示変更範囲でも、倍率を適用する位置に応じて変更するようにしてもよい。この場合の変更量は、操作者が自由に設定できるようにしてもよい。
【0053】
さらに、本実施の形態では、演奏データの全体に亘って、音符表示データおよび歌詞表示用データを生成した後、これらデータに基づいて、一括して楽譜表示するようにしたが、これに限らず、表示変更範囲毎に生成途中の音符表示データおよび歌詞表示用データに基づいて、各段階で楽譜表示するようにしてもよい。
【0054】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU3やMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0055】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0056】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0057】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0058】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU3などが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0059】
【発明の効果】
以上説明したように、請求項1または4に記載の発明によれば、供給された演奏データから読み出された音符データに基づいて、該音符データに含まれるすべての音符が表示手段上に楽譜表示され、該表示された楽譜全体が時間軸方向に複数の区間に分割され、前記演奏データから読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間が検出されると、該区間のみに含まれる音符データおよび歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示が制御されるので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【0060】
また、請求項3に記載の発明によれば、供給された演奏データから読み出された歌詞データに基づいて、該歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体が時間軸方向に複数の区間に分割され、前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間が検出されると、該区間のみに含まれる歌詞データに対して、該区間に含まれる歌詞同士が重ならないように、その表示が制御され、該制御された歌詞データの表示位置に、前記演奏データから読み出された音符データに含まれる音符が対応付けて楽譜表示されるので、音符だけでなく歌詞も見栄えよく表示することが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係る楽譜表示装置の概略構成を示すブロック図である。
【図2】 同じ演奏データに基づいて、従来の楽譜表示装置および本実施の形態の楽譜表示装置がそれぞれ表示した楽譜の一例を示す図である。
【図3】 音符表示データおよび歌詞表示データの各フォーマットの一例を示す図である。
【図4】 図1の楽譜表示装置、特にCPUが実行する楽譜表示処理の手順を示すフローチャートである。
【図5】 図4の楽譜表示処理の続きの手順を示すフローチャートである。
【図6】 他の楽譜表示処理の手順を示すフローチャートである。
【符号の説明】
1…操作子群(分割手段),3…CPU(読み出し手段、楽譜表示手段、分割手段、検出手段、制御手段、決定手段、第1の生成手段、第2の生成手段、生成手段),7…表示装置(楽譜表示手段、表示手段)
Claims (3)
- 供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、
該読み出し手段によって読み出された音符データに基づいて、表示すべき音符毎の音符表示データを生成する第1の生成手段と、
該第1の生成手段によって生成された音符表示データに基づいて、前記読み出された音符データに含まれるすべての音符を楽譜表示する楽譜表示手段と、
該楽譜表示手段によって表示された楽譜全体を時間軸方向に複数の区間に分割する分割手段と、
前記読み出し手段によって読み出された歌詞データに基づいて、表示すべき歌詞毎の歌詞表示データであって、当該歌詞の歌唱タイミングを示すタイミングデータと、当該歌詞を表示するフォントのサイズを示すフォントサイズデータと、当該歌詞の前記楽譜上の表示位置を示す表示位置データとを含むものを生成する第2の生成手段と、
該第2の生成手段によって生成された歌詞表示データに基づいて、前記読み出された歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段であって、前記複数の区間の各区間毎に、当該区間に含まれる各歌詞を1つずつ対象歌詞とし、その対象歌詞に対応する歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞の歌詞表示データの表示位置データとその次の歌詞の歌詞表示データの表示位置データに基づいて両歌詞の表示間隔を算出し、算出した表示幅および表示間隔に基づいて両歌詞の表示に重なりがあるかどうかを判別するものと、
該検出手段によって少なくとも1つの区間が検出されたときに、該区間に含まれる歌詞同士がすべて重ならないように、該区間に含まれる各対象歌詞にそれぞれ対応する歌詞表示データのタイミングデータとその次の歌詞に対応する歌詞表示データのタイミングデータとのタイミング差および重なり量に基づいて、該区間を伸長させる倍率を、最終倍率になるまで倍率の段階を上げて行きながら決定する決定手段と、
該決定手段によって決定された倍率に基づいて、当該区間のみに含まれる音符データおよび歌詞データに対して、その表示を制御する制御手段と
を有することを特徴とする楽譜表示装置。 - 供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手段と、
該読み出し手段によって読み出された歌詞データに基づいて、表示すべき歌詞毎の歌詞表示データであって、当該歌詞の歌唱タイミングを示すタイミングデータと、当該歌詞を表示するフォントのサイズを示すフォントサイズデータと、当該歌詞の楽譜上の表示位置を示す表示位置データとを含むものを生成する生成手段と、
該生成手段によって生成された歌詞表示データに基づいて、前記読み出された歌詞データに含まれる歌詞を楽譜表示したときの楽譜全体を時間軸方向に複数の区間に分割する分割手段と、
前記歌詞を楽譜表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手段であって、前記複数の区間の各区間毎に、当該区間に含まれる各歌詞を1つずつ対象歌詞とし、その対象歌詞に対応する歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞の歌詞表示データの表示位置データとその次の歌詞の歌詞表示データの表示位置データに基づいて両歌詞の表示間隔を算出し、算出した表示幅および表示間隔に基づいて両歌詞の表示に重なりがあるかどうかを判別するものと、
該検出手段によって少なくとも1つの区間が検出されたときに、該区間に含まれる歌詞同士がすべて重ならないように、該区間に含まれる各対象歌詞にそれぞれ対応する歌詞表示データのタイミングデータとその次の歌詞に対応する歌詞表示データのタイミングデータとのタイミング差および重なり量に基づいて、該区間を伸長させる倍率を、最終倍率に なるまで倍率の段階を上げて行きながら決定する決定手段と、
該決定手段によって決定された倍率に基づいて、当該区間のみに含まれる歌詞データに対して、その表示を制御する制御手段と、
該制御手段によって制御された歌詞データの表示位置に、前記読み出し手段によって読み出された音符データに含まれる音符を対応付けて楽譜表示する楽譜表示手段と
を有することを特徴とする楽譜表示装置。 - 供給された演奏データから、該演奏データに含まれる音符データおよび歌詞データを読み出す読み出し手順と、
該読み出し手順によって読み出された音符データに基づいて、表示すべき音符毎の音符表示データを生成する第1の生成手順と、
該第1の生成手順によって生成された音符表示データに基づいて、前記読み出された音符データに含まれるすべての音符を表示手段上に楽譜表示する楽譜表示手順と、
前記表示手段上に表示された楽譜全体を時間軸方向に複数の区間に分割する分割手順と、
前記読み出し手順によって読み出された歌詞データに基づいて、表示すべき歌詞毎の歌詞表示データであって、当該歌詞の歌唱タイミングを示すタイミングデータと、当該歌詞を表示するフォントのサイズを示すフォントサイズデータと、当該歌詞の前記楽譜上の表示位置を示す表示位置データとを含むものを生成する第2の生成手順と、
該第2の生成手順によって生成された歌詞表示データに基づいて、前記読み出された歌詞データに含まれる歌詞を、前記表示された音符に対応付けて表示するときに、前記分割された複数の区間のうち、歌詞同士が重なる歌詞データが含まれる区間を検出する検出手順であって、前記複数の区間の各区間毎に、当該区間に含まれる各歌詞を1つずつ対象歌詞とし、その対象歌詞に対応する歌詞表示データのフォントサイズデータに基づいて対象歌詞の表示幅を算出するとともに、対象歌詞の歌詞表示データの表示位置データとその次の歌詞の歌詞表示データの表示位置データに基づいて両歌詞の表示間隔を算出し、算出した表示幅および表示間隔に基づいて両歌詞の表示に重なりがあるかどうかを判別するものと、
該検出手順によって少なくとも1つの区間が検出されたときに、該区間に含まれる歌詞同士がすべて重ならないように、該区間に含まれる各対象歌詞にそれぞれ対応する歌詞表示データのタイミングデータとその次の歌詞に対応する歌詞表示データのタイミングデータとのタイミング差および重なり量に基づいて、該区間を伸長させる倍率を、最終倍率になるまで倍率の段階を上げて行きながら決定する決定手順と、
該決定手順によって決定された倍率に基づいて、当該区間のみに含まれる音符データおよび歌詞データに対して、その表示を制御する制御手順と
をコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184390A JP4221757B2 (ja) | 2003-06-27 | 2003-06-27 | 楽譜表示装置および楽譜表示方法を実現するためのプログラム |
US10/876,932 US7094960B2 (en) | 2003-06-27 | 2004-06-25 | Musical score display apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003184390A JP4221757B2 (ja) | 2003-06-27 | 2003-06-27 | 楽譜表示装置および楽譜表示方法を実現するためのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005017824A JP2005017824A (ja) | 2005-01-20 |
JP4221757B2 true JP4221757B2 (ja) | 2009-02-12 |
Family
ID=34184176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003184390A Expired - Fee Related JP4221757B2 (ja) | 2003-06-27 | 2003-06-27 | 楽譜表示装置および楽譜表示方法を実現するためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4221757B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007086305A (ja) * | 2005-09-21 | 2007-04-05 | Kawai Musical Instr Mfg Co Ltd | 歌詞編集装置および歌詞編集プログラム |
JP4655878B2 (ja) * | 2005-10-24 | 2011-03-23 | ヤマハ株式会社 | 音楽コンテンツ作成装置、方法及びプログラム |
JP5272435B2 (ja) * | 2008-02-18 | 2013-08-28 | ヤマハ株式会社 | 電子音楽装置およびその制御方法を実現するプログラム |
JP6848527B2 (ja) * | 2017-02-28 | 2021-03-24 | ヤマハ株式会社 | 教習装置および教習方法 |
-
2003
- 2003-06-27 JP JP2003184390A patent/JP4221757B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005017824A (ja) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4111004B2 (ja) | 演奏練習装置および演奏練習プログラム | |
US6756533B2 (en) | Automatic music composing apparatus and automatic music composing program | |
US7094960B2 (en) | Musical score display apparatus | |
JP2004258563A (ja) | スコアデータ表示編集装置およびプログラム | |
JP2009522614A (ja) | テキスト編集と楽譜再生の方法およびシステム | |
JP5789915B2 (ja) | 楽譜表示装置および楽譜表示方法を実現するためのプログラム | |
US7560635B2 (en) | Musical information display apparatus, musical information display method, and program for implementing the method | |
JP5228315B2 (ja) | 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム | |
JP4501417B2 (ja) | 楽譜表示装置および楽譜表示方法を実現するためのプログラム | |
US7895517B2 (en) | Electronic musical apparatus for displaying character | |
JP4221757B2 (ja) | 楽譜表示装置および楽譜表示方法を実現するためのプログラム | |
JP6179221B2 (ja) | 音響処理装置および音響処理方法 | |
JP4858504B2 (ja) | カラオケ装置 | |
JP3915695B2 (ja) | 自動演奏装置及びプログラム | |
JP2000293183A (ja) | カラオケ装置 | |
JP2004258564A (ja) | スコアデータ編集装置、スコアデータ表示装置およびプログラム | |
JP3649014B2 (ja) | 演奏データファイルの再生設定制御装置 | |
JP2001013964A (ja) | 演奏装置及びその記録媒体 | |
JP3620396B2 (ja) | 情報修正装置及び情報修正プログラムを記録した媒体 | |
JP3173310B2 (ja) | ハーモニー生成装置 | |
JP4148184B2 (ja) | 自動伴奏データ生成方法を実現するためのプログラムおよび自動伴奏データ生成装置 | |
JP5402167B2 (ja) | アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム | |
JP3794303B2 (ja) | 演奏情報編集装置及び演奏情報編集プログラム | |
JP3460562B2 (ja) | 入力・編集装置および記憶媒体 | |
CN117877459A (zh) | 记录介质、音响处理方法以及音响处理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050728 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080603 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080804 |
|
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: 20081027 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081109 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111128 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121128 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131128 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |