(57)【特許請求の範囲】
【請求項１】
演奏データが示す楽音の音高に応じて、該楽音を示す音符を高音部五線または低音部五線に自動的に振り分けて表示する楽譜表示装置において、
演奏データが示す楽音のそれぞれについて各音高ごとの発音回数の分布を作成する分布作成手段と、
前記分布作成手段によって作成された分布に基づいて、前記分布の示す２つの山の谷間を検出する検出手段と、
前記検出手段によって検出された前記分布の示す２つの山の谷間に位置する音高を、高音部五線と低音部五線とに振り分けて音符を表示する際の分割点とする分割点設定手段と
を有する楽譜表示装置。
【請求項２】
請求項１に記載の楽譜表示装置において、
前記分布作成手段は、前記作成された分布から移動平均値の分布を取得する移動平均取得手段を有し、
前記検出手段は、前記移動平均取得手段により取得された移動平均値の分布から前記分布の示す２つの山の谷間を検出するものである楽譜表示装置。
【請求項３】
演奏データが示す楽音の音高に応じて、該楽音を示す音符を高音部五線または低音部五線に自動的に振り分けて表示する楽譜表示装置において、
演奏データが示す楽音のそれぞれについて各音高ごとの発音回数を検出する検出手段と、
前記検出手段の検出結果に基づいて、前記演奏データが示す楽音についての発音回数を考慮した平均音高を、高音部五線と低音部五線とに振り分けて音符を表示する際の分割点とする分割点設定手段と
を有する楽譜表示装置。
【請求項４】
演奏データが示す楽音の音符を高音部五線または低音部五線に自動的に表示する楽譜表示装置において、
演奏データが示す楽音の最低音と最高音との音域が所定の音域以内であるか否かを検出する検出手段と、
前記検出手段によって前記演奏データが示す楽音の最低音と最高音との音域が所定の音域以内であると検出されたときに、前記演奏データが示す楽音の音符を高音部五線または低音部五線のいずれか一方にのみ表示するように制御する表示制御手段と
を有する楽譜表示装置。
【請求項５】
請求項１または請求項２のいずれか１項に記載の楽譜表示装置において、
前記分割点設定手段は、前記分布作成手段によって作成された分布に基づいて前記演奏データが示す楽音のそれぞれについて各音高ごとの発音回数が所定のスレショルド値を超えない音高の範囲に分割点を設定する楽譜表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽譜表示装置に関し、さらに詳細には、楽譜を高音部五線と低音部五線とに分けて表示する楽譜表示装置に関する。
【０００２】
【従来の技術】
従来の楽譜表示装置として、例えば、実公平１−３６２３１号公報に開示された楽譜表示装置が知られている。
【０００３】
この実公平１−３６２３１号公報に開示された楽譜表示装置は、ユーザーが電子鍵盤楽器などを演奏することにより生成される演奏データや記憶媒体に予め記憶された演奏データなどを自動的に楽譜化して表示するものであり、演奏データが示す楽音の音高データおよび音長データに基づいて、表示すべき音符の音高および種類を検出し、この検出結果に基づいて楽譜を自動的に表示するものである。
【０００４】
そして、上記検出結果に基づいて楽譜を自動的に表示する際に、表示部に高音部五線と低音部五線とを表示し、予め設定された音高（例えば、第三オクターブのＣ音（Ｃ３）とする。）を基準として、音高データに基づき表示すべき音符の音高が高音であるか低音であるかを検出し、高音である場合には当該音符を高音部五線に表示するようにし、一方、低音である場合には当該音符を低音部五線に表示するようにしたものである。
【０００５】
従って、上記したような楽譜表示装置によれば、右手で演奏するのが望ましい高音部の音域の音符をト音記号による高音部五線（右手用楽譜：高音部譜表）に表示し、左手で演奏するのが望ましい低音部の音域の音符をヘ音記号による低音部五線（左手用楽譜：低音部譜表）に表示したピアノの用の楽譜（大譜表）を、右手と左手との区別なく記録された演奏データ（ＭＩＤＩ規格によりリアルタイムで演奏された演奏データやスタンダードミディファイル（Ｓｔａｎｄａｒｄ  ＭＩＤＩ  Ｆｉｌｅ：ＳＭＦ）による演奏データなど）から自動的に作成することができるものであった。
【０００６】
しかしながら、上記した従来の楽譜表示装置にあっては、楽譜に表示すべき音符を高音部五線（右手用楽譜）と低音部五線（左手用楽譜）とに振り分ける際に、予め設定された音高（例えば、第三オクターブのＣ音（Ｃ３）とする。）を基準として振り分けていたため、例えば、楽曲の性質の上からは本来は右手で演奏することが好ましい音符（例えば、第三オクターブのＢ音（Ｂ３）の音高の音符など。）が、左手用の低音部五線に表示されてしまう恐れがあるという問題点あった。
【０００７】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する問題点に鑑みてなされたものであり、その目的とするところは、ユーザーが楽器を演奏することにより生成される演奏データや記憶媒体に予め記憶された演奏データなどを自動的に楽譜化して表示する際に、当該演奏データの示す楽曲の性質上から、本来は右手で演奏することが好ましい音符は高音部五線に、また、本来は左手で演奏することが好ましい音符は低音部五線に表示できるようにして、より一層見やすい楽譜表示を実現した楽譜表示装置を提供しようとするものである。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明による楽譜表示装置は、演奏データが示す楽音のそれぞれについて各音高ごとの発音回数の分布を作成した際に、当該分布が示す２つの山の谷間に位置する音高を高音部五線と低音部五線とに振り分けて音符を表示する際のスプリットポイント（分割点）とすると、良好な楽譜表示を行うことができるという、本願発明者による実験結果に着目してなされたものである。
【０００９】
即ち、本発明による楽譜表示装置は、上記した実験結果を利用して、楽譜表示する演奏データのうちで右手で演奏することが望ましい音域を高音部五線に割り当てて表示させるとともに、楽譜表示する演奏データのうちで左手で演奏することが望ましい音域を低音部五線に割り当てて表示させ、また、演奏データの示す全音域に基づいて当該全音域を高音部と低音部との２つの音域に分割するか否かについても判断するようにしたものである。
【００１０】
つまり、本発明による楽譜表示装置は、予め記憶された演奏データを楽譜表示する際に、当該演奏データの先頭から末尾までに記録された楽音のそれぞれについての各音高ごとの発音回数から、右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とを判定するようにしている。
【００１１】
なお、演奏データの先頭から末尾までに記録された楽音のそれぞれについて各音高ごとの発音回数とは、例えば、演奏データがＭＩＤＩ規格に従って生成されている場合には、各ノートナンバ（ＭＩＤＩ規格における音高データである。）ごとのノートオン（ＭＩＤＩ規格における発音開始指示データである。）の回数に相当する。
【００１２】
また、本発明による楽譜表示装置は、上記した右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）との判定に際しては、演奏データの先頭から末尾までに記録された楽音のそれぞれについての各音高ごとの発音回数の分布から、当該分布の示す２つの山の谷間をスプリットポイントとして抽出して、右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別するものである。
【００１３】
即ち、本発明のうち請求項１に記載の発明は、演奏データが示す楽音の音高に応じて、該楽音を示す音符を高音部五線または低音部五線に自動的に振り分けて表示する楽譜表示装置において、演奏データが示す楽音のそれぞれについて各音高ごとの発音回数の分布を作成する分布作成手段と、上記分布作成手段によって作成された分布に基づいて、上記分布の示す２つの山の谷間を検出する検出手段と、上記検出手段によって検出された上記分布の示す２つの山の谷間に位置する音高を、高音部五線と低音部五線とに振り分けて音符を表示する際の分割点とする分割点設定手段とを有するようにしたものである。
【００１４】
また、本発明のうち請求項２に記載の発明は、本発明のうち請求項１に記載の発明において、上記分布作成手段は、上記作成された分布から移動平均値の分布を取得する移動平均取得手段を有し、上記検出手段は、上記移動平均取得手段により取得された移動平均値の分布から上記分布の示す２つの山の谷間を検出するようにしたものである。
【００１５】
また、本発明のうち請求項３に記載の発明は、演奏データが示す楽音の音高に応じて、該楽音を示す音符を高音部五線または低音部五線に自動的に振り分けて表示する楽譜表示装置において、演奏データが示す楽音のそれぞれについて各音高ごとの発音回数を検出する検出手段と、上記検出手段の検出結果に基づいて、上記演奏データが示す楽音についての発音回数を考慮した平均音高を、高音部五線と低音部五線とに振り分けて音符を表示する際の分割点とする分割点設定手段とを有するようにしたものである。
【００１６】
また、本発明のうち請求項４に記載の発明は、演奏データが示す楽音の音符を高音部五線または低音部五線に自動的に表示する楽譜表示装置において、演奏データが示す楽音の最低音と最高音との音域が所定の音域以内であるか否かを検出する検出手段と、上記検出手段によって上記演奏データが示す楽音の最低音と最高音との音域が所定の音域以内であると検出されたときに、上記演奏データが示す楽音の音符を高音部五線または低音部五線のいずれか一方にのみ表示するように制御する表示制御手段とを有するようにしたものである。
また、本発明のうち請求項５に記載の発明は、本発明のうち請求項１または請求項２のいずれか１項に記載の発明において、上記分割点設定手段は、上記分布作成手段によって作成された分布に基づいて上記演奏データが示す楽音のそれぞれについて各音高ごとの発音回数が所定のスレショルド値を超えない音高の範囲に分割点を設定するようにしたものである。
【００１７】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による楽譜表示装置の実施の形態の一例を詳細に説明する。
【００１８】
なお、以下の説明においては、本発明の理解を容易にするために、従来の技術を適用できる技術内容の説明は省略し、本発明の実施に関連する技術内容である、楽譜を表示する際における高音部五線と低音部五線とへの振り分けの処理についてのみ詳細に説明するものとする。
【００１９】
まず、図１には、本発明の実施の形態の一例による楽譜表示装置のブロック構成図が示されている。
【００２０】
この楽譜表示装置は、ＭＩＤＩ規格に従って動作するものであり、その全体の動作の制御を中央処理装置（ＣＰＵ）１０を用いて制御するように構成されている。
【００２１】
そして、ＣＰＵ１０には、バス（ＢＵＳ）１２を介して、全体の動作の制御のための所定のプログラムなどが格納されたリードオンリメモリ（ＲＯＭ）１４と、ＭＩＤＩ規格に従って動作する外部装置としての電子楽器などによリアルタイムで演奏された演奏データや外部記録媒体としてのフロッピーディスク（ＦＤ）１６から転送されたＳＭＦによる演奏データを記憶する領域やＣＰＵ１０によるプログラムの実行に必要な各種レジスタ群などが設定されたワーキング・エリアとしてのランダムアクセスメモリ（ＲＡＭ）１８と、本楽譜表示装置の電源のオン／オフなどを行うオン／オフ操作子、楽譜表示の開始／終了を指示するスタート／ストップ操作子ならびにＲＡＭ１８に転送する演奏データを選択する演奏データ選択操作子などを備えた操作子部２０と、ＦＤ１６に格納されたＳＭＦによる演奏データを読み出してＲＡＭ１８に転送するためのフロッピーディスクドライブ（ＦＤＤ）２２を制御するフロッピーディスクコントローラ（ＦＤＣ）２４と、外部装置としての電子楽器などからＭＩＤＩ規格による演奏データを入力してＲＡＭ１８に転送するためのＭＩＤＩ入力部２６と、ト音記号を備えた高音部五線（高音部譜表）とヘ音記号を備えた低音部五線（低音部譜表）との両方を含む大譜表（ピアノ用の楽譜）を表示可能な表示部２８とが接続されている。
【００２２】
なお、表示部２８は、液晶ディスプレイやＣＲＴなどにより構成することができる。
【００２３】
以上の構成において、図２に示す楽譜表示処理ルーチンのフローチャートならびに図３乃至図４に示す当該楽譜表示処理ルーチンのサブルーチンであるスプリットポイント抽出処理ルーチンのフローチャートを参照しながら、上記した楽譜表示装置により実行される処理について説明する。
【００２４】
なお、以下の説明においては、表示すべき音符を高音部五線あるいは低音部五線に分別して振り分けて表示する処理（図２乃至図４に示すフローチャートにより実現される処理）以外の楽譜表示に関する処理については、従来の楽譜表示装置と同様な処理を行えばよいものであるので、その詳細な説明は省略する。
【００２５】
この楽譜表示装置においては、操作子部２０の演奏データ選択操作子の操作に基づき、ＦＤＤ２２を介してＦＤ１６に記憶されたＳＭＦをコンバートしてＲＡＭ１８に演奏データを取り込んで記憶するか、あるいはＭＩＤＩ入力部２６を介して電子楽器などからリアルタイムレコードによりＲＡＭ１８に演奏データを取り込んで記憶するかを選択する。
【００２６】
そして、操作子部２０のスタート／ストップ操作子により楽譜表示の開始が指示されると、図２に示す楽譜のフローチャートならびに公知の技術に基づいて、ＲＡＭ１８に記憶された演奏データを読み出して、当該演奏データに基づく楽譜表示を行う。
【００２７】
ここで、図２に示す楽譜表示処理ルーチンのフローチャートならびに図３乃至図４に示す当該楽譜表示処理ルーチンのサブルーチンであるスプリットポイント抽出処理ルーチンのフローチャートにより実行される処理の概要について説明しておくと、当該フローチャートによっては次の（１）乃至（３）に示す処理が行われることになる。
【００２８】
（１）演奏データから得られたノートナンバの最小値（最低音）から最大値（最高音）までの音域が、１４音以下、即ち、１４種類以下のノートナンバにより構成されているものである場合には、高音部五線あるいは低音部五線のいずれか一方のみに当該演奏データの楽譜を表示する。
【００２９】
（２）演奏データから得られたノートナンバの分布から、当該分布の２つの山の谷間を抽出することができる場合には、当該谷間をスプリットポイントが存在する区間として推定するとともに、当該区間の中央をスプリットポイントとして設定し、当該スプリットポイントを基準として、演奏データを右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別して当該演奏データの楽譜を表示する。
【００３０】
（３）演奏データから得られたノートナンバの分布から、当該分布の２つの山の谷間を抽出することができない場合には、演奏データが示す楽音についての発音回数を考慮した平均音高を示すノートナンバをスプリットポイントとして設定し、当該スプリットポイントを基準として、演奏データを右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別して当該演奏データの楽譜を表示する。
【００３１】
以下に、図２に示す楽譜表示処理ルーチンのフローチャートに基づいて、表示すべき音符を高音部五線あるいは低音部五線に分別して振り分けて表示する処理に関して詳細に説明する。
【００３２】
まず、操作子部２０のスタート／ストップ操作子により楽譜表示の開始が指示されると、ステップＳ２０２において、ＲＡＭ１８に記憶されている楽譜表示の対象として選択された楽曲の演奏データを先頭から末尾まで読み出して、当該演奏データからノートナンバごとのノーオンの回数（「ノートオン」は電子鍵盤楽器における鍵盤の「押鍵」に対応するものであるので、以下においては、「ノートオンの回数」を「押鍵回数」として説明する。）を検出し、ノートナンバごとの押鍵回数の分布を作成する。
【００３３】
なお、上記したように、ＭＩＤＩ規格の演奏データにおいては、演奏データに記録された各ノートナンバ（ＭＩＤＩ規格における音高データである。）ごとのノートオン（ＭＩＤＩ規格における発音開始指示データである。）の回数が、演奏データに記録された楽音のそれぞれについての各音高ごとの発音回数に相当するものであるので、演奏データにおける「ノートナンバごとの押鍵回数」とは、演奏データが示す楽音のそれぞれについての「各音高ごとの発音回数」に一致する。
【００３４】
また、以下の処理においては、ステップＳ２０２の処理において作成されたノートナンバの分布の２つの山の谷間の音高をスプリットポイントとして抽出し、演奏データを高音部五線あるいは低音部五線に振り分けようとするための作業が行われる。
【００３５】
上記したステップＳ２０２の処理を終了すると、ステップＳ２０４の処理へ進み、ステップＳ２０２の処理において作成したノートナンバの分布に対して、移動平均をとる処理を行う。即ち、演奏データが示す楽曲の調などによっては、発音されないノートナンバが存在することになるが、こうしたノートナンバの抜けがある分布は、後述する処理に悪影響を与えることになるので、各ノートナンバの押鍵回数の移動平均値（ａｖｒｇ［ｊ］）を得て、分布の抜けがないようにするものである。
【００３６】
ここで、移動平均値（ａｖｒｇ［ｊ］）は、以下の式（１）に示す演算式を実行することにより得られる。
【００３７】
式（１）は、
ａｖｒｇ［ｊ］＝ｎｏｔｅｓ［ｊ］＋０．５×（ｎｏｔｅｓ［ｊ−１］＋ｎｏｔｅｓ［ｊ＋１］）  ・・・  式（１）
である。
【００３８】
ただし、
ｊ＝最小ノートナンバ（ノートナンバの最小値＝最低音）〜最大ノートナンバ（ノートナンバの最大値＝最高音）
ｎｏｔｅｓ［ｊ］：ｊ番目のノートナンバの押鍵回数
である。
【００３９】
上記したステップＳ２０４の処理を終了すると、ステップＳ２０６の処理へ進み、演奏データから得られたノートナンバの最小値から最大値までの区間において、スプリットポイントの探索を開始するノートナンバであるスプリットポイント探索開始ノートナンバＭＡを、以下の式（２）乃至式（４）に示す演算式を実行することにより得る。
【００４０】
式（２）乃至式（４）は、
ｓｕｍ＝Σ（ｊ×ａｖｒｇ［ｊ］）      ・・・  式（２）
ｎｕｍ＝Σａｖｒｇ［ｊ］              ・・・  式（３）
ＭＡ＝ｓｕｍ／ｎｕｍ                  ・・・  式（４）
である。
【００４１】
即ち、この実施の形態においては加重平均法を用いることにより、重み付けとして押鍵回数を考慮しつつノートナンバの平均値を得て、それをスプリットポイント探索開始ノートナンバＭＡとして設定している。
【００４２】
つまり、スプリットポイント探索開始ノートナンバＭＡは、演奏データが示す楽音についての発音回数を考慮した平均音高である。
【００４３】
また、ステップＳ２０６の処理においては、式（５）に示す演算式を実行することにより、スレショルド値ＴＨの設定も行う。
【００４４】
式（５）は、
ＴＨ＝ａｖｒｇ［ｊ］の最大値の１６％  ・・・  式（５）
である。
【００４５】
上記したステップＳ２０６の処理を終了すると、ステップＳ２０８の処理へ進み、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下、即ち、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の区間のノートナンバの種類が１４種類以下であるか否かを判断する。なお、この実施の形態においては、電子鍵盤楽器を演奏する場合において、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下であるならば、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）の間の音域を片手で演奏できるものと見なしている。
【００４６】
ここで、ステップＳ２０８の判断処理において、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下ではないと判断された場合には、ステップＳ２１０の処理へ進み、この楽譜表示処理ルーチンのサブルーチンであるスプリットポイント抽出処理ルーチンが起動されて実行される。このスプリットポイント抽出処理ルーチンにおいては、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）と間の区間について、スプリットポイントが存在する区間を推定する処理が行われるが、その詳細については、図３乃至図４に示すフローチャートを参照しながら後述する。
【００４７】
そして、ステップＳ２１０の処理を終了すると、ステップＳ２１２の処理へ進み、ステップＳ２１０の処理においてスプリットポイントＳＰを設定することができたか否かを判断する。
【００４８】
このステップＳ２１２の判断処理において、ステップＳ２１０の処理においてスプリットポイントＳＰを設定することができなかったと判断された場合には、ステップＳ２１４の処理へ進んで、スプリットポイント探索開始ノートナンバＭＡを強制的にスプリットポイントＳＰとして設定し、それからステップＳ２１６の処理へ進む。
【００４９】
一方、ステップＳ２１２の判断処理において、ステップＳ２１０の処理においてスプリットポイントＳＰを設定することができたと判断された場合には、ステップＳ２１６へジャンプして進む。
【００５０】
そして、ステップＳ２１６においては、スプリットポイントＳＰに指定されたノートナンバを境界として演奏データを音高部五線と低音部五線とに分別して楽譜表示する処理を行い、この楽譜表示処理ルーチンを終了する。
【００５１】
一方、ステップＳ２０８の判断処理において、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下であると判断された場合には、ステップＳ２１８の処理へ進み、スプリットポイント探索開始ノートナンバＭＡがＣ４（「Ｃ４」は、第四オクターブのＣ音である。）のノートナンバより大きいか否か、即ち、スプリットポイント探索開始ノートナンバＭＡの音高がＣ４より高いか否かを判断する。
【００５２】
なお、この実施の形態においては、上記したように初期値として「Ｃ４（第四オクターブのＣ音）」を設定したが、この初期値は、演奏データによって示される楽曲にふさわしい音高に適宜変更してもよい。
【００５３】
このステップＳ２１８の判断処理において、スプリットポイント探索開始ノートナンバＭＡがＣ４（「Ｃ４」は、第四オクターブのＣ音である。）のノートナンバより大きい、即ち、スプリットポイント探索開始ノートナンバＭＡの音高がＣ４より高い場合には、ステップＳ２２０へ進んで演奏データを音高部五線に楽譜表示する処理を行い、この楽譜表示処理ルーチンを終了する。
【００５４】
一方、ステップＳ２１８の判断処理において、スプリットポイント探索開始ノートナンバＭＡがＣ４（「Ｃ４」は、第四オクターブのＣ音である。）のノートナンバ以下より大きくない、即ち、スプリットポイント探索開始ノートナンバＭＡの音高がＣ４以下の音高である場合には、演奏データを低音部五線に楽譜表示する処理を行い、この楽譜表示処理ルーチンを終了する。
【００５５】
なお、上記したステップＳ２１６、ステップＳ２２０ならびにステップＳ２２２における「楽譜表示する処理」というのは、ノートオンに対応するノートナンバから当該ノートオンに対応する楽音の音高を求めるとともに、ノートオンに対応するノートオフから当該ノートオンに対応する楽音の音長を求め、楽譜の適正な位置に当該ノートオンに対応する音符を表示する処理を意味する。
【００５６】
次に、図３乃至図４に示すスプリットポイント抽出処理ルーチンのフローチャートに基づいて、楽譜表示処理ルーチンのステップＳ２１０におけるスプリットポイント抽出処理について詳細に説明する。
【００５７】
このスプリットポイント抽出処理ルーチンが起動されると、まず、ステップＳ３０２の処理において、スプリットポイントが存在すると推定される区間の上限値ＭＡＸを設定する。即ち、スプリットポイント探索開始ノートナンバＭＡから演奏データの最高音（最大ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨを越える押鍵回数のノートナンバを、スプリットポイントが存在すると推定される区間の上限値ＭＡＸとして設定する。
【００５８】
上記したステップＳ３０２の処理を終了すると、ステップＳ３０４の処理へ進み、スプリットポイントが存在すると推定される区間の下限値ＭＩＮを設定する処理を行う。即ち、スプリットポイント探索開始ノートナンバＭＡから演奏データの最低音（最小ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨを越える押鍵回数のノートナンバを、スプリットポイントが存在すると推定される区間の下限値ＭＩＮとして設定する。
【００５９】
上記したステップＳ３０４の処理を終了すると、ステップＳ３０６の処理へ進み、ステップＳ３０２の処理で設定した上限値ＭＡＸからステップＳ３０４の処理で設定した下限値ＭＩＮを減算した値が、所定値αより大きいか否かを判断する。
【００６０】
ここで、この実施の形態においては、ステップＳ３０２の処理で設定した上限値ＭＡＸからステップＳ３０４の処理で設定した下限値ＭＩＮを減算した値が所定値αより大きい場合には、上限値ＭＡＸと下限値ＭＩＮとの区間に、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布の２つの山の谷間が存在しているものと見なしている。
【００６１】
従って、ステップＳ３０６の判断処理を行うことにより、上記した分布の２つの山の谷間を検出することができる。
【００６２】
なお、所定値αは任意の値とすることができるが、本願発明者の実験によれば、「α＝１」とすることが好ましいものである。
【００６３】
このステップＳ３０６の判断処理において、ステップＳ３０２の処理で設定した上限値ＭＡＸからステップＳ３０４の処理で設定した下限値ＭＩＮを減算した値が所定値αより大きいと判断された場合には、ステップＳ３０８の処理へ進み、ステップＳ３０２の処理で設定した上限値ＭＡＸとステップＳ３０４の処理で設定した下限値ＭＩＮとを加算した加算結果を「２」で除算した値を、スプリットポイントＳＰとして設定する。
【００６４】
そして、上記したステップＳ３０８の処理を終了すると、楽譜表示処理ルーチンへリターンする。
【００６５】
一方、このステップＳ３０６の判断処理において、ステップＳ３０２の処理で設定した上限値ＭＡＸからステップＳ３０４の処理で設定した下限値ＭＩＮを減算した値が所定値α以下であると判断された場合には、ステップＳ３１０の処理へ進み、ステップＳ３０２の処理で設定した上限値ＭＡＸから演奏データの最高音（最大ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨ以下の押鍵回数のノートナンバを下限値ＭＩＮ１として設定する。
【００６６】
上記したステップＳ３１０の処理を終了すると、ステップＳ３１２の処理へ進み、ステップＳ３１０の処理において演奏データの最高音（最大ノートナンバ）に至るまでに下限値ＭＩＮ１を設定することができたか否かを判断する。
【００６７】
このステップＳ３１２の判断処理において、演奏データの最高音（最大ノートナンバ）に至るまでに下限値ＭＩＮ１を設定することができたと判断された場合には、ステップＳ３１４の処理へ進み、ステップＳ３１０の処理で設定した下限値ＭＩＮ１から演奏データの最高音（最大ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨを越える押鍵回数のノートナンバを上限値ＭＡＸ１として設定する。
【００６８】
上記したステップＳ３１４の処理を終了すると、ステップＳ３１６の処理へ進み、ステップＳ３１４の処理で設定した上限値ＭＡＸ１からステップＳ３１０の処理で設定した下限値ＭＩＮ１を減算した値が、所定値αより大きいか否かを判断する。
【００６９】
ここで、この実施の形態においては、ステップＳ３１４の処理で設定した上限値ＭＡＸ１からステップＳ３１０の処理で設定した下限値ＭＩＮ１を減算した値が所定値αより大きい場合には、上限値ＭＡＸ１と下限値ＭＩＮ１との区間に、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布の２つの山の谷間が存在しているものと見なしている。
【００７０】
従って、ステップＳ３１４の判断処理を行うことにより、上記した分布の２つの山の谷間を検出することができる。
【００７１】
なお、所定値αは任意の値とすることができるが、本願発明者の実験によれば、「α＝１」とすることが好ましいものである。
【００７２】
このステップＳ３１６の判断処理において、ステップＳ３１４の処理で設定した上限値ＭＡＸ１からステップＳ３１０の処理で設定した下限値ＭＩＮ１を減算した値が所定値αより大きいと判断された場合には、ステップＳ３１８の処理へ進み、ステップＳ３１４の処理で設定した上限値ＭＡＸ１とステップＳ３１０の処理で設定した下限値ＭＩＮ１とを加算した加算結果を「２」で除算した値を、スプリットポイント候補ＳＰ１として設定する。
【００７３】
そして、上記したステップＳ３１８の処理を終了すると、ステップＳ３２０の処理へ進む。
【００７４】
一方、ステップＳ３１２の判断処理において、演奏データの最高音（最大ノートナンバ）に至るまでに下限値ＭＩＮ１を設定することができなかったと判断された場合には、ステップＳ３２０の処理へジャンプして進み、また、ステップＳ３１６の処理において、ステップＳ３１４の処理で設定した上限値ＭＡＸ１からステップＳ３１０の処理で設定した下限値ＭＩＮ１を減算した値が所定値α以下であると判断された場合にも、ステップＳ３２０の処理へジャンプして進む。
【００７５】
そして、ステップＳ３２０の処理においては、ステップＳ３０４の処理で設定した下限値ＭＩＮから演奏データの最低音（最小ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨ以下の押鍵回数のノートナンバを上限値ＭＡＸ２として設定する。
【００７６】
上記したステップＳ３２０の処理を終了すると、ステップＳ３２２の処理へ進み、ステップＳ３２０の処理において演奏データの最低音（最小ノートナンバ）に至るまでに上限値ＭＡＸ２を設定することができたか否かを判断する。
【００７７】
このステップＳ３２２の判断処理において、演奏データの最低音（最小ノートナンバ）に至るまでに上限値ＭＡＸ２を設定することができたと判断された場合には、ステップＳ３２４の処理へ進み、ステップＳ３１４の処理で設定した上限値ＭＡＸ２から演奏データの最低音（最小ノートナンバ）の方向に向かって各ノートナンバを順次探索し、各ノートナンバの押鍵回数とスレショルド値ＴＨとを比較して、スレショルド値ＴＨを越える押鍵回数のノートナンバを下限値ＭＩＮ２として設定する。
【００７８】
上記したステップＳ３２４の処理を終了すると、ステップＳ３２６の処理へ進み、ステップＳ３２４の処理において演奏データの最低音（最小ノートナンバ）に至るまでに下限値ＭＩＮ２を設定することができたか否かを判断する。
【００７９】
このステップＳ３２６の判断処理において、ステップＳ３２４の処理において演奏データの最低音（最小ノートナンバ）に至るまでに下限値ＭＩＮ２を設定することができたと判断された場合には、ステップＳ３２８の処理へ進み、ステップＳ３２０の処理で設定した上限値ＭＡＸ２からステップＳ３２４の処理で設定した下限値ＭＩＮ２を減算した値が、所定値αより大きいか否かを判断する。
【００８０】
ここで、この実施の形態においては、ステップＳ３２０の処理で設定した上限値ＭＡＸ２からステップＳ３２４の処理で設定した下限値ＭＩＮ２を減算した値が所定値αより大きい場合には、上限値ＭＡＸ２と下限値ＭＩＮ２との区間に、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布の２つの山の谷間が存在しているものと見なしている。
【００８１】
従って、ステップＳ３２８の判断処理を行うことにより、上記した分布の２つの山の谷間を検出することができる。
【００８２】
なお、所定値αは任意の値とすることができるが、本願発明者の実験によれば、「α＝１」とすることが好ましいものである。
【００８３】
このステップＳ３２８の判断処理において、ステップＳ３２０の処理で設定した上限値ＭＡＸ２からステップＳ３２４の処理で設定した下限値ＭＩＮ２を減算した値が所定値αより大きいと判断された場合には、ステップＳ３３０の処理へ進み、ステップＳ３２０の処理で設定した上限値ＭＡＸ２とステップＳ３２４の処理で設定した下限値ＭＩＮ２とを加算した加算結果を「２」で除算した値を、スプリットポイント候補ＳＰ２として設定する。
【００８４】
そして、このステップＳ３３０の処理を終了すると、ステップＳ３３２の処理へ進む。
【００８５】
一方、ステップＳ３２８の判断処理において、ステップＳ３２０の処理で設定した上限値ＭＡＸ２からステップＳ３２４の処理で設定した下限値ＭＩＮ２を減算した値が所定値α以下であると判断された場合にも、ステップＳ３３２の処理へ進む。
【００８６】
そして、ステップＳ３３２の処理においては、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とが両方とも設定できたか否かを判断する。
【００８７】
このステップＳ３３２の判断処理において、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とが両方とも設定できたと判断された場合には、ステップＳ３３４の処理へ進み、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とのうちでスプリットポイント探索開始ノートナンバＭＡに近い方のノートナンバを、スプリットポイントＳＰとして設定する。
【００８８】
ここで、２つのスプリットポイント候補ＳＰ１，ＳＰ２のうちでスプリットポイント探索開始ノートナンバＭＡに近い方のノートナンバをスプリットポイントＳＰとして設定するということは、即ち、スプリットポイントとなるようなスプリットポイント候補の谷間が複数個あるときは（この実施の形態においては、スプリットポイント候補ＳＰ１，ＳＰ２の２個である。）、発音回数を考慮した平均音高に近いスプリットポイント候補をスプリットポイントＳＰとするということである。
【００８９】
そして、このステップＳ３３４の処理を終了すると、楽譜表示処理ルーチンへリターンする。
【００９０】
一方、ステップＳ３２２の判断処理において、演奏データの最低音（最小ノートナンバ）に至るまでに上限値ＭＡＸ２を設定することができなかったと判断された場合、ステップＳ３２６の判断処理において、演奏データの最低音（最小ノートナンバ）に至るまでに下限値ＭＩＮ２を設定することができなかったと判断された場合、ならびに、ステップＳ３３２の判断処理において、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とが両方とも設定できたとは判断されなかった場合には、ステップＳ３３６の処理へ進む。
【００９１】
そして、ステップＳ３３６の処理においては、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とのどちらか一方が設定できたか否かを判断する。
【００９２】
このステップＳ３３６の判断処理において、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とのどちらか一方が設定できたと判断された場合には、ステップＳ３３８の処理へ進み、設定できた方のスプリットポイント候補をスプリットポイントＳＰとして設定する。
【００９３】
そして、このステップＳ３３８の処理を終了すると、楽譜表示処理ルーチンへリターンする。
【００９４】
一方、このステップＳ３３６の判断処理において、スプリットポイント候補ＳＰ１とスプリットポイント候補ＳＰ２とのどちらか一方が設定できたとは判断されなかった場合には、ステップＳ３４０の処理へ進み、スプリットポイントＳＰの設定ができないものとし、楽譜表示処理ルーチンへリターンする。
【００９５】
従って、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布が図５（ａ）に示すものである場合には、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下、即ち、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の区間のノートナンバの種類が１４種類以下であるので、演奏データを高音部五線または低音部五線のいずれか一方にのみ表示させることになる（ステップＳ２０８→ステップＳ２１８）。
【００９６】
また、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布が図６（ａ）に示すものである場合には、上限値ＭＡＸから下限値ＭＩＮを減算した値が所定値αより大きく、当該分布から当該分布の２つの山の谷間を検出することができるものとして、当該谷間をスプリットポイントが存在する区間として推定するとともに、当該区間の中央をスプリットポイントＳＰとして設定し（ステップＳ３０８→ステップＳ３０８）、当該スプリットポイントＳＰを基準として、演奏データを右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別して当該演奏データの楽譜を表示させることになる。
【００９７】
さらに、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布が図７（ａ）に示すものである場合には、上限値ＭＡＸ２から下限値ＭＩＮ２を減算した値が所定値αより大きく、当該分布から当該分布の２つの山の谷間を検出することができるものとして、当該谷間をスプリットポイントが存在する区間として推定するとともに、当該区間の中央をスプリットポイントＳＰとして設定し（ステップＳ３２８→ステップＳ３３０）、当該スプリットポイントＳＰを基準として、演奏データを右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別して当該演奏データの楽譜を表示させることになる。
【００９８】
さらにまた、ステップＳ２０２の処理により作成されたノートナンバごとの押鍵回数の分布が図８（ａ）に示すものである場合には、当該分布から当該分布の２つの山の谷間を検出することができないものとして、演奏データが示す楽音についての発音回数を考慮した平均音高を示すノートナンバをスプリットポイントＳＰとして設定し（ステップＳ３４０→ステップＳ２１４）、当該スプリットポイントを基準として、演奏データを右手で演奏することが相応しい音域（音高部五線に表示すべき音域）と左手で演奏することが相応しい音域（低音部五線に表示すべき音域）とに分別して当該演奏データの楽譜を表示させることになる。
【００９９】
従って、この楽譜表示装置によれば、演奏データのノートナンバの分布に応じてスプリットポイントが変化されるので、楽曲の性質上から右手で演奏することがふさわしい高音部の音符は高音部五線に表示し、また左手で演奏することがふさわしい低音部の音符は低音部五線に表示するというように、楽曲の音高の流れにふさわしい状態で楽譜表示を行うことができる。
【０１００】
また、この楽譜表示装置によれば、ユーザーが電子鍵盤楽器を演奏する際の情報として、片手で演奏したのか両手で演奏したのかを示す情報や、鍵盤のいずれの鍵を右手あるいは左手で演奏したのかを示す情報がない場合でも、右手と左手でそれぞれ演奏するのに好ましいように、ユーザーが演奏した楽曲の演奏データの楽譜を高音部五線と低音部五線とに分割して表示することができる。
【０１０１】
なお、上記した実施の形態は、以下（１）乃至（８）に示すように変形してもよい。
【０１０２】
（１）上記した実施の形態においては、ＭＩＤＩ規格ならびにＭＩＤＩ規格に従ったＳＭＦによる演奏データの処理に関して説明したが、これに限られるものではないことは勿論であり、ＭＩＤＩ規格以外の演奏データを取り扱うようにしてもよい。
【０１０３】
（２）上記した実施の形態においては、液晶ディスプレイやＣＲＴなどの表示部２０に楽譜を表示する場合に関して説明したが、表示部２０に表示する楽譜を、プリンターなどにより紙片に印刷表示するようにしてもよい。
【０１０４】
（３）上記した実施の形態においても説明しているが、本発明は、ユーザーが予め録音した演奏データの処理に対して適用することができるばかりでなく、予め記憶された演奏データの処理に対して適用してもよい。
【０１０５】
（４）上記した実施の形態においては、ある楽曲の全ての演奏データについてノートナンバごとの押鍵回数の分布を作成してスプリットポイントを求めたが、これに限られるものではないことは勿論であり、例えば、いくつかの小節ごとに、当該いくつかの小節分の演奏データについてノートナンバごとの押鍵回数の分布をそれぞれ作成してスプリットポイントをそれぞれ求め、当該いくつかの小節単位でスプリットポイントを変化させてもよい。また、こうしたスプリットポイントを変化させる単位は小節に限るものではなく、適宜任意の音楽的な単位を用いることができるものであり、例えば、楽曲が複数の楽章で構成されているような場合には楽章ごとでもよい。
【０１０６】
（５）上記した実施の形態においては、スレショルド値ＴＨを各ノートナンバの押鍵回数の移動平均値（ａｖｒｇ［ｊ］）の最大値の１６％としたが、これに限られるものではないことは勿論であり、任意の値を設定することができるものである。
【０１０７】
（６）上記した実施の形態においては、各ノートナンバの押鍵回数の移動平均値（ａｖｒｇ［ｊ］）を、
ａｖｒｇ［ｊ］＝ｎｏｔｅｓ［ｊ］＋０．５×（ｎｏｔｅｓ［ｊ−１］＋ｎｏｔｅｓ［ｊ＋１］）  ・・・  式（１）
により求めたが、これに限られるものではないことは勿論であり、任意の演算式を用いてもよい。
【０１０８】
（７）上記した実施の形態においては、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の音域が１４音以下、即ち、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）との間の区間のノートナンバの種類が１４種類以下であるならば、演奏データの最高音（最大ノートナンバ）と最低音（最小ノートナンバ）の間の音域を片手で演奏できるものと見なして、演奏データを高音部五線または低音部五線のいずれか一方にのみ表示するようにしたが、その基準音域は本実施の形態に示す１４音に限られるものではないことは勿論であり、１３半音以下の任意の音域でもよいし、１４半音以上の任意の音域でもよい。
【０１０９】
（８）上記した実施の形態ならびに上記した（１）乃至（７）に示す変形例を、適宜に組み合わせるようにしてもよい。
【０１１０】
【発明の効果】
本発明は、以上説明したように構成されているので、ユーザーが楽器を演奏することにより生成される演奏データや記憶媒体に予め記憶された演奏データなどを自動的に楽譜化して表示する際に、当該演奏データの示す楽曲の性質上から、本来は右手で演奏することが好ましい音符は高音部五線に、また、本来は左手で演奏することが好ましい音符は低音部五線に表示できるようになり、より一層見やすい楽譜表示を実現することができるようになるという優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施の形態の一例による楽譜表示装置のブロック構成図である。
【図２】楽譜表示処理ルーチンのフローチャートである。
【図３】楽譜表示処理ルーチンのサブルーチンであるスプリットポイント抽出処理ルーチンのフローチャートである。
【図４】楽譜表示処理ルーチンのサブルーチンであるスプリットポイント抽出処理ルーチンのフローチャートである。
【図５】本発明による楽譜表示装置の処理内容を示す説明図であり、（ａ）は楽譜として表示する対象の演奏データにおけるノートナンバごとの押鍵回数の分布を示し、（ｂ）は（ａ）に示す分布に対して移動平均をとったものである。
【図６】本発明による楽譜表示装置の処理内容を示す説明図であり、（ａ）は楽譜として表示する対象の演奏データにおけるノートナンバごとの押鍵回数の分布を示し、（ｂ）は（ａ）に示す分布に対して移動平均をとったものである。
【図７】本発明による楽譜表示装置の処理内容を示す説明図であり、（ａ）は楽譜として表示する対象の演奏データにおけるノートナンバごとの押鍵回数の分布を示し、（ｂ）は（ａ）に示す分布に対して移動平均をとったものである。
【図８】本発明による楽譜表示装置の処理内容を示す説明図であり、（ａ）は楽譜として表示する対象の演奏データにおけるノートナンバごとの押鍵回数の分布を示し、（ｂ）は（ａ）に示す分布に対して移動平均をとったものである。
【符号の説明】
１０      中央処理装置（ＣＰＵ）
１２      バス（ＢＵＳ）
１４      リードオンリメモリ（ＲＯＭ）
１６      フロッピーディスク（ＦＤ）
１８      ランダムアクセスメモリ（ＲＡＭ）
２０      操作子部
２２      フロッピーディスクドライブ（ＦＤＤ）
２４      フロッピーディスクコントロール（ＦＤＣ）
２６      ＭＩＤＩ入出力部
２８      表示部
【図１】
0004509298.tif 000002
【図２】
0004509298.tif 000003
【図３】
0004509298.tif 000004
【図４】
0004509298.tif 000005
【図５】
0004509298.tif 000006
【図６】
0004509298.tif 000007
【図７】
0004509298.tif 000008
【図８】
0004509298.tif 000009