(57)【特許請求の範囲】
【請求項１】
複数のパートの楽譜が並列に記載された総譜の電子データである総譜データを入力する総譜データ入力手段と、
該手段によって入力した総譜データを各ページ毎に各パートに分けて各パート譜のデータとして編集する編集手段と、
該編集手段によって編集した各パート譜のデータを出力する出力手段とを備え、
前記編集手段が、前記各パート譜のデータ中の特定の文字又は記号を認識し、その認識した記号が所定数連続する位置を楽譜の区切りと判別して改ページする改ページ判定手段を有することを特徴とする楽譜編集装置。
【請求項２】
複数のパートの楽譜が並列に記載された総譜の電子データである総譜データを入力する総譜データ入力手段と、
該手段によって入力した総譜データを各ページ毎に各パートに分けて各パート譜のデータとして編集する編集手段と、
該編集手段によって編集した各パート譜のデータを出力する出力手段とを備え、
前記編集手段が、前記各パートの楽譜データ中の予め決められた複数種類の文字又は記号を認識し、その種類によって重みを決定しておき、認識した文字又は記号の連続数とそれぞれの重みによって総和を演算し、その演算結果が所定値以上になった位置を楽譜の区切りと判別して改ページする改ページ判定手段を有することを特徴とする楽譜編集装置。
【請求項３】
請求項２記載の楽譜編集装置において、
前記改ページ判定手段が、連続する休符又は同じ高さの音符に対し、その種類に応じて決められた重みを乗じた総和を求め、該総和を指定されたテンポを用いて時間に換算し、その換算した時間によって改ページの適否を判定する手段を有することを特徴とする楽譜編集装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の楽譜編集装置において、
前記改ページ判定手段が、１つの区切りを判別した後さらに次の区切りを判別して、いずれが改ベージ位置として妥当かを判定する妥当性判定手段を有することを特徴とする楽譜編集装置。
【請求項５】
請求項４記載の楽譜編集装置において、
前記妥当性判定手段は、先の改ページの区切りからの楽譜の長さが１ページに収まる範囲で、より長くなる方の区切りを改ベージ位置として妥当と判断する手段であることを特徴とする楽譜編集装置。
【請求項６】
請求項４記載の楽譜編集装置において、
前記妥当性判定手段は、先の改ページの区切りからの音符と休符の数が、予め設定された数に近くなる方の区切りを妥当と判断する手段であることを特徴とする楽譜編集装置。
【請求項７】
請求項４乃至６のいずれか一項に記載の楽譜編集装置において、
前記妥当性判定手段は、奇数ページと偶数ページとで妥当性の判断基準を変える手段を有することを特徴とする楽譜編集装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、電子的著作物の各ページの一部または全部を電子的な処理によって複数の著作に再構成して出力する装置、特に合奏等に使用する総譜（スコア）の電子データを入力してパート譜のデータを作成し、それを通信ネットワークを通して配信するか、あるいは紙にプリントして出力することができる楽譜編集装置に関する。
【０００２】
【従来の技術】
管弦楽曲、吹奏楽曲、重奏曲などの合奏曲の演奏に用いる楽譜は、作曲家が、弦楽器、管楽器、打楽器等の各パートの楽譜が時間的に並行して見られるような楽譜である総譜（スコア）と呼ばれるものつくり、従来はその出来上がった総譜から写譜業者が各パート毎の個別の楽譜であるパート譜を書き上げるのが常であった。例えば、管弦楽の総譜からヴァイオリン・パート、フルート・パート等のパート譜を別々に書き出し、そのパート譜を各パートの演奏者が受け取り、それを見て個別に練習したり合奏したりしている。
【０００３】
この方法では、各パート毎にめくりやすい部分見つけてページの切れ目を作れるという長所があるが、人手によるため写譜違いが発生する恐れがあるし、写譜に時間がかかるという欠点があった。
特に、作曲家は作品を完成するのに時間を要し、総譜の完成が予定より遅れることが多い。その結果、決められた日程の演奏会に間に合わせるためには、写譜業者にしわ寄せが来て、超過料金を払うことが必要になったり、誤りが増えたりするという問題があった。さらに極端な場合には、パート譜が間に合わず、演奏会が出来なくなることさえあった。
また、電子的に楽譜を作る方法として、広く使われている方法には大きく分けて２つの方法がある。その１つは、音符の情報（長さ、高さ、強さ等）を数字で入力し、ソフト処理によって楽譜に変換する方法である。もう一つは、マウス等の指示器によって音符の一覧から音符や休符を１つずつ選んで五線譜上に並べていく方法である。
【０００４】
【発明が解決しようとする課題】
しかしながら、いずれの方法にしても入力は人間が行うため、誤りが発生したり時間がかかる点では、手作業で写譜するのとあまり変りがないという問題があった。
また、作曲家が書いた総譜をそのまま写真製版して印刷し、出版譜とすることもあるが、この場合はパート譜が作れないという問題があった。
さらに、楽譜を電子化して印刷するための楽譜編集装置の発明もいくつかある（例えば、特開平６−１４９２３５号公報、特開平６−１４９２３６号公報、特開平７−１２９１５６号公報など)。
しかし、これらの装置は、複数段の楽譜を時間進行方向にそろえたり、五線の一括移動を行ったり、小節番号を付加したりするような一部の情報の修正や情報付加効果を狙ったものに過ぎず、総譜からパート譜を作成する写譜業の代わりあるいは支援をするようなものではなかった。
【０００５】
また、近年、音楽以外の分野では印刷業界も電子化され、ネットワークを通じて出版原稿を送れば印刷されたり、古い原稿を電子化して印刷するなどの技術が一般的になってきた。具体例の１つとして、第１５図に一般的な電子出版システムのブロック構成図を示す。
第１５図によれば、顧客が印刷業者にパンチ綴じの原稿を持ち込み、教育用に数十部印刷するように依頼した場合には、印刷業者はパンチ綴じの原稿をスキャナ３１から読み込ませ、文書保管部３２で電子化し一旦記憶して保管する。単純にコピーせずに電子化するのは、同一顧客からリピートの注文がある場合に備えるためと、パンチ綴じの穴の部分が黒い丸となってコピーされるのを防ぐためである。
【０００６】
そこで、印刷業者は文書保管部３２に保管した原稿の電子化データ（文書データ）に対して、編集処理部３３によってパンチ穴を消すための編集作業を行う。その際に、左ページと右ページとではパンチ穴が異なった位置にあるため、見開きページの有無について判断する。そして、見開きページがあれば、左ページについてはページの右端部分の一定サイズの矩形部分を数箇所(パンチ穴の数分)消去処理し、右ページについてはページの左端部分の一定サイズの矩形部分を数箇所(パンチ穴の数分)消去処理する。見開きページがなければ、その原稿のパンチ穴がある側の端部分の一定サイズの矩形部分を数箇所(パンチ穴の数分)消去処理にする。
全ページに対してこの編集処理を終了すると、印刷処理部３４によってその文書データを文書保管部３２から読み出して、印刷装置へ転送して必要な部数だけ紙に印刷する。
【０００７】
しかしながら、このようなシステムではやはり、前述した総譜から各パートのパート譜を作成するようなことは全くできなかった。
この発明は、このような現状に鑑みてなされたものであり、作曲家が作成した総譜から、写譜業者がパート譜に書き直すのと同じような各パートのパート譜を自動的に作成できるようにし、必要に応じて各パートの演奏者に配信することも可能にすることを目的とする。
【０００８】
【課題を解決するための手段】
この発明による楽譜編集装置は、上記の目的を達成するため、図１に機能ブロック図で示すように、複数のパートの楽譜が並列に記載された総譜の電子データ（電子的著作物）である総譜データを入力する総譜データ入力手段Ａと、その手段Ａによって入力した総譜データを各ページ毎に各パートに分けて各パート譜のデータとして編集する編集手段Ｂと、その編集手段Ｂによって編集した各パート譜のデータを出力する出力手段Ｃとを備えたものである。
さらに、上記編集手Ｂ段は、各パート譜のデータ中の特定の文字又は記号（休止の小節数を示す数字や長い休符、長い音符等）を認識し、その認識した記号が所定数連続する位置を楽譜の区切りと判別して改ページする改ページ判定手段を有する。
あるいは、上記編集手段Ｂがこの改ページ判定手段に代えて、各パートの楽譜データ中の予め決められた複数種類の文字又は記号を認識し、その種類によって重みを決定しておき、認識した文字又は記号の連続数とそれぞれの重みによって総和を演算し、その演算結果が所定値以上になった位置を楽譜の区切りと判別して改ページする改ページ判定手段を有するようにしてもよい。
【０００９】
その編集手段Ｂが、上記総譜データの最初のページの文字列（曲名、章名、作曲者名、速度標語、曲想を表す用語など）を抽出する手段と、該手段によって抽出した文字列のデータを、その最初のぺージを各パートに分けた各パート譜のデータにそれぞれ付加する手段とを有するようにすれば、各パート譜に同じ曲名、章名、作曲者名、速度標語、曲想を表す用語などの情報を表記することもできる。
またその編集手段Ｂが、上記編集した各パート譜のデータにおける五線間の空間を除去して所定の間隔に調整し、各ページを再構成する手段を有するようにすれば、余分な空白がなくなって、見易く且つ１ページの楽譜情報が多いパート譜にすることもできる。
【００１０】
【００１１】
また、上記改ページ判定手段が、連続する休符又は同じ高さの音符に対し、その種類に応じて決められた重みを乗じた総和を求め、該総和を指定されたテンポを用いて時間に換算し、その換算した時間によって改ページの適否を判定する手段を有するようにするとよい。
これらの楽譜編集装置において、上記改ページ判定手段が、１つの区切りを判別した後さらに次の区切りを判別して、いずれが改ベージ位置として妥当かを判定する妥当性判定手段を有するようにしてもよい。
その妥当性判定手段は、先の改ページの区切りからの楽譜の長さが１ページに収まる範囲で、より長くなる方の区切りを改ベージ位置として妥当と判断する手段にすることができる。
あるいは、その妥当性判定手段は、先の改ページの区切りからの音符と休符の数が、予め設定された数に近くなる方の区切りを妥当と判断する手段にしてもよい。
さらに、上記妥当性判定手段は、奇数ページと偶数ページとで妥当性の判断基準を変える手段を有するとよい。
【００１３】
これらの楽譜編集装置において、図１における総譜データ入力手段Ａは、総譜をイメージスキャナで読み取って電子化して入力する手段であるか、あるいはネットワークを通して総譜データを入力する手段であってもよい。
また、図１における出力手段Ｃは、編集手段Ｂによって編集した各パート譜のデータを、ネットワークを通して配信する手段であるか、あるいは用紙に印刷して各パート譜を出力する手段であってもよい。
【００１４】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて具体的に説明する。
図２は、この発明による楽譜編集装置を使用したパート譜配信システムの構成例を示す概念図である。
このパート譜配信システムにおいて、この発明による楽譜編集装置１は、パーソナルコンピュータ（以下「パソコン」と略称する）２とスキャナ３とプリンタ４によって構成されており、これを図１と対応させると、スキャナ３が総譜データ入力手段Ａ、パソコン２が編集手段Ｂ、プリンタ４が出力手段Ｃの機能を果たす。パソコン２はまた、通信ネットワーク５を介して、各パート（図示の例では第１パートから第３パート）の演奏者が持つ端末装置としてのパソコン６，７，８と接続可能であり、作成した各パートのパート譜のデータを、通信ネットワーク５を通してそれぞれ各パソコン６，７，８へ配信する出力手段Ｃとしての機能も有している。
【００１５】
また、この楽譜編集装置１のパソコン２は、通信ネットワーク５介して接続される図示しない端末装置（パソコン）から、総譜データを通信ネットワーク５を通して入力する入力手段Ａの機能も果たすことが可能である。
各パートの演奏者が持つパソコン６，７，８には、図示していないがそれぞれプリンタを接続することができ、楽譜編集装置１のパソコン２によって配信されたパート譜のデータをディスプレイに表示させて確認した後、そのプリンタによって紙に印刷して、紙のパート譜を得ることができる。
【００１６】
図３は、図２に示した楽譜編集装置１のより具体的な構成例を示すブロック図である。
この楽譜編集装置は、上述のように編集手段であるパソコン２に、総譜データ入力手段であるスキャナ３と出力手段であるプリンタ４とを接続するとともに、パソコン２の構成として、キーボード２２とＣＲＴ又はＬＣＤによるディスプレイ２３を備えている。
パソコン２の本体内の構成は、マイクロプロセッサ(ＣＰＵ)１１、リードオンリメモリ（ＲＯＭ）１２、ランダムアクセスメモリ（ＲＡＭ）１３、キーボードインタフェース（Ｉ／Ｆ）１４、ディスプレイＩ／Ｆ１５、フロッピディスクドライブ（ＦＤＤ）１６、ハードディスクドライブ（ＨＤＤ）１７、スキャナＩ／Ｆ１８、プリンタＩ／Ｆ１９、通信制御ユニット（ＮＣＵ）が、システムバス２１によって接続されている。
キーボードインタフェース（Ｉ／Ｆ）１４にはキーボード２２を、ディスプレイＩ／Ｆ１５にはディスプレイ２３をそれぞれ接続し、スキャナＩ／Ｆ１８にはスキャナ３を、プリンタＩ／Ｆ１９にはプリンタ４をそれぞれ接続する。
【００１７】
ＣＰＵ１１はこの楽譜編集装置を統括制御する部分であり、キーボード２１からの指示により、ＲＯＭ１２に格納されているプログラムにしたがって動作する。ＲＡＭ１３はＣＰＵのワーキングメモリとなるとともに、各種のデータを一時的に記憶する。後述するバッファメモリなどとしても使用される。
ディスプレイ２２には、その処理状況や操作のガイド情報、入力した総譜及び作成したパート譜などを表示する。
ＨＤＤ１７は、不揮発性の記憶媒体としてハードディスクを有し、入力した総譜データを記憶したり、作成した各パートのパート譜のデータを格納するメモリ領域などとして使用される。ＦＤＤ１６は、取り出し可能なフロッピディスクを挿入して、そこから総譜データ等の必要な情報を取り込んだり、作成したパート譜のデータをフロッピディスクに格納したりすることができる。
【００１８】
ＣＰＵ１１は、スキャナＩ／Ｆ３を介してスキャナ３を制御し、スキャナ３に、総譜（スコア）の情報を読み取らせて２値化し、五線及び各種の文字、音符、休符、その他の記号などを認識して電子化し、総譜データとして入力してＨＤＤ１７のハードディスクに格納させる。この楽譜データの電子化処理については公知の技術であるので、説明を省略する。
ＣＰＵ１１は、その入力した総譜データから後述する処理によって各パートのパート譜のデータを作成し、ＨＤＤ１７の各パート用のメモリ領域に格納させる。そのパート譜のデータを、プリンタＩ／Ｆ１９を介してプリンタ４に転送して、紙に印刷させることにより、紙のパート譜が得られる。
あるいは、ＮＣＵ２０から図２に示した通信ネットワーク５に接続して、各パートの演奏者が持っているパソコンへ、必要なパート譜のデータを配信することもできる。
【００１９】
次に、この楽譜編集装置によって総譜データから各パートのパート譜のデータを作成する楽譜編集処理の各種の実施例をフローチャート等を参照して説明する。
なお、以下に説明する各実施例では、説明を判り易くするために、図４に示すような三重奏曲の総譜３０から、それを構成する３つのパート１，２．３（図４では丸付き数字で示している）の各パート譜を作成する場合の例について説明する。実際の管弦楽の総譜などは、もっと多くのパートがあり、１ページの楽譜が全て異なるパートの１行ずつの楽譜で構成されていることが多いが、以下の実施例をパート数を変更するだけで同様に実施することができる。
【００２０】
図３に示した楽譜編集装置による楽譜編集処理の基本的な動作を図５に示すフローチャートによって説明する。なお、以下のフローチャートの説明において、ステップを「Ｓ」と略記する。
この実施例では、図４に示すような三重奏曲の総譜３０のデータを入力してその各パートのパート譜を作成する。三重奏曲の総譜には、その各ページにパート１，２．３の３段の五線譜が１つの単位で書かれていて、各ページの段数は３の倍数でできている。これを上から第１パート、第２パート、第３パートとする。
この総譜３０を図３に示したスキャナ３にセットして、図５に示す処理を開始すると、スキャナ３がその総譜の情報を読み取って電子化して、総譜データとしてスキャナＩ／Ｆ１８に入力する。
【００２１】
ＣＰＵ１１は、Ｓ１でそのスキャナ３からの総譜データを受信し、Ｓ２でＨＤＤ１７のハードディスクにその総譜データをページ毎に記憶させる。それを、Ｓ３で受信終了と判断するまで繰り返す。この総譜データは、スキャナ３から入力する代わりに、ＮＣＵ２０によって通信ネットワークを介して他のパソコン等の端末装置から受信したり、ＦＤＤ１６によって総譜データを格納したフロッピディスクから読み込むことも可能である。
その後、この総譜データか画くパート譜のデータを作成するために、各ページ毎に不要なデータを消去する。
そのため、Ｓ４でカウンタｎに「１」をセットし、ｎの最大値ｎｍａｘを「３」にセットする。１段毎の五線譜を行とし、ここで、ｎは作成するパート譜が第ｎパートであることを示し、ｎの最大値ｎｍａｘはパート数すなわち一組の五線譜の行数に相当する。この例では図４に示した三重奏曲の総譜データわ編集するので、上記のようにセットし、まずｎ＝１にして第１パートののパート譜作成から始める。
【００２２】
Ｓ５で１ページ分の総譜をＨＤＤ１７から読み出し、ＲＡＭ１３に一時記憶させる。そして、Ｓ６でそのページの上から順に五線の行を識別する。そして、次のＳ７で、ｎ＋ｎｍａｘ・ｍ行以外のデータを消去する。ここで、ｍは０および正の整数（ｍ＝０，１，２，…）である。今はｎ＝１、ｎｍａｘ＝３であるから、第１パートの１行，４行，７行の行以外のデータ（第２，第３パートの行のデータ）は消去することになる。このＳ６，Ｓ７の処理をＳ８で１ページ終了と判断するまで繰り返す。
Ｓ８でページ終了と判断すると、Ｓ９へ進んで、ＨＤＤ１７のハードディスクに確保した第ｎパート（最初は第１パート）用のメモリ領域に、１ページ分のデータを格納する。このときは第１パートの楽譜データだけが残っているので、それが格納される。
【００２３】
その後、Ｓ１０でｎ＝ｎｍａｘか否かを判断し、Ｎｏであれば、Ｓ１１でｎを＋１し（ｎ＝２にし）、Ｓ５からＳ８までの処理を繰り返して、Ｓ８で１ページ終了と判断すると、今度は２行，５行，８行等の第２パートの楽譜データだけが残っているので、それをＳ９で第２パート用のメモリ領域に１ページ分のデータとして格納する。
そして、Ｓ１０の判断でまだｎ＝ｎｍａｘではないので、Ｓ１１でｎを＋１し（ｎ＝３にし）、同様にＳ５からＳ８の処理を繰り返して、Ｓ８で１ページ終了と判断すると、今度は３行，６９行，９行等の第３パートの楽譜データだけが残っているので、それをＳ９で第３パート用のメモリ領域に１ページ分のデータとして格納する。
【００２４】
その後のＳ１０の判断で、今度はｎ＝ｎｍａｘ＝３なので、Ｓ１２へ進んで、次ページのデータがあるか否かを判断し、あればＳ１３で次ページを指定するとともにｎ＝１にセットしてＳ５へ戻り、次の１ページ分の総譜データを読み出して、前述の動作を繰り返す。
そして、第１パート、第２パート、第３パートのそれぞれ２ページ目の楽譜データを順次作成して、第１パート用、第２パート用、第３パート用の各メモリ領域に順次２ページ目のデータを格納する。
このような処理を、Ｓ１０でｎ＝ｎｍａｘになり、Ｓ１２で次ページのデータがないと判断するまで繰り返し、総譜の全てのページの楽譜データを各パートに分けて各パート譜のデータとして、ハードディスクの第１パート用、第２パート用、第３パート用の各メモリ領域にそれぞれ格納することができる。
【００２５】
そして、Ｓ１２で次ページのデータがないと判断すると、Ｓ１４へ進んで、各メモリ領域に格納した各パート毎のデータを配信又は印刷することによって出力する。配信する場合は、図３のＮＣＵ２０を用いて図２の通信ネットワーク５を介して、予め指定された端末装置へ配信する。例えば、図２に示した各パートの演奏者が持っているパソコン６，７，８へ、それぞれ対応する各パートのパート譜データを順次配信する。あるいは各パート譜データをイメージデータにして、それを指定されたファクシミリ装置に送信するようにしてもよい。
印刷する場合は、各パート譜データを印刷用のイメージデータにして、図３に示したプリンタ４へ転送して紙に印刷させる。
図５のＳ１５で全パート終了と判断するまでこのような出力処理を行い、全パートの出力を終了すると、この図５の処理を終了する。
【００２６】
このようにして作曲家が作成した総譜から電子的な処理によって自動的に各パート譜を作成すると、写譜ミスがなくなり、正確なパート譜を作ることができ、しかも人手で写譜する時間が必要なくなるため、大幅な時間短縮になる。また、作成したパート譜のデータを各パートの演奏者の端末装置にネットワークを介して配信するようにすれば、完成したパート譜を郵送したり運搬したりする時間と費用がかからなくなり、時間的にもコスト的にも大きなメリットになる。
なお、この実施例では、総譜データから電子的な処理によって各パート譜を作成する際に、各ページ毎に必要なパート以外のデータを消去したが、これに限るものではなく、例えば各ページ毎に必要なパートのデータのみを抽出して別のメモリ又はメモリ領域に順次格納するようにしてもよい。
【００２７】
上述の基本的な動作により、総譜をパート譜に分けて配信又は印刷することができるようになったが、各パート譜に曲のタイトルや章名、作曲者名などが記入されていると更に分かりやすい。また、楽曲の場合、曲の速さを表すメトロノーム記号（例えば、四分音符の記号とそれを１分間に刻める数字で表す）、速度標語（Ｌａｒｇｏ，Ａｄａｇｉｏ，Ａｎｄａｎｔｅ，Ｍｏｄｅｒａｔｏ，Ａｌｌｅｇｒｏ，Ｐｒｅｓｔｏなど）や曲想を表す用語（ｃａｎｔａｂｉｌｅ，ｐａｓｔｏｒａｌｅ，ｅｌｅｇａｎｔｅ，ｇｒａｂｅなど）が冒頭に付いていて、通常総譜の一番上の段にのみ記されている。
図４に示した総譜では、タイトル（曲名）３１と作曲者名３２と速度標語３３およびメトロノーム記号３４が第１行目の五線より上に記載されている。
そのため、前述のように1行ごとに消去していくと、第２、第３パートにはこのような文字や記号あるいは標語が欠落することになる。
そこで、総譜の最初のページの冒頭にこれらの文字や記号などがある場合、各パートに分けたパート譜の全ての最初のページにそれが配されるようにするとよい。
【００２８】
その場合の楽譜編集処理の大部分は、前述した図５に示したフローチャートと同様でるが、その一部を図６に示すように変更する。すなわち、図５におけるＳ５とＳ６の間にＳ１６〜Ｓ１８の処理を追加する。
すなわち、Ｓ５で１ページ分の総譜データを読み出した後、Ｓ１６でｎ＝１か否かを判断し、ｎ＝１（１ページ目）でなければそのままＳ６へ進んで行識別を行うが、ｎ＝１（１ページ目）であればＳ１７へ進んで、最初の五線より前の文字（記号も含む）列のデータを抽出して一時記憶する。この文字列の抽出は、各文字を自動的に認識してその各位置データと文字（記号）データを抽出してもよいが、曲名、作曲者名、テンポを表すメトロノーム記号や速度標語などの必要な部分を、表示画面上で指定することによって抽出するようにしてもよい。
そして、Ｓ１８で各パート用のメモリ領域の所定位置（位置データを記憶した場合はその記憶した位置）のその文字（記号）列のデータを格納して、Ｓ６へ進む。
【００２９】
前述した基本的な動作では、総譜のデータから各ページ毎に一つのパートの楽譜のみを残して他のパートの楽譜を消去することによって、各パート譜を作成したので、ページ数は総譜と同じで白空間が多くなり、従来の写譜業者が作ったパート譜に比べて、演奏中にページをめくる回数が増え、演奏しにくいという問題がある。また、作成したパート譜のデータを電子的に送信する際にもデータ量が多く、時間とコストがかかるという問題もある。
そこで、この点を改善して無駄な白空間のないパート譜を作成できるようにする処理について説明する。
【００３０】
その場合の処理も、前述した図５に示したフローチャートと殆ど同じであるが、そのＳ８とＳ１０の間にＳ９に代えて、図７に示すＳ２１とＳ２２を実行する。
すなわち、Ｓ８で１ページの処理が終了したと判断すると、Ｓ２１で残っている五線間の空間を除去して所定の間隔に調整し、Ｓ２２で第ｎパート（そのときのｎの数に相当するパート）用のメモリ領域に、残ったデータを格納し、１ページ分の領域が一杯になったら残りを次ページ分の領域に格納する。そして、Ｓ１０へ進む。
このようにすれば、余分な空白をなくして、総譜のｎ倍（３パートある場合は３倍）のパート譜のデータを各パート譜の１ページの領域に格納することができ、ページ数は１／ｎになるので無駄なデータがなくなる。そして、そのデータを印刷すれば、見易くページをめくる回数も少ないパート譜が得られる。
【００３１】
次に、余分な空白をなくして、見易くページをめくる回数も少ないパート譜を作成するための他の処理を説明する。
この処理も、前述した図５に示したフローチャートのＳ１〜Ｓ６とＳ１４〜Ｓ１５は同じであるが、Ｓ７〜Ｓ１３に代えて、図８に示すＳ２３〜Ｓ２７と図５の処理にもあるＳ８，Ｓ１０，Ｓ１１〜Ｓ１３を実行する。
この場合に、予め各パートの１ページ分の容量のバッファメモリを用意しておき、そこへ各パート別に行（五線譜）のデータを順次格納していき、それが一杯になったときに１ページ分として、そのデータを各パート用のパート譜のデータを格納するメモリ領域に転送して格納する。これを第１パートから第３パートまで繰り返し、新たな著作物であるパート譜をパート毎に３種類作る。
【００３２】
この処理を図８のフローチャートによって説明する。
Ｓ５で１ページ分の総譜データを読み出し、Ｓ６で五線の行を識別すると、Ｓ２３で、その行がｎ＋ｎｍａｘ・ｍ行（ｍ＝０，１，２，…）か否かを判断する。このｎとｍは第１実施例で定義したのと同じである。そうであればＳ２４へ進んで、その行のデータを１ページ分のバッファメモリに格納し、そうでなければそのままＳ８へ進む。
Ｓ２４の次はＳ２５で、バッファメモリの記憶データが一杯か否かを判断し、一杯でなければＳ８へ進むが、一杯になるとＳ２６へ進んで、第ｎパート用のメモリ領域に、バッファメモリのデータを１ページ分として格納した後Ｓ８へ進む。
【００３３】
Ｓ８では１ページ終了（１ページ分の総譜データの処理が終了した）か否かを判断し、終了していなければＳ６へ戻って、次の五線を識別して上述の処理を繰り返す。終了していればＳ１２へ進んで次のページがあるか否かを判断し、あればＳ１３で次のページを指定してＳ５へ戻り、次の１ページ分の総譜データを読み出して上述の処理を繰り返す。
そして、Ｓ８の判断で次のぺージがなくなると、Ｓ２８へ進んでバッファメモリにデータがあればそれを第ｎパート用のメモリ領域に転送して、最終ページのデータとして格納する。次いで、Ｓ１０でｎ＝ｎｍａｘか否かを判断し、そうでなければＳ１１へ進んでｎを＋１する。そして、Ｓ２７で最初のページを指定してＳ５へ戻り、次のパートのパート譜データを作成するために、最初の１ページ分の総譜データを読み出して上述の処理を繰り返す。
この処理を繰り返して、Ｓ１０でｎ＝ｎｍａｘになっていると、全てのパートのパート譜作成処理を終了したことになるので、Ｓ１４へ進んでその各パート毎のデータ（パート譜データ）を通信ネットワーク５を介して所定の端末装置へ配信するか、プリンタ４によって紙に印刷して出力する。
【００３４】
〔第１実施例：図８，図９，図１０〜図１２〕
前述の図７によって説明した処理では、五線間の余分な空白を除去して五線の間隔を調整して各パート用のメモリ領域に格納し、その１ページ分の領域が一杯になったところをページの区切りとしており、図８によって説明した処理では１ページ分のバッファメモリが一杯になったところをページの区切りとしているので、演奏者にとってページめくりをし難いことがある。例えば、速いテンポで時間的に比較的短い音符が連続しているようなところで改ページすると、ページめくりが難しくなる。
これから説明する各実施例ではその点を改善する。まず、この第１実施例では、前述した図８のフローチャートにおけるＳ２４とＳ２５およびＳ２６との間に、図９に示すＳ３１とＳ３２を追加する。
【００３５】
すなわち、Ｓ２４でその行のデータを１ページ分のバッファメモリに格納した後、Ｓ３１で改ページすべきか否かを判断するための処理をして、Ｓ３２でそれを判断し、改ページする場合はその時点でＳ２６へ進んで、第ｎパート用のメモリ領域にバッファメモリのデータを１ページ分として格納する。Ｓ３２で改ページしないと判断した場合は、Ｓ２５でバッファメモリの記憶データが一杯か否かを判断し、一杯であればＳ２６へ進んで、第ｎパート用のメモリ領域にバッファメモリのデータを１ページ分として格納する。一杯でなければそのまま図８のＳ８へ進んで以後の処理を行う。Ｓ２６の処理を行った後も、図８のＳ８へ進んで以後の処理を行う。
【００３６】
なお、Ｓ３２で改行すると判断してＳ２６へ進んだ場合には、その最後の行で改行すると判断しているので、その最後の行の改行すべきと判断した後のデータは、第ｎパート用のメモリ領域に、バッファメモリのそこまでのデータを１ページ分として格納した後、改ページマークを入れて次のページ分の先頭に格納するとよい。
この実施例の場合の改ページするか否かの判断は、次に説明するように、この楽譜編集装置で電子的な処理によって、特定の文字又は記号（休符や音符を含む）の種類やその連続数などから自動的に判断する。
【００３７】
上述した改ページすべきか否かの判断を電子的処理によって自動的に行うための処理も図５および図８と共通する部分が多いので、それらの説明は省略する。
この実施例では、図８に示したフローチャートのＳ２５〜Ｓ２６に代えて、図１０に示すＳ３３〜Ｓ４０とＳ２６′の処理を行う。
すなわち、Ｓ２４でその行のデータを１ページ分のバッファメモリに格納した後、Ｓ３３でカウンタＮをリセットしてスタートする。このカウンタは、特定の休符又は音符の連続数を計数するカウンタである。
【００３８】
次のＳ３４で、バッファメモリに最後に格納したその行の始めから文字又は記号を行方向に順次識別する。この文字又は記号には、図１１に示すような音符や休符、および図１２に示すような小節全体を休止するマークの上に記載された数字（休止する小節数を示す）などを含む。
このように、五線譜上の文字や記号すなわち音符や休符を順次切り出して認識する処理は公知であり、例えば特開平６−１０２８６８号公報、特開平６−１０２８６９号公報、特開平６−１０２８７０号公報、特開平６−１０２８７１号公報などに記載されているので、その説明は省略する。
【００３９】
そして、その識別した文字又は記号が、予め指定された特定の文字又は記号であるか否かをＳ３５で判断する。その特定の文字又は記号とは、例えば図１２に示す小節全体を休止するマーク上に記載された数字、図１１に示す２分休符か全休符（特定の休符）、あるいは２分音符か全音符（特定の音符）などとする。
これらの特定の文字又は記号であれば、Ｓ３６でカウンタＮを＋１してそれをカウントする。そして、Ｓ３７でそのカウント値Ｎが予め設定した値Ｎｓ以上になった（Ｎ≧Ｎｓ）か否かを判断し、なっていなければＳ４０で行末か否かを判断し、行末でなければＳ３４に戻って、次の文字又は記号を識別して同様な処理を繰り返す。行末であればこの行の改ページの判断処理は終了したので、図８に示したＳ８の１ページ終了か否かの判断へ進む。
【００４０】
Ｓ３５で特定の文字又は記号ではないと判断すると、Ｓ３９でカウンタをリセットして、Ｓ４０で行末か否かを判断する。行末でなければＳ３４に戻って、次の文字又は記号を識別して同様な処理を繰り返す。行末であればこの行の改ページの判断処理は終了したので、図８に示したＳ８の１ページ終了か否かの判断へ進む。
Ｓ３７でＮ≧Ｎｓになると、Ｓ３８へ進んでその小節の終わりで改ページすると判断し、その後のデータを別に保存する。そして、Ｓ２６′で第ｎパートのメモリ領域に、パッファメモリのデータを１ページ分として記憶し、別に保存したデータを次のページの最初のデータとして記憶する。その後、図８に示したＳ８の１ページ終了か否かの判断へ進む。
【００４１】
なお、特定の文字又は記号のカウントは種類別に、例えば休止小節数の数字、長い休符、長い音符のように分けて、同じ種類の特定の文字又は記号が連続する数をカウントするようにするのが望ましい。そして、Ｎｓの目安としては、１小節以上の休符又は休止あるいは同じ長さの音符があった時に、その小節の終わりで改ページするようにし、その行の残りの部分は次のページに書き込むようにする。
【００４２】
〔第２実施例：図８，図１１〜図１３〕
前述の第１実施例によって、例えば休符又は同じ音高の音符の連続によって改ぺージの適否を判断する場合、休符又は音符の種類によって時間長が異なっており、同じ数の休符あるいは音符が所定数続いても、その種類によって合計の時間長が異なることになる。パート譜では多用しないが、総譜の場合には他のパートとの関係をわかりやすくするために、時間長の短い休符を連続させて長い休みを表すこともある。このような場合、時間長の長い休符を探しても、長い休みが見つからない場合がある。
このような問題も解決し、実際の演奏時にページをめくるのに充分な休みがあった所で改ページするようにしたのがこの第２実施例である。
【００４３】
図１３は、前述した第１実施例の図１０に示したフローチャートの処理に代わるこの第２実施例の処理を示すフローチャートである。この図１３において、図１０と同じ処理のステップには同じステップ番号を、類似するが少し異なるステップには同じステップ番号にダッシュを付けて示している。
この実施例では、図８のＳ２４でその行のデータを１ページ分のバッファメモリに格納した後、図１３のＳ３３′で４個のカウンタＮａ〜Ｎｄをリセットしてスタートする。このカウンタはＮａ〜Ｎｄは予め特定の休符として指定された８分休符、４分休符、２分休符、および全休符を、それぞれ個別に計数するためのカウンタである。
【００４４】
次のＳ３４で、バッファメモリに最後に格納したその行の始めから文字又は記号を行方向に順次識別する。
そして、その識別した文字又は記号が、予め指定された特定の休符のいずれかか否かをＳ３５′で判断する。それが特定の休符でなければ、Ｓ３９′でカウンタＮａ〜Ｎｄを全てリセットして、Ｓ４０で行末か否かを判断し、行末でなければＳ３４へ戻って、行方向の次の文字又は記号を識別し、Ｓ３５′の判断することを繰り返す。行末であればこの行の改ページの判断処理は終了したので、図８に示したＳ８の１ページ終了か否かの判断へ進む。
Ｓ３５′の判断で特定の休符であると判断すると、その休符の種類（８分休符、４分休符、２分休符、全休符のいずれか）によって、Ｓ４１〜Ｓ４４のいずれかでカウンタＮａ〜Ｎｄのうちの対応するカウンタを＋１（インクリメント）する。
【００４５】
そして、Ｓ４５で各休符にそれぞれ図１１に示す重み付けをしてその計数値を加算した総和ΣＮを、次式によって計算する。
ΣＮ＝Ｎａ＋２Ｎｂ＋４Ｎｃ＋８Ｎｄ
次いで、Ｓ４６でその総和ΣＮが予め設定した値Ｎｋ以上（ΣＮ≧Ｎｋ）になったか否かを判断し、なっていなければ、Ｓ４０で行末か否かを判断し、行末でなければＳ３４へ戻って、行方向の次の文字又は記号を識別し、上述の処理を繰り返す。行末であればこの行の改ページの判断処理は終了したので、図８に示したＳ８の１ページ終了か否かの判断へ進む。
【００４６】
Ｓ４６の判断でΣＮ≧Ｎｋになると、Ｓ３８へ進んでその小節の終わりで改ページすると判断し、その後のデータを別に保存する。そして、Ｓ２６′で第ｎパートのメモリ領域に、パッファメモリのデータを１ページ分として記憶し、別に保存したデータを次のページの最初のデータとして記憶する。その後、図８に示したＳ８の１ページ終了か否かの判断へ進む。
Ｓ４５の総和ΣＮの計算例として、例えば４分休符が１つと２分休符が１つ、さらに４分休符が１つ連続して並んでいた場合は、Ｎｂ＝２、Ｎｃ＝１になるので、ΣＮ＝２Ｎｂ＋８Ｎｃ＝２×２＋４×１＝８  になる。
拍子が４／４の場合、これで１小節となるので、仮に改ページのための所定の休符長として１小節分を考えると、Ｎｋ＝８と設定しておけばよいことになる。
各休符に対する重みの付け方や、改ページの適否の判断をするための休みの長さの閾値Ｎｋは、演奏者の要望などに応じて最適な値を採用することができる。
【００４７】
また、特定の文字又は記号として、図１２に示した休止する小節の連続数を示す数字も採用する場合には、その重みを図１１の休符の重み付けに合わせて設定すると、その数字をＮとしたとき、８×Ｎとすればよい。したがって、図１２に示すように、その数字が２，４，８のときの重みは、それぞれ１６，３２，６４になる。そのため、仮に前述の例のようにＮｋ＝８に設定した場合には、この数字が一つあれば、その数値の如何に係わらず改ページすると判断することになる。
あるいはまた、休符に代えて同じ音高の音符が連続する数を計数して、その合計の長さが所定値になった場合にも改ページするようにしてもよく、その場合には図１３におけるＳ３５′の判断を特定の音符とし、それをＳ４１〜Ｓ４４でその音符の種類別に計数し、Ｓ４５で図１１に示した各音符の重み付けをして総和ΣＮを計算し、その値が予め設定した値Ｎｋ以上になったら改ページすると判断すればよい。
【００４８】
前述した特定の休符の連続による判断と、休止する小節数を示す数字の有無による判断と、同じ音高の特定の音符の連続による判断とを併用して、休止する小節数を示す数字の有無による判断を最優先し、次に休符の連続による判断を最優先し、最後に同じ音高の特定の音符の連続による判断を採用して、改ページするようにしてもよい。休符による長い休止がない場合には、同じ音を長く伸ばしているときや、ゆっくりと音階的に変化するような覚えやすい音符が連続している箇所でも、その間は楽譜を読まなくても演奏できるので、改ページすることが可能である。
【００４９】
ここで、図４に示した総譜３０の先頭部分に記載されているメトロノーム記号３４で指定された数値によるテンポを考慮するとさらによい。
例えば、メトロノーム記号による四分音符の拍数をＭとしたとき、図１３のＳ４５で計算したΣＮの値に、６０／Ｍ乗じ、（６０／Ｍ）×ΣＮによって、実際の休みの時間を求めること、すなわち上記総和ΣＮを指定されたテンポを用いて時間に換算することができる。
例えば、総譜に記載されているメトロノーム記号が、四分音符＝１２０である場合、前述した例のΣＮ＝２×２＋４×１＝８の場合、
（６０／Ｍ）×ΣＮ＝（６０／１２０）×８＝４
となり、約４秒の休みがあることが分かる。したがって、改ページの適否判定のための閾値としては、５秒とか１０秒を指定しておくとよい。
【００５０】
〔第３実施例：図１４〕
上記第１及び第２実施例において、一応改ページの適否を判断して改ページを行って各パートのページ毎のパート譜データを各パートのメモリ領域に作成したが、それが必ずしも最適でなく、改ページが多すぎたり、より適切な改ページ位置が他にあったりする場合もある。
そこで、この実施例では一旦作成したパート譜データをチェックして改ページのチェックを行い、より適当な改ページ位置がある場合には、改ページ位置を変更する改ページ修正処理を設けたものである。
【００５１】
図１４は改ページ修正処理の概要を示すフローチャートである。
まず、Ｓ５１であるパート用のメモリ領域に記憶されているデータの改ページ（区切り）位置を先頭から２ヶ所ずつ探してチェックする。そして、Ｓ５２で、１ページ分の記憶容量に納まるデータ中に改ページ位置（改ページ記号）があったか否かを判断し、なければＳ５７で１ページ分の記憶容量の終わりの位置に改ページマークを入れて、図８等に示したメインルーチンへリターンする。
Ｓ５２の判断で改ページ位置があったときは、Ｓ５３に進んで２ヶ所あったか否かを判断し、２ヶ所なければ見付かった１ヶ所の改ページ位置をそのまま維持してリターンする。２ヶ所あったときには、Ｓ５４で前後の改ページ位置のいずれが適当かを判断して、前の方が適当と判断したときはＳ５６で後の改ページ記号を削除し、後の方が適当と判断したときはＳ５５で前の改ページ記号を削除して、Ｓ５１へ戻り、上述の処理を繰り返す。
それによって、さらに後に適切な改ページ位置があった場合には、その改ページ位置に変更する。
【００５２】
改ページ（区切り）位置のいずれが適当か、その妥当性を判断する方法の例を説明する。例えば、パート譜の１ページ内にできるだけ多くの楽譜データが収まって、しかもはみ出さないことを判断の条件に加える。これは、総譜では音符や休符の数が多いパートも少ないパートも同じように並べて記されているが、パート譜にする場合、音符や休符の数を一定にいておいた方がよく、例えば休符が１つだけ入っている大きな小節がいくつも並ぶよりは、小節の大きさを小さくして多くの音符や休符を並べた方が読みやすいからである。
そのため、例えば１ページに収納する音符と休符の大まかな数を予め決めておき、１ページの音符と休符の数がその決められた数に近い方で且つ１ページ分の記憶容量を越えない方の改ページ位置をより妥当と判断する。
【００５５】
また、改ページの妥当性を判断する際に、見開きになるパート譜を作成する場合には、奇数ページと偶数ページとではその改ページ判断の妥当性の判断基準を変える方がよい。具体的には、見開きで２ページ分が表示され、左側に偶数ページ、右側に奇数ページが表示されるときは、偶数ページから奇数ページへの移りはページをめくらないのでたいした時間は必要なく、逆に奇数ページから偶数ページへの移りは、ページめくりを伴うため時間が必要である。
そこで、現在作成しているページが奇数ページか偶数ページかによって、改ページを判断する閾値を代えるとよい。この場合，閾値として奇数ページの場合の値を偶数ページの場合の値よりも大きくするのが好ましい。
【００５６】
上記説明した全ての実施例の発明では、電子的なデータとしてスキャナから入力するかあるいは通信ネットワークを通して送られてきた総譜データを入力して、それをパート譜のデータに分割して編集し、それをプリンタによって紙に印刷して出力するか、あるいはそれを通信ネットワークを介して予め決められた端末装置へ配信する例について説明した。
しかし、作成したパート譜のデータをイメージデータに変換してファクシミリへ転送したり、あるいはフォロッピディスクやＣＤ−ＲＯＭなどの記憶媒体に出力して、演奏者に郵送あるいは手渡しすることもできる。
【００５７】
なお、これまでの説明では、総譜からパート譜を作り、それぞれの演奏家に配信することを述べてきたが、配信先は必要とする人ならば演奏家に限定するものではない。場合によっては、全てのパート譜が1人の人に送付されることもありうる。
また、この発明を総譜からパート譜を作成するだけでなく、他の電子的著作物から二次的著作物を作成するためにも応用可能である。
【００５８】
【発明の効果】
以上説明してきたように、この発明による楽譜編集装置を使用すれば、作曲家が作成した総譜から、写譜業者がパート譜に書き直すのと同じような各パートのパート譜を自動的に作成できるので、写譜に要する時間と費用を削減できる。また、作成したパート譜のデータを、必要に応じて各パートの演奏者等に通信ネットワークを通して配信することも可能であり、それによって一層の時間とコストの節減を図ることができる。
その結果、作曲家による作品の完成が多少遅れてもパート譜の作成に及ぼす影響は小さくなる。また、書き間違いのない正確なパート譜を作成できるなど、数々のメリットが得られることとなる。
【図面の簡単な説明】
【図１】  この発明による楽譜編集装置の基本的な構成を示す機能ブロック図である。
【図２】  この発明による楽譜編集装置を使用したパート譜配信システムの構成例を示す概念図である。
【図３】  図２に示した楽譜編集装置のより具体的な構成例を示すブロック図である。
【図４】  この発明の各実施例の説明に使用する総譜の一例を示す図である。
【図５】  図３に示した楽譜編集装置による楽譜編集処理の基本的な動作を示すフロー図である。
【図６】  同じくその基本的な動作に追加する処理の部分のみを示すフロー図である。
【図７】  同じくその基本的な動作に追加する他の処理の部分のみを示すフロー図である。
【図８】  同じくその基本的な動作に追加するさらに他の処理の部分のみを示すフロー図である。
【図９】  同じくこの発明の第１実施例の図８と異なる部分のみを示すフロー図である。
【図１０】  同じくその改ページの判断をする部分のみを示すフロー図である。
【図１１】  この発明の実施例で使用する特定の休符および音符と重み付けの例を示す説明図である。
【図１２】  この発明の実施例で使用する休止する小節が連続することを示す記号と数字の例および重み付けの例を示す説明図である。
【図１３】  この発明の第２実施例の図８と異なる部分のみを示すフロー図である。
【図１４】  この発明の第３実施例の改ページ修正処理のフロー図である。
【図１５】  従来の電子出版システムの一例を示すブロック構成図である。
【符号の説明】
Ａ：総譜データ入力手段    Ｂ：編集手段
Ｃ：出力手段          １：楽譜編集装置
２：パソコン（編集手段、配信による出力手段）
３：スキャナ（総譜データ入力手段）
４：プリンタ「（印刷による出力手段）
５：通信ネットワーク
６，７，８：配信先となるパソコン
１１：マイクロプロセッサ（ＣＰＵ）
１２：リードオンリメモリ（ＲＯＭ）
１３:ランダムアクセスメモリ（ＲＡＭ）
１６：フロッピディスクドライブ（ＦＤＤ）
１７：ハードディスクドライブ（ＨＤＤ）
２１：システムバス    ２２：キーボード
２３：ディスプレイ    ３０：総譜
【図１】
0003801939.tif 000002
【図２】
0003801939.tif 000003
【図３】
0003801939.tif 000004
【図４】
0003801939.tif 000005
【図５】
0003801939.tif 000006
【図６】
0003801939.tif 000007
【図７】
0003801939.tif 000008
【図８】
0003801939.tif 000009
【図９】
0003801939.tif 000010
【図１０】
0003801939.tif 000011
【図１１】
0003801939.tif 000012
【図１２】
0003801939.tif 000013
【図１３】
0003801939.tif 000014
【図１４】
0003801939.tif 000015
【図１５】
0003801939.tif 000016