(57)【特許請求の範囲】
【請求項１】
記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とを有して実行される楽譜読み取り方法において、記号認識手段により行われる、音符を含む楽譜の全ての記号を認識する記号認識工程と、表記法推定手段により行われる、ドラム譜を音高によって場合分けし、前記記号認識工程によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定工程と、楽器割り当て手段により行われる、前記表記法推定工程により推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を割り当てる楽器割り当て工程と、データ変換手段により行われる、演奏及び／又は表示可能な楽譜データ形式に変換するデータ変換工程とを実行することを特徴とする楽譜読み取り方法。
【請求項２】
請求項１記載の楽譜読み取り方法において、記号認識手段により前記記号認識工程で得られた楽譜記号情報が認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出することを特徴とする請求項１記載の楽譜読み取り方法。
【請求項３】
請求項１乃至２記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることを特徴とする請求項１乃至２記載の楽譜読み取り方法。
【請求項４】
請求項１乃至３記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第３間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉をスネアドラム、(Ｒ)又は黒玉以外をリムショットとし、符頭が五線の第３間にあり且つ黒玉のみが検出され、更にリムショットを表現する文字列が検出されるのであれば、該文字列により指定された黒玉をリムショットとし、それ以外の黒玉をスネアドラムとすることを特徴とする請求項１乃至３記載の楽譜読み取り方法。
【請求項５】
請求項１乃至３記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第１線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとすることを特徴とする請求項１乃至３記載の楽譜読み取り方法。
【請求項６】
請求項１乃至５記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が黒玉で、且つ第３間を除く五線の下第１間と第５線の範囲に該黒玉が検出され、該黒玉の最下段が下第１間と第１間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより１段上の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとし、符頭が黒玉で、且つ第３間を除く五線の第２線と第５線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとすることを特徴とする請求項１乃至５記載の楽譜読み取り方法。
【請求項７】
請求項１乃至３記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第４間以上の五線位置にあることを条件として、ドラム符頭の五線位置が１つの場合と２つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行うことを特徴とする請求項１乃至３記載の楽譜読み取り方法。
【請求項８】
請求項７記載の楽譜読み取り方法において、表記法推定手段により前記表記法推定工程で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識工程で得られた楽譜記号情報が４分音符として認識されたドラム音符に対し、前記変換テーブルの値が２分音符を指定している場合は、これらのドラム音符を２分音符に変換することを特徴とする請求項７記載の楽譜読み取り方法。
【請求項９】
楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体であって、該プログラムの実行により、記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とが該コンピュータ上に実現され、記号認識手段による、音符を含む楽譜の全ての記号を認識する記号認識機能と、表記法推定手段による、ドラム譜を音高によって場合分けし、前記記号認識工程によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定機能と、前記表記法推定機能により推定されたドラム表記法に従って、認識されたドラムパートの記号に楽器割り当て手段によって実際の発音楽器を割り当てる楽器割り当て機能と、データ変換手段による、演奏及び／又は表示可能な楽譜データ形式に変換するデータ変換機能とを実行させるための楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、記号認識手段による前記記号認識機能によって得られた楽譜記号情報が、記号認識機能により認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出することを特徴とする請求項９記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項９乃至１０記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、前記表記法推定手段により、表記法推定機能でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることを特徴とする請求項９乃至１０記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第３間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉をスネアドラム、(Ｒ)又は黒玉以外をリムショットとし、符頭が五線の第３間にあり且つ黒玉のみが検出され、更にリムショットを表現する文字列が検出されるのであれば、該文字列により指定された黒玉をリムショットとし、それ以外の黒玉をスネアドラムとすることを特徴とする請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１３】
請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第１線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとすることを特徴とする請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項９乃至１３記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が黒玉で、且つ第３間を除く五線の下第１間と第５線の範囲に該黒玉が検出され、該黒玉の最下段が下第１間と第１間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより１段上の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとし、符頭が黒玉で、且つ第３間を除く五線の第２線と第５線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとすることを特徴とする請求項９乃至１３記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第４間以上の五線位置にあることを条件として、ドラム符頭の五線位置が１つの場合と２つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行うことを特徴とする請求項９乃至１１記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【請求項１６】
請求項１５記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段により前記表記法推定機能で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識機能で得られた楽譜記号情報が４分音符として認識されたドラム音符に対し、前記変換テーブルの値が２分音符を指定している場合は、これらのドラム音符を２分音符に変換することを特徴とする請求項１５記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽譜のうち、特にドラム譜の読み取りを可能にする楽譜読み取り方法及び楽譜読み取りを行うプログラムを記緑したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
通常楽譜を機械的に認識させる場合は、五線認識、図７に示されるような段落の認識の後、五線を消去して、種々の方法を使いながら、図８（ａ）に示される黒玉ｂや同図（ｂ）に示される白玉ｗなどの音符の符頭、同図（ｃ）に示される該符頭に連続する符尾ｔ、更に同図（ｄ）に示される該符尾に連続する旗ｆ、その他を認識している。
【０００３】
【発明が解決しようとする課題】
これに対し、ドラムセットの楽譜表記であるドラム譜は、楽器の歴史的要因や、演奏上の要因から、楽譜表記が固定していない。
最も一般的な表記法というものも存在しないので、ある特定の表記の認識だけを対象にするのであれば、ドラム譜認識の汎用性がなくなってしまう。
他方、様々な表記法を認識対象にする場合、表記された記号を表記通りに認識するだけでは、その音符をどのドラム楽器（ドラム音）で演奏するかを特定することができず、そのままではドラム譜を演奏することはできなかった。
【０００４】
また、このように特定の表記法にとらわれずにドラム譜を認識させようとする場合、その認識結果を正しく演奏させるためには、その記号（音符を含む）が実際にどのようなドラム音（ドラム楽器）であるかを指定しなければならない。このような指定をユーザに行わせることも可能であるが、その場合、ユーザがドラム譜の表記法について熟知している必要がある。更にその指定のために、複雑なインターフェースを使用すると共に、その指定操作も複雑になり、膨大な修正工数も必要となって、トータルの修正コストが増加する結果となる。
加えてドラム譜認識前に表記タイプの指定を行い、この指定された表記タイプに基づいて認識を行なって、認識後の修正を不要にすることができるとしても、同様にユーザ側に表記法の正確な知識を要求することになる。
以上のような問題が、従来からある楽譜認識技術において、ドラム譜への対応を阻害していた。
【０００５】
本発明は従来技術の上記問題に鑑み創案されたもので、これらの問題を解決し、様々な表記法で記述されたドラム譜の表記法を認識し、少ない操作で演奏可能なデータ形式に変換することができる構成を提供せんとするものである。
【０００６】
【課題を解決するための手段】
そのため本願請求項１に係る発明の構成（請求項９に係るコンピュータ読み取り可能な記録媒体の構成についても同じ）は、記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とを有して実行される楽譜読み取り方法において、記号認識手段により行われる、音符を含む楽譜の全ての記号を認識する記号認識工程（記号認識機能）と、表記法推定手段により行われる、ドラム譜を音高によって場合分けし、前記記号認識工程（機能）によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定工程（機能）と、楽器割り当て手段により行われる、前記表記法推定工程（機能）により推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を割り当てる楽器割り当て工程（機能）と、データ変換手段により行われる、演奏及び／又は表示可能な楽譜データ形式に変換するデータ変換工程（データ変換機能）とを有することを特徴としている。前記請求項９の記録媒体の構成は、これらの機能を実行させるための楽譜読み取りプログラムを記緑したコンピュータ読み取り可能な記録媒体として提供するものである。
上記ドラム譜の認識を行わせる場合、楽譜上の記号認識から一義的にドラム音（ドラム楽器）の割り当てを行わせることができない。そのため、本発明の構成は、楽譜の全ての記号認識を行わせた後、それらの情報を基に一旦ドラム表記法を推定させてから、ドラム音の割り当てを行い、演奏及び／又は表示可能なデータ形式に変換させることにしている。
【０００７】
前記楽譜読み取り方法（記録媒体）において、記号認識手段により前記記号認識工程（機能）で得られた楽譜記号情報が認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出するようにする。上述のように、ドラムパートの楽譜読み取りは、一旦楽譜上の全記号の認識を終了した段階でなければ、正確な推定はできないのであるから、推定を行う前に、少なくとも、これらの記号の認識と記号の係り具合について、正確に認識しておく必要がある。もちろんドラム表記法の推定を行う場合、これらの記号及びその係りの正確な認識以外に、後述するように、ドラム符頭の五線位置の認識も、重要な判断要素となる。
【０００８】
また表記法推定手段による前記表記法推定工程（機能）でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることになる。
これは、まずシンバル系のドラム楽器及びそれ以外のドラム楽器は、その種類の違いによって、五線の表示位置（音高）が変わり（但し楽器によってはその位置が一義的に定まっていないものもある）、更にドラム符頭も異なるものが使用される（但し同じものが使用されることもある。中にはドラム符頭も、五線の位置も同じになるものもある）。従ってドラム符頭が五線のどの位置にあるかによって、ドラム楽器の推定の範囲が狭まり、且つドラム符頭の種類によりある程度その推定の妥当性も高まる。
しかし、シンバル系では、ドラム符頭が中抜きダイヤ型（◇）の場合、それが２分音符・全音符を指すものなのか、或いはある特定のシンバル系の楽器を指すものなのかが直ぐには判断できない場合がある。同様に判断が直ぐにできないものに、ドラム符頭が（×）型の場合がある。
これらの場合、ドラム音符に係るハイハットオープンの記号（ °）があれば、それは必ずハイハットであり、該記号が付いているドラム音符の符頭は、ハイハットである可能性がある。しかし同じ符頭でも該記号が付いていない場合は、ハイハットクローズを指す場合の他、クラッシュシンバルやトップシンバルを示していることもある。
ドラム音符に係るアクセント記号( ＞ )( ＾ )があれば、一般的にはその音符にアクセントを付けることを意味するが、クラッシュシンバルを指していることもある。この場合は楽譜に使用されているアクセント記号付きの符頭の種類及び符頭の五線位置からある程度判断できる。
このような場合に、音符のドラム音指定のための文字列がそれについていれば、該文字列が優先され、そこから他の記号が推定されることもある。
更に前述のダイヤ型符頭に、符尾及びその符尾に付く旗がある場合、該旗は８分音符や１６分音符等の音長を指していることが分かる（ドラム音符の旗により定まる音長）。その場合、その符頭のものは２分音符や全音符を指すものではなく、特定のドラム楽器を示すものであり、それによって、また他のドラム音符の音長も求まることもある（旗により求められた他のドラム音符の音長があることで符頭種類により別の音長が定まる）。
従ってドラム表記法の推定に当たっては、上記した記号などの情報に基づいて行うことになる。
【０００９】
表記法推定手段による前記表記法推定工程（機能）で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合、符頭が五線の第３間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉の符頭のものをスネアドラム、(Ｒ)又は黒玉以外の符頭のものをリムショットとし、符頭が五線の第３間にあり且つ黒玉の符頭のもののみが検出され、更にリムショットを表現する文字列が検出されるのであれば、黒玉の符頭のものを全てリムショットとし、それ以外の黒玉の符頭のものをスネアドラムとする。スネアドラム及びリムショットは、共に五線の第３間に符頭が位置するように示されることになる。その場合でも、スネアドラムは通常黒玉の符頭のもので示され、リムショットは（Ｒ）等の別符頭の場合や、黒玉のまま文字列でリムショットを指定する場合もある。従って、以上のような推定が成り立つ。
【００１０】
表記法推定手段による前記表記法推定工程（機能）で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合に、符頭が五線の第１線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとする。
通常ペダルハイハットは、下第１間に符頭（×）として表記される。しかしバスドラムを避けて下側にずらす場合もある。誤認識の可能性も考慮して、上記のように、第１線以下の黒玉以外の音符はペダルハイハットとした。
【００１１】
表記法推定手段による前記表記法推定工程（機能）で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合に、符頭が黒玉で、且つ第３間を除く五線の下第１間と第５線の範囲に該黒玉が検出され、該黒玉の最下段が下第１間と第１間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより１段上の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとし、符頭が黒玉で、且つ第３間を除く五線の第２線と第５線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとする。
通常バスドラム、タムは黒玉で表記され、バスドラムは第１間、タムは第２線から第５線の第３線を除く１−４音高に表記される。しかしバスドラムが下第１間に表記されるような表記法も存在する。このような場合、Ｌｏｗタムが第１間（即ち通常のバスドラムと同一の音高）に表記される可能性が高い。このようにバスドラムの音高により、タムの音域が変化するので、最初の工程でバスドラムの音高を含めて黒玉の存在する音高を検出する。具体的には、上述のように、符頭が黒玉で、且つ第３間を除く五線の下第１間と第５線の範囲に該黒玉が検出され、該黒玉の最下段が下第１間と第１間の範囲に存在するのであれば、黒玉の存在する音高の最下段の音高を示すドラム音符をバスドラム、それより１段上の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとする。また符頭が黒玉で、且つ第３間を除く五線の第２線と第５線の範囲に該黒玉が検出された場合、最下段の音高を示すドラム音符をＬｏｗタム、最上段の音高を示すドラム音符をＨｉｇｈタム、更に第３間以外でＬｏｗタムの音高とＨｉｇｈタムの音高の間にある音高を示すドラム音符をＭＩＤタムとする。
【００１２】
表記法推定手段による前記表記法推定工程（機能）で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第４間以上の五線位置にあることを条件として、ドラム符頭の五線位置が１つの場合と２つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行う。
シンバル系のドラム楽器に関するドラム音符は、第４間以上の五線位置に黒玉以外のドラム符頭で表記される。その場合でも、１つの音高で示される場合（ドラム符頭の五線位置が１つの場合）と、２つの音高で示される場合（ドラム符頭の五線位置が２つの場合）とが存在する。
またシンバル系のドラム楽器の種類に応じて、ドラム符頭を変えて表記されることが多い。例えば２分音符、全音符は楽器の特性上、クラッシュシンバルである確率が高い。また符頭（◇）は、ドラム譜の歴史上、２分音符、全音符として表記される確率が高い。全音符が存在した場合、２分音符は全音符と同じ符頭で表記される確率が高い。シンバル系のドラム音符の表記は３つ以上の音高で示される確率は低く、２つの音高で示された場合、下段がハイハット、上段がクラッシュシンバル、トップシンバルである。また上段にクラッシュシンバルとトップシンバルの両方が表記されている場合、トップシンバルの符頭は（×）で表され、クラッシュシンバルはそれ以外の表記（符頭を変えるなど）である。更にシンバル（ハイハットシンバル以外）が１種類しかない場合には、クラッシュシンバルである。符頭が（○）のものは、ハイハットオープンとして表記され、記号（ °）が係っていない［或いは記号（ ＋ ）が係っている］ハイハットは、ハイハットクローズである。
もちろん、ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長などによって、そこに一緒に表記されている符頭が、最初推定したシンバル楽器とは違うことが判明することもある。例えば、符頭（◇）が存在しており、推定前に符頭（◇）を全音符、符頭（◇）に符尾が付いたものを２分音符として扱っていたが、符頭（◇）に符尾及び旗が付いた８分音符や１６分音符が存在した場合、符頭（◇）に符尾が付いたものは実際には４分音符であり、それ故、符頭（◇）が付く音符はトップシンバルであると分かることもある。
そのため上述のように、ドラム符頭の五線位置が１つの場合と２つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長［符頭（◇）の場合の前記８分音符や１６分音符等］、該旗により求められた他のドラム音符（上記８分音符や１６分音符等）の音長があることで符頭種類［符頭（◇）等］により定まる別の音長［符頭（◇）で符尾の付いた４分音符等］に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておく。そして、該変換テーブルに基づいてドラム表記法の推定を行うこととしたものである。
【００１３】
最終工程として、表記法推定手段により前記表記法推定工程（機能）で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識工程で得られた楽譜記号情報が４分音符として認識されたドラム音符に対し、前記変換テーブルの値が２分音符を指定している場合は、これらのドラム音符を２分音符に変換する。これは表記法によって、各種ドラム符頭がどの音長を示すか変わるからである。
【００１４】
【発明の実施の形態】
以下本発明の一実施形態を添付図面に基づき説明する。図１は本発明に係る楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体を後述するフレキシブルディスクドライブＦＤＤ５等の外部記憶装置（或いはＣＤ−ＲＯＭドライブ等）で読み込ませて稼動する楽譜読み取り装置の実施例構成を示すブロック図である。この装置は、パソコンなどの電子計算機の構成に、スキャナやＭＩＤＩインターフェース回路を付加したものである。ＣＰＵ１は、ＲＯＭ２或いはＲＡＭ３に格納されるプログラムに基づき、楽譜読み取り装置全体の制御を行う中央演算処理装置である。また予め設定された所定の周期でＣＰＵ１に割り込みをかけるタイマ回路を内蔵している。ＲＡＭ３はプログラムエリアの他、画像データバッファ、ワークエリア等として使用される。ハードディスク装置ＨＤＤ４及びフレキシブルディスクドライブＦＤＤ５は、プログラム及び画像データ、演奏データ等を格納する。ＣＲＴ６はＣＰＵ１の制御に基づき、ＣＲＴインターフェース回路７から出力される映像情報を表示し、キーボード８から入力された情報は、キーボードインターフェース回路９を経てＣＰＵ１に取り込まれる。プリンタ１０は、ＣＰＵ１の制御に基づき、プリンタインターフェース回路１１から出力される印字情報を印字する。
【００１５】
スキャナ１２は、例えば（印刷された）楽譜を光学的に走査して、２値或いはグレースケールの画像データに変換するものであり、フラットベッド型、ハンディ型、フィーダ型等任意のタイプのスキャナを使用できる。スキャナ１２によって読み取られた画像情報は、スキャナインターフェース回路１３を介して、ＲＡＭ３或いはＨＤＤ４に取り込まれる。ＭＩＤＩインターフェース回路１４は、音源モジュール等の外部のＭＩＤＩ機器との間でＭＩＤＩデータの送受信を行う回路である。バス１５は、本楽譜読み取り装置内の各回路を接続し、各種データ、プログラム、アドレス等をやり取りさせている。なお、この他にマウスなどのポインティングデバイスやＲＳ２３２Ｃ等のシリアルインターフェース回路等を備えていても良い。
【００１６】
図２はＣＰＵ１のメイン処理を示すフローチャートである。ステップＳ１においては、スキャナ１２によって楽譜のイメージをＲＡＭ３に取り込む。画像は２値の画像データとして取り込む。ステップＳ２においては、かすれやドットノイズ等を軽減するために、図形融合等の画質平滑化処理を行う。ステップＳ３においては、解像度と濃度の情報を得ると共に、後段における五線検出の基準データを得るために、後述する画質チェック処理を行う。楽譜の認識処理においては、解像度及び濃度が所定の範囲から外れると認識率が低下してしまうので、ステップＳ３においては、これらの値が、所定の範囲内に入っているか否かがチェックされる。ステップＳ４においては、ステップＳ３におけるチェック結果が画質ＯＫであるか否かが判定され、結果がＯＫ出ない場合にはステップＳ１に戻って、解像度や濃度を変えて再度取り込みを行う。ステップＳ５においては、後述する五線認識を行う。五線認識処理において、五線走査開始位置検出処理と五線シフト量の検出処理が行われる。ステップＳ６においては、段落認識処理を行う。この処理は、大きく、段落認識処理と、大かっこ認識処理に分かれる。段落認識処理においては、画像全体で五線を検出し、五線同士で左端が略同じ場所にある五線の組を探し、五線の端同士が、黒画素で結ばれているかどうかを検査し、段落を認識する。ステップＳ７においては、段落の認識結果を表示して、段落認識結果が正しいか否かを利用者にチェックさせることにより、ＯＫか否かが判定され、結果がＯＫでない場合にはステップＳ８に移行して、段落認識結果の修正が行われる。尚、五線認識が失敗した場合には、その後の処理が行えないので、解像度や濃度を変更して再度画像を取り込む必要がある。従ってステップＳ７においては、まず五線の認識結果を表示し、正しいか否かを利用者に判定させ、もし正しくない場合には、Ｓ１に戻ってイメージを再度取り込み、また五線が正しく認識されている場合には、段落認識結果を表示し、チェックさせるようにしても良い。
【００１７】
ステップＳ９においては、ユーザにより各段落のドラムパートを選択させる。その後ステップＳ１０において、通常パートは通常楽譜認識を、ドラムパートはドラム譜としての認識を行う。全てのページで記号認識手段による記号の認識が終了した後、ステップＳ１１〜１３において、１曲中のドラムパートを２回走査（２回ループ）することで、ドラムパートに関して曲全体で、表記法推定手段によるドラム表記法の推定と楽器割り当て手段による該表記法に従った楽器の割り当てを行う。本構成では、ドラム表記法推定結果の修正インターフェースを備えていない。これは、認識結果が間違っていれば、認識された楽譜記号を修正することで対応するからである。最後にステップＳ１４において、割り当てられた発音楽器に対して、データ変換手段によりその音長及び音高を指定した演奏可能な楽譜データ形式に変換する。
【００１８】
以下ステップＳ９〜ステップＳ１４までを詳細に説明する。五線認識、段落認識を行い、段落認識のチェック時に同時に、或いは段落認識結果の修正時に同時に、ステップＳ９において、ドラムパートの設定をユーザに行わせる。これは認識された五線、段落の結果を表示して、ドラム譜である五線をチェックさせることで設定する。ここで段落認識結果を保存するデータのパート情報に、ドラム譜であるかどうかのフラグを設定する。
【００１９】
設定されたフラグ情報に基づいて、認識部で、通常楽譜認識とドラム譜認識の場合分けを行い、ステップＳ１０において、ドラム譜に関して記号認識を行う。通常楽譜認識と、ドラム譜認識の違いは次の通りである。ドラム譜認識では、ドラム譜に存在しない記号の認識をスキップする（但し誤設定、誤認識対策、表記間違いなどの対策のために、認識自体は行い、出力だけを制限する場合もある）。ドラム譜認識では、ドラム譜に固有の記号・固有の文字列の認識を追加し、他方ドラム譜に不要な文字列の認識を削除する。また黒玉・白玉以外のドラム符頭の認識を追加する。他方ドラム譜の記号の出現確率・出現形態に対応したしきい値の変更を行う（例えばスラーの出現確率は低いので、認識時にしきい値を厳しくすることにより高速化できる、など）。同様に、通常音符の認識しきい値を変更する（黒玉和音が少ない、白玉の出現率は小さい、等。そのため、黒玉のしきい値を厳しくしたり、場合によっては白玉を認識しないようにする。本構成では白玉は認識しないものとする）。
【００２０】
このうちドラム符頭の認識は以下のように行う。ドラム譜の符頭で、通常の楽譜と同じ黒玉は、通常楽譜同様に、五線の線などを消去して行う太細分離処理及び黒玉部分の認識のための楕円検出処理により行う。本構成では、前述のように、ドラム楽譜における白玉の出現確率は低いので、認識を行わない。他方、これら以外のドラム譜の符頭は（×、◇）等、細線で描かれており、またこの他にも色々なタイプが存在するので、これまでと同様に、太細分離処理及び楕円検出処理で検出することができない。そのため、全音符については通常の記号（例えば休符等）と同様に、検出されたラベル（対象とする記号を認識するために、適当な大きさに設定された矩形）を辞書とマッチングすることにより行う。それ以外の符頭の認識は、符尾候補（符尾と仮にされるもの）でラベルを分離し、符尾候補の周辺のラベルを結合しながら辞書とマッチングすることで実現する。認識対象符頭は図３のようになる。これ以外にもドラム符頭は存在するが、この程度に対応しておけば一般的なドラム譜は略対応できることになる。また符頭が五線のどの位置にあるか（音高）によって認識対象符頭種類を変化させることも有効である［例えば符頭（Ｒ）は第３間しか存在しない等、本構成ではこのような認識は行っていない］。黒玉（白玉）以外の符頭に関しては、認識された符頭の種類を記号保存データに残す。即ち認識記号保存データ中の保存領域ｄｒｕｍＮｏｔｅに符頭種類を書き込む。
【００２１】
またドラム譜の認識に当たっては、更にドラム音符に係る記号の認識も重要である。例えばハイハットシンバルは音符の上方に（  °）や（  ＋  ）等を書くことによってオープンとクローズ（その他ハーフオープン）等を表現する場合がある。またアクセント（  ＞  ）が付いているものをシンバル（クラッシュ）とし、他をハイハットシンバルとするような表記法もある。従ってこれらの係り具合を検出することが必要になる。従ってドラム譜の場合、記号認識時に（  °）や（  ＋  ）を追加認識する。認識結果中に、（  °）、（  ＋  ）及び（  ＞  ）などが存在したら、図４に示すように、この記号の上下左右にある適当な幅を加算した矩形Ｂ中に符頭中心Ｃ又は符尾端点Ｄが存在する音符に夫々の記号種類に応じた値を書き込む。通常ドラム譜の場合、これらの記号の係りが影響する音符は、もっとも上の音高に書かれたものだけであり、またクラッシュシンバルを表現するアクセント記号とハイハット記号が重複することもない。これらの対象になる音符の符頭は、（×）符頭を持つ音符に限られる。よって、係りの対象となる音符は最も音高の高いものとし、ハイハットとアクセントは同じ位置へのフラグとして記憶領域を削除することも考えられる。しかし、誤認識の可能性や、処理を簡単にすることを考えると、同じ帯域にある全ての音符に別々のフラグを書き込んでも良い。本構成では、同じ帯域の黒玉以外の音符全てに夫々の記号に応じた値を書き込む。但し、この場合、係り具合の検出の優先順を考慮する必要がある。つまりハイハットオープン、クローズ等が係る場合には、アクセントの係りは考慮する必要がない。よって、最初にハイハット記号の係りの検出、その後にアクセント記号の係りの検出という順番に、一度係りを検出した音符には係りの上書きができいないようにする。また後述する標準パターンではハイハットハーフオープン、ハイハットクオータオープン等は対応していないが、記号認識と係りの認識も行い、ハイハットハーフオープン、ハイハットクオータオープン等は、ハイハットオープンに変更しても良い。（ｄｒｕｍＮｏｔｅの空き領域に値を入れる）ハイハットオープン、クローズ等はアクセントよりも優先的に書き込む。
【００２２】
以上のようにして記号認識を終了すると、次のステップＳ１１〜Ｓ１２において、ドラム表記法の推定を行う。本構成では、当てはめという作業により対応する表記法を推定し、またその認識結果を表示し、演奏するために、ドラム譜標準パターンの形式でデータを作成する。上記当てはめは、１曲中のドラムパートを２回走査することで実現する。当てはめ結果は、ｄｒｕｍＮｏｔｅに更に実際の楽器を表現するフラグを書き込む。このフラグを参照し、ドラム譜標準パターンの形式でデータを作成する。尚、上記当てはめ工程の説明をする前に、ドラム表記法と、ドラム譜標準パターンについて、以下に説明する。
【００２３】
ドラム譜の表記法には、様々な種類がある。中には非常に特殊な表記法もあるが、このようなものは頻度も低いので対象にしない。ドラム表記法で最も問題になるのはシンバル（ハイハットシンバル、クラッシュシンバル、トップシンバル等）の表記法である。それ以外の楽器は音高が多少変わる程度である。但し、タムは、個数（音高数）が変化する（２個、３個、４個の場合……）。シンバルの表記法は大きく２つのタイプに分けられる。即ち１つの音高で表現される場合と、ハイハットとそれ以外を２つ（以上）の音高に分ける場合である。また夫々のタイプにおいて、更に楽器の種類を符頭の種類を変えて表現する場合と、アクセントのあるなしで表現する場合に分けられる。２分音符、全音符を表現するために、更に別符頭を使う場合もある。その他文字列により楽器の種類を指定する場合もあり、加えて曲の先頭で文字列により楽器を指定する場合と、文字列により領域分けをする場合、また全ての音符に文字列による指定を行う場合もある。
【００２４】
上述のように、本構成の楽譜読み取り装置には、図５に示すように、認識した結果を表示し、演奏するためのドラム譜標準パターンがある。対応楽器は、クラッシュシンバル（サイドシンバルと呼ばれることもある）、トップシンバル（ライドシンバルと呼ばれることもある）、ハイハットオープン、ハイハットクローズ、スネアドラム、リムショット、Ｈｉｇｈタム、Ｍｉｄタム、Ｌｏｗタム、バスドラム、ペダルハイハットである。この標準パターンに記号認識した結果を当てはめなければならない。また標準パターンが対応している以外の楽器が表記される場合（カウベル、チャイム、ゴングなど）もあり、このような場合も適切な当てはめの対応が必要である。
【００２５】
シンバル系以外のドラム楽器の当てはめ手順を以下に説明する。
スネアドラム、リムショットは、五線の第３間に表記されるとして良い。スネアドラムは通常黒玉で表現され、リムショットは（Ｒ）等の別符頭の場合や、黒玉のまま、文字列でリムショットを指定する場合がある。そこで２回の走査のうちＳ１１の第１ループで、第３間の黒玉はスネアドラムとし、黒玉以外の符頭はリムショットとする。黒玉以外の符頭が存在したら論理値ｒｉｍＯｔｈｅｒＥｘｉｓｔを真にする。またリムショットを表現する文字列を検索し、存在したら、論理値ｒｉｍＳｔｒＥｘｉｓｔを真にする。Ｓ１３の第２ループで、論理値ｒｉｍＳｔｒＥｘｉｓｔが真で且つｒｉｍＯｔｈｅｒＥｘｉｓｔが偽の場合、第３間の音符を全てリムショットとする。
【００２６】
通常ペダルハイハットは下第１間に符頭（×）として表記される。しかしバスドラムを避けて下側にずらす場合もある。そのため誤認識の可能性も考慮し、第１線以下の黒玉以外の音符はペダルハイハットとする。ペダルハイハットは１回のループで設定できる。
【００２７】
通常バスドラム、タムは黒玉で表記され、バスドラムは第１間、タムは第２線から第５線の第３線を除く１−４音高に表記される。しかしバスドラムが下第１間に表記されるような表記法も存在する。このような場合、Ｌｏｗタムが第１間（即ち通常のバスドラムと同一の音高）に表記される可能性が高い。このようにバスドラムの音高により、タムの音域が変化するので、第１ループでバスドラムの音高を含めて黒玉の存在する音高を検出する。但し本構成では、下第１間よりも低い音高は誤認識として削除する。このためＳ１１の第１ループで、黒玉の存在する音高の、最下段（ｍｉｎＴｏｍ）とその１段上（ｍｉｎＴｏｍ２ｎｄ）の２段階、最高音高（ｍａｘＴｏｍ）を検出し、且つ下第１間よりも低い音高の黒玉音符は削除する。この時、タムの最高音高は第５線までで通常は問題ないが、本構成では、誤認識や特殊な表記の可能性を考えて、検出範囲を上第２間まで広げておく。これらの情報からバスドラムの音高とタムの音高を次のようにして検出する。即ちｍｉｎＴｏｍが第１間より低ければ、バスドラムの音高（ｈｅｉｇｈｔＢａｓｓＤｒｕｍ）をｍｉｎＴｏｍとし、Ｌｏｗタムの音高（ｈｅｉｇｈｔＬｏＴｏｍ）をｍｉｎＴｏｍ２ｎｄとする。そうでなければ、バスドラムの音高は第１間であり、この場合、ｍｉｎＴｏｍが第１間であれば、Ｌｏｗタムの音高はｍｉｎＴｏｍ２ｎｄとし、そうでなければ、Ｌｏｗタムの音高はｍｉｎＴｏｍである。またＨｉｇｈタムの音高（ｈｅｉｇｈｔＨｉＴｏｍ）はｍａｘＴｏｍである。次のＳ１３の第２ループでバスドラム、タムの実際の設定（確定）を行う。即ち、黒玉で且つ音高がｈｅｉｇｈｔＢａｓｓＤｒｕｍであればバスドラム、黒玉で且つ音高がｈｅｉｇｈｔＬｏＴｏｍであればＬｏｗタム、黒玉で且つ音高がｈｅｉｇｈｔＨｉＴｏｍであればＨｉｇｈタム、そして黒玉で、音高がｈｅｉｇｈｔＬｏＴｏｍとｈｅｉｇｈｔＨｉＴｏｍの間で、第３間以外の場合、Ｍｉｄタムとする。標準パターンでは、タムは３種類なので、４個以上のタムは、中間を１種類のタムに割り当てる。
【００２８】
シンバル系のドラム楽器の当てはめ手順を以下に説明する。上述のようにシンバル系のドラム楽器の表記法は種々有り、１回のループだけでは当てはめを行うことはできない。そこで全ページ、全段落の全てのドラムパートの認識結果の走査を２回（２回のループ）行うことで当てはめを決定する。第１のループにおいて、シンバルに該当する音域で、夫々の音高での夫々の符頭の数などの情報を得る。第２ループの前に、得られた情報から、ドラム当てはめ条件に基づいてドラム表記当てはめのための変換テーブルを設定する。第２ループで変換テーブルを使って夫々の音符の実際に鳴らす楽器を設定する。
【００２９】
ドラム譜標準パターンへの当てはめ処理では、様々な表記法の中から、前提とできる条件を使って、妥当な推定を行う。前提条件は以下のようなものである。２分音符、全音符は楽器の特性上、クラッシュシンバルである確率が高い。よって本構成では、２分音符、全音符はクラッシュシンバルであるとして、表記法の推定を可能とする。また符頭（◇）は、ドラム譜の歴史上、２分音符、全音符として表記される確率が高い。よって符頭（◇）を、２分音符、全音符に優先的に割り当てることによって、表記法の推定をより妥当なものにすることができる。全音符が存在した場合、２分音符は全音符と同じ符頭で表記される確率が高い。シンバル系のドラム音符の表記は３つ以上の音高で示される確率は低く、２つの音高で示された場合、下段がハイハット、上段がクラッシュシンバル、トップシンバルである。また上段にクラッシュシンバルとトップシンバルの両方が表記されている場合、トップシンバルの符頭は（×）で表され、クラッシュシンバルはそれ以外の表記（符頭を変えるなど）である。更にシンバル（ハイハットシンバル以外）が１種類しかない場合には、クラッシュシンバルである。符頭が（○）のものは、ハイハットオープンとして表記され、記号（  °）が係っていない［或いは記号（  ＋  ）が係っている］ハイハットは、ハイハットクローズである。
【００３０】
以下ドラム譜標準パターンへの当てはめ処理によるシンバル系ドラム楽器の推定処理を以下に詳述する。
Ｓ１１の第１ループで、以下の情報について取得する。
▲１▼夫々の音高での夫々の符頭の数
▲２▼夫々の音高での夫々の符頭に８分音符より短い音符があるかどうか
▲３▼夫々の音高での夫々の符頭でアクセントが付いているものの割合
▲４▼符頭（◇）の音符が存在するか否かの論理値設定
また符頭（○）の音符をハイハットオープンにする処理や、符頭（△）や符頭（Ｃ）をトップシンバルに置き換える処理はここで行う。
【００３１】
Ｓ１１の第１ループでは夫々の音高での夫々の符頭の数を求めたが、Ｓ１２の第２ループ前処理では、この情報テーブルを音高が低い方から走査し、実際のシンバルの音高を求める。最初に見つかった音高が第１の音高とし、次に見つかった音高が第２の音高とし、それ以降は第２の音高に正規化する。但し、第１の音高の音符の数が極端に少ない場合、音符の誤認識の可能性が高いので、その音符は削除指定し、シンバルの音高の検出結果をずらしても良い。特にシンバルの音高が３段以上になった場合に、この処理が有効である。
次にドラム当てはめ変換テーブルを作成する。変換テーブルは、２つの音高で、夫々の符頭の種類とアクセント等の係りの状態に応じて場合分けされた要素について、音符がその状態であった場合の割り当て楽器の種類を書き込めるようにする。
音符状態の場合分けとしては、ＣＴ＿ＰＥＫＥ＿ＮＵＮ［符頭（×）で係りなし］、ＣＴ＿ＰＥＫＥ＿ＣＬＳ［符頭（×）で（  ＋  ）が係っている］等のようになる。また楽器割り当ての種類としては、ＤＮ＿ＨＨＣＬＯＳＥ（ハイハットクローズ）、ＤＮ＿ＳＩＤＥＨＡＬＦ（クラッシュシンバルの２分音符）などである。検出されたシンバルの音高数等によって、表記をタイプ分けし、夫々のタイプに応じて変換テーブルに楽器を割り当てる。タイプ分けは、例えば下記表１に示すとおりである。
【００３２】
【表１】
0003597343.tif 000002
【００３３】
また変換テーブルへの楽器の割り当ては、上記処理前提に基づいて、最も妥当なものを当てはめる。
即ち、タイプ１なら、全てハイハットであるとするのが妥当である。もちろん前提条件により、通常はハイハットクローズで、（  °）が係っていれば、ハイハットオープンとする。
タイプ２では、符頭（×）以外はクラッシュシンバルの２分音符（全音符）とするのが妥当である。この場合、符頭（×）でアクセント付きのものはクラッシュシンバルとする。変換テーブルのＣＴ＿ＰＥＫＥ＿ＡＣＣ［符頭が（×）で、且つアクセント付き］を、ＤＮ＿ＳＩＤＥ（クラッシュシンバル）、符頭（×）以外の変換テーブルをＤＮ＿ＳＩＤＥＨＡＬＦ（クラッシュシンバルの２分、全音符）に設定する。
タイプ２３では、下段は全てハイハットシンバルとし、上段については、以下のようになる。
符頭（×）はトップシンバルとする。
また全音符が存在し、全音符と同じ符頭が全音符以外に存在すれば、全音符はクラッシュシンバルの全音符であり、全音符と同じ符頭の音符をクラッシュシンバルの２分音符、全音符と異なる符頭（もう一方）をクラッシュシンバルとする。
全音符が存在し、全音符と同じ符頭が全音符以外に存在しないか、全音符が存在しない場合、符頭（◇）が存在すれば、符頭（◇）をクラッシュシンバル２分音符、もう一方をクラッシュシンバルの４分音符とし、符頭（◇）が存在しなければ、数が少ない方をクラッシュシンバル２分音符、もう一方をクラッシュシンバルの４分音符とする。
全音符が存在しなくて、符頭（◇）が存在すれば、符頭（◇）をクラッシュシンバル２分音符、もう一方をクラッシュシンバル４分音符とする。
上記表記法は、最も確率が高いものであるが、例えばタイプ２では符頭×以外がクラッシュシンバルの４分音符であり、符頭（×）にアクセントが付いたものがハイハットである場合もあり得る。
【００３４】
第２ループの前処理が終えてＳ１３の第２ループで楽器の割り当てがなされる。即ち認識結果を走査しながら、夫々の音高の夫々の符頭、記号の係り具合に対応して、変換テーブル上の楽器を割り当てる。そして変換テーブルの値がＤＮ＿ＳＩＤＥＨＡＬＦ等の２分音符を指定している場合、推定前に元々４分音符として認識さている場合には音符ＩＤを２分音符に変換する。また変換テーブルに削除の指定（ＤＮ＿ＭＡＴＣＨＩＮＧＮＯＮＥ）があった場合には、認識記号を削除する（ＩＤ＝ＩＤ＿ＤＥＬＥＴＥＤ）。
【００３５】
上記走査中に文字列による楽器の指定を認識して変換テーブル上の楽器を割り当てることも行われるが、シンバルの文字列は、”ｒｉｄｅ  ｃｙｍ”、”ｓｉｄｅ  ｃｙｍ”、”ｔ．ｃ．”、”ｃ．ｃ．”等で、文字列同士類似しており、誤認の危険性が高い。このため、ドラム譜に表記される文字列を全て辞書化し、認識結果を全て反映させるのは危険である。よって、文字列の辞書を誤認識の確率の低いものだけに制限し、文字列の効果も制限することが妥当である。本構成では、文字列を”ｔｏｐ”だけにし、効果を、クラッシュシンバルが２分・全音符なしで指定されている時に、通常クラッシュシンバルとするところをトップシンバルとする場合と、ハイハットシンバルが（  °）（  ＋  ）の係りなしに指定された時に、通常ハイハットシンバルとするところをトップシンバルとする場合の２通りのみとする。この２通りの場合の両方に該当する場合には、どちらか表記の確率が高い方にする。
【００３６】
その他符頭（△）や符頭（Ｃ）を認識可能にしている。これらは通常カウベルやカップであり、標準パターンには存在しない。よって当てはめ処理で変換テーブルに削除を指定して消してしまうことも考えられる。また、タンバリン等のパーカッション類がドラム譜上に表記されている場合にも、第３線上の（×）符頭等、当てはめ処理で対応していない表記の場合には、特別な処理を行わなければデータ上から削除される。しかしこのような音符を単純に削除すると、リズムが成り立たない場合もあるので、トップシンバル等で置き換えることもできる。また同様に音符を単純に削除すると、リズムが成り立たない場合があるので、削除の代わりに、同じ音長の休符と置き換えることも考えられる。
【００３７】
このようにして楽器の割り当てがなされたら、ステップＳ１４において、上記の楽譜認識から明らかになっているドラム譜の音符の音高・音長に基づき、演奏及び／又は表示可能な楽譜データ形式に変換する。
【００３８】
以上のようにしてドラム譜の表記を認識することにより、ユーザに負担をかけずにドラム譜を認識して演奏を行うことが可能になる。またドラム譜に関する知識のないユーザにも、その利用が可能となる。
【００３９】
上記実施形態構成の他、以下のような他の実施形態構成も考えられる。
（他の実施形態１）
ドラム譜への音符その他の記号の貼り付けに関して、標準パターンを設け、標準パターン形式での貼り付け以外はできないような構成であると、市販楽譜と異なる表記で貼り付けることが必要となり、認識結果の修正も、元楽譜を基準とすることができない。楽譜通りにどんな表記も可能にするインターフェースを設け、演奏時に、上記当てはめアルゴリズムで表記法を推定し、演奏する楽器を特定するようにすれば、認識結果の修正は、元楽譜と同じ状態になるようにすれば良いことになる。
【００４０】
（他の実施形態２）
本構成では、文字列により、曲の途中で音色（ドラム楽器）を変更する表記法に対応させている。このような表記法で特に問題になるのは、スネアドラムとリムショットの変更、クラッシュシンバルとトップシンバルの変更、ハイハットとトップシンバルの変更である。
処理はスネアドラム・リムショットの場合とその他の場合（シンバル）との２種類に分ける。そして夫々で実際に文字列による曲の途中での音色変更が行われているかの判定を行う。またシンバルの場合には、どちらの変更かを判定しなければならない。文字列の時系列での反映の実現のため、この実施形態では、認識する文字列を、リムショット、トップシンバルの他に、スネアドラム、クラッシュシンバル、ハイハットシンバル等も追加する。更に文字列に付随する括弧等の範囲指定も認識する手段も追加する。その場合に、後に行う時系列整列の基準となるホットスポットを、括弧の始点（左端）とする。括弧の範囲指定は、図６（ａ）のように終端のある場合と、同図（ｂ）のように終端のない場合を区別して認識している。そして終端のある文字列の場合、時系列走査の際に基準とできるように、括弧の右端をホットスポットとする文字列終端用のＩＤを持つ別の記号データを追加する。また文字列の括弧による範囲指定の終端が分離して表記される場合に備えて、図６（ｃ）に示されるような終端括弧も認識する。この場合には時系列整列の基準ホットスポットを括弧の右端とする。更に範囲指定なしの文字列の場合、音符に対して後ろ（右）にずれる場合があるので、ホットスポットを時系列的に少し前（左）にずらすことも考えられる。
このようにして認識された結果を時系列に整列しておく。
スネアドラム・リムショットの音色変更の処理は次のようにして行われる。まず認識結果を時系列的な先頭から走査する。音色保存データｓｎａｒｅＯｒＲｉｍの初期値をＤＮ＿ＳＮＡＲＥとする。第３間の黒玉が存在したら、ｄｒｕｍＮｏｔｅにｓｎａｒｅＯｒＲｉｍの値を書き込む。スネアドラムを表す文字列又はリムショットを表す文字列が存在したら、ｓｎａｒｅＯｒＲｉｍにＤＮ＿ＳＮＡＲＥ又はＤＮ＿ＲＩＭを書き込む。又終端ＩＤが検出された場合には、現在のｓｎａｒｅＯｒＲｉｍとは逆の値に書き換える。そして繰り返し小節線終端等が存在した場合にｓｎａｒｅＯｒＲｉｍの変更を行っても良い。他方、第３間の開始位置以外の音色指定が、スネアドラムを表す文字列とリムショットを表す文字列のどちらか一方しか存在しなかった場合と、両方の文字列が交互に存在する場合に、処理を変更することも考えられる。即ち両方の文字列が存在する場合は、終端を考慮しなくて良い。
シンバルの音色変更の処理は以下のようにして行われる。トップシンバル、クラッシュシンバル、ハイハットの場合には、文字列でクラッシュシンバルとトップシンバルを交換する場合と、ハイハットシンバルとトップシンバルを交換する場合があり、文字列での楽器変更を行っているかの判定と同時に、どちらの楽器変更かを判別しなければならない。
以下の処理は、表記法推定時に夫々のタイプ（例えば上記表１に示したタイプ２３等）に応じて変換テーブルに楽器を割り当てる工程（段落番号００３３等を参照）の後に追加的に実施する（但しトップシンバルを表す文字列の処理を行わない）。この処理の結果を「１回目の推定結果」とする。
まずシンバルの音高が２つの場合には、ハイハットとトップシンバルの交換はあり得ない。また１回目の推定結果で、既にクラッシュシンバルとトップシンバルが両方存在している場合には、文字列での楽器交換を行わない。シンバルの音高が１段の場合も、１回目の推定結果でクラッシュシンバルとトップシンバルが両方存在している場合には、ハイハットシンバルとトップシンバルの交換と推定できる。そうでない場合、時系列での認識結果走査を１度行い、トップシンバルを表す文字列で指定された領域で、１回目の推定結果での、ハイハットシンバルとクラッシュシンバルの音符数を計数し、ハイハットシンバルが多ければ、ハイハットシンバルとトップシンバルの交換と判定し、そうでなければ、クラッシュシンバルとトップシンバルの交換と判定する。この判定では、ハイハットシンバルの方が、基本的にクラッシュシンバルよりも数が多いということを考慮して、ハイハットシンバル、クラッシュシンバルの数の大小ではなく、全体の数に対するクラッシュシンバルの割合をしきい値により判定しても良い。
交換方式が決定したら、もう１度時系列走査を行い、スネアドラム、リムショットの処理と同様に楽器の変更を行う。ハイハットシンバルとトップシンバルの交換であれば、１回目の推定結果でハイハットシンバルとされたものをトップシンバルと交換する。クラッシュシンバルとトップシンバルの交換であれば、１回目の推定結果でクラッシュシンバルとされたものをトップシンバルと交換する。
【００４１】
（他の実施形態３）
ドラムパートの指定をユーザに行わせず、自動でドラムパートであるかどうかを認識させる。スコア譜では、五線の左にパート名が文字列表記されることが多いので、この文字列を認識すれば、ドラムパートを自動認識できる。また音符認識で、黒玉・白玉以外に、ドラム符頭も認識可能とし、認識後、ドラム符頭の数によってドラムパートを認識することもできる。この場合、誤認識の可能性や、通常楽譜に手拍子等が（×）符頭で表記されるような場合を考慮して、ドラム符頭の数にしきい値を設ける。ユーザに、ドラムパートが存在するかどうかだけを指定させれば、五線の左の文字列の認識や、通常楽譜でのドラム符頭の認識等の、ドラム譜が存在しない場合に無駄になる処理や、誤認識の危険性を回避することができる。またドラムパートが存在することが指定されていれば、単純に段落の最も下のパートをドラム譜と指定することもできる。
【００４２】
（他の実施例４）
曲のテンポによって、クラッシュシンバルとトップシンバルの割り当てを変化させる。曲のテンポが遅い場合、曲調が静かな場合が多く、このような場合に、通常クラッシュシンバルを使うような状況でトップシンバルを使用し、柔らかいアクセントを付けるような奏法を行うのが一般的である。しかしこれが文字列等で明記されていることは少ない。よってテンポからこのような状況を推定する。即ちテンポがある値より遅く、且つ表記法の楽器の割り当てで、トップシンバルの割り当てがなかった場合、通常クラッシュシンバルとするところを、トップシンバルとする。なお、テンポはテンポ記号を認識しているので判別できる。
【００４３】
（他の実施形態５）
文字列の認識率、特にドラム譜の認識に特化した文字列の認識の高精度化を行う。例えば”ｒｉｄｅ  ｃｙｍ”と”ｓｉｄｅ  ｃｙｍ”は１字違いで意味が大きく変わってしまう。従って例として、”ｉｄｅ  ｃｙｍ”が認識されたら８文字中７文字がマッチしていると言うことで、文字列の認識成功として単純にどちらか辞書中の記載順が早い文字列に落とすような処理では問題がある。そこで文字列中の注意すべき文字の位置を辞書に保存する。そして上記文字位置の文字の認識が失敗している場合には、文字列認識結果に落とさない処理をなし、その位置に存在する可能性のある文字の内、最もマッチング度が高いものを検出し、精度を上げる（例としては、ｒとｓのマッチング度を比較し、ｓが高かったら、”ｓｉｄｅ  ｃｙｍ”にする）。
【００４４】
【発明の効果】
以上詳述した本発明の構成によれば、様々な表記法で記述されたドラム譜の表記法を推定しながら該ドラム譜の認識を行うため、複雑なインターフェースを使用することなく、しかもユーザに負担をかけずに、少ない操作で演奏可能なデータ形式に変換することができるようになる。またドラム譜に関する知識のないユーザにも、その利用が可能となる。
【図面の簡単な説明】
【図１】本発明に係る楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体を外部記憶装置で読み込ませて稼動する楽譜読み取り装置の実施例構成を示すブロック図である。
【図２】ＣＰＵのメイン処理を示すフローチャートである。
【図３】認識対象符頭を示す説明図である。
【図４】認識結果中に特定の記号がある場合にその認識結果の書き込みを行う音符の特定方法を示す説明図である。
【図５】ドラム譜標準パターンを示す説明図である。
【図６】範囲指定のある或いはない括弧の状態を示す説明図である。
【図７】楽譜上の段落の説明図である。
【図８】認識対象たる音符の黒玉・白玉の符頭、符尾及び旗を示す説明図である。
【符号の説明】
１      ＣＰＵ
２      ＲＯＭ
３      ＲＡＭ
４      ハードディスク装置
５      フレキシブルディスクドライブ
６      ＣＲＴ
７      ＣＲＴインターフェース回路
８      キーボード
９      キーボードインターフェース回路
１０      プリンタ
１１      プリンタインターフェース回路
１２      スキャナ
１３      スキャナインターフェース回路
１４      ＭＩＤＩインターフェース回路
１５      バス
【図１】
0003597343.tif 000003
【図３】
0003597343.tif 000004
【図４】
0003597343.tif 000005
【図５】
0003597343.tif 000006
【図２】
0003597343.tif 000007
【図６】
0003597343.tif 000008
【図７】
0003597343.tif 000009
【図８】
0003597343.tif 000010