(57)【特許請求の範囲】
【請求項１】
楽譜画像データと曲を構成する複数の音符データとを記憶する記憶手段と、
前記記憶手段に記憶される楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得手段と、
前記取得手段により取得された配置範囲における音符の位置を、前記記憶手段に記憶される音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値、および当該検出された音符位置を位置候補として抽出する抽出手段と、
前記抽出手段により抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最もマッチング値の高い位置候補の検出位置を音符の位置と判別する判別手段と
を具備することを特徴とする音符位置検出装置。
【請求項２】
前記抽出手段は、音符データを用いて推定した位置が、前記取得手段により取得された配置範囲外ならば、その推定した位置を除外する推定位置除外手段を備えることを特徴とする請求項１記載の音符検出装置。
【請求項３】
前記抽出手段により抽出された位置候補のマッチング値を発音時刻で補正する補正手段を更に備えることを特徴とする請求項１記載の音符位置検出装置。
【請求項４】
前記判別手段は、前記抽出手段により抽出された位置候補の中から位置候補同士の距離が五線幅以内の場合をカウントし、そのカウント値が２以上の位置候補を削除することを特徴とする請求項１記載の音符位置検出装置。
【請求項５】
前記判別手段は、位置候補が単一であるものを優先して、その単一の位置候補と同じ位置の位置候補を削除することを特徴とする請求項１記載の音符位置検出装置。
【請求項６】
コンピュータに、予め楽譜画像データと曲を構成する複数の音符データとを記憶させておき、
前記楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得ステップと、
前記取得ステップで取得された配置範囲における音符の位置を、前記音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値、および当該検出された音符位置を位置候補として抽出する抽出ステップと、
前記抽出ステップにより抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最もマッチング値の高い位置候補の検出位置を音符の位置と判別する判別ステップと
を実行させることを特徴とするプログラム。
【請求項７】
記憶された楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得ステップと、
前記取得ステップで取得された配置範囲における音符の位置を、記憶された曲を構成する複数の音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値および当該検出された音符位置を位置候補として抽出する抽出ステップと、
前記抽出ステップにより抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最もマッチング値の高い位置候補の検出位置を音符の位置と判別する判別ステップと
を有することを特徴とする音符位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出する音符位置検出装置、音符位置推定方法およびプログラムに関する。
【背景技術】
【０００２】
音楽に親しみたいユーザ、とりわけ初心者であると、楽譜に表示された音符がどの音になるのか判らないことが多い。その為、近年では楽譜に表示された音符と、その音符を表す音符データとの対応関係を直感的に確認できるようにした技術が各種開発されている。例えば特許文献１には、記憶部に記憶された音符データを楽譜として画面表示しておき、表示画面上に設けられたタッチパネルを用いて楽譜中の所望の音符をタッチ操作すると、そのタッチ操作した位置にある音符の楽音を発音させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９８０８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に開示の技術は、曲を構成する各音を表す複数の音符データと、楽譜表示される各音符の表示位置とが予め対応付けられている為、タッチ操作で指定された音符の音を発音出来るが、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出することが出来ない、という問題がある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出することができる音符位置検出装置、音符位置推定方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の音符位置検出装置は、楽譜画像データと曲を構成する複数の音符データとを記憶する記憶手段と、前記記憶手段に記憶される楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得手段と、前記取得手段により取得された配置範囲における音符の位置を、前記記憶手段に記憶される音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値、および当該検出された音符位置を位置候補として抽出する抽出手段と、前記抽出手段により抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最もマッチング値の高い位置候補の検出位置を音符の位置と判別する判別手段とを具備することを特徴とする。
【発明の効果】
【０００７】
本発明では、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態の構成を示すブロック図である。
【図２】音符位置検出処理の動作を示すフローチャートである。
【図３】音符位置検出処理の動作を示すフローチャートである。
【図４】予備検出範囲の一例を示す図である。
【図５】音符位置カーブの一例を示す図である。
【図６】マッチング範囲の一例を示す図である。
【図７】楽典フィルタ処理の動作を示すフローチャートである。
【図８】近接音符の一例を示す図である。
【図９】第２実施形態による演奏処理の動作を示すフローチャートである。
【図１０】楕円検出の一例を示す図である。
【図１１】発音時刻サーチの一例を示す図である。
【図１２】第２実施形態の変形例による演奏処理の動作を示すフローチャートである。
【図１３】操作位置と発音する音符との対応関係を示す図である。
【図１４】楽譜中の音符と鍵盤表示の一例を示す図である。
【図１５】小節線越えの操作例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。
［第１実施形態］
Ａ．構成
図１は、本発明の第１実施形態による音符位置検出装置を備えた電子楽器１００の構成を示すブロック図である。図１において、ＣＰＵ１０は、操作部１３が発生する操作イベントやタッチパネル１５が発生するタッチ操作信号に応じて楽器各部を制御する。本発明の要旨に係わるＣＰＵ１０の機能は、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出するものであり、これについては追って述べる。
【００１０】
ＲＯＭ１１には、ＣＰＵ１０にロードされる各種の制御プログラムが記憶される。各種の制御プログラムとは、後述する音符位置検出処理を含む。ＲＡＭ１２は、ワークエリア、データエリアおおよび音符位置保存エリアを備える。ＲＡＭ１２のワークエリアには、ＣＰＵ１０の処理に用いられる各種レジスタ・フラグデータが一時記憶される。
【００１１】
ＲＡＭ１２のデータエリアには、表示部１４に画面表示される楽譜画像データ（ビットマップ形式）と、曲を構成する各音を表す複数の音符データとが記憶される。楽譜画像データと音符データとは、互いに独立して関連付けられていない同じ楽曲のものである。なお、音符データは、公知のＭＩＤＩデータ形式で表現される。ＲＡＭ１２の音符位置保存エリアには、後述する音符位置検出処理により得られる楽譜中の各音符の位置が保存される。
【００１２】
操作部１３は、装置パネルに配設される各種操作スイッチを有し、ユーザ操作されるスイッチ種に対応したスイッチイベントを発生する。操作部１３が発生するスイッチイベントはＣＰＵ１０に取り込まれる。操作部１３には、電源をパワーオンオフする電源スイッチの他、例えば後述する音符位置検出処理を実行させるモードを指定するモードスイッチや、発生楽音の音色を選択する音色選択スイッチなどが設けられる。
【００１３】
表示部１４は、カラー液晶パネル等から構成され、ＣＰＵ１０から供給される表示制御信号に応じて、ＲＡＭ１２ノデータエリアに格納される楽譜画像データに基づき楽譜画像を画面表示したり、楽器の設定状態や動作状態などを画面表示したりする。タッチパネル１５は、表示部１４の表示画面上に配設されるマルチタッチ方式のタッチスクリーンから構成され、当該タッチスクリーン上で為されるタッチ操作に応じた操作信号を出力する。この操作信号はＣＰＵ１０に取り込まれる。音源１６は、周知の波形メモリ読み出し方式により構成され、ＣＰＵ１０から供給されるイベントに応じた楽音データを発生する。サウンドシステム１７は、音源１６から出力される楽音データをアナログ形式の楽音信号に変換した後に信号増幅してスピーカから放音する。
【００１４】
Ｂ．動作
（１）音符位置検出処理の動作
次に、図２〜図６を参照して、ＣＰＵ１３を動作主体とする音符位置検出処理の動作について説明する。図２は、音符位置検出処理の動作を示すフローチャートである。本処理は操作部１３のモードスッチ操作に応じて実行される。本処理が実行されると、図２に図示するステップＳＡ１に進み、ＲＡＭ１２のデータエリアから楽譜画像データおよび音符データ（ＭＩＤＩデータ）をワークエリアに読み込む。
【００１５】
続いて、ステップＳＡ２では、楽譜画像データに画像認識を施して楽譜中の小節線を検出し、その結果に基づき楽譜画像データを小節毎に分割する。次いで、ステップＳＡ３では、検出された小節線情報によって得られる特定小節の表示エリアにおいて、当該エリア内の音符の配置（音符図形配置）を予備検査して音符配置範囲を取得する。
【００１６】
次に、ステップＳＡ４に進むと、音符データ（ＭＩＤＩデータ）を用いて各音符が配置される位置を推定する。具体的には、楽譜がピアノ２段譜の場合、スケールが２種（ＣスケールとＦスケール）、段位置が上段と下段の２種、音符の半音上下３種（ナチュラル、フラット、シャープ）、音符位置が４種（五線真ん中、五線上下、五線上、五線下）などの位置条件が４８種類あり、この全ての組み合わせを配置して各音符の位置を推定する。
【００１７】
そして、ステップＳＡ５では、上記ステップＳＡ４で得られた音符の推定位置が音符配置範囲内であるか否かを判断する。予備検出で得た音符配置範囲外の場合や、ＭＩＤＩデータ中の音高（ノートナンバ）で判断した配置が五線譜の上中下以外の有り得ない配置であると、判断結果は「ＮＯ」になり、上記ステップＳＡ４に処理を戻し、推定対象から除外する。
【００１８】
一方、音符の推定位置が音符配置範囲内であると、上記ステップＳＡ５の判断結果が「ＹＥＳ」になり、ステップＳＡ６に進む。ステップＳＡ６では、推定位置に対し上下方向を五線幅分、左右方向を予備検出の幅とする検出範囲を設定し、その範囲にある音符について３音符種（全音符、二分音符および四分音符）のパターンマッチングを施してそれぞれのマッチング値（一致度）および音符の検出位置を記憶する。図６はパターンマッチングの一例を示す図である。この例から判るように、ＭＩＤＩデータによって各音符のおおよその配置位置が特定される為、狭い範囲でのマッチングで済むことから高い検出精度となる。
【００１９】
続いて、ステップＳＡ７では、発音時刻と小節幅でマッチング値を補正する。パターンマッチングにより検出された音符は、発音時刻が早いほど楽譜位置は左に、逆に発音時刻が遅いほど楽譜位置は右に配置されるので、その音符の配置予測位置を最大値とする重み付けを行う。勿論、音符の位置は発音の時間と一致するわけではないので、なだらかな補正カーブ（音符位置カーブ）を与える。図５はその一例を示す図である。同じ音符が連続する場合、図形的には同じ検出値となるが、これにＭＩＤＩデータの発音時間で補正して最も近い場所を得る。
【００２０】
そして、ステップＳＡ８では、小節内の全ての音符について検出し終えたか否かを判断する。検出し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＡ４に処理を戻す。以後、小節内の全ての音符について検出し終えるまで上記ステップＳＡ４〜ＳＡ８を繰り返す。そして、全ての音符について検出し終えると、上記ステップＳＡ８の判断結果が「ＹＥＳ」となり、図３に図示するステップＳＡ９を実行する。
【００２１】
ステップＳＡ９では、これまでに得た位置候補（検出位置条件、マッチング値および検出位置）について楽典的なフィルタリング、つまり楽譜表記上の規則（取り決め）や音楽理論から外れるなど音楽的に有り得ない位置候補を除外して候補の絞り込みを図る楽典フィルタ処理（後述する）を実行する。
【００２２】
続いて、ステップＳＡ１０では、楽典フィルタ処理により絞られた位置候補の組み合わせ合計を全て演算して、最も評価値の高い位置候補を音符の位置として出力する。なお、出力された音符の位置は、ＲＡＭ１２の音符位置保存エリアに保存される。そして、ステップＳＡ１１では、全ての小節について処理し終えたかどうかを判断し、処理し終えていなければ、判断結果が「ＮＯ」になり、前述のステップＳＡ２（図２参照）に戻る。一方、全ての小節について処理し終えると、判断結果は「ＹＥＳ」となり、本処理を終える。
【００２３】
（２）楽典フィルタ処理の動作
次に、図７〜図８を参照して楽典フィルタ処理の動作について説明する。上述した音符位置検出処理のステップＳＡ９（図３参照）を介して本処理が実行されると、ＣＰＵ１０は図７に図示するステップＳＢ１に進み、位置候補の評価値をスケールごとに累算する。つまり、スケール組み合わせを上段下段ごとにとり、その評価値を合計する。
【００２４】
次いで、ステップＳＢ２では、それぞれの合計値が高い場合が楽譜の上限と下限のスケールであるとして、それ以外の場合の位置候補を削除する。これは小節内でスケールが変化しない楽典を前提としているからである。続いて、ステップＳＢ３では、位置候補同士の距離が五線幅以内の場合をカウントする。ステップＳＢ４では、そのカウント値が２以上の位置候補を削除する。すなわち、カウント値が２以上の場合、２つの音符の位置が重なることを意味し、楽譜として有り得ない近接音符として該当する位置候補を削除する。図８はそうした近接音符の一例である。
【００２５】
そして、ステップＳＢ５では、位置候補が１つしかない音符を探し、続くステップＳＢ６では、単一候補と同じ位置の位置候補を削除する。つまり、ある音符が単一の位置しか持たない場合、他音符が複数の位置候補を持ち且つ同じ位置の候補を削除する。最終的に楽譜上の全ての音符は別の位置になる為、単一配置の音符を優先する。
【００２６】
このように、楽典フィルタ処理では、得られた位置候補（検出位置条件、マッチング値および検出位置）について、楽譜表記上の規則（取り決め）から外れるなど音楽的に有り得ない位置候補を除外して候補の絞り込みを図るようになっている。
【００２７】
以上説明したように、第１実施形態では、楽譜画像から小節線を検出して小節毎に区分し、区分された小節内の音符の配置範囲を取得する。この配置範囲において音符データ（ＭＩＤＩデータ）を用いて推定される音符の推定位置が配置範囲外なら除外し、音符の推定位置が配置範囲内ならば、推定位置に対応した検出範囲にある音符をパターンマッチングにより検出し、検出したマッチング値および検出位置を位置候補として記憶した後、位置候補のマッチング値を発音時刻と小節幅で補正する。そして、位置候補の内から楽譜表記上の規則（取り決め）から外れるなど音楽的に有り得ない位置候補を除外して候補の絞り込みを図り、絞られた位置候補の中から最も評価値の高い位置候補を音符の位置として出力するので、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出することができる。
【００２８】
［第２実施形態］
次に、第２実施形態について説明する。上述した第１実施形態では、互いに独立して関連付けられていない同じ楽曲の楽譜画像と音符データとに基づいて音符データが表す音に対応した楽譜画像中の音符の位置を検出するようにしたが、第２実施形態では、そのようにして得た楽譜画像中の音符の位置をユーザがタッチ操作で指定した場合に、指定された位置の音符を発音させる。
【００２９】
第２実施形態の構成は、上述した実施形態と同一なので、その説明については省略する。以下では、第２実施形態による演奏処理の動作を説明する。図９は、第２実施形態による演奏処理の動作を示すフローチャートである。本処理は操作部１３のモードスイッチ操作に応じて実行される。
【００３０】
本処理が実行されると、ＣＰＵ１０は図８に図示するステップＳＣ１に進み、楽器各部を初期化するイニシャライズを行い、続くステップＳＣ２では、タッチ位置情報を取得する。ここで、タッチ位置情報とは、表示部１４に画面表示される楽譜画像中の所望の位置をユーザがタッチパネル１５上をタッチ操作して発生する情報を指す。
【００３１】
次いで、ステップＳＣ３では、上記ステップＳＣ２で得たタッチ位置から現在の楽譜表示倍率を加味した位置変換を行い、楽譜画像画像中のビットマップ座標値を算出する。楽譜表示倍率が等倍なら同じ位置、２倍ズーム表示なら表示オフセットとタッチ位置の半分を加算した値がビットマップ座標値になる。そして、ステップＳＣ４に進むと、上記ステップＳＣ３で得られたビットマップ座標値と、ＲＡＭ１２の音符位置保存エリアに保存された各音符の位置との距離を算出する。
【００３２】
続いて、ステップＳＣ５では、算出した距離が五線幅以内であるか否かを判断する。五線幅以内であると、判断結果は「ＹＥＳ」になり、ステップＳＣ６に進み、該当する音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６にノートオンを指示して発音させた後、ステップＳＣ９に進む。なお、五線幅以内の一箇所に複数の音符が集まる和音であると、その和音を構成する各音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６を複音同時発音させる。
【００３３】
一方、算出した距離が五線幅以内でなければ、上記ステップＳＣ５の判断結果は「ＮＯ」になり、ステップＳＣ７に進む。ステップＳＣ７では、発音中の音符であるか否かを判断する。発音中でなければ、判断結果は「ＮＯ」になり、ステップＳＣ９に進む。これに対し、発音中の音符であると、判断結果は「ＹＥＳ」になり、ステップＳＣ８に進み、該当する音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６にノートオフを指示して消音させた後、ステップＳＣ９に進む。
【００３４】
続いて、ステップＳＣ９では、曲の最後の音符まで距離算出し終えたかどうかを判断し、距離算出し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＣ４以降の処理を繰り返す。そして、曲の最後の音符まで距離算出し終えると、ステップＳＣ９の判断結果が「ＹＥＳ」になり、上述のステップＳＣ２に処理を戻す。
【００３５】
このように、演奏処理では、画面に表示される楽譜画像をユーザがタッチ操作すると、そのタッチ位置を中心とする半径が五線幅の円形検出範囲を設定し、ＲＡＭ１２の音符位置保存エリアに保存された各音符の位置の内、円形検出範囲に含まれる音符をタッチ操作された音符として発音させ、そしてユーザがタッチを離すと、この発音中の音符が円形検出範囲から外れて消音させる。
【００３６】
なお、この実施形態では、タッチ位置を中心とする半径が五線幅の円形検出範囲を設定したが、これに限らず、例えば図１０に図示する一例のように、楕円形の検出範囲を設定する態様としてもよい。楽譜は縦方向に和音が並び、横方向は時刻となっているので、縦長楕円形の検出範囲を設定すると和音を入れ易くする一方、不要な同時音を入れ難くすることが出来る。
【００３７】
また、本実施形態では、タッチ位置からの離間距離だけでタッチ操作された音符を検出するようにしたが、これに限らず、さらに音符の発音時刻（ノートオンタイミング）を加味してタッチ操作された音符を検出する態様とすることも出来る。図１１はその一例を示す図である。この図に示すように、タッチ位置から最も近い距離にある音符に対応するＭＩＤＩデータ中の発音時刻を基準とし、その時点から時刻的に近い音符も同時発音させる。こうすることでより演奏し易くすることができる。
【００３８】
［変形例］
次に、図１２〜図１５を参照して第２実施形態の変形例について説明する。上述した第２実施形態では、楽譜画像中のタッチ操作で発音させる音符を指定したが、変形例では楽譜画像中のスライド操作で発音させる音符を指定する。なお、ここで言うスライド操作とは、タッチ位置を順次移動させる操作を指す。
【００３９】
変形例による演奏処理が実行されると、ＣＰＵ１０は図１２に図示するステップＳＤ１に進み、楽器各部を初期化するイニシャライズを行い、続くステップＳＤ２では、タッチ位置情報を取得する。ここで、タッチ位置情報とは、表示部１４に画面表示される楽譜画像中の所望の位置をユーザがタッチパネル１５上をタッチ操作して発生する情報を指す。
【００４０】
次いで、ステップＳＤ３では、上記ステップＳＤ２で得たタッチ位置から現在の楽譜表示倍率を加味した位置変換を行い、楽譜画像画像中のビットマップ座標値を算出する。楽譜表示倍率が等倍なら同じ位置、２倍ズーム表示なら表示オフセットとタッチ位置の半分を加算した値がビットマップ座標値になる。そして、ステップＳＤ４に進むと、上記ステップＳＤ３で得られたビットマップ座標値と、ＲＡＭ１２の音符位置保存エリアに保存された各音符の位置との距離を算出する。
【００４１】
続いて、ステップＳＤ５では、算出した距離が五線幅以内であるか否かを判断する。五線幅以内であると、判断結果は「ＹＥＳ」になり、ステップＳＤ６に進み、該当する音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６にノートオンを指示して発音させた後、ステップＳＤ１０に進む。なお、五線幅以内の一箇所に複数の音符が集まる和音であると、その和音を構成する各音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６を複音同時発音させる。
【００４２】
一方、算出した距離が五線幅以内でなければ、上記ステップＳＤ５の判断結果は「ＮＯ」になり、ステップＳＤ７に進む。ステップＳＤ７では、先のタッチ位置から横方向の差が五線幅以内のスライド操作が為されたか否かを判断する。先のタッチ位置から横方向の差が五線幅以内のスライド操作、すなわち縦方向へスライド操作を行ったならば、判断結果は「ＹＥＳ」になり、後述のステップＳＤ１０に進む。従って、先のタッチ操作で五線幅以内にある音符を発音させた状態で、縦方向のスライド操作を行うと、その発音を消音させずに持続発音となる。
【００４３】
これに対し、先のタッチ位置から横方向へ五線幅を越える移動量のスライド操作が為されると、上記ステップＳＤ７の判断結果は「ＮＯ」になり、ステップＳＤ８に進む。ステップＳＤ８では、発音中の音符であるか否かを判断する。発音中でなければ、判断結果は「ＮＯ」になり、ステップＳＤ１０に進む。これに対し、発音中の音符であると、判断結果は「ＹＥＳ」になり、ステップＳＤ９に進み、該当する音符に対応付けられた音符データ（ＭＩＤＩデータ）に基づき音源１６にノートオフを指示して消音させた後、ステップＳＤ１０に進む。
【００４４】
続いて、ステップＳＤ１０では、曲の最後の音符まで距離算出し終えたかどうかを判断し、距離算出し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＤ４以降の処理を繰り返す。そして、曲の最後の音符まで距離算出し終えると、ステップＳＤ１０の判断結果が「ＹＥＳ」になり、上述のステップＳＤ２に処理を戻す。
【００４５】
このように、変形例による演奏処理では、画面に表示される楽譜画像をユーザがタッチ操作すると、そのタッチ位置を中心とする半径が五線幅の円形検出範囲を設定し、ＲＡＭ１２の音符位置保存エリアに保存された各音符の位置の内、円形検出範囲に含まれる音符をタッチ操作された音符として発音させ、そしてユーザがタッチを離すと、この発音中の音符が円形検出範囲から外れて消音させ、さらに、先のタッチ操作で五線幅以内にある音符を発音させた状態で、縦方向のスライド操作を行うと、その発音を消音させずに持続発音させる。
【００４６】
なお、変形例では、縦方向のスライド操作で持続発音させるようにしたが、タッチ操作で自動演奏させることも可能である。楽譜上の音符の位置と音符データの発音時刻とは厳密に対応しないものの、およその目安として利用できる。そこで、小節幅とタッチ操作の位置との比率を小節中の演奏時間長に換算し、換算された演奏時間長に含まれる音符の音符データを自動演奏する。例えば図１３に図示する楽譜の一例において、第１小節目のポイントＡをタッチ操作したとする。そうすると、第１小節の幅とタッチ操作された位置Ａとの比率を第１小節中の演奏時間長に換算し、換算された演奏時間長に含まれる音符のＭＩＤＩデータを自動演奏することができる。
【００４７】
前述した第１〜第２実施形態および変形例では、画面に表示される楽譜画像中の音符をタッチパネル操作で指定する形態であったが、これに限定されず、図１４に図示する一例のように、楽譜の下に鍵盤画像を表示し、かつ現在指定されている音符に対応する鍵の位置をガイド表示することでピアノ演奏の練習に好適となる。
【００４８】
また、上述した変形例において、例えば図１５に図示する一例のように、小節線を越えてスライド操作を行ったことを検知した場合、矢印で示される小節範囲をリピート指定したものとして、当該小節の音符を自動演奏させる。こうすることで、触って音符を発音、辿ってメロディライン発音、離して自動演奏という仕様を切れ目無く操作することが可能になる。
【００４９】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
【００５０】
（付記）
［請求項１］
楽譜画像データと曲を構成する複数の音符データとを記憶する記憶手段と、
前記記憶手段に記憶される楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得手段と、
前記取得手段により取得された配置範囲における音符の位置を、前記記憶手段に記憶される音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値および当該検出された音符位置を位置候補として抽出する抽出手段と、
前記検出手段により検出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最も一致度の高い位置候補の検出位置を音符の位置と判別する判別手段と
を具備することを特徴とする音符位置検出装置。
【００５１】
［請求項２］
前記抽出手段は、音符データを用いて推定した位置が、前記取得手段により取得された配置範囲外ならば、その推定した位置を除外する推定位置除外手段を備えることを特徴とする請求項１記載の音符検出装置。
【００５２】
［請求項３］
前記抽出手段により検出された位置候補のマッチング値を発音時刻と小節幅で補正する補正手段を更に備えることを特徴とする請求項１記載の音符位置検出装置。
【００５３】
［請求項４］
前記判別手段は、前記抽出手段により抽出された位置候補の評価値をスケールごとに累算し、累算値の高いスケールを正解として異なるスケールの位置候補を削除することを特徴とする請求項１記載の音符位置検出装置。
【００５４】
［請求項５］
前記判別手段は、前記検出手段により検出された位置候補の中から位置候補同士の距離が五線幅以内の場合をカウントし、そのカウント値が２以上の位置候補を削除することを特徴とする請求項１記載の音符位置検出装置。
【００５５】
［請求項６］
前記判別手段は、位置候補が単一であるものを優先して、その単一の位置候補と同じ位置の位置候補を削除することを特徴とする請求項１記載の音符位置検出装置。
【００５６】
［請求項７］
コンピュータに、予め楽譜画像データと曲を構成する複数の音符データとを記憶させておき、
前記楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得ステップと、
前記取得ステップで取得された配置範囲における音符の位置を、前記音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値および当該検出された音符位置を位置候補として抽出する抽出ステップと、
前記抽出ステップにより抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最も一致度の高い位置候補の検出位置を音符の位置と判別する判別ステップと
を実行させることを特徴とするプログラム。
【００５７】
［請求項８］
記憶された楽譜画像データから小節線を検出して小節毎に区分し、区分された各小節の音符の配置範囲を取得する取得ステップと、
前記取得ステップで取得された配置範囲における音符の位置を、記憶された曲を構成する複数の音符データを用いて推定し、推定された位置にある音符と前記楽譜画像データ上で検出された音符の位置とのマッチング値および当該検出された音符位置を位置候補として抽出する抽出ステップと、
前記抽出ステップにより抽出された位置候補の中から音楽的に有り得ない位置候補を除外し、残った中で最も一致度の高い位置候補の検出位置を音符の位置と判別する判別ステップと
を有することを特徴とする音符位置推定方法。
【符号の説明】
【００５８】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  操作部
１４  表示部
１５  タッチパネル
１６  音源
１７  サウンドシステム
１００  電子楽器
【図１】
0005598681.tif 000002
【図２】
0005598681.tif 000003
【図３】
0005598681.tif 000004
【図４】
0005598681.tif 000005
【図５】
0005598681.tif 000006
【図６】
0005598681.tif 000007
【図７】
0005598681.tif 000008
【図８】
0005598681.tif 000009
【図９】
0005598681.tif 000010
【図１１】
0005598681.tif 000011
【図１２】
0005598681.tif 000012
【図１３】
0005598681.tif 000013
【図１０】
0005598681.tif 000014
【図１４】
0005598681.tif 000015
【図１５】
0005598681.tif 000016