(57)【要約】【課題】譜表上の楽譜パーツが視認しやすくなるように楽譜パーツの配置が自動調整される楽譜表示データ作成装置を提供する。【解決手段】楽譜表示データ作成部２は、楽曲データ供給部１により提供された楽曲データに対応する楽譜を表示装置３の表示領域上に表示させる楽譜表示データを作成する。楽譜は、楽譜パーツの表示サイズの設定値、楽譜横幅設定値、楽譜縦幅設定値に応じて、１または複数段の譜表からなり、この譜表が譜表毎に１または複数の可変長の小節からなるものとする。小節割当部５は、一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるための最小横幅を小節毎に算出し、各小節毎の楽譜パーツが各小節を単位として最小横幅以上で各段の譜表上に配置されるように、各段の譜表に小節を割り当てる。【選択図】  図１
2004184806.tif 000002
【特許請求の範囲】
【請求項１】
提供された楽曲データに対応する楽譜を、１または複数段の譜表からなり各譜表が譜表毎に１または複数の可変長の小節からなるものとして、表示領域上に表示させる楽譜表示データを作成する楽譜表示データ作成装置であって、
前記楽曲データを入力し、該楽曲データに含まれる演奏データに基づいて、楽譜表示に要する楽譜パーツを各小節毎に決定する楽譜パーツ決定手段と、
前記表示領域上に表示される前記楽譜パーツの表示サイズを設定する表示サイズ設定手段と、
前記表示領域上に表示される前記楽譜の横幅を設定する楽譜横幅設定手段と、
前記表示サイズの設定値に応じて、前記小節毎に決定された前記楽譜パーツの内、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるための最小横幅を前記小節毎に算出し、算出された小節毎の最小横幅と前記楽譜の横幅の設定値に基づいて、各小節毎の楽譜パーツが各小節を単位として前記最小横幅以上で前記各段の譜表上に配置されるように、前記各小節を前記各段の譜表に割り当てる小節割当手段と、
該小節割当手段による前記小節の割り当てに従って、前記楽譜パーツを前記各譜表上に表示させる楽譜表示データを出力する楽譜表示データ出力手段、
を有することを特徴とする楽譜表示データ作成装置。
【請求項２】
前記提供された楽曲データに対応する楽譜は、前記表示領域の頁毎に表示されるものであり、
前記各頁の表示領域上に表示される楽譜の縦幅を設定する楽譜縦幅設定手段と、
前記表示サイズの設定値に応じて、前記小節割当手段により前記各段の譜表に割り当てられた各小節毎の楽譜パーツを前記各段の譜表上に配置するための最大縦幅を算出し、算出された各段の譜表毎の最大縦幅と前記楽譜の縦幅の設定値に基づいて、前記各段の譜表が該譜表を単位として当該頁内に配置されるように前記各段の譜表を前記各頁に順次割り当てる譜表割当手段を有し、
前記楽譜表示データ出力手段は、前記小節割当手段により前記小節が割り当てられた前記各段の譜表上の楽譜パーツを、前記譜表割当手段による前記各段の譜表の割り当てに従って、前記各頁の楽譜表示領域上に配置させる楽譜表示データを出力する、
ことを特徴とする請求項１に記載の楽譜表示データ作成装置。
【請求項３】
提供された楽曲データに対応する楽譜を、１または複数段の譜表からなり各譜表が譜表毎に１または複数の可変長の小節からなるものとして、表示領域上に表示させる楽譜表示データをコンピュータに作成させる楽譜表示データ作成プログラムであって、
前記楽曲データを入力し、該楽曲データに含まれる演奏データに基づいて、楽譜表示に要する楽譜パーツを各小節毎に決定する楽譜パーツ決定ステップと、
前記表示領域上に表示される前記楽譜パーツの表示サイズを設定する表示サイズ設定ステップと、
前記表示領域上に表示される前記楽譜の横幅を設定する楽譜横幅設定ステップと、
前記表示サイズの設定値に応じて、前記小節毎に決定された前記楽譜パーツの内、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるための最小横幅を前記小節毎に算出し、算出された小節毎の最小横幅と前記楽譜の横幅の設定値に基づいて、各小節毎の楽譜パーツが各小節を単位として前記最小横幅以上で前記各段の譜表上に配置されるように、前記各小節を前記各段の譜表に割り当てる小節割当ステップと、
該小節割当ステップによる前記小節の割り当てに従って、前記楽譜パーツを前記各譜表上に表示させる楽譜表示データを出力する楽譜表示データ出力ステップ、
を有することを特徴とする楽譜表示データ作成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽曲データに対応する楽譜をディスプレイに表示させる楽譜表示データを作成する技術に関するものである。
【０００２】
【従来の技術】
楽曲データを入力し、これに対応する楽譜をディスプレイに表示させるための楽譜表示データを作成する楽譜表示データ作成装置が、例えば、特許文献１で知られている。
楽譜表示は、「五線」上に各種の「楽譜パーツ」を配置することにより行われる。本明細書でいう「楽譜パーツ」とは、音部記号（ト音記号、ヘ音記号、ハ音記号）、小節線、調記号、拍子記号、音符、休符、強弱記号、反復記号など、「五線」上に表記される各種音楽記号の表示要素である。「五線」もまた「楽譜パーツ」に含めてよい。
楽譜パーツのサイズとは、楽譜パーツを楽譜の表示要素としてディスプレイや紙に表示したりする際の、楽譜パーツの大きさを示す。上述した特許文献１（００８７段落参照）に記載の技術においては、「音符表示領域サイズ」（縦サイズ）ＶＷを五線譜の段数ｎで割った値、すなわち、「小節サイズ」（縦サイズ）ＶＭの１／１０をフォントサイズ（楽譜パーツのサイズ）としている。
【０００３】
本明細書では、楽譜表示領域において、１段分の表示を譜表という。例えば、五線およびその上下の加線を配置する領域をいう。低音部と高音部とからなる大譜表など、複数のパートからなる譜表の場合もある。
例えば、特許文献１（図４，図６，図１３等の説明事項参照）には、譜表の各段に表示する小節数と、楽譜の１頁に配置する譜表の段数とを設定し、その設定値に基づいて、シート楽譜をディスプレイに表示させる楽譜表示データ作成装置が開示されている。
上述した特許文献１（図１４，図１９等の説明事項参照）には、小節数と楽譜パーツのサイズとを指定するものが開示されている。また、上述した特許文献１（図２０，図２６等の説明事項参照）には、小節数と段数と楽譜パーツのサイズとを指定するとともに、小節，段数，楽譜パーツのサイズのいずれを優先するかを指定するものが開示されている。
【０００４】
また、パーソナルコンピュータ用のシーケンサ・ソフトウエアである、ヤマハ株式会社製の製品（非特許文献１の第１１−２０頁等を参照）では、楽譜表示ウインドウにおいて、楽譜パーツのサイズを４段階（大，中，小，最小）のランクに変更できる。楽曲データの自動演奏中においては、演奏の再生時刻が現在の表示範囲を超えると、次の演奏区間の表示領域に切り替わる。
一方、表示画面上のスクロールバーがマウス操作されたときには、楽譜の表示領域がスクロール表示される。小節の長さ（横幅）は、楽譜パーツのサイズに関わりなく一定である。
【０００５】
いずれの従来技術においても、１小節内に配置すべき音符等の楽譜パーツの数は、各小節ごとに変動する。しかも、配置すべき楽譜パーツはそれぞれ横幅が異なる。そのため、１小節内に配置すべき楽譜パーツの数が多くなると、１小節内の楽譜パーツが横方向に重なり合う場合があることから、楽譜を視認しにくくなる。
このような場合、上述した特許文献１に記載の技術では、小節数の指定を変更したり、楽譜パーツのサイズを小さくするほかない。また、上述した非特許文献１に記載の技術では、「水平方向ズームインボタン」をマウスでクリックして、水平方向の表示倍率を拡大するほかなかった。
すなわち、譜表上の楽譜パーツを視認しやすくする調整は、自動的には行われないという問題があった。
また、上述した特許文献１（図１５，図１７等の説明事項を参照）に記載の技術のように、１頁のシート楽譜に複数段の譜表を配置させる場合に、楽譜パーツのサイズが大きくなると、上下の譜表の音符パーツが重なってしまうので、設定をやり直さなければならないという問題もあった。
【０００６】
【特許文献１】
特開平１０−１９８３５２号公報
【非特許文献１】
ＸＧｗｏｒｋｓ  Ｖ４．０取扱説明書（ｃ）１９９９
【０００７】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、楽譜パーツの表示サイズ等に応じて、譜表上の楽譜パーツが視認しやすくなるように楽譜パーツの配置を自動調整する楽譜表示データ作成装置および楽譜表示データ作成プログラムを提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
請求項１に記載の発明においては、提供された楽曲データに対応する楽譜を、１または複数段の譜表からなり各譜表が譜表毎に１または複数の可変長の小節からなるものとして、表示領域上に表示させる楽譜表示データを作成する楽譜表示データ作成装置であって、楽譜パーツ決定手段と、表示サイズ設定手段と、楽譜横幅設定手段と、前記表示サイズの設定値に応じて、前記小節毎に決定された前記楽譜パーツの内、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるための最小横幅を前記小節毎に算出し、算出された小節毎の最小横幅と前記楽譜の横幅の設定値に基づいて、各小節毎の楽譜パーツが各小節を単位として前記最小横幅以上で前記各段の譜表上に配置されるように、前記各小節を前記各段の譜表に割り当てる小節割当手段と、楽譜表示データ出力手段を有するものである。
従って、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく、各段の譜表における各小節が次段の譜表にまたがらないように、楽譜パーツの配置が自動調整されるので、譜表上の楽譜パーツが視認しやすくなる。楽譜パーツの表示サイズが変更されても構わない。
【０００９】
請求項２に記載の発明においては、請求項１に記載の楽譜表示データ作成装置において、前記提供された楽曲データに対応する楽譜は、前記表示領域の頁毎に表示されるものであり、楽譜縦幅設定手段と、前記表示サイズの設定値に応じて、前記小節割当手段により前記各段の譜表に割り当てられた各小節毎の楽譜パーツを前記各段の譜表上に配置するための最大縦幅を算出し、算出された各段の譜表毎の最大縦幅と前記楽譜の縦幅の設定値に基づいて、前記各段の譜表が該譜表を単位として当該頁内に配置されるように前記各段の譜表を前記各頁に順次割り当てる譜表割当手段を有するものである。
従って、楽譜パーツが各段の譜表の縦幅内に配置され、かつ、各段の譜表が次頁にまたがらないように、楽譜パーツの配置が自動調整されるので、譜表上の楽譜パーツが視認しやすくなる。楽譜パーツの表示サイズが変更されても構わない。
【００１０】
請求項３に記載の発明においては、提供された楽曲データに対応する楽譜を、１または複数段の譜表からなり各譜表が譜表毎に１または複数の可変長の小節からなるものとして、表示領域上に表示させる楽譜表示データをコンピュータに作成させる楽譜表示データ作成プログラムであって、楽譜パーツ決定ステップと、表示サイズ設定ステップと、楽譜横幅設定ステップと、前記表示サイズの設定値に応じて、前記小節毎に決定された前記楽譜パーツの内、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるための最小横幅を前記小節毎に算出し、算出された小節毎の最小横幅と前記楽譜の横幅の設定値に基づいて、各小節毎の楽譜パーツが各小節を単位として前記最小横幅以上で前記各段の譜表上に配置されるように、前記各小節を前記各段の譜表に割り当てる小節割当ステップと、楽譜表示データ出力ステップを有するものである。
従って、コンピュータにこの楽譜表示データ作成プログラムを実行させることにより、請求項１に記載の楽譜表示データ作成装置を実現することができる。
【００１１】
【発明の実施の形態】
図１は、本発明の実施の一形態を示すブロック構成図である。
図中、１は楽曲データ供給部、２は楽譜表示データ作成部、３は表示装置（ディスプレイあるいはプリンタ）である。楽譜表示データ作成部２は、楽譜パーツ決定部４、小節割当部５、譜表割当部６、楽譜表示データ出力部７を有する。プリンタに出力される楽譜表示データは、図示しない記憶装置に保存される場合もある。
楽曲データ供給部１は、ＳＭＦ（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ）形式等の楽曲データが記憶された記憶装置である。例えば、電子楽器等の装置に内蔵されるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、半導体メモリカード、ハード磁気ディスク等の記憶装置、装置の外部にある記憶装置、あるいは、これらの記憶装置から読み出されて楽曲データが記憶されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に対応する。
【００１２】
楽譜表示データ作成部２は、楽曲データ供給部１により提供された楽曲データに対応する楽譜を表示装置３の表示領域上に表示させる楽譜表示データを作成する。
楽譜は、楽譜パーツの表示サイズの設定値、楽譜横幅設定値、楽譜縦幅設定値に応じて、１または複数段の譜表からなりこの譜表が譜表毎に１または複数の可変長の小節からなる。
上述した各種設定値、例えば、楽譜パーツの表示サイズの設定は、ユーザが操作子操作により行うことができる。また、楽譜横幅設定値や楽譜縦幅設定値については、表示装置３の表示サイズ等に応じて予め設定された数値であってもよい。
【００１３】
図２は、表示装置３において表示される「シート楽譜」の一例を示す説明図である。
１１は１頁分のシート楽譜であって、外マージン（左横ｍ１，右横ｍ２，上ｍ３，下ｍ４）が設けられ、この外マージンの中が楽譜表示領域１２であり、この楽譜表示領域１２内に、１段または複数段の譜表１，譜表２，譜表３，……が、上から順次配置されている。
シート楽譜１１自体の縦幅および横幅は、固定値であったり、ユーザによって設定可能な可変値であったりする。楽譜横幅は楽譜表示領域１２の横幅、楽譜縦幅は楽譜表示領域１２の縦幅である。
【００１４】
各譜表には、五線領域と、その上部および下部に加線を用いて音符を表示する表示領域があり、１または複数の可変長の小節からなる。図示の例では、小節１〜小節７が示されているが、譜表１，譜表２，譜表３，…毎に、小節の長さ（横幅）および小節の数が異なる。譜表が複数段ある場合に、譜表間に図示のようなマージンｍ５が設けられてもよい。
楽曲データの演奏位置が進むにつれて、演奏位置は、上段から下段に移る。１頁のシート楽譜１１で表示しきれないときに次頁を表示させる。表示装置３の１画面に見開きの２頁を表示させる場合もある。
シート楽譜１１において、上ｍ３の外マージンの領域に曲名，著作権表示、下ｍ４の外マージンに頁数を表示してもよい。
シート楽譜１１が、アプリケーション・ソフトウエアが使用するウインドウ画面に表示される場合、ウインドウ画面のサイズは可変でもよいが、シート楽譜１１のサイズ自体は、ウインドウ画面のサイズとは独立に設定されるものとして説明する。
【００１５】
図３は、楽譜パーツの説明図である。
楽譜パーツは、従来技術の説明において述べたように、各種の音楽記号を表示する表示要素である。楽譜パーツの表示サイズは、例えば、Ｐ１，Ｐ２，Ｐ３のように３ランク（段階）とする。楽譜パーツの表示サイズが決まれば、全ての楽譜パーツの大きさが一律に調整される。
図３（ａ）には八分音符を例示している。楽譜パーツの表示サイズに応じて、横幅ａ，縦幅ｂの長さが規定される。
図３（ｂ）に示すように、楽譜パーツの表示に要する横幅ａ，縦幅ｂの長さは、例えば、画素の個数（ｄｏｔ）として設定されている。これらの値は、各楽譜パーツの表示サイズが同じであっても、各楽譜パーツごとに異なる。
図３（ｂ）に示すような数値設定テーブルは、各楽譜パーツの種類毎に記憶しておいたり、処理プログラムの中に予め組み込んでおいてもよい。
あるいは、楽譜パーツと表示サイズとを指定して、ビットマップファイル（．ｂｍｐ）のような表示用のイメージデータを取り込む際に、横幅ａ，縦幅ｂのデータを取り込んだり、イメージデータそのものから横幅ａ，縦幅ｂを検出してもよい。
なお、五線譜の線間隔は、表示サイズに応じて変化し、音符の符頭の縦幅に一致する。
【００１６】
音楽記号フォントのセットを用いる場合には、楽譜パーツの表示サイズをフォントサイズ（ポイント値）で指定することができる。ポイント値が設定されると、楽譜パーツの表示サイズが一律に設定されることになるが、楽譜パーツの種類に応じて、ポイント値を微調整したり、複数の異なるフォントセットを用いたりする場合は、各フォントセットによってポイント値を調整して、異なるフォントセット間のバランスがとれるようにする。
音楽記号のフォントセットによっては、フォントの縦幅がポイント値に応じて一律に決まり、横幅はポイント値が同じでも個々のフォントによって異なる。音楽記号フォントの横幅および縦幅には、それぞれ、楽譜パーツの横幅ａ，縦幅ｂに余白部（マージン）が付加される場合が多い。
また、音楽記号フォントは、複数のフォントを組み合わせて１つの音楽記号を形成する場合がある。例えば、音符を符頭（たま）、符尾（ぼう）、符鉤（はた）、付点（・）の合成で作成する。このような場合、本明細書では、音楽記号として一体化されたものを楽譜パーツという。
【００１７】
楽譜パーツ決定部４は、楽曲データを入力し、この楽曲データに含まれる演奏データに基づいて、楽譜表示に要する楽譜パーツを小節毎に決定する。
楽曲データには、音符データ（ノートオン，ノートオフ）やメタイベント（著作権表示、曲名、歌詞メタイベントセットテンポ、拍子、調）などの演奏データが含まれている。これらは、音楽記号として楽譜上に表される。このような音楽記号に対応する演奏データに基づいて、各音楽記号を表示させるための楽譜パーツを決定する。
上述した楽譜パーツ決定部４は、小節毎に決定するものであるため、小節の境界を知る必要がある。入力された楽曲データに小節線を示すメタイベントが含まれている場合には、これを検出すれば、小節の境界を知ることができる。そうでない場合には、楽曲データに含まれている拍子情報、音符情報およびまたは休符情報から小節の境界を知ることになる。
【００１８】
小節割当部５は、まず、前記表示サイズの設定値に応じて、楽譜パーツ決定部４により決定された小節毎の楽譜パーツを、小節内に配置するための位置計算をする。
まず、少なくとも一部の種類の楽譜パーツが横方向に密着して隣接し、すなわち、横方向に重なり合うことなく配置されるための最小横幅を小節毎に算出する。この最小横幅が各小節毎の最小横幅となる。
少なくとも一部の種類の楽譜パーツとは、例えば、音符、変化記号、休符、音部記号、調記号、拍子記号である。調記号、拍子記号を楽譜表示しない場合は、計算から当然に除外される。
「タイ」や「スラー」は、音符と重なることがある。従って、全ての楽譜パーツが横方向に重なることを禁止するものではない。
なお、歌詞を表示するとき、音符よりも歌詞綴りの方が横方向に長くなる場合があり得る。このような場合は、歌詞の文字コード列についても、横方向に重なり合うことなく配置されるための最小横幅を小節毎に算出する。次に、上述した音符等の楽譜表示パーツについて求めた最小横幅と比較して、いずれか長い方を各小節毎の最小横幅とすればよい。
【００１９】
次に、算出された小節毎の最小横幅と楽譜表示領域１２上に表示される楽譜の横幅の設定値に基づいて、各小節毎の楽譜パーツが各小節を単位として最小横幅以上で各段の譜表上に配置されるように、各段の譜表に小節を割り当てる。譜表は１または複数の可変長の小節に分割される。
割り当てられた各小節毎の最小横幅の和は、譜表の横幅以下であるから、割り当てられた各小節毎の最小横幅の和が譜表の横幅（楽譜表示領域１２の横幅）に一致するように、各小節の横幅を拡大させる。
以上の結果、楽譜パーツを各段の譜表に割り当てて、各小節が次段の譜表にまたがらないように楽譜パーツの配置を自動調整することができる。
小節割当の具体的な処理については、図５を参照して後述する。
【００２０】
譜表割当部６は、まず、表示サイズの設定値に応じて、上述した小節割当部５により各段の譜表における各小節毎に割り当てられた楽譜パーツを各段の譜表上に配置するための最大縦幅を算出する。
次に、算出された各段の譜表毎の最大縦幅と楽譜の縦幅の設定値に基づいて、各段の譜表がこの譜表を単位としてこの頁内に配置されるように各段の譜表を各頁に順次割り当てる。
譜表割り当ての具体的な処理については、図６を参照して後述する。
【００２１】
楽譜表示データ出力部７は、小節割当部５による小節の割り当てに従って、楽譜パーツを各譜表上に表示させる楽譜表示データを作成する。
例えば、音符に関しては演奏データから抽出された音高データに基づいて縦方向の配置が決まる。横方向の配置については、音符などの一部の種類の楽譜パーツが横方向に横方向に重なり合うことなく配置したとした配置データを得る。次に、各譜表に割り当てられた小節の幅の和を譜表の横幅（楽譜表示領域１２の横幅）に一致させるため拡大されたときの拡大率に応じて、上述した配置データを横方向に広げる（小節内の楽譜パーツの横方向ジャスティフィケーション）。
次に、小節割当部５により小節が割り当てられた各段の譜表上の楽譜パーツを、譜表割当部６による各段の譜表の割り当てに従って、各頁の楽譜表示領域１２上に配置させる楽譜表示データを出力する。
上述した説明では、楽譜表示データ出力部７において、楽譜パーツ決定部４、小節割当部５、譜表割当部６に従って、楽譜データの配置を計算するようにした。しかし、小節割当部５における計算および譜表割当部６における計算は、楽譜パーツの配置に密接に関連している。従って、小節割当部５および譜表割当部６において、楽譜の配置の計算を部分的に行わせてもよい。
【００２２】
図４は、本発明の実施の一形態を実現するためのハードウエア構成の一例を示すブロック図である。
パーソナルコンピュータにおいて、アプリケーション・プログラムをインストールして楽譜表示機能を実現する場合を説明する。
図中、２１はバス、２２はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、２３はＲＯＭ、２４はＲＡＭである。２５はキーボードやマウス等の操作子である。
楽譜表示を行うアプリケーション・プログラムにおいて、楽譜表示すべきチャンネルの指定、楽譜表示の指定、楽譜表示領域の範囲設定等は、マウス操作等で行われる。２６は表示回路であって、表示装置３を駆動および制御し、楽譜表示させる。
図示を省略したが、他の表示装置として楽譜を印刷するプリンタが接続される場合がある。
【００２３】
２７は音源回路、２８はＤ／Ａ変換器、２９はサウンドシステムである。
３０は外部記憶装置であって、ＨＤＤ（ハード磁気ディスクドライブ）やＦＤＤ（フレキシブル磁気ディスクドライブ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の光ディスクドライブ、フラッシュメモリ等の半導体メモリカード等である。
３１はＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）インターフェース等のインターフェースであって、外部の電子鍵盤楽器、電子鍵盤、外部音源等３２に接続される。専用のＭＩＤＩインターフェースに限らず、ＲＳ−２３２Ｃ、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＩＥＥＥ１３９４等の汎用のインターフェースを用いてＭＩＤＩインターフェースを構成してもよい。
【００２４】
楽曲データは、ＲＯＭ２２あるいは外部記憶装置３０から読み出されたり、外部の電子鍵盤楽器等３２から入力されて、ＲＡＭ２４のワークエリアに記憶される。
楽曲データは、例えば、複数のＭＩＤＩチャンネルからなり、チャンネルが識別できるように各演奏データが格納されている。
楽譜表示は、表示すべきチャンネルが指定されて表示される。メロディパートとコードパートなど、複数のチャンネルが複数の演奏パートとして指定され、複数のパート譜の組み合わせとして楽譜表示される場合もある。このような場合は、各パート譜の小節を一致させながら、各パート譜を大譜表のように組み合わせて表示する。各パート譜の両方において、少なくとも一部の種類の楽譜パーツが横方向に重なり合うことなく配置されるようにする。
【００２５】
各チャンネルの演奏データのフォーマットは、演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長あるいは休符と休符長で演奏データを表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等、どのような形式でもよい。
上述した楽曲データには、音楽記号に対応する調情報、拍子情報等も含まれており、これらの情報を元に音楽記号を楽譜表示させるために、楽譜パート情報としてこれらを読み出す。これらの情報が含まれていないときでも表示させたい場合は、音符情報や休符情報等に基づいて楽曲データを分析して調や拍子等を推定すればよい。例えば、音符の音高の出現頻度を調べることによって調を推定する。
【００２６】
３３は通信インターフェースであって、有線あるいは無線の通信ネットワーク３４を介してインターネット上のサーバに接続したり、ＬＡＮ（  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を介してサーバに接続したりして、演奏データをリアルタイムで入力したり、楽曲データファイルを入力（ストリーミング再生あるいはダウンロード）したりする。
音源回路２７は、演奏データに応じて楽音信号を生成する。楽音信号は、Ｄ／Ａ変換器２８によりアナログ波形に変換された後、サウンドシステム２９に供給されて、スピーカから出力される。
上述した構成では音源回路２７を有している。しかし、インターフェース３１に接続された図示しない外部の音源装置を用いたり、ＣＰＵ２２にソフトウエア音源の機能を持たせて音源機能を実行させてもよい。
【００２７】
ＣＰＵ２２は、オペレーティングシステム・プログラムの制御下で、外部記憶装置３０の１つであるハード磁気ディスクに記憶されたアプリケーション・プログラムをＲＡＭ２４にロードし、楽譜表示データ作成を行い、楽譜表示制御を行う。同時に音源回路２７に演奏データを送って楽曲データを再生する場合もある。
楽譜表示データ作成を含む楽譜表示制御を行うプログラムは、単独で使用されるほか、シーケンサー・ソフトウエア・プログラム内に組み込まれて実行されたりする。アプリケーション・プログラムは、ＣＤ−ＲＯＭを介して外部記憶装置３０から供給されたり、通信ネットワーク３４上のサーバからダウンロードされたりする。
なお、ハードウエア構成は異なるが、ＣＰＵを内蔵した電子楽器においても実現できる。操作パネルに設けられた表示装置に音符を表示させたり、インターフェース等を介してパーソナルコンピュータに接続された表示装置に音符を表示する。
【００２８】
図５は、楽譜表示データ作成プログラムにおいて、各小節の横幅を決定する動作の一例を示すフローチャートおよび計算例を示す説明図である。５１〜５５は計算例である。
５１に示すように、楽譜表示領域１２の横幅が２００ｄｏｔに設定されている。数値は説明用のものであって、実際の設定値ではない。
Ｓ４１において、各楽譜パーツの表示サイズに基づいて、各小節を表示する最小横幅を計算する。例えば、少なくとも一部の種類（音部記号、音符、変化記号、休符等）の、楽譜パーツについて、図３に示した各楽譜パーツの横幅を加算して行く方法で、５２に示すように各小節１，２，…毎に計算する。
Ｓ４２において、各小節毎の最小横幅を順次加算し、１つの小節が次の譜表にまたがらないように、各譜表に割り当てる小節を決定する。決定すれば、次の小節を先頭にして同様の加算と決定とを繰り返す。５３に示すように、小節１〜２の最小横幅を加算したときに１４８ｄｏｔであり、５１に示した楽譜の横幅２００ｄｏｔを超えず、さらに、小節１〜３まで加算すれば楽譜の横幅を超える。従って、小節１〜２を譜表１に割り当て、小節３〜４は、同様な計算により譜表２に割り当てる。
【００２９】
Ｓ４３において、譜表毎に、各譜表に配置される各小節の最小横幅の和を、楽譜表示領域１２の横幅に一致させるための倍率を計算する。５４に示すように、譜表１に対しては、小節１，２の最小横幅の和が１４８であり、楽譜の横幅が２００ｄｏｔであることから、１．３５１…となる。
Ｓ４４において、各小節を表示する最小横幅に倍率を掛けて小節幅を最終決定する。５５に示すように、小節１は、５９ｄｏｔに１．３５１…を掛けて８０ｄｏｔに拡大され、小節２は、８９ｄｏｔに同じ１．３５１…を掛けて１２０ｄｏｔに拡大され、両者を合わせれば楽譜の横幅２００ｄｏｔとなる。
【００３０】
図６は、楽譜表示データ作成プログラムにおいて、各譜表の高さを決定する動作の一例を示すフローチャートおよび計算例を示す説明図である。７１〜７３は計算例である。
図５に示した小節の横幅を決定する動作の後に実行される。７１に示すように楽譜表示領域１２の縦幅が３００ｄｏｔに設定されている。数値は説明用のものである。
Ｓ６１において、７２に示すように、各小節を表示するために必要な最低位置と最高位置とを計算する。各小節における、音符、その他の音楽記号の楽譜パーツの縦方向の配置によって計算される。最低位置，最高位置は五線譜を基準にした値とすればよい。
【００３１】
Ｓ６２において、各譜表に割り当てられた各小節に必要な最低位置，最高位置から、各譜表ごとに最低位置，最高位置を計算する。例えば、小節１の最低位置，小節２の最低位置のうち、より低い位置を譜表１の最低位置とする。また、小節１の最高位置，小節２の最高位置のうち、より高い位置を譜表１の最高位置とする。各譜表の最高位置と最低位置との差により各譜表に必要な最大縦幅が決まる。
なお、最高位置と最低位置の計算は、Ｓ６１を省略して、直ちに譜表毎に行ってもよい。
７３に示すように、譜表１に関しては、縦幅が４５ｄｏｔ必要であり、譜表２に関しては、縦幅が４１ｄｏｔ必要である。
Ｓ６３においては、ｎ段（ｎは正整数）の各譜表に必要な縦幅の和とマージン（各譜表間の間隔：（ｎ−１）×ｍ５）の合計が、楽譜表示領域１２の縦幅である３００  ｄｏｔを超えないように、ｎの値を決める。さらに、縦方向の余りを分散させる（縦方向ののジャスティフィケーション）場合には、例えば、ｍ５の値を変更して、上述したｎ段の各譜表に必要な縦幅の合計とマージンが３００  ｄｏｔに一致するようにすればよい。以上により、各譜表の配置が決定される。
【００３２】
上述した説明では、楽譜表示を、ディスプレイのシート楽譜１１内に、頁毎に分けて表示する場合について説明した。しかし、一続きの楽譜として各譜表が縦方向にスクロールして表示されるようなスクロール表示であってもよい。その場合には、表示されている楽譜の最後の譜表等が途中切れで表示されなくなってもかまわないため、単に楽譜の横幅方向、すなわち、譜表の横幅方向の割り当てのみを考慮すればよい。
上述した説明では、表示装置の画面上に表示される楽譜について説明したが、プリンタにデータを出力して紙面上に表示される楽譜であってもよい。
【００３３】
上述した説明では、１曲分の楽曲データを記憶したＲＡＭ等の記憶装置から楽曲データを入力することを前提に説明したが、記憶装置に１曲分が格納される前の時点であっても、格納された分までの演奏データに基づいて、リアルタイムで楽譜表示データを作成し、表示装置に表示させることもできる。
その際、各譜表の小節割り当てや各頁の譜表割り当ての算出に必要な演奏データが完全に入力されていない時点では、予め設定された所定の小節の横幅、譜表の縦幅に基づいて楽譜表示データを作成して表示装置に表示させておき、必要な演奏データが揃った時点以降に、逐次、あるいは楽曲データの終了後に、楽譜表示データを再作成して表示させてもよい。
なお、楽音や人の歌唱をマイクロフォン等で収音して得た音声信号の周波数を分析して演奏データに変換しながら記憶装置に記憶させる場合にも、同様にして、リアルタイムで楽譜表示データを作成し、表示装置に表示させることができる。
【００３４】
上述した説明では、楽譜表示データ作成装置が適用される対象を、パーソナルコンピュータあるいは電子楽器を例に説明したが、カラオケ装置、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノ等の電子音楽システムに適用することもできる。
また、鍵盤等の演奏操作子、音源装置等を内蔵した電子楽器に限らず、それぞれが別体の装置であり、専用のＭＩＤＩインターフェース、各種通信ネットワークのインターフェース等を用いて各装置が相互接続されて構成される電子音楽システムに適用してもよい。例えば、機能の一部をサーバ側に持たせ、端末とサーバとからなる電子音楽システム全体として所定の機能を実現するようにしてもよい。
【００３５】
【発明の効果】
本発明は、上述した説明から明らかなように、たとえユーザによって楽譜パーツのサイズが変更されたとしても、楽曲データに基づく楽譜は、各楽譜パーツが重なることなく、各小節が次の譜表にまたがらないように自動調整されるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態を示すブロック構成図である。
【図２】表示装置において表示される「シート楽譜」の一例を示す説明図である。
【図３】楽譜パーツの説明図である。
【図４】本発明の実施の一形態を実現するためのハードウエア構成の一例を示すブロック図である。
【図５】楽譜表示データ作成プログラムにおいて、各小節の幅を決定する動作を示すフローチャートおよび計算例を示す説明図である。
【図６】楽譜表示データ作成プログラムにおいて、各譜表の高さを決定する動作を示すフローチャートおよび計算例を示す説明図である。
【符号の説明】
１…楽曲データ供給部、２…楽譜表示データ作成部、３…表示装置、４…楽譜パーツ決定部、５…小節割当部、６…譜表割当部、７…楽譜表示データ出力部、１１…シート楽譜、１２…楽譜表示領域
【図１】
2004184806.tif 000003
【図２】
2004184806.tif 000004
【図３】
2004184806.tif 000005
【図４】
2004184806.tif 000006
【図５】
2004184806.tif 000007
【図６】
2004184806.tif 000008