楽譜認識装置及びコンピュータプログラム
【課題】誤認識しているだろうと思われる小節をなるべく減らし、楽譜全体の認識率を向上できるようにする。
【解決手段】第1の楽譜認識方法を用いて楽譜認識を行った結果、楽譜的に間違って認識された誤認識箇所については、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識処理を再度行い、該当箇所が正しく認識された場合には、前記誤認識箇所を前記正しい認識結果で修正することにより、単一の楽譜認識方法を用いて楽譜認識を行う場合と比較して認識率を確実に向上させることができるようにする。
【解決手段】第1の楽譜認識方法を用いて楽譜認識を行った結果、楽譜的に間違って認識された誤認識箇所については、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識処理を再度行い、該当箇所が正しく認識された場合には、前記誤認識箇所を前記正しい認識結果で修正することにより、単一の楽譜認識方法を用いて楽譜認識を行う場合と比較して認識率を確実に向上させることができるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽譜認識装置及びコンピュータプログラムに関し、特に、紙面の楽譜を高精度で認識するために用いて好適な技術に関するものである。
【背景技術】
【0002】
従来から、スキャナ等を用いて、紙面上の楽譜を読み取り、読み取った楽譜のデータについて、五線、音符、及びその他の各種の音楽記号を認識して、MIDIファイルデータ等の演奏データや、表示用/印刷用のデータを生成することが行われている。
【0003】
具体的には、各種の音楽記号を認識する場合には、五線及び段落を認識した上で、五線消去を行った後、任意の矩形形状をした読み取り用のラベルを記号毎に設定して、当該ラベルのデータと、予め辞書に登録されているデータとをパターンマッチングするようにしている(特許文献1を参照)。ここで、ラベルとは、モノクロ画像(白黒の2値画像)の場合、例えば、4連結又は8連結している黒画素の一塊をいう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−161738号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
楽譜画像の認識において、全ての楽譜について完全な認識を行うのは大変困難である。従来の楽譜認識方法では、小節の拍が埋まっていないか、または超えているなど、ほぼ確実に誤認識しているだろうと思われる小節が存在する場合がある。
本発明は前述の問題点に鑑み、誤認識しているだろうと思われる箇所をなるべく減らし、楽譜全体の認識率を向上できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の楽譜認識装置は、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、前記間違い箇所検出手段により検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有することを特徴とする。
また、本発明の楽譜認識装置の他の特徴とするところは、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を保持するプログラム保持手段と、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、前記間違い箇所検出手段により検出された誤認識箇所を保持する誤認識箇所保持手段と、前記誤認識箇所保持手段に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断手段と、前記誤認識箇所有無判断手段により、前記誤認識箇所保持手段に誤認識箇所が保持されていると判断された場合に、前記プログラム保持手段に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有し、前記制御手段は、前記誤認識箇所が存在する状態においては、前記プログラム保持手段に保持されている楽譜認識方法のいくつかまたは全てを用いて楽譜認識を行うように前記楽譜認識手段を制御することを特徴とする。
【0007】
本発明のプログラムは、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、前記間違い箇所検出工程において検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とをコンピュータに実行させることを特徴とする。
また、本発明のプログラムの他の特徴とするところは、コンピュータに、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を記憶媒体に保持するプログラム保持工程と、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、前記間違い箇所検出工程において検出された誤認識箇所を記憶媒体に保持する誤認識箇所保持工程と、前記記憶媒体に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断工程と、前記誤認識箇所有無判断工程において、前記記憶媒体に誤認識箇所が保持されていると判断された場合に、前記記憶媒体に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とを実行させ、前記制御工程では、前記誤認識箇所が存在する状態においては、前記記憶媒体に保持されている楽譜認識方法の全てを用いて楽譜認識を行うように前記楽譜認識工程を制御することを特徴とする。
【発明の効果】
【0008】
本発明によれば、単一の楽譜認識方法で行った楽譜認識結果をベースに、問題のない部分はそのまま残し、認識率の悪いと思われる部分については、別の認識方法で楽譜認識を再度行い、認識結果がよいときのみ正しい認識結果で修正するので、楽譜全体の認識率を下げることなく、認識率を確実に向上させることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態を示し、楽譜認識装置の構成例を示すブロック図である。
【図2】実施形態の楽譜認識装置の処理手順の概略を説明するフローチャートである。
【図3】第1の認識手法の一例を説明するフローチャートである。
【図4】第2の認識手法の一例を説明するフローチャートである。
【図5】(a)は、「3/4拍子」4拍分の音符が誤認識されている例を示し、(b)は、「調号」と同じ臨時記号が誤認識されている例を示す図である。
【図6】(a)は3個目及び4個目の音符が「8分音符」と認識され、(b)は臨時記号が「ダブルフラット」と認識されて該当箇所が楽譜的に正しく認識された例を示す図である。
【図7】間違って認識された箇所を、楽譜的に正しく認識された結果で上書きする様子を説明する図である。
【図8】(a)は、4拍分の小節内に5拍分の音符が誤認識されている例を示し、(b)は、4拍分の小節内に4拍分の音符が正しく認識されている例を示す図である。
【図9】1パートに2声ある場合において、(a)は、加線をテヌートと誤認識している例を示し、(b)は加線として正しく認識している場合を示す図である。
【図10】(a)は、長休符の書かれた小節に全音符が認識されている例を示し、(b)は全音符が認識されなくなり、該当する小節が正しく認識された例を示す図である。
【図11】(a)は、2つの音符からなる和音に付された臨時記号が誤認識されている例を示し、(b)は、臨時記号が正しく認識されている例を示す図である。
【図12】(a)は、第1小節と第2小節とで同じ調号(ホ長調・嬰ハ短調)が誤認識されている例を示し、(b)は、調号が楽譜的に正しく認識されている例を示す図である。
【発明を実施するための形態】
【0010】
図1に示すように、本実施形態の楽譜認識装置100は、パソコン等の一般的な計算機システムに、MIDI回路6を付加したものである。
CPU1は、プログラムメモリ2に格納されたプログラムをワーキングメモリ3に展開して実行すること等により、楽譜認識装置100の全体の制御を行う中央処理装置である。また、本実施形態の楽譜認識装置100は、予め設定された所定の周期でCPU1に割り込みをかけるタイマ回路を内蔵している。ワーキングメモリ3は、プログラムエリアの他、画像データバッファ、ワークエリア等として使用される。内部記憶装置(固定ディスク、HDD等により構成される)4、外部記憶装置(FDD,CD/DVDドライブなどにより構成される)5は、プログラム、画像データ、及び演奏データ等を格納する。
【0011】
表示装置14は、CPU1の制御に基づき、バス10から出力される映像情報を表示する。キーボード13から入力された情報は、バス10を経てCPU1に取り込まれる。印字装置12は、CPU1の制御に基づき、バス10から出力される印字情報を印字する。
【0012】
画像読み取り装置11は、紙面に印刷された楽譜を光学的に走査して、2値、グレイスケール、あるいはカラーの画像データに変換するものである。画像読み取り装置11としては、フラットベッド型、ハンディ型、フィーダー型等任意のタイプのものを使用できる。画像読み取り装置11によって読み取られた画像情報は、バス10を介して、ワーキングメモリ3または内部記憶装置4に取り込まれる。
【0013】
MIDI回路6は、音源モジュール等の外部のMIDI機器との間でMIDIデータの送受信を行う回路である。バス10は、楽譜認識装置100内の各回路を接続している。尚、この他に、マウス15、サウンドシステム16等を備えている。
【0014】
図2は、本実施形態の楽譜認識装置100の処理手順の概略を説明するフローチャートである。本実施形態の楽譜認識装置100は、複数の認識手法を用いて楽譜認識処理を行うことを特徴としている。
図2に示すように、認識処理が開始されると、ステップS21において、第1の認識方法で楽譜認識処理を行う。ここで行う楽譜認識処理の種類としては、例えば、楕円直線方式、或いは辞書マッチング方式等を考慮することができる。
【0015】
次に、ステップS22において、第1の認識方法で楽譜認識処理を行った結果、楽譜的に間違っている箇所を捜す処理を行う。ここで、楽譜的に間違っている箇所とは、例えば、前述したように、小節の拍が埋まっていない箇所、または超えている箇所など、ほぼ確実に誤認識しているだろうと思われる箇所のことである。
【0016】
次に、ステップS23に進み、該当箇所が存在するか判断する。この判断の結果、楽譜的に間違っている箇所が存在しない場合は認識処理を終了する。また、存在する場合にはステップS24に進み、別の認識手法がまだ有るか判断する。この判断の結果、別の認識手法がない場合には認識処理を終了する。また、別の認識手法がまだ有る場合にはステップS25に進み、ステップS21とは異なる認識手法で楽譜認識処理を実行する。
【0017】
次に、ステップS26において、ステップS22で検出した、楽譜的に間違っている箇所が正しく認識されているか判断する。この判断の結果、正しく認識されていない場合にはステップS24に戻る。また、正しく認識されている場合にはステップS27に進む。ステップS27においては、第1の認識手法で楽譜として間違っていた箇所を、ステップS25で認識された正しい認識結果で上書きして修正する処理を行う。
【0018】
次に、ステップS28に進み、楽譜として間違っている箇所が残っているか判断する。この判断の結果、残っていない場合には認識処理を終了する。また、残っている場合にはステップS23に戻って前述した処理を行う。
【0019】
図3は、図2のフローチャートにおけるステップS21で行われる第1の認識手法の一例を説明するフローチャートである。
尚、ここでは、本発明の実施形態を説明する上で必要な事項を中心に説明し、その他の事項の詳細な説明を省略する。
まず、ステップS301において、CPU1は、画像取り込み処理を行う。この画像取り込み処理では、画像読み取り装置11によって読み取られた楽譜の画像データをワーキングメモリ3に取り込む等の処理が行われる。
【0020】
次に、ステップS302において、CPU1は、五線認識処理を行う。この五線認識処理では、五線走査開始位置検出処理及び五線シフト量検出処理等が行われる。五線走査開始位置検出処理の概略を述べると、横(x)軸方向のある位置で、黒画素の幅と白画素の幅とを順に求め、求めた幅に基づいて、五線状に並んでいる位置を、ある程度の誤差を考慮して検出する。そして、加線(五線からはみ出した音符を記載するために付加した横線)の影響を除くために、五線状の並びの両側に、五線の間隔より大きな白画素幅があるという条件を加える。この条件に合う白黒画素の並びがある横(x)方向の各黒ランの中点を五線走査開始位置とする。ここで、ランとは、モノクロ画像(白黒の2値画像)の場合、例えば、縦又は横に黒画素又は白画素が連結している長さをいう。
【0021】
次に、五線シフト量検出処理の概略を述べる。まず、五線走査開始位置(5点の黒画素位置)から、1ドットずつ位置を左右に変えていき、5点の内、黒画素がある個数(例えば3あるいは4個)以下になった場合に、5点を上下にずらして黒画素数をチェックし、縦(y)方向のうち、黒画素の割合が高くなる方向へy座標をシフトする。この五線走査開始位置からのシフト量を五線のシフト量とする。そして、五線走査開始位置の左右方向(横方向)に、黒画素の個数が0になる位置まで走査することにより五線の検出を行う。
【0022】
次に、ステップS303において、CPU1は、段落認識処理を行う。段落認識処理では、段落認識処理及び大かっこ認識処理等が行われる。段落認識処理においては、画像全体で五線を検出し、五線同士で左端がほぼ同じ場所にある五線の組を探し、五線の端同士が、黒画素で結ばれているかどうかを検査し、段落を認識する。五線同士が大かっこで結ばれていた場合には、五線同士にまたがる音符等が存在する場合があるので、大かっこで結ばれた五線は1つの単位で処理を行った方がよい。大かっこについては、段落線の左の所定の範囲で認識を行う。ここで、段落線とは、同時に進行している複数のパートの五線同士の左端を繋いでいる線をいい、段落とは、段落線で繋がれた複数の五線の一塊をいう。尚、パートが1つの場合には、複数のパートの段落に相当する一塊を段落という。また、大かっことは、特にピアノの楽譜に用いられることが多い音楽記号であり、2つ又は3つの五線を纏めるための「{」で表記される括弧である。
【0023】
次に、ステップS304において、CPU1は、パート認識処理を行う。パート認識処理では、五線認識処理及び段落認識処理で認識された結果に基づいて各パートを認識する。パート認識処理では、処理矩形決定処理、五線消去処理、及び音楽記号認識処理等を行う。 処理矩形決定処理では、求められた五線を含む、ある程度広い矩形を採り、これを認識処理矩形とする。矩形の大きさは、その五線に関係する音楽記号が存在する最大領域以上で、且つ五線傾き補正により、必要な音楽記号が消えない様な大きさにする。これ以降の認識はこの矩形内で行う。
【0024】
五線消去処理では、求められた五線のうち、線幅が閾値以下の部分(音楽記号と重なっていない部分)を消去する。
音楽記号認識処理では、五線が消去された楽譜の画像データに対し、連続する黒画素の外縁に接するように矩形ラベルを設定し、当該矩形ラベル内の黒画素のデータと、予め辞書に登録されているデータとのパターンマッチングを行う等して各種の音楽記号を認識する。パターンマッチングに際しては、テンプレートマッチングの他に、矩形ラベルのサイズと加重方向指数とを用いたり、ペリフェラル特徴を用いたりすることができる。
【0025】
次に、ステップS305において、CPU1は、結合処理を行う。結合処理では、五線認識処理で認識された五線、段落認識処理で認識された段落、パート認識処理で認識されたパートの内容等を結合して、楽譜のデータを生成する等の処理を行う。
【0026】
次に、ステップS306において、CPU1は、認識結果修正処理を行う。認識結果修正処理では、音楽記号認識処理でパターンマッチングにより認識された結果を修正する。
次に、ステップS307において、CPU1はその他の処理を行う、その他の処理を終了後、エンド処理を行う。
【0027】
図4は、図2のフローチャートにおけるステップS25で行われる第2の認識手法の一例を説明するフローチャートである。
処理が開始されると、ステップS401において五線認識処理が行われる。
次に、ステップS402において、段落毎の認識処理が行われる。ステップS401、ステップS402で行われる処理は、前述した図3のフローチャートにおけるステップS301、ステップS302の処理と同様である。なお、画像データは既に取り込んであるので、図4のフローチャートにおいては、画像データ取り込み処理を省略している。
【0028】
次に、ステップS403において、パート毎の認識処理を行う。楽譜は、ページ、段落、パートという構造になっている。本実施形態においては、この各ページ段落内の各パートで、まず楽譜記号の認識を行う。実際の認識処理においては、フェーズ分解して順次認識処理を行う(ステップS404)。
【0029】
ステップS404において行う認識処理では、先ず、画像前処理を行う。これは、それぞれの認識処理を行う際に使用する基本画像を作成する。次に、ページ画像から、五線認識、段落認識の情報に基づき、パート矩形を検出する。これは、傾き補正をすることを前提とし、傾き補正をした結果、パート内の楽譜記号が画像中に入るような大きさとする。このパート矩形で、ページ画像から部分画像を抜き出す。更に、五線認識時のシフト情報に基づき傾き補正を行う。
【0030】
次に、作成した基本画像を保存し、基本画像用リンク情報を保存する。この基本画像用リンク情報が存在しない場合には、前述した処理により、基本画像を作成する。存在すれば、基本画像をロードすればよい。これを、各認識手法、あるいは他の処理(例、ステップS408の結果結合処理、ステップS409の推定処理など)で使用して認識などの処理を行う。
【0031】
認識手法によっては、この画像に操作を加える場合があるが、操作を加えた画像を、別の処理フェーズで使用するために、各認識手法用で変更した画像を保存し、各認識手法用のリンク情報を保存して、各フェーズで各認識手法用の画像を使用するようにできる。
【0032】
以下に、ステップS405〜407の認識処理で使用可能な認識方式の一例を説明する。
楕円直線方式:基本画像ロードし、太細分離、縦細線検出、楕円検出、それぞれを部品(直線部品、楕円部品)として出力する。
辞書マッチング方式:基本画像ロードし、五線消去、ラベリング、辞書マッチング、結果を辞書マッチング部品として出力する。
【0033】
次に、ステップS409に進んで推定処理を行う。推定処理においては、様々な情報を用いて、楽譜的に間違っている箇所の記号から、妥当なものを推定して選別する。
推定の例としては、
認識手法1は、属性1の正解がAの場合Bと誤認識する場合がある。認識手法2は、属性1の正解がAの場合Bと誤認識する場合はほとんどない。認識手法1と認識手法2で重複記号があり、属性1を、手法1はBとし、手法2はAとしている。この場合は、認識手法2側が正解である可能性が高い。もちろん、これにより、認識手法2だけを選択してもよいし、記号内の属性毎に選別する側を判定してもよい。
【0034】
次に、ステップS410に進み、親子関係処理を行う。親子関係処理においては、臨時記号と音符など、記号親子関係を検出する。最も妥当なものを検出するのではなく、ある程度の範囲であり得る親子関係を検出する。記号により、縦方向の位置や、横方向の位置など、適切な属性を見ながら、どれが最も妥当かの優先度を設定する。
【0035】
もともと複数の親記号が必要な記号については、それぞれの箇所について、複数の候補が持てるようにし、親記号を検索、優先度を設定する。タイの親など、対応する複数の親音符に条件が存在する場合(同じ音高であるなど)もあるので、自信度と、対応する親の組み合わせの妥当性によって判定する。
【0036】
次に、ステップS411に進み、楽譜全体の処理を行う。
次に、ステップS412においてその他の処理を行う、その後、エンド処理を行う。
【0037】
次に、図5〜図12を参照しながら、本実施形態の楽譜認識装置の検出結果の具体例を説明する。
図5(a)は、「3/4拍子」であるが、音符は4拍分になっている。また、図5(b)は、「調号♭」と同じ臨時記号♭が認識されている。したがって、図5(a)、(b)は明らかに誤認識である。
【0038】
図2のフローチャートを参照しながら説明したように、誤認識の箇所が存在する場合には、ステップS25において別の認識手法で楽譜認識処理を行う。その結果、図6(a)に示すように、3個目及び4個目の音符が「8分音符」と認識された場合には、小節が「3/4拍子」になるので、正しく認識されたことになる。
また、図6(b)に示すように、臨時記号が「ダブルフラット♭♭」と認識された場合には、該当箇所が楽譜的に正しくなる。
【0039】
このように、間違って認識されている箇所が、別の認識手法を用いて楽譜認識処理を行った結果、正しく認識された場合には、図2のフローチャートのステップS27で説明したように、楽譜的に間違っている箇所を正しく認識された結果で上書きする処理を行う。その様子を、図7(a)、(b)に示す。
【0040】
このようにすることで、或る認識手法で認識処理を行った結果、楽譜的に間違っている箇所を、別の認識手法を用いて楽譜認識処理を行い、楽譜的に正しい認識結果が得られた場合には、図2のステップS27で説明したように、正しい認識結果で上書きして修正を行う。
【0041】
図8(a)は、「拍子記号C」により「4/4拍子」である。しかしながら、5拍分の音符が認識されている。この場合、別の認識手法を用いて楽譜認識を行った結果、2分音符として認識されていた4個目の音符が4分音符と認識された場合には、小節の長さと音符の長さとが等しくなったので、楽譜的に正しく認識されたことになる。この場合、図8(a)の認識箇所を、図8(b)の認識結果で上書きする。これにより、楽譜的に間違って認識されていた箇所を正しく修正することができるので、認識率を向上させることができる。
【0042】
図9(a)は、1パートに2声ある場合は通常、テヌートは外側(この場合は音符の上側)に認識される筈であるが、内側に認識されている。したがって、この箇所は間違って認識されていることになる。この箇所を別の認識手法を用いて楽譜認識を行った結果、図9(b)のように加線として認識された。加線であれば、楽譜として正しいので、図9(a)の認識結果を図9(b)の認識結果で上書きする。
【0043】
図10(a)は、長休符の書かれた小節に音符等の記号は入らない筈であるが、全音符が認識されている。したがって、この箇所は誤認識されていることになる。別の認識手法で楽譜認識処理を行った結果、図10(b)に示すように、全音符が認識されなくなった。図10(b)は楽譜として正しいので、図10(a)の認識結果を図10(b)の認識結果で上書きして修正する。
【0044】
図11(a)は、2つの音符からなる和音において、半音低い音符に「臨時記号♯」が付き、半音高い音符に「臨時記号♭」が付いているように認識されている。この場合、臨時記号によって2音は同じ音になってしまうので、この箇所は間違って認識されていることになる。この箇所を別の認識手法を用いて楽譜認識を行った結果、図11(b)のように♭のみが認識された。2つの臨時記号のうち、どちらかが無ければ楽譜として正しいので、図11(a)の認識結果を図11(b)の認識結果で上書きして修正する。
【0045】
図12(a)は、第1小節と第2小節とで同じ調号(ホ長調・嬰ハ短調)が認識されている。これは、楽譜的に間違いであるので、この箇所を別の認識手法を用いて楽譜認識を行った結果、図12(b)のように、第2小節においては第1小節とは異なる調号(イ長調・嬰へ短調)が認識された。これは、楽譜として正しいので、図12(a)の認識結果を図12(b)の認識結果で上書きして修正する。
【0046】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0047】
1 CPU1
2 プログラムメモリ
3 ワーキングメモリ
4 内部記憶装置
5 外部記憶装置
6 MIDI回路
10 バス
11 画像読み取り装置
12 印字装置
13 キーボード
14 表示装置
15 マウス
16 サウンドシステム
【技術分野】
【0001】
本発明は、楽譜認識装置及びコンピュータプログラムに関し、特に、紙面の楽譜を高精度で認識するために用いて好適な技術に関するものである。
【背景技術】
【0002】
従来から、スキャナ等を用いて、紙面上の楽譜を読み取り、読み取った楽譜のデータについて、五線、音符、及びその他の各種の音楽記号を認識して、MIDIファイルデータ等の演奏データや、表示用/印刷用のデータを生成することが行われている。
【0003】
具体的には、各種の音楽記号を認識する場合には、五線及び段落を認識した上で、五線消去を行った後、任意の矩形形状をした読み取り用のラベルを記号毎に設定して、当該ラベルのデータと、予め辞書に登録されているデータとをパターンマッチングするようにしている(特許文献1を参照)。ここで、ラベルとは、モノクロ画像(白黒の2値画像)の場合、例えば、4連結又は8連結している黒画素の一塊をいう。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−161738号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
楽譜画像の認識において、全ての楽譜について完全な認識を行うのは大変困難である。従来の楽譜認識方法では、小節の拍が埋まっていないか、または超えているなど、ほぼ確実に誤認識しているだろうと思われる小節が存在する場合がある。
本発明は前述の問題点に鑑み、誤認識しているだろうと思われる箇所をなるべく減らし、楽譜全体の認識率を向上できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明の楽譜認識装置は、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、前記間違い箇所検出手段により検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有することを特徴とする。
また、本発明の楽譜認識装置の他の特徴とするところは、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を保持するプログラム保持手段と、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、前記間違い箇所検出手段により検出された誤認識箇所を保持する誤認識箇所保持手段と、前記誤認識箇所保持手段に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断手段と、前記誤認識箇所有無判断手段により、前記誤認識箇所保持手段に誤認識箇所が保持されていると判断された場合に、前記プログラム保持手段に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有し、前記制御手段は、前記誤認識箇所が存在する状態においては、前記プログラム保持手段に保持されている楽譜認識方法のいくつかまたは全てを用いて楽譜認識を行うように前記楽譜認識手段を制御することを特徴とする。
【0007】
本発明のプログラムは、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、前記間違い箇所検出工程において検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とをコンピュータに実行させることを特徴とする。
また、本発明のプログラムの他の特徴とするところは、コンピュータに、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を記憶媒体に保持するプログラム保持工程と、紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、前記間違い箇所検出工程において検出された誤認識箇所を記憶媒体に保持する誤認識箇所保持工程と、前記記憶媒体に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断工程と、前記誤認識箇所有無判断工程において、前記記憶媒体に誤認識箇所が保持されていると判断された場合に、前記記憶媒体に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とを実行させ、前記制御工程では、前記誤認識箇所が存在する状態においては、前記記憶媒体に保持されている楽譜認識方法の全てを用いて楽譜認識を行うように前記楽譜認識工程を制御することを特徴とする。
【発明の効果】
【0008】
本発明によれば、単一の楽譜認識方法で行った楽譜認識結果をベースに、問題のない部分はそのまま残し、認識率の悪いと思われる部分については、別の認識方法で楽譜認識を再度行い、認識結果がよいときのみ正しい認識結果で修正するので、楽譜全体の認識率を下げることなく、認識率を確実に向上させることができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態を示し、楽譜認識装置の構成例を示すブロック図である。
【図2】実施形態の楽譜認識装置の処理手順の概略を説明するフローチャートである。
【図3】第1の認識手法の一例を説明するフローチャートである。
【図4】第2の認識手法の一例を説明するフローチャートである。
【図5】(a)は、「3/4拍子」4拍分の音符が誤認識されている例を示し、(b)は、「調号」と同じ臨時記号が誤認識されている例を示す図である。
【図6】(a)は3個目及び4個目の音符が「8分音符」と認識され、(b)は臨時記号が「ダブルフラット」と認識されて該当箇所が楽譜的に正しく認識された例を示す図である。
【図7】間違って認識された箇所を、楽譜的に正しく認識された結果で上書きする様子を説明する図である。
【図8】(a)は、4拍分の小節内に5拍分の音符が誤認識されている例を示し、(b)は、4拍分の小節内に4拍分の音符が正しく認識されている例を示す図である。
【図9】1パートに2声ある場合において、(a)は、加線をテヌートと誤認識している例を示し、(b)は加線として正しく認識している場合を示す図である。
【図10】(a)は、長休符の書かれた小節に全音符が認識されている例を示し、(b)は全音符が認識されなくなり、該当する小節が正しく認識された例を示す図である。
【図11】(a)は、2つの音符からなる和音に付された臨時記号が誤認識されている例を示し、(b)は、臨時記号が正しく認識されている例を示す図である。
【図12】(a)は、第1小節と第2小節とで同じ調号(ホ長調・嬰ハ短調)が誤認識されている例を示し、(b)は、調号が楽譜的に正しく認識されている例を示す図である。
【発明を実施するための形態】
【0010】
図1に示すように、本実施形態の楽譜認識装置100は、パソコン等の一般的な計算機システムに、MIDI回路6を付加したものである。
CPU1は、プログラムメモリ2に格納されたプログラムをワーキングメモリ3に展開して実行すること等により、楽譜認識装置100の全体の制御を行う中央処理装置である。また、本実施形態の楽譜認識装置100は、予め設定された所定の周期でCPU1に割り込みをかけるタイマ回路を内蔵している。ワーキングメモリ3は、プログラムエリアの他、画像データバッファ、ワークエリア等として使用される。内部記憶装置(固定ディスク、HDD等により構成される)4、外部記憶装置(FDD,CD/DVDドライブなどにより構成される)5は、プログラム、画像データ、及び演奏データ等を格納する。
【0011】
表示装置14は、CPU1の制御に基づき、バス10から出力される映像情報を表示する。キーボード13から入力された情報は、バス10を経てCPU1に取り込まれる。印字装置12は、CPU1の制御に基づき、バス10から出力される印字情報を印字する。
【0012】
画像読み取り装置11は、紙面に印刷された楽譜を光学的に走査して、2値、グレイスケール、あるいはカラーの画像データに変換するものである。画像読み取り装置11としては、フラットベッド型、ハンディ型、フィーダー型等任意のタイプのものを使用できる。画像読み取り装置11によって読み取られた画像情報は、バス10を介して、ワーキングメモリ3または内部記憶装置4に取り込まれる。
【0013】
MIDI回路6は、音源モジュール等の外部のMIDI機器との間でMIDIデータの送受信を行う回路である。バス10は、楽譜認識装置100内の各回路を接続している。尚、この他に、マウス15、サウンドシステム16等を備えている。
【0014】
図2は、本実施形態の楽譜認識装置100の処理手順の概略を説明するフローチャートである。本実施形態の楽譜認識装置100は、複数の認識手法を用いて楽譜認識処理を行うことを特徴としている。
図2に示すように、認識処理が開始されると、ステップS21において、第1の認識方法で楽譜認識処理を行う。ここで行う楽譜認識処理の種類としては、例えば、楕円直線方式、或いは辞書マッチング方式等を考慮することができる。
【0015】
次に、ステップS22において、第1の認識方法で楽譜認識処理を行った結果、楽譜的に間違っている箇所を捜す処理を行う。ここで、楽譜的に間違っている箇所とは、例えば、前述したように、小節の拍が埋まっていない箇所、または超えている箇所など、ほぼ確実に誤認識しているだろうと思われる箇所のことである。
【0016】
次に、ステップS23に進み、該当箇所が存在するか判断する。この判断の結果、楽譜的に間違っている箇所が存在しない場合は認識処理を終了する。また、存在する場合にはステップS24に進み、別の認識手法がまだ有るか判断する。この判断の結果、別の認識手法がない場合には認識処理を終了する。また、別の認識手法がまだ有る場合にはステップS25に進み、ステップS21とは異なる認識手法で楽譜認識処理を実行する。
【0017】
次に、ステップS26において、ステップS22で検出した、楽譜的に間違っている箇所が正しく認識されているか判断する。この判断の結果、正しく認識されていない場合にはステップS24に戻る。また、正しく認識されている場合にはステップS27に進む。ステップS27においては、第1の認識手法で楽譜として間違っていた箇所を、ステップS25で認識された正しい認識結果で上書きして修正する処理を行う。
【0018】
次に、ステップS28に進み、楽譜として間違っている箇所が残っているか判断する。この判断の結果、残っていない場合には認識処理を終了する。また、残っている場合にはステップS23に戻って前述した処理を行う。
【0019】
図3は、図2のフローチャートにおけるステップS21で行われる第1の認識手法の一例を説明するフローチャートである。
尚、ここでは、本発明の実施形態を説明する上で必要な事項を中心に説明し、その他の事項の詳細な説明を省略する。
まず、ステップS301において、CPU1は、画像取り込み処理を行う。この画像取り込み処理では、画像読み取り装置11によって読み取られた楽譜の画像データをワーキングメモリ3に取り込む等の処理が行われる。
【0020】
次に、ステップS302において、CPU1は、五線認識処理を行う。この五線認識処理では、五線走査開始位置検出処理及び五線シフト量検出処理等が行われる。五線走査開始位置検出処理の概略を述べると、横(x)軸方向のある位置で、黒画素の幅と白画素の幅とを順に求め、求めた幅に基づいて、五線状に並んでいる位置を、ある程度の誤差を考慮して検出する。そして、加線(五線からはみ出した音符を記載するために付加した横線)の影響を除くために、五線状の並びの両側に、五線の間隔より大きな白画素幅があるという条件を加える。この条件に合う白黒画素の並びがある横(x)方向の各黒ランの中点を五線走査開始位置とする。ここで、ランとは、モノクロ画像(白黒の2値画像)の場合、例えば、縦又は横に黒画素又は白画素が連結している長さをいう。
【0021】
次に、五線シフト量検出処理の概略を述べる。まず、五線走査開始位置(5点の黒画素位置)から、1ドットずつ位置を左右に変えていき、5点の内、黒画素がある個数(例えば3あるいは4個)以下になった場合に、5点を上下にずらして黒画素数をチェックし、縦(y)方向のうち、黒画素の割合が高くなる方向へy座標をシフトする。この五線走査開始位置からのシフト量を五線のシフト量とする。そして、五線走査開始位置の左右方向(横方向)に、黒画素の個数が0になる位置まで走査することにより五線の検出を行う。
【0022】
次に、ステップS303において、CPU1は、段落認識処理を行う。段落認識処理では、段落認識処理及び大かっこ認識処理等が行われる。段落認識処理においては、画像全体で五線を検出し、五線同士で左端がほぼ同じ場所にある五線の組を探し、五線の端同士が、黒画素で結ばれているかどうかを検査し、段落を認識する。五線同士が大かっこで結ばれていた場合には、五線同士にまたがる音符等が存在する場合があるので、大かっこで結ばれた五線は1つの単位で処理を行った方がよい。大かっこについては、段落線の左の所定の範囲で認識を行う。ここで、段落線とは、同時に進行している複数のパートの五線同士の左端を繋いでいる線をいい、段落とは、段落線で繋がれた複数の五線の一塊をいう。尚、パートが1つの場合には、複数のパートの段落に相当する一塊を段落という。また、大かっことは、特にピアノの楽譜に用いられることが多い音楽記号であり、2つ又は3つの五線を纏めるための「{」で表記される括弧である。
【0023】
次に、ステップS304において、CPU1は、パート認識処理を行う。パート認識処理では、五線認識処理及び段落認識処理で認識された結果に基づいて各パートを認識する。パート認識処理では、処理矩形決定処理、五線消去処理、及び音楽記号認識処理等を行う。 処理矩形決定処理では、求められた五線を含む、ある程度広い矩形を採り、これを認識処理矩形とする。矩形の大きさは、その五線に関係する音楽記号が存在する最大領域以上で、且つ五線傾き補正により、必要な音楽記号が消えない様な大きさにする。これ以降の認識はこの矩形内で行う。
【0024】
五線消去処理では、求められた五線のうち、線幅が閾値以下の部分(音楽記号と重なっていない部分)を消去する。
音楽記号認識処理では、五線が消去された楽譜の画像データに対し、連続する黒画素の外縁に接するように矩形ラベルを設定し、当該矩形ラベル内の黒画素のデータと、予め辞書に登録されているデータとのパターンマッチングを行う等して各種の音楽記号を認識する。パターンマッチングに際しては、テンプレートマッチングの他に、矩形ラベルのサイズと加重方向指数とを用いたり、ペリフェラル特徴を用いたりすることができる。
【0025】
次に、ステップS305において、CPU1は、結合処理を行う。結合処理では、五線認識処理で認識された五線、段落認識処理で認識された段落、パート認識処理で認識されたパートの内容等を結合して、楽譜のデータを生成する等の処理を行う。
【0026】
次に、ステップS306において、CPU1は、認識結果修正処理を行う。認識結果修正処理では、音楽記号認識処理でパターンマッチングにより認識された結果を修正する。
次に、ステップS307において、CPU1はその他の処理を行う、その他の処理を終了後、エンド処理を行う。
【0027】
図4は、図2のフローチャートにおけるステップS25で行われる第2の認識手法の一例を説明するフローチャートである。
処理が開始されると、ステップS401において五線認識処理が行われる。
次に、ステップS402において、段落毎の認識処理が行われる。ステップS401、ステップS402で行われる処理は、前述した図3のフローチャートにおけるステップS301、ステップS302の処理と同様である。なお、画像データは既に取り込んであるので、図4のフローチャートにおいては、画像データ取り込み処理を省略している。
【0028】
次に、ステップS403において、パート毎の認識処理を行う。楽譜は、ページ、段落、パートという構造になっている。本実施形態においては、この各ページ段落内の各パートで、まず楽譜記号の認識を行う。実際の認識処理においては、フェーズ分解して順次認識処理を行う(ステップS404)。
【0029】
ステップS404において行う認識処理では、先ず、画像前処理を行う。これは、それぞれの認識処理を行う際に使用する基本画像を作成する。次に、ページ画像から、五線認識、段落認識の情報に基づき、パート矩形を検出する。これは、傾き補正をすることを前提とし、傾き補正をした結果、パート内の楽譜記号が画像中に入るような大きさとする。このパート矩形で、ページ画像から部分画像を抜き出す。更に、五線認識時のシフト情報に基づき傾き補正を行う。
【0030】
次に、作成した基本画像を保存し、基本画像用リンク情報を保存する。この基本画像用リンク情報が存在しない場合には、前述した処理により、基本画像を作成する。存在すれば、基本画像をロードすればよい。これを、各認識手法、あるいは他の処理(例、ステップS408の結果結合処理、ステップS409の推定処理など)で使用して認識などの処理を行う。
【0031】
認識手法によっては、この画像に操作を加える場合があるが、操作を加えた画像を、別の処理フェーズで使用するために、各認識手法用で変更した画像を保存し、各認識手法用のリンク情報を保存して、各フェーズで各認識手法用の画像を使用するようにできる。
【0032】
以下に、ステップS405〜407の認識処理で使用可能な認識方式の一例を説明する。
楕円直線方式:基本画像ロードし、太細分離、縦細線検出、楕円検出、それぞれを部品(直線部品、楕円部品)として出力する。
辞書マッチング方式:基本画像ロードし、五線消去、ラベリング、辞書マッチング、結果を辞書マッチング部品として出力する。
【0033】
次に、ステップS409に進んで推定処理を行う。推定処理においては、様々な情報を用いて、楽譜的に間違っている箇所の記号から、妥当なものを推定して選別する。
推定の例としては、
認識手法1は、属性1の正解がAの場合Bと誤認識する場合がある。認識手法2は、属性1の正解がAの場合Bと誤認識する場合はほとんどない。認識手法1と認識手法2で重複記号があり、属性1を、手法1はBとし、手法2はAとしている。この場合は、認識手法2側が正解である可能性が高い。もちろん、これにより、認識手法2だけを選択してもよいし、記号内の属性毎に選別する側を判定してもよい。
【0034】
次に、ステップS410に進み、親子関係処理を行う。親子関係処理においては、臨時記号と音符など、記号親子関係を検出する。最も妥当なものを検出するのではなく、ある程度の範囲であり得る親子関係を検出する。記号により、縦方向の位置や、横方向の位置など、適切な属性を見ながら、どれが最も妥当かの優先度を設定する。
【0035】
もともと複数の親記号が必要な記号については、それぞれの箇所について、複数の候補が持てるようにし、親記号を検索、優先度を設定する。タイの親など、対応する複数の親音符に条件が存在する場合(同じ音高であるなど)もあるので、自信度と、対応する親の組み合わせの妥当性によって判定する。
【0036】
次に、ステップS411に進み、楽譜全体の処理を行う。
次に、ステップS412においてその他の処理を行う、その後、エンド処理を行う。
【0037】
次に、図5〜図12を参照しながら、本実施形態の楽譜認識装置の検出結果の具体例を説明する。
図5(a)は、「3/4拍子」であるが、音符は4拍分になっている。また、図5(b)は、「調号♭」と同じ臨時記号♭が認識されている。したがって、図5(a)、(b)は明らかに誤認識である。
【0038】
図2のフローチャートを参照しながら説明したように、誤認識の箇所が存在する場合には、ステップS25において別の認識手法で楽譜認識処理を行う。その結果、図6(a)に示すように、3個目及び4個目の音符が「8分音符」と認識された場合には、小節が「3/4拍子」になるので、正しく認識されたことになる。
また、図6(b)に示すように、臨時記号が「ダブルフラット♭♭」と認識された場合には、該当箇所が楽譜的に正しくなる。
【0039】
このように、間違って認識されている箇所が、別の認識手法を用いて楽譜認識処理を行った結果、正しく認識された場合には、図2のフローチャートのステップS27で説明したように、楽譜的に間違っている箇所を正しく認識された結果で上書きする処理を行う。その様子を、図7(a)、(b)に示す。
【0040】
このようにすることで、或る認識手法で認識処理を行った結果、楽譜的に間違っている箇所を、別の認識手法を用いて楽譜認識処理を行い、楽譜的に正しい認識結果が得られた場合には、図2のステップS27で説明したように、正しい認識結果で上書きして修正を行う。
【0041】
図8(a)は、「拍子記号C」により「4/4拍子」である。しかしながら、5拍分の音符が認識されている。この場合、別の認識手法を用いて楽譜認識を行った結果、2分音符として認識されていた4個目の音符が4分音符と認識された場合には、小節の長さと音符の長さとが等しくなったので、楽譜的に正しく認識されたことになる。この場合、図8(a)の認識箇所を、図8(b)の認識結果で上書きする。これにより、楽譜的に間違って認識されていた箇所を正しく修正することができるので、認識率を向上させることができる。
【0042】
図9(a)は、1パートに2声ある場合は通常、テヌートは外側(この場合は音符の上側)に認識される筈であるが、内側に認識されている。したがって、この箇所は間違って認識されていることになる。この箇所を別の認識手法を用いて楽譜認識を行った結果、図9(b)のように加線として認識された。加線であれば、楽譜として正しいので、図9(a)の認識結果を図9(b)の認識結果で上書きする。
【0043】
図10(a)は、長休符の書かれた小節に音符等の記号は入らない筈であるが、全音符が認識されている。したがって、この箇所は誤認識されていることになる。別の認識手法で楽譜認識処理を行った結果、図10(b)に示すように、全音符が認識されなくなった。図10(b)は楽譜として正しいので、図10(a)の認識結果を図10(b)の認識結果で上書きして修正する。
【0044】
図11(a)は、2つの音符からなる和音において、半音低い音符に「臨時記号♯」が付き、半音高い音符に「臨時記号♭」が付いているように認識されている。この場合、臨時記号によって2音は同じ音になってしまうので、この箇所は間違って認識されていることになる。この箇所を別の認識手法を用いて楽譜認識を行った結果、図11(b)のように♭のみが認識された。2つの臨時記号のうち、どちらかが無ければ楽譜として正しいので、図11(a)の認識結果を図11(b)の認識結果で上書きして修正する。
【0045】
図12(a)は、第1小節と第2小節とで同じ調号(ホ長調・嬰ハ短調)が認識されている。これは、楽譜的に間違いであるので、この箇所を別の認識手法を用いて楽譜認識を行った結果、図12(b)のように、第2小節においては第1小節とは異なる調号(イ長調・嬰へ短調)が認識された。これは、楽譜として正しいので、図12(a)の認識結果を図12(b)の認識結果で上書きして修正する。
【0046】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0047】
1 CPU1
2 プログラムメモリ
3 ワーキングメモリ
4 内部記憶装置
5 外部記憶装置
6 MIDI回路
10 バス
11 画像読み取り装置
12 印字装置
13 キーボード
14 表示装置
15 マウス
16 サウンドシステム
【特許請求の範囲】
【請求項1】
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、
前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、
前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、
前記間違い箇所検出手段により検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有することを特徴とする楽譜認識装置。
【請求項2】
楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を保持するプログラム保持手段と、
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、
前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、
前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、
前記間違い箇所検出手段により検出された誤認識箇所を保持する誤認識箇所保持手段と、
前記誤認識箇所保持手段に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断手段と、
前記誤認識箇所有無判断手段により、前記誤認識箇所保持手段に誤認識箇所が保持されていると判断された場合に、前記プログラム保持手段に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有し、
前記制御手段は、前記誤認識箇所が存在する状態においては、前記プログラム保持手段に保持されている楽譜認識方法のいくつかまたは全てを用いて楽譜認識を行うように前記楽譜認識手段を制御することを特徴とする楽譜認識装置。
【請求項3】
前記間違い箇所検出手段は、拍子記号と小節内の音符の拍数とから間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項4】
前記間違い箇所検出手段は、調号と臨時記号との関係に基づいて間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項5】
前記間違い箇所検出手段は、五線譜外の音符に対して付された横棒の位置に基づいて間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項6】
前記間違い箇所検出手段は、長休符の書かれた小節に音符等の記号が認識されている箇所を間違い箇所として検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項7】
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、
前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、
前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、
前記間違い箇所検出工程において検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項8】
コンピュータに、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を記憶媒体に保持するプログラム保持工程と、
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、
前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、
前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、
前記間違い箇所検出工程において検出された誤認識箇所を記憶媒体に保持する誤認識箇所保持工程と、
前記記憶媒体に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断工程と、
前記誤認識箇所有無判断工程において、前記記憶媒体に誤認識箇所が保持されていると判断された場合に、前記記憶媒体に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とを実行させ、
前記制御工程では、前記誤認識箇所が存在する状態においては、前記記憶媒体に保持されている楽譜認識方法の全てを用いて楽譜認識を行うように前記楽譜認識工程を制御することを特徴とするコンピュータプログラム。
【請求項1】
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、
前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、
前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、
前記間違い箇所検出手段により検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有することを特徴とする楽譜認識装置。
【請求項2】
楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を保持するプログラム保持手段と、
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得手段と、
前記画像取得手段により取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識手段と、
前記認識手段により認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出手段と、
前記間違い箇所検出手段により検出された誤認識箇所を保持する誤認識箇所保持手段と、
前記誤認識箇所保持手段に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断手段と、
前記誤認識箇所有無判断手段により、前記誤認識箇所保持手段に誤認識箇所が保持されていると判断された場合に、前記プログラム保持手段に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識手段を制御する制御手段と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正手段とを有し、
前記制御手段は、前記誤認識箇所が存在する状態においては、前記プログラム保持手段に保持されている楽譜認識方法のいくつかまたは全てを用いて楽譜認識を行うように前記楽譜認識手段を制御することを特徴とする楽譜認識装置。
【請求項3】
前記間違い箇所検出手段は、拍子記号と小節内の音符の拍数とから間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項4】
前記間違い箇所検出手段は、調号と臨時記号との関係に基づいて間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項5】
前記間違い箇所検出手段は、五線譜外の音符に対して付された横棒の位置に基づいて間違い箇所を検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項6】
前記間違い箇所検出手段は、長休符の書かれた小節に音符等の記号が認識されている箇所を間違い箇所として検出することを特徴とする請求項1または2に記載の楽譜認識装置。
【請求項7】
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、
前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、
前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、
前記間違い箇所検出工程において検出された誤認識箇所を、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項8】
コンピュータに、楽譜認識方法を実行するプログラムを少なくとも2つ以上の複数を記憶媒体に保持するプログラム保持工程と、
紙面の楽譜の情報を含む画像を、画像読み取り手段から取得する画像取得工程と、
前記画像取得工程において取得された画像に含まれる楽譜を、先ず第1の楽譜認識方法を用いて認識する楽譜認識工程と、
前記認識工程において認識された楽譜の中から間違って認識されている箇所を検出する間違い箇所検出工程と、
前記間違い箇所検出工程において検出された誤認識箇所を記憶媒体に保持する誤認識箇所保持工程と、
前記記憶媒体に保持されている誤認識箇所の有無を判断する誤認識箇所有無判断工程と、
前記誤認識箇所有無判断工程において、前記記憶媒体に誤認識箇所が保持されていると判断された場合に、前記記憶媒体に保持されている、前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行うように前記楽譜認識工程を制御する制御工程と、
前記第1の楽譜認識方法とは異なる楽譜認識方法を用いて楽譜認識を行った結果、誤認識された箇所が正しく認識された場合に、前記誤認識された箇所を前記正しい認識結果で修正する楽譜修正工程とを実行させ、
前記制御工程では、前記誤認識箇所が存在する状態においては、前記記憶媒体に保持されている楽譜認識方法の全てを用いて楽譜認識を行うように前記楽譜認識工程を制御することを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−73769(P2012−73769A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−217423(P2010−217423)
【出願日】平成22年9月28日(2010.9.28)
【出願人】(000001410)株式会社河合楽器製作所 (563)
【Fターム(参考)】
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願日】平成22年9月28日(2010.9.28)
【出願人】(000001410)株式会社河合楽器製作所 (563)
【Fターム(参考)】
[ Back to top ]