(57)【要約】   【課題】  作曲者の意図に沿ってラインを適切に明確化した楽譜を作成する。  【解決手段】  楽譜情報生成部１４は、トラックが割り当てられた段ごとに、描画すべきノートに対応する音符図形の位置情報、ノートの音符種別、および、符幹の方向を示す情報を有する楽譜情報のレコードを含む楽譜情報ファイル２４を生成する。同一の段に複数のトラックのノートの音符図形を描画するため、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、楽譜情報生成部１４は、ライン番号にしたがって、符幹の方向を決定する。描画位置情報補正部１６は、異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、ノートに対応する音符図形を描画すべき位置情報を修正する。【選択図】  図１
2008175928.tif 000002
【特許請求の範囲】
【請求項１】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記符幹の方向を決定し、
前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置。
【請求項２】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定し、
前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置。
【請求項３】
前記描画位置情報補正手段が、前記演奏情報ファイルの、同一の段に描画すべきトラックに属するノートのレコードを、その発音開始時刻にしたがって並べ替え、異なるラインのノートについて、並べ替えられたレコードを参照して、発音開始時刻の一致を判断することを特徴とする請求項１または２に記載の楽譜作成装置。
【請求項４】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記符幹の方向を決定し、
前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置。
【請求項５】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定し、
前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置。
【請求項６】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記符幹の方向を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラム。
【請求項７】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラム。
【請求項８】
前記描画位置情報補正ステップにおいて、前記コンピュータに、前記演奏情報ファイルの、同一の段に描画すべきトラックに属するノートのレコードを、その発音開始時刻にしたがって並べ替えるステップと、
異なるラインのノートについて、並べ替えられたレコードを参照して、発音開始時刻の一致を判断するステップと、を実行させることを特徴とする請求項６または７に記載の楽譜作成プログラム。
【請求項９】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記符幹の方向を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラム。
【請求項１０】
ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏情報に基づく楽譜を作成する楽譜作成装置および楽譜作成プログラムに関する。
【背景技術】
【０００２】
音符ごとの音高、発音開始時刻および音長を含む演奏情報に基づいて、楽譜を作成して表示する楽譜作成・表示装置が提案されている。たとえば、特許文献１には、音高に基づいて、符頭から延びる符幹（棒）の方向を決定して、音高に応じて適切な音符の表示が可能な楽譜作成・表示装置が開示されている。また、特許文献２には、和音を同一の五線譜上に表示する場合に、一方の音符と他方の音符との五線譜上の位置の上下差が所定値以下である場合に、何れかの音符の符頭の向きを逆向きに配置するような技術が開示されている。特許文献２は、和音を表す複数の符頭に対して原則として１つの符幹を付す際に、符頭の向きを適切化するためのものである。
【特許文献１】実公昭６３−８９４８号公報
【特許文献２】特開平８−１８５１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
コーラス譜のような多声部を前提とした楽譜においては、同一の段に複数のライン（声部）の音符を描画すべき場合がある。この場合には、同一の段に描画される複数のライン（声部）の音符について、ラインごとに符幹の向きをそろえることにより、同一ラインであることを表すのが望ましい。さらに、異なるラインにおいて発音開始時刻が同時の音符があるときに、それぞれの音符の音高や音長によって、音符の描画位置を調整することで、ラインを明確化することが望ましい場合もある。休符についても同様に、その描画位置を調整して、いずれのラインの休符であるかを明確化する必要がある。
【０００４】
本発明は、作曲者の意図に沿ってラインを適切に明確化した楽譜を作成する楽譜作成装置および楽譜作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記符幹の方向を決定し、
前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置により達成される。
【０００６】
また、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定し、
前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置により達成される。
【０００７】
好ましい実施態様においては、前記描画位置情報補正手段が、前記演奏情報ファイルの、同一の段に描画すべきトラックに属するノートのレコードを、その発音開始時刻にしたがって並べ替え、異なるラインのノートについて、並べ替えられたレコードを参照して、発音開始時刻の一致を判断する。
【０００８】
また、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記符幹の方向を決定し、
前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置により達成される。
【０００９】
さらに、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置と、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成手段と、を備えた楽譜作成装置であって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、前記楽譜情報生成手段が、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定し、
前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正手段を備えたことを特徴とする楽譜作成装置により達成される。
【００１０】
また、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記符幹の方向を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラムにより達成される。
【００１１】
また、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラムにより達成される。
【００１２】
好ましい実施態様においては、前記描画位置情報補正ステップにおいて、前記コンピュータに、前記演奏情報ファイルの、同一の段に描画すべきトラックに属するノートのレコードを、その発音開始時刻にしたがって並べ替えるステップと、
異なるラインのノートについて、並べ替えられたレコードを参照して、発音開始時刻の一致を判断するステップと、を実行させる。
【００１３】
また、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記符幹の方向を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラムにより達成される。
【００１４】
さらに、本発明の目的は、ノートが属するトラックのトラック番号、発音すべき楽音の音高、発音開始時刻、および、音長を有する、複数のノートのレコードを含む演奏情報ファイルを記憶した記憶装置を備えたコンピュータに、
ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に描画すべきノートに対応する音符図形の位置情報、休符を含むノートの音符種別、および、符幹の方向を示す情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイルを生成して、前記記憶装置に記憶する楽譜情報生成ステップを実行させる楽譜作成プログラムであって、
同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、
前記楽譜情報生成ステップにおいて、前記コンピュータに、前記ライン番号にしたがって、前記音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定するステップを実行させ、
前記コンピュータに、前記異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する描画位置情報補正ステップを実行させることを特徴とする楽譜作成プログラムにより達成される。
【発明の効果】
【００１５】
本発明によれば、作曲者の意図に沿ってラインを適切に明確化した楽譜を作成する楽譜作成装置および楽譜作成プログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の実施の形態にかかる楽譜作成・表示装置の構成を示すブロックダイヤグラムである。図１に示すように、本実施の形態にかかる楽譜作成・表示装置は、楽音再生処理部１２、楽譜情報生成部１４、描画位置情報補正部１６、楽譜描画処理部１８、および、記憶装置２０を有している。記憶装置２０には、演奏情報ファイル２２、楽譜情報ファイル２４などが記憶される。
【００１７】
楽音再生処理部１２は、記憶装置２０に格納された演奏情報ファイル２２中の演奏情報にしたがって、所定の音高の楽音を出力する。楽譜情報生成部１４は、演奏情報ファイル２２中の演奏情報にしたがって、楽譜情報を生成して、楽譜情報を含む楽譜情報ファイル２４を記憶装置２０に記憶する。また、描画位置情報補正部１６は、楽譜情報において示される音符の表示位置を必要に応じて修正し、修正された楽譜情報を含む楽譜情報ファイル２４を記憶装置２０に記憶する。楽譜描画処理部１８は、楽譜情報ファイル２４の楽譜情報に基づいて、表示装置の画面上に表示すべき楽譜の画像データを生成する。
【００１８】
後に詳述するが、演奏情報ファイル２４には、各トラックのノートについて、音高、発音開始時刻、音長、および、次に発音すべきノートのレコードを示すポインタなどを有するレコードが格納される。また、楽譜情報ファイル２４には、段ごとに描画すべきノートの音符図形の情報を有するレコード、および、小節ごとの情報を有するレコードが格納される。
【００１９】
図２は、本実施の形態にかかる楽譜作成・表示装置のハードウェア構成を示すブロックダイヤグラムである。図２に示すように、楽譜作成・表示装置のハードウェアは、ＣＰＵ３０、ＲＯＭ３２、ＲＡＭ３４、入力装置３６、表示装置３８およびサウンドシステム４０を含む。図２から理解できるように、楽譜作成・表示装置は、通常のパーソナルコンピュータにより実現され得る。ＣＰＵ３０は、システム制御、演奏情報の補正、楽譜情報の生成および補正、表示装置３８の画面上に表示すべき画像データの生成などの処理を実行する。ＲＯＭ３２は、プログラムや、プログラムの実行の際に使用される定数などを記憶する。ＲＡＭ３４は、プログラムの実行の過程で必要な変数、入力データ、出力データなどを一時的に記憶する。
【００２０】
入力装置３６は、キーボードやマウスを有し、演奏者が表示装置３８の画面上に表示された楽譜中の音符図形をポインティングし、必要な指示を入力し、或いは、楽譜作成・表示装置の各種機能の開始および終了を指示する情報をＣＰＵ３０に与える。表示装置３８の画面上には、処理結果、楽譜などを含む画像データが表示される。サウンドシステム４０は、楽音生成回路、増幅器、スピーカなどを含み、ＣＰＵ３０からの指示や演奏情報にしたがって、所定の楽音を生成して、楽音に基づく音響信号を出力する。
【００２１】
図１に示す楽音再生処理部１２の機能は、ＣＰＵ３０およびサウンドシステム４０の楽音生成回路により実現される。楽譜情報生成部１４、描画位置情報補正部１６および楽譜描画処理部１８の機能は、ＣＰＵ３０により実現される。また、記憶装置２０は、たとえば、ＲＯＭ３２やＲＡＭ３４に相当する。或いは、楽譜作成・表示装置のハードウェアとしてハードディスク装置が含まれる場合には、記憶装置２０は、当該ハードディスク装置にも相当する。
【００２２】
本実施の形態にかかる楽譜作成・表示装置においては、たとえば楽譜作成・表示装置のＲＯＭ３２に記憶されたプログラムが、コンピュータを、楽音再生処理部１２、楽譜情報生成部１４、描画位置情報補正部１６および楽譜描画処理部１８として機能させる。
【００２３】
図３は、本実施の形態にかかる楽譜作成・表示装置のメインフローを示すフローチャートである。メインフローにおいては、楽譜作成・表示装置の種々の構成部分の初期化が行われた（ステップ３０１）後、演奏者からのキー入力待ちとなり（ステップ３０２）、曲選択（ステップ３０３）、各種設定（ステップ３０８）、再生指示（ステップ３１０）などの指示に応じて所定の処理が実行される。
【００２４】
楽曲が選択された場合には（ステップ３０３でYes）、楽譜情報生成部１４は、演奏情報ファイル２２をロードして（ステップ３０４）、演奏情報ファイル２２に格納された演奏情報に基づいて楽譜情報を作成し、作成された楽譜情報を含む楽譜情報ファイル２４を記憶装置２０に記憶する（ステップ３０５）。ステップ３０５においては、さらに、描画位置情報補正部１６は、後述するように、楽譜情報ファイル２４の楽譜情報を参照して、音符図形の楽譜中の描画位置を補正する。楽譜描画処理部１８は、楽譜情報ファイル２４を読み出して、表示装置３８の画面上に楽譜を含む画像データを生成して表示する（ステップ３０６）。
【００２５】
また、演奏者の入力により各種設定が指示された場合には（ステップ３０７でYes）、指示にしたがった設定処理を実行する（ステップ３０８）。設定処理においては、演奏者の指示にしたがって、楽譜作成・表示装置の処理において必要なパラメータなどが記憶装置２０中に記憶される。たとえば、ステップ３０８の処理には、楽譜表示する場合に五線譜を縦方向に何段で表示するかなど、表示形態にかかるパラメータの記憶装置２０への記憶が含まれる。
【００２６】
再生が指示された場合には（ステップ３０９でYes）、再生ルーチンが起動される（ステップ３１０）。図４は、本実施の形態にかかる再生ルーチンを示すフローチャートである。再生ルーチンにおいて、演奏情報中の全てのノートの再生が終了し、或いは、演奏者から演奏終了の指示が無い限り（ステップ４０１でNo）、発音処理が実行される（ステップ４０２）。発音処理においては、楽音再生処理部１２が、演奏情報ファイル２２中の演奏情報に基づいて、所定のタイミングで所定の音高の楽音を発音する。
【００２７】
発音処理が終了すると、楽譜描画処理部１８は、楽音の発生にしたがって、演奏の進行に合致するように、表示装置３８の画面上に表示すべき楽譜を含む画像データを生成する（ステップ４０３）。
【００２８】
図５は、本実施の形態にかかる演奏情報ファイルの構成例を示す図である。本実施の形態において、演奏情報ファイル２２は複数トラックの演奏情報を有し、各トラックにおいて、リスト構造を有している。図５に示すように、演奏情報ファイル２２には、トラックごとのＭＩＤＩイベントなどを示すレコード（符号５０１、５０２参照）が格納される。レコードは、それぞれ、ｍＭｓｇ（ＭＩＤＩデータ）、ＩＴｉｍｅ（発音開始時刻）、ＩＧａｔｅ（音長）、＊ｎｅｘｔ（次のノートへのポインタ）、＊ｐｒｅｖ（前のノートへのポインタ）を含む。ＭＩＤＩデータ（ｍＭｓｇ）により、発音すべき楽音の音高が決定される。発音開始時刻（ＩＴｉｍｅ）および音長（ＩＧａｔｅ）により当該楽音の発音開始時刻および発音すべき時間長が決定される。また、本実施の形態において、同一のトラックで、発音開始時刻（ＩＴｉｍｅ）が同一であるような複数のレコードが存在する場合がある。これは、当該複数のレコードのそれぞれのノートが和音構成音であることを示す。また、本実施の形態においては、和音構成音であるノートについては、ＭＩＤＩデータ（ｍＭｓｇ）に示す音高が低い順に、レコードが並んでいる。つまり、ポインタ「＊ｎｅｘｔ」をたどることで、音高が低い順に、和音構成音であるノートを特定することが可能である。
【００２９】
図５の例では、トラック０の先頭ノートのレコード（符号５０１参照）の項目＊ｎｅｘｔにより、トラック０の２番目のノートのレコード（符号５１１参照）が指定される。その逆の指定も、レコード５１１の項目＊ｐｒｅｖを参照することにより実現できる。また、トラック１の先頭ノートのレコード（符号５０２参照）の項目＊ｎｅｘｔにより、トラック１の２番目のレコード（符号５１２参照）が指定される。
【００３０】
図６および図７は、本実施の形態にかかる楽譜情報ファイルの構成例を示す図である。図６に示すように、本実施の形態において、楽譜情報には、段ごとに楽譜上に描画されるノートの音符図形に関する情報を示すレコード群（符号６０１、６０２参照）が含まれる。また、図７に示すように、楽譜情報には、小節ごとに楽譜上に描画される当該小節に関する情報を示すレコード群（符号７０１、７０２参照）が含まれる。ここに、音符図形が「同一の段」に描画されるとは、当該音符図形が同一の五線上に描画されることを意味する。すなわち、「段」とは、一組の五線を意味する。たとえば、４部合唱の楽譜において、あるパート（ソプラノ）は、原則として「同一の段」に描画される。また、複数のパート（たとえばソプラノとアルト）が「同一の段」に描画されることがある。
【００３１】
図６に示すように、楽譜情報ファイル２４において、ノートに関するレコード（たとえば、符号６０１参照）は、ｍＥｖｅｎｔ（ＭＩＤＩイベントへのポインタ）、ＩＴｉｍｅ（発音開始時刻）、ｓＭｅａｓ（小節番号）、ｓＢｅａｔ（拍番号）、（ｉｘ，ｉｙ）（座標）、ｃＬｉｎｅ（ライン番号）、ｃＮｏｔｅＴｙｐｅ（音符の種類）、ｃＢｏｕ（符幹（棒）のベクトル）、ｃＣｈｏｒｄ（和音）、ｃＨａｔａ（符尾（はた））、ｃＲｅｎｋｏｕＳ（連桁始点）、ｃＲｅｎｋｏｕＥ（連桁終点）、ｃＴｉｅ（タイ）、＊ｎｅｘｔ（次のノートへのポインタ）、＊ｐｒｅｖ（前のノートへのポインタ）などを含む。
【００３２】
ＭＩＤＩイベントへのポインタ（ｍＥｖｅｎｔ）により、図５に示す演奏情報ファイル２２のレコードの何れか１つが特定される。また、発音開始時刻（ＩＴｉｍｅ）は、ＭＩＤＩイベントへのポインタ（ｍＥｖｅｎｔ）で特定される演奏情報ファイル２２のレコードのものと一致する。小節番号（ｓＭｅａｓ）は、当該ノートが属する小節の番号、拍番号ｓＢｅａｔは、その小節内でノートが位置する拍の番号を示す。
【００３３】
座標（ｉｘ，ｉｙ）は、描画されたノートの音符図形の座標を示し、ライン番号（ｃＬｉｎｅ）は、音符図形が描画される段において、ノートが属するトラックに割り当てられたラインを特定するためのものである。
【００３４】
音符の種類（ｃＮｏｔｅＴｙｐｅ）には、全音符、２分音符、４分音符などが含まれる。また、音符の種類には、休符の種類（たとえば、全休符、２分休符、４分休符など）も含まれる。棒のベクトル（ｃＢｏｕ）は、符幹の向き（上向きであれば＋、下向きであれば−）およびその長さを示す。符幹の向きは、ライン番号により決定される。和音情報（ｃＣｈｏｒｄ）は、単音、和音開始音（和音中の最低音）、和音終了音（和御中の最高音）、和音開始音或いは和音終了音以外の和音構成音を示す。はた（符尾）（ｃＨａｔａ）は、符尾の数（たとえば、０〜５）を示す。連桁始点（ｃＲｅｎｋｏｕＳ）および連桁終点（ｃＲｅｎｋｏｕＥ）は、連符の始点および終点であること、および、その連符が何連符であるか（その連鈎の数）を示す。また、次のレコードへのポインタ（＊ｎｅｘｔ）および前のレコードへのポインタ（＊ｐｒｅｖ）は、演奏情報ファイル２２のものと同様の機能を有する。したがって、段０の先頭ノートのレコード５０１のポインタ「＊ｎｅｘｔ」により、次のノートのレコード５０２を特定することができる。また、その逆も「＊ｐｒｅｖ」により特定可能である。
【００３５】
図７に示すように、楽譜情報において、小節に関するレコード（たとえば符号７０１参照）は、ｉＭｅａｓＮ（小節番号）、ｉＤａｎＮ（段番号）、（ｉｘ，ｉｙ）（小節の基準位置の座標）、ｉＭｅａｓＬｅｎ（基準範囲）、ｃＣｌｅｆ（音部記号）、ｃＫｅｙＳｉｇＳＦ（調記号）、ｃＭｅａｓＢａｒ（小節線）、＊ｎｅｘｔ（次のノートへのポインタ）、＊ｐｒｅｖ（前のノートへのポインタ）などを含む。
【００３６】
小節番号（ｉＭｅａｓＮ）および段番号（ｉＤａｎＮ）により、どの段の何小節目であるかを特定することができる。また、小節の基準位置の座標（ｉｘ、ｉｙ）により描画された楽譜における小節の位置が特定される。音部記号（ｃＣｌｅｆ）は、ト音、ヘ音、ハ音などの音部記号を特定するものである。また、調記号（ｃＫｅｙＳｉｇＳＦ）は、どの位置にいくつのシャープ或いはフラットが配置されるかを示す。また、小節線（ｃＭｅａｓｎＢａｒ）は、この小節の小節線が、通中の小節線、反復記号を持つ小節線、終止線などであることを示す。
【００３７】
次に、本実施の形態にかかる楽譜情報生成処理（図３のステップ３０５）について、より詳細に説明する。図８および図９は、本実施の形態にかかる楽譜情報生成処理を示すフローチャートである。図８に示すように、楽譜情報生成部１４は、まず、クオンタイズ処理および音長処理を実行する（ステップ８０１、ステップ８０２）。
【００３８】
クオンタイズ処理および音長処理において、楽譜情報生成部１４は、各トラックにおいて、先頭ノートから順次、当該ノートについての演奏情報ファイル２２のレコード（たとえば、図５の符号５０１、５１１）を参照して、当該レコードの発音開始時刻（ＩＴｉｍｅ）および音長（ＩＧａｔｅ）を特定する。当該ノートの発音開始時刻（ＩＴｉｍｅ）が、予め定められた分解能の単位に合致しない場合には、楽譜情報生成部１４は、分解能の単位に合致するように発音開始時刻を修正する。また、音長（ＩＧａｔｅ）も、分解の単位より短い場合や、分解能の単位に合致しない場合には、分解能の単位に合致するように修正される。クオンタイズ処理および音長処理により、レコード中の発音開始時刻（ＩＴｉｍｅ）や音長（ＩＧａｔｅ）が更新され、これにより、演奏情報ファイル２２が更新される。
【００３９】
次に、楽譜情報生成部１４は、同一の段に描画すべきトラックの各々にライン番号を付与し、それぞれのトラックに、段の番号およびライン番号を関連付ける（ステップ８０３）。たとえば、コーラス譜において、トラック０がソプラノパートに相当し、トラック１がアルトパートに相当する場合に、ソプラノパートとアルトパートとを同一の段（段の番号：０）に描画すべきであれば、トラック０に、段０およびライン０が付与される。実際には、演奏情報ファイル２２のうちトラック０のレコードに、段０およびライン０を示す情報が関連付けられる。また、トラック１に、段０およびライン１が付与される。実際には、演奏情報ファイル２２のうちトラック１のレコードに、段０およびライン１を示す情報が関連付けられる。また、トラック２がテノールパートに相当し、トラック３がバスパートに相当する場合、テノールパートとバスパートとを他の同一の段（段の番号：１）に描画すべきであれば、トラック２に、段１およびライン０が付与される。実際には、演奏情報ファイル２２のうちトラック２のレコードに、段１およびライン０を示す情報が関連付けられる。また、トラック３に、段１およびライン１が付与される。実際には、演奏情報ファイル２２のうちトラック３のレコードに、段１およびライン１を示す情報が関連付けられる。たとえば、トラック番号と、段およびラインを示す情報とを組にして記憶装置２０に記憶することにより、関連付けが実現される。
【００４０】
次いで、処理対象となるトラックの番号を示すトラック変数が初期化され、全てのトラックについて処理が終了するまで（ステップ８０５、８０９参照）、それぞれのトラックについて、個別情報生成（ステップ８０６）、和音処理（ステップ８０７）および連桁処理（ステップ８０８）が実行される。
【００４１】
個別情報生成、和音処理、連桁処理においては、それぞれ、楽譜情報において、ノートに関するレコードに必要な情報が生成される。個別情報生成においては、ノートごとに、ノートの音長（ＩＧａｔｅ）に基づいて、音符の種別、たとえば、符頭（たま）の色（黒たま（黒の塗りつぶし）、或いは、白たま（黒の輪郭のみ））、符幹（棒）の向きや長さ、符尾（はた）の数などが決定され、その情報がノートに関連付けられて一時的に記憶装置２０に記憶される。なお、トラックにおいて隣接するノートの間に無音の状態があれば、その区間は休符となる。したがって、無音の状態の長さに応じた休符の種別などが決定され、当該休符の情報が、一時的に記憶装置２０に記憶される。
【００４２】
和音処理においては、トラックごとに、発音開始時刻（ＩＴｉｍｅ）が同一のノートが見出され、見出されたノートについて、これらが和音であることを示す情報がノートに関連付けられて一時的に記憶装置２０に記憶される。また、連桁処理においては、トラックごとに、発音開始時刻（ＩＴｉｍｅ）および音長（ＩＧａｔｅ）に基づいて、連続する複数のノートを連符として表すべきである場合には、これらノートに、連符に関する情報を関連付けて、記憶装置２０に記憶する。
【００４３】
たとえば、ステップ８０３でトラックに付与されたライン番号は、楽譜情報ファイル２４のノートを示すレコード中のライン番号（ｃＬｉｎｅ）に対応する。また、トラックに付与されたライン番号にしたがって符幹(棒)のベクトルの向き（上向き或いは下向き）が決定される。たとえば、ある段において２つのラインのノートの音符図形を描画すべき場合には、高音側のラインのノートの音符図形の符幹が上向き、低音側のラインのノートの音符図形の符幹が下向きになるように、楽譜情報ファイル２４のノートに関するレコードの情報が生成され、記憶装置２０に記憶される。
【００４４】
個別情報生成において生成された情報は、上記楽譜情報ファイル２４のノートを示すレコード中の、音符の種類（ｃＮｏｔｅＴｙｐｅ）、符幹（棒）のベクトル（ｃＢｏｕ）、符尾（はた）（ｃＨａｔａ）などに対応する。和音処理において生成された情報は、上記楽譜情報ファイル２４のノートを示すレコード中の和音（ｃＣｈｏｒｄ）に相当する。また、連桁処理において生成された情報は、上記楽譜情報ファイル２４のノートを示すレコード中の、連桁始点（ｃＲｅｎｋｏｕＳ）、連桁終点（ｃＲｅｎｋｏｕＥ）などに相当する。
【００４５】
次に、楽譜情報生成部１４は、段を示す変数を初期化し（ステップ９０１）、全ての段について処理が終了するまで、ステップ９０３〜ステップ９０５の処理を繰り返し実行する（ステップ９０２、９０６参照）。
【００４６】
まず、楽譜情報生成部１４は、楽譜情報ファイル２４のノートに関するレコードに関連付けられた段およびラインの情報を調べて、マージすべきトラックが存在するか否かを判断する（ステップ９０３）。ステップ９０３においては、同一の段で複数のラインが存在する場合には、当該同一の段の各ラインに対応するトラックのノートがマージの対象となる。ステップ９０３でＹｅｓと判断された場合には、楽譜情報生成部１４は、該当する複数トラックのノートを、時間順に並べ替える（ステップ９０４）。
【００４７】
上述したトラック０がソプラノパートに相当し、トラック１がアルトパートに相当する場合に、ソプラノパートとアルトパートとを同一の段（段の番号：０）に描画すべき場合を例にすると、トラック０が、段０のライン０に関連付けられ、トラック１が段０のライン１に関連付けられる。したがって、楽譜情報ファイル２４中のトラック０のレコード、および、トラック１のレコードについて、発音開始時間（ＩＴｉｍｅ）の順に、レコード並べ替えられる。実際の処理においては、並べ替えられた演奏情報ファイル２２のレコードの順序を示す情報が記憶装置２０に記憶されれば良い。
【００４８】
図１０に示すように、ある段のトラック０、ライン０のノートＮ〜ノートＮ＋２に関する演奏情報ファイル２２のそれぞれのレコード（符号１００１〜１００３）について、発音開始時刻ＩＴｉｍｅが、それぞれ、ｔ、ｔ＋２、ｔ＋３であったと考える。同一の段のトラック１、ライン１のノートＭ〜ノートＭ＋２に関する演奏情報ファイルのそれぞれのレコード（符号１０１１〜１０１３）について、発音開始時刻ＩＴｉｍｅが、それぞれ、ｔ、ｔ、ｔ＋３であったと考える。この場合には、並べ替えの結果、レコード１００１、１０１１、１０１２、１００２、１００３、１０１３の順となる（図１０の最下段参照）。このようにある段において複数ラインのノートが存在する場合には、これらのノートの情報（レコード）が、同一の段に描画すべきトラックのノートを発音開始時刻の順に並べ替えられる。発音開始時刻の順に並べ替えることにより、異なるトラックであっても、発音開始時刻の順に、ノートの音高や音長を参照することが可能となる。
【００４９】
ステップ９０３でＮｏと判断された場合、或いは、ステップ９０４が終了すると、楽譜情報生成部１４は、描画位置情報生成処理を実行する（ステップ９０５）。図１１は、本実施の形態にかかる描画位置情報生成処理の例を示すフローチャートである。
【００５０】
図１１に示すように、描画位置情報生成処理においては、楽譜情報生成部１４は、発音開始時刻の順に並べられたレコードを参照して、当該レコードのノートの各々の描画位置を仮決めする（ステップ１１０１）。ステップ１１０１においては、ノートのレコードの音高（ｍＭｓｇ）、発音開始時刻（ＩＴｉｍｅ）にしたがって、座標（ｉｘ，ｉｙ）が仮に決定される。
【００５１】
前述したように、ステップ８０３、ステップ８０６〜８０８において、ノートに関して、ライン番号（ｃＬｉｎｅ）、休符を含む音符の種類（ｃＮｏｔｅＴｙｐｅ）、符幹（棒）のベクトル（ｃＢｏｕ）、符尾（はた）（ｃＨａｔａ）、和音（ｃＣｈｏｒｄ）、連桁始点（ｃＲｅｎｋｏｕＳ）、連桁終点（ｃＲｅｎｋｏｕＥ）などが生成され、記憶装置２０に一時的に記憶されている。したがって、これらの情報、および、上記座標（ｉｘ，ｉｙ）の値が、楽譜情報ファイル２４のノートに関するレコード（図６参照）に値が格納される。
【００５２】
次いで、処理対象となるノートを特定するノートポインタｖｎが初期化され、ノーとポインタｖｎで示されるノートについて処理が終了するまで、以下のステップ１１０４〜１１０９が繰り返し実行される（ステップ１１０３、１１１０参照）。以下、ノートポインタｖｎにより示されるノートをノートｖｎ、ノートポインタｖｎｘにより示されるノートをノートｖｎｘと称する。
【００５３】
まず、処理対象となるノートｖｎと同じ発音開始時刻のノートを見出すために、ノートポインタｖｎｘを初期化して、前述した発音開始時刻順に並べられたノートにおいて、当該ノートｖｎと異なるラインでかつノートｖｎに後続するノートをノートｖｎｘとする。描画位置情報補正部１６は、発音開始時間順に並べられたレコードにおいて、ノートｖｎと、当該ノートｖｎと同じラインである次のノート（次のノートｖｎ）との間の他のラインのノートｖｎｘについて、ステップ１１０６からステップ１１１１の処理を実行する（ステップ１１０５参照）。
【００５４】
描画位置情報補正部１６は、ノートｖｎの発音開始時刻とノートｖｎｘの発音開始時刻とが同じであるか否かを判断する（ステップ１１０６）。ノートｖｎｘは、ノートｖｎのラインと異なるラインのノートが、当該ノートｖｎとどのような関係を有しているかを判断するために利用される。
【００５５】
ノートｖｎとノートｖｎｘの発音開始時刻が同じである場合には（ステップ１１０６でＹｅｓ）、描画位置情報補正部１６は、ノートｖｎおよびノートｖｎｘが、音符同士であるか否かを判断する（ステップ１１０７）。ステップ１１０７でＹｅｓと判断された場合には、描画位置情報補正部１６は、音符描画位置調整処理を実行する（ステップ１１０８）。図１２は、本実施の形態にかかる音符描画位置調整処理の例を示すフローチャートである。図１２に示すように、描画位置情報補正部１６は、ノートｖｎとノートｖｎｘとが２度以内であるか否かを判断し（ステップ１２０１）、２度以内でなければ（ステップ１２０１でＮｏ）、楽譜情報ファイル２４のノートｖｎ、ｖｎｘに関するレコード中の座標を変更しない（ステップ１２０７）。
【００５６】
その一方、ステップ１２０１でＹｅｓと判断された場合には、描画位置情報補正部１６は、ノートｖｎとノートｖｎｘとが同じ音程であるか（これらのノートが完全１度であるか）を判断する（ステップ１２０２）。ステップ１２０２でＮｏと判断された場合、つまり、ノートｖｎとノートｖｎｘとが同じ音程ではない場合には、描画位置情報補正部１６は、一方の符頭（たま）の位置を修正する（ステップ１２０３）。ステップ１２０３においては、低音側のラインに属するノートについて、音符図形の符頭の位置を右側にずらすように座標を修正する。修正された座標（ｉｘ，ｉｙ）は、楽譜情報ファイル２４の当該ノートに関するレコードに格納される。
【００５７】
ステップ１２０２でＮｏと判断された場合（完全１度である場合）には、描画位置情報補正部１６は、ノートｖｎとノートｖｎｘの音長が一致するか否かを判断する（ステップ１２０２）。ステップ１２０２でＹｅｓと判断された場合には、描画位置情報補正部１６は、楽譜情報ファイル２４のノートｖｎ、ｖｎｘに関するレコード中の座標を変更しない（ステップ１２０７）。この場合、後述する楽譜描画処理において、ノートｖｎに関する音符図形の構成部材（符頭、符幹など）、および、ノートｖｎｘに関する音符図形の構成部材の双方が画像に描かれる。しかしながら、符頭の形状や位置は全く一致するため、完全に重なり合った符頭から上下方向に符幹が延びるような形状となる。
【００５８】
ステップ１２０４でＮｏと判断された場合には、描画位置情報補正部１６は、ノートｖｎとノートｖｎｘの符頭（たま）が同一であるか否かを判断する（ステップ１２０５）。たとえば、双方ともが黒たま（黒の塗りつぶし）、或いは、双方ともが白たま（黒の輪郭のみ）であれば、ステップ１２０５でＹｅｓと判断される。なお、ステップ１２０５においては、全音符と２分音符（符点２分音符を含む）については、符頭（たま）が同一ではないと判断される。
【００５９】
ステップ１２０５でＮｏと判断された場合には、描画位置情報補正部１６は、一方の符頭（たま）の位置を修正する（ステップ１２０３）。ステップ１２０５でＹｅｓと判断された場合には、描画位置情報補正部１６は、さらに、ノートｖｎとノートｖｎｘの符点が一致するか否かを判断する（ステップ１２０６）。たとえば、双方に符点があるか、或いは、双方に符点がない場合には、ステップ１２０６でＹｅｓと判断される。
【００６０】
ステップ１２０６でＮｏと判断された場合には、描画位置情報補正部１６は、一方の符頭（たま）の位置を修正する（ステップ１２０３）。その一方、ステップ１２０６でＹｅｓと判断された場合には、描画位置情報補正部１６は、楽譜情報ファイル２４のノートｖｎ、ｖｎｘに関するレコード中の座標を変更しない（ステップ１２０７）。したがって、楽譜描画処理において、ノートｖｎに関する音符図形の構成部材（符頭、符幹など）、および、ノートｖｎｘに関する音符図形の構成部材の双方が画像に描かれる。しかしながら、符頭の形状（符点の有無を含め）や位置は一致するため、完全に重なり合った符頭から上下方向に符幹が延びるような形状となる。ステップ１２０６でＹｅｓと判断されて、ステップ１２０７に進むようなノートｖｎとノートｖｎｘには以下の例が考えられる。たとえば、ライン０のノートが４分音符で、ライン１のノートが同じ音高の８分音符であれば、符頭が重なった状態で描画される。
【００６１】
上記ステップ１２０１〜１２０７によって、以下のような場合に応じた音符の描画が実現される。
（１）発音開始時刻が同じで、かつ、音程（音高）および音長が一致する場合には、描画位置はそのままとなる。これにより、符頭は１つで、符幹が上下方向に延びるような音符が描かれる。
（２）発音開始時刻が同じで、かつ、音程（音高）、符頭および符点が一致する場合にも、描画位置はそのままとなる。
（３）発音開始時刻が同じで、かつ、音程（音高）が一致していても、符頭が不一致、或いは、符点が不一致であれば、低音側のラインの符頭の描画位置が右にずらされる。
（４）発音開始時刻が同じで、かつ、音程が２度（長短２度）或いは増１度である場合には、低音側のラインの符頭の描画位置が右にずらされる。
【００６２】
音符描画位置調整処理（図１１のステップ１１０８）が終了すると、ノートポインタが移動され、次のノートｖｎｘについて、ステップ１１０５，１１０６以下の処理が実行される。
【００６３】
ステップ１１０７でＮｏと判断された場合には、描画位置情報補正部１６は、ノートｖｎおよびノートｖｎｘが、休符同士であるか否かを判断する（ステップ１１０９）。ステップ１１０９でＮｏと判断された場合には、ステップ１１１１に進む。ステップ１１０９でＹｅｓと判断された場合には、描画位置情報補正部１６は、休符描画位置調整処理を実行する（ステップ１１１０）。図１３は、本実施の形態にかかる休符描画位置調整処理の例を示すフローチャートである。図１３に示すように、描画位置情報補正部１６は、ノートｖｎとノートｖｎｘの音長が一致するか否か、つまり、同じ種類の休符であるか否かを判断する（ステップ１３０１）。ステップ１３０１でＹｅｓと判断された場合には、それぞれの音符図形（この場合には休符図形）が同じ位置に描画されるように、それぞれのノートに関する、楽譜情報ファイル２４のレコードの座標（ｉｘ，ｉｙ）を修正する（ステップ１３０２）。
【００６４】
本実施の形態において、描画位置仮決め処理（図１１のステップ１１０１）において、休符に関しては、予めライン番号にしたがって、その縦方向の位置が決定される。たとえば、２つのライン０、１がある場合には、双方が重ならないように、高音側のライン０の休符図形を、より上方に位置させ、低音側のライン１の休符図形を、より下方に位置させることで、同じ発音開始時間であっても、双方が重なり合わないような位置にしている。そこで、ステップ１３０２においては、双方の休符図形の縦方向の位置を一致させて、描画した場合に、双方の休符図形が完全に重なり合うようにしている。
【００６５】
その一方、ステップ１３０２でＮｏと判断された場合には、描画位置情報補正部１６は、ノートｖｎ、ｖｎｘに関する楽譜情報のレコード中の座標を変更しない（ステップ１３０３）。つまり、２つの休符図形は縦方向にずらされた状態で描画される。
【００６６】
休符描画位置調整処理（ステップ１１１０）が終了すると、ノートポインタが移動され（ステップ１１１１）、次のノートｖｎｘについて、ステップ１１０５，１１０６以下の処理が実行される。
【００６７】
図９に示すように、描画位置情報生成処理（図１１）が終了すると、楽譜情報生成部１４および描画位置情報補正部１６は、次の段について（ステップ９０６）、ステップ９０３〜９０５の処理を実行する。
【００６８】
このように、本実施の形態においては、楽譜情報生成部１４が、ノートに対応する音符図形を描画すべき段であって、何れかのトラックが割り当てられた段ごとに、当該段に音符図形を描画すべきノートに関する演奏情報ファイルのレコードへのポインタ、ノートに対応する音符図形を描画すべき位置情報、休符を含むノートの音符種別、符幹の方向および長さ、並びに、符尾に関する情報を有する、当該ノートの楽譜情報のレコードを含む楽譜情報ファイル２４を生成して、前記記憶装置に記憶する。また、同一の段に複数のトラックのノートの音符図形を描画するために、同一の段に描画すべきトラックの各々にライン番号が関連付けられ、楽譜情報生成部１４が、ライン番号にしたがって、符幹の方向を決定している。さらに、本実施の形態においては、描画位置情報補正部１６が、異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する。
【００６９】
したがって、本実施の形態によれば、発音開始時刻が同じであるノートについて、ノートが２度（長短２度、或いは、増１度）の関係であれば、一方のノートの音符図形の描画位置がずらされる。また、音高が一致していても、符頭や符点が不一致の場合には、同様に、一方のノートの音符図形の描画位置がずらされる。これによって、２つのラインのノートの音符図形が同じ位置に描画されていることが適切なときのみ、楽譜において単一の符頭から上下方向に符幹が延びるような音符図形が表され、ラインを適切に表現することが可能となる。
【００７０】
また、本実施の形態においては、楽譜情報生成部１４は、ライン番号にしたがって、音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定する。さらに、描画位置情報補正部１６は、異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために前記休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する。
【００７１】
したがって、本実施の形態によれば、異なるラインにおいて同一の位置にあるべき同一の音長の休符図形は、重ねあわされて描画される。その一方、異なる音長の休符図形は、縦方向にずらされて、何れのラインの休符であるかが明瞭になるように描画される。
【００７２】
次に、図３における楽譜情報描画処理（ステップ３０６）について説明する。図１４は、本実施の形態にかかる楽譜描画処理の例を示すフローチャートである。図１４に示すように、楽譜描画処理において、楽譜描画処理部１８は、背景描画、つまり、楽譜の背景となる五線を描画し（ステップ１４０１）、次いで、小節カウンタを初期化する（ステップ１４０２）。以下、全ての小節についての描画が終了するまで、小節単位で音符が描画される（ステップ１４０３、ステップ１４１０参照）。
【００７３】
楽譜描画処理部１８は、楽譜情報ファイル２４の小節に関するレコード（図７参照）を参照して、当該小節に関するレコードに示す情報に基づく音符図形の描画を実行する（ステップ１４０４）。ステップ１４０４においては、小節の基準位置の座標（ｉｘ，ｉｙ）にしたがって、小節線や音部記号などが描画される。
【００７４】
次いで、その小節に音符図形が描画される。楽譜描画処理部１８は、ノートポインタを初期化し（ステップ１４０５）、その小節内の全てのノートについて（ステップ１４０６、１４０９参照）、所定の位置にノートに対応する音符図形を描画する。楽譜描画処理部１８は、ノートポインタに示すノートについて、楽譜情報ファイル２４のノートに関するレコード（図６）を参照して、その座標（ｉｘ，ｉｙ）に基づき、音符図形を描画すべき位置を決定し（ステップ１４０７）、当該描画すべき位置に、ノートに関するレコードの情報にしたがった音符図形を描画する（ステップ１４０８）。あるノートについて処理が終了すると、次のノートに関して、ステップ１４０７、ステップ１４０８の処理が実行される。ある小節の全てのノートについて音符図形の描画が終了すると、次の小節について、ステップ１４０６〜ステップ１４０９の処理が繰り返される（ステップ１４１０参照）。
【００７５】
図１５、図１６は、本実施の形態にかかる楽譜作成・表示装置により作成された楽譜の例を示す図である。図１５（ａ）〜（ｅ）においては、高音側のラインおよび低音側のラインの２つのラインの音符図形が同一の段に描画されている。図１５（ａ）の例では、高音側のラインの音符図形群１５０１および低音側のラインの音符図形群１５０２が適切に描画されていることが理解できる。図１５（ｂ）の例では、高音側のラインの休符および音符が、低音側のラインの休符および音符と一致している。したがって、休符図形１５１１、１５１２について、高音側のラインのものと低音側のラインのものとが重ね合わされて描画されている。また、音符１５１３についても、双方のラインのノートについて、発音開始時刻が同じで、かつ、音程（音高）および音長が一致するため、符頭は重ね合わされて描画されている。したがって、符頭は１つで、符幹が上下方向に延びるような音符図形が描かれている。図１５（ｃ）の高音側のラインの音符図形群１５２１、低音側のラインの音符図形群１５２２についても同様である。
【００７６】
図１５（ｄ）において、音符１５３１と音符１５３２が２度の関係にあり、低音側のラインの音符図形１５３２が右側にずらされた状態で描画されている。また、図１５（ｅ）において、音符１５４１と音符１５４２の音高（音程）は同一であるが、符頭（たま）が一致しないため、低音側のラインの音符図形１５４２が右側にずらされた状態で描画されている。
【００７７】
図１６においては、高音側のラインの音符（符号１６０１、１６０２参照）と、低音側のラインで、拍の頭の音符（符号１６１１、１６１２参照）とについて、音高（音程）が同一である。さらに、音長は同一ではないが、符頭や符点は一致している。したがって、符頭は重ね合わされて描画されている。
【００７８】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００７９】
上記実施の形態においては、トラックがラインに対応し、同一の段に複数ラインに属する音符が描画される。本発明は上記実施の形態に限定されるものではなく、単一のトラックを複数のラインに分割して、当該単一のトラック（複数のライン）の音符を同一の段に描画する場合にも適用可能である。
【００８０】
図１７は、本発明の他の実施の形態にかかる楽譜情報生成処理を示すフローチャートである。図１８において、ステップ１７０１、１７０２、１７０３は、それぞれ、図８のステップ８０１、８０２、８０４と同様である。また、図１８のステップ１７０４、ステップ１７０６、１７０７、１７０８、１７１０は、それぞれ、図８のステップ８０５、８０６、８０７、８０８、８０９に相当する。
【００８１】
図１７に示すように、他の実施の形態においては、図３のステップ８０３の代わりに、各トラックについて、当該トラックのノートがどのラインに属するかの処理（ライン分離）が実行される（ステップ１７０５）。ライン分離においては、楽譜情報ファイル２２中、トラックごとに、当該トラックのレコードを参照し、当該トラックが示すノートにライン番号を付与し、ノートとライン番号とを関連付けておく。これにより、あるトラックのノートについて、ノートごとにどのラインに属するかを判断することが可能となる。
【００８２】
また、連桁処理（ステップ１７０８）が終了すると、描画位置情報生成処理が実行される（ステップ１７０９）。この描画位置情報生成処理は、図９のステップ９０５の描画位置情報生成処理と同様である。
【００８３】
図１７に示す処理を実行することにより、あるトラックのノートにラインが関連付けられ、当該トラックの音符図形が同一の段で、かつ、ラインごとに所定の符幹の向きとなるように描画される。
【００８４】
上述したように、他の実施の形態においては、同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、楽譜情報生成部１４が、ライン番号にしたがって、符幹の方向を決定する。また、描画位置情報補正部１６が、異なるラインのノートについて発音開始時刻が一致するときに、音高が２度以内でかつ同じ音高でない場合、或いは、同じ音高でかつ符頭または符点が不一致である場合には、一方のノートの音符図形を横方向に移動させるように、当該ノートに対応する音符図形を描画すべき位置情報を修正する。
【００８５】
したがって、他の実施の形態においても、上述した本発明の実施の形態と同様な作用効果を奏する。つまり、発音開始時刻が同じであるノートについて、ノートが２度（長短２度、或いは、増１度）の関係であれば、一方のノートの音符図形の描画位置がずらされる。また、音高が一致していても、符頭や符点が不一致の場合には、同様に、一方のノートの音符図形の描画位置がずらされる。これによって、２つのラインのノートの音符図形が同じ位置に描画されていることが適切なときのみ、楽譜において単一の符頭から上下方向に符幹が延びるような音符図形が表され、ラインを適切に表現することが可能となる。
【００８６】
また、他の実施の形態においては、同一の段に、トラックのノートの音符図形を描画するために、同一の段に描画すべきトラックに属するノートの各々にライン番号が関連付けられ、楽譜情報生成部１４が、ライン番号にしたがって、音符種別が休符である場合に、当該休符に対応する音符図形を描画すべき縦方向の位置を決定する。また、描画一助方補正部１６は、異なるラインのノートについて、当該ノートの音符種別が休符であり、かつ、発音開始時刻が一致するときに、当該休符の音長が一致する場合には、各ノートに対応する休符の描画位置を一致させるために休符に対応する音符図形を縦方向に移動させるように、当該休符に対応する音符図形を描画位置に関する情報を修正する。
【００８７】
したがって、他の実施の形態においても、異なるラインにおいて同一の位置にあるべき同一の音長の休符図形は、重ねあわされて描画される。その一方、異なる音長の休符図形は、縦方向にずらされて、何れのラインの休符であるかが明瞭になるように描画される。
【００８８】
さらに、前記実施の形態においては、同一の段に描画すべきトラックの各々にライン番号を付与している（図３のステップ８０３）。また、他の実施の形態においても、同一の段に描画すべきノートの各々にライン番号を付与している（図１７のステップ１７０５）。しかしながら、これら実施の形態に限定されず、予め、トラックとライン番号との関連付け示す情報や、ノートとライン番号との関連付けを示す情報が記憶装置に記憶されていても良い。
【図面の簡単な説明】
【００８９】
【図１】図１は、本発明の実施の形態にかかる楽譜作成・表示装置の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかる楽譜作成・表示装置のハードウェア構成を示すブロックダイヤグラムである。
【図３】図３は、本実施の形態にかかる楽譜作成・表示装置のメインフローを示すフローチャートである。
【図４】図４は、本実施の形態にかかる再生ルーチンを示すフローチャートである。
【図５】図５は、本実施の形態にかかる演奏情報ファイルの構成例を示す図である。
【図６】図６は、本実施の形態にかかる楽譜情報ファイルの構成例を示す図である。
【図７】図７は、本実施の形態にかかる楽譜情報ファイルの構成例を示す図である。
【図８】図８は、本実施の形態にかかる楽譜情報生成処理を示すフローチャートである。
【図９】図９は、本実施の形態にかかる楽譜情報生成処理を示すフローチャートである。
【図１０】図１０は、図９のステップ９０４を説明するための図である。
【図１１】図１１は、本実施の形態にかかる描画位置情報生成処理の例を示すフローチャートである。
【図１２】図１２は、本実施の形態にかかる音符描画位置調整処理の例を示すフローチャートである。
【図１３】図１３は、本実施の形態にかかる休符描画位置調整処理の例を示すフローチャートである。
【図１４】図１４は、本実施の形態にかかる楽譜描画処理の例を示すフローチャートである。
【図１５】図１５は、本実施の形態にかかる楽譜作成・表示装置により作成された楽譜の例を示す図である。
【図１６】図１６は、本実施の形態にかかる楽譜作成・表示装置により作成された楽譜の例を示す図である。
【図１７】図１７は、本発明の他の実施の形態にかかる楽譜情報生成処理を示すフローチャートである。
【符号の説明】
【００９０】
１２        楽音再生処理部
１４        楽譜情報生成部
１６        描画位置情報補正部
１８        楽譜描画処理部
２０        記憶装置
２２        演奏情報ファイル
２４        楽譜情報ファイル
【図１】
2008175928.tif 000003
【図２】
2008175928.tif 000004
【図３】
2008175928.tif 000005
【図４】
2008175928.tif 000006
【図５】
2008175928.tif 000007
【図６】
2008175928.tif 000008
【図７】
2008175928.tif 000009
【図８】
2008175928.tif 000010
【図９】
2008175928.tif 000011
【図１０】
2008175928.tif 000012
【図１１】
2008175928.tif 000013
【図１２】
2008175928.tif 000014
【図１３】
2008175928.tif 000015
【図１４】
2008175928.tif 000016
【図１７】
2008175928.tif 000017
【図１５】
2008175928.tif 000018
【図１６】
2008175928.tif 000019