JP3597343B2 - 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3597343B2 JP3597343B2 JP19796997A JP19796997A JP3597343B2 JP 3597343 B2 JP3597343 B2 JP 3597343B2 JP 19796997 A JP19796997 A JP 19796997A JP 19796997 A JP19796997 A JP 19796997A JP 3597343 B2 JP3597343 B2 JP 3597343B2
- Authority
- JP
- Japan
- Prior art keywords
- drum
- note
- notation
- symbol
- pitch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/30—Character recognition based on the type of data
- G06V30/304—Music notations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Discrimination (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、楽譜のうち、特にドラム譜の読み取りを可能にする楽譜読み取り方法及び楽譜読み取りを行うプログラムを記緑したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
通常楽譜を機械的に認識させる場合は、五線認識、図7に示されるような段落の認識の後、五線を消去して、種々の方法を使いながら、図8(a)に示される黒玉bや同図(b)に示される白玉wなどの音符の符頭、同図(c)に示される該符頭に連続する符尾t、更に同図(d)に示される該符尾に連続する旗f、その他を認識している。
【0003】
【発明が解決しようとする課題】
これに対し、ドラムセットの楽譜表記であるドラム譜は、楽器の歴史的要因や、演奏上の要因から、楽譜表記が固定していない。
最も一般的な表記法というものも存在しないので、ある特定の表記の認識だけを対象にするのであれば、ドラム譜認識の汎用性がなくなってしまう。
他方、様々な表記法を認識対象にする場合、表記された記号を表記通りに認識するだけでは、その音符をどのドラム楽器(ドラム音)で演奏するかを特定することができず、そのままではドラム譜を演奏することはできなかった。
【0004】
また、このように特定の表記法にとらわれずにドラム譜を認識させようとする場合、その認識結果を正しく演奏させるためには、その記号(音符を含む)が実際にどのようなドラム音(ドラム楽器)であるかを指定しなければならない。このような指定をユーザに行わせることも可能であるが、その場合、ユーザがドラム譜の表記法について熟知している必要がある。更にその指定のために、複雑なインターフェースを使用すると共に、その指定操作も複雑になり、膨大な修正工数も必要となって、トータルの修正コストが増加する結果となる。
加えてドラム譜認識前に表記タイプの指定を行い、この指定された表記タイプに基づいて認識を行なって、認識後の修正を不要にすることができるとしても、同様にユーザ側に表記法の正確な知識を要求することになる。
以上のような問題が、従来からある楽譜認識技術において、ドラム譜への対応を阻害していた。
【0005】
本発明は従来技術の上記問題に鑑み創案されたもので、これらの問題を解決し、様々な表記法で記述されたドラム譜の表記法を認識し、少ない操作で演奏可能なデータ形式に変換することができる構成を提供せんとするものである。
【0006】
【課題を解決するための手段】
そのため本願請求項1に係る発明の構成(請求項9に係るコンピュータ読み取り可能な記録媒体の構成についても同じ)は、記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とを有して実行される楽譜読み取り方法において、記号認識手段により行われる、音符を含む楽譜の全ての記号を認識する記号認識工程(記号認識機能)と、表記法推定手段により行われる、ドラム譜を音高によって場合分けし、前記記号認識工程(機能)によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定工程(機能)と、楽器割り当て手段により行われる、前記表記法推定工程(機能)により推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を割り当てる楽器割り当て工程(機能)と、データ変換手段により行われる、演奏及び/又は表示可能な楽譜データ形式に変換するデータ変換工程(データ変換機能)とを有することを特徴としている。前記請求項9の記録媒体の構成は、これらの機能を実行させるための楽譜読み取りプログラムを記緑したコンピュータ読み取り可能な記録媒体として提供するものである。
上記ドラム譜の認識を行わせる場合、楽譜上の記号認識から一義的にドラム音(ドラム楽器)の割り当てを行わせることができない。そのため、本発明の構成は、楽譜の全ての記号認識を行わせた後、それらの情報を基に一旦ドラム表記法を推定させてから、ドラム音の割り当てを行い、演奏及び/又は表示可能なデータ形式に変換させることにしている。
【0007】
前記楽譜読み取り方法(記録媒体)において、記号認識手段により前記記号認識工程(機能)で得られた楽譜記号情報が認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出するようにする。上述のように、ドラムパートの楽譜読み取りは、一旦楽譜上の全記号の認識を終了した段階でなければ、正確な推定はできないのであるから、推定を行う前に、少なくとも、これらの記号の認識と記号の係り具合について、正確に認識しておく必要がある。もちろんドラム表記法の推定を行う場合、これらの記号及びその係りの正確な認識以外に、後述するように、ドラム符頭の五線位置の認識も、重要な判断要素となる。
【0008】
また表記法推定手段による前記表記法推定工程(機能)でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることになる。
これは、まずシンバル系のドラム楽器及びそれ以外のドラム楽器は、その種類の違いによって、五線の表示位置(音高)が変わり(但し楽器によってはその位置が一義的に定まっていないものもある)、更にドラム符頭も異なるものが使用される(但し同じものが使用されることもある。中にはドラム符頭も、五線の位置も同じになるものもある)。従ってドラム符頭が五線のどの位置にあるかによって、ドラム楽器の推定の範囲が狭まり、且つドラム符頭の種類によりある程度その推定の妥当性も高まる。
しかし、シンバル系では、ドラム符頭が中抜きダイヤ型(◇)の場合、それが2分音符・全音符を指すものなのか、或いはある特定のシンバル系の楽器を指すものなのかが直ぐには判断できない場合がある。同様に判断が直ぐにできないものに、ドラム符頭が(×)型の場合がある。
これらの場合、ドラム音符に係るハイハットオープンの記号( °)があれば、それは必ずハイハットであり、該記号が付いているドラム音符の符頭は、ハイハットである可能性がある。しかし同じ符頭でも該記号が付いていない場合は、ハイハットクローズを指す場合の他、クラッシュシンバルやトップシンバルを示していることもある。
ドラム音符に係るアクセント記号( > )( ^ )があれば、一般的にはその音符にアクセントを付けることを意味するが、クラッシュシンバルを指していることもある。この場合は楽譜に使用されているアクセント記号付きの符頭の種類及び符頭の五線位置からある程度判断できる。
このような場合に、音符のドラム音指定のための文字列がそれについていれば、該文字列が優先され、そこから他の記号が推定されることもある。
更に前述のダイヤ型符頭に、符尾及びその符尾に付く旗がある場合、該旗は8分音符や16分音符等の音長を指していることが分かる(ドラム音符の旗により定まる音長)。その場合、その符頭のものは2分音符や全音符を指すものではなく、特定のドラム楽器を示すものであり、それによって、また他のドラム音符の音長も求まることもある(旗により求められた他のドラム音符の音長があることで符頭種類により別の音長が定まる)。
従ってドラム表記法の推定に当たっては、上記した記号などの情報に基づいて行うことになる。
【0009】
表記法推定手段による前記表記法推定工程(機能)で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合、符頭が五線の第3間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉の符頭のものをスネアドラム、(R)又は黒玉以外の符頭のものをリムショットとし、符頭が五線の第3間にあり且つ黒玉の符頭のもののみが検出され、更にリムショットを表現する文字列が検出されるのであれば、黒玉の符頭のものを全てリムショットとし、それ以外の黒玉の符頭のものをスネアドラムとする。スネアドラム及びリムショットは、共に五線の第3間に符頭が位置するように示されることになる。その場合でも、スネアドラムは通常黒玉の符頭のもので示され、リムショットは(R)等の別符頭の場合や、黒玉のまま文字列でリムショットを指定する場合もある。従って、以上のような推定が成り立つ。
【0010】
表記法推定手段による前記表記法推定工程(機能)で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合に、符頭が五線の第1線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとする。
通常ペダルハイハットは、下第1間に符頭(×)として表記される。しかしバスドラムを避けて下側にずらす場合もある。誤認識の可能性も考慮して、上記のように、第1線以下の黒玉以外の音符はペダルハイハットとした。
【0011】
表記法推定手段による前記表記法推定工程(機能)で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の実際の推定を行う場合に、符頭が黒玉で、且つ第3間を除く五線の下第1間と第5線の範囲に該黒玉が検出され、該黒玉の最下段が下第1間と第1間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより1段上の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとし、符頭が黒玉で、且つ第3間を除く五線の第2線と第5線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとする。
通常バスドラム、タムは黒玉で表記され、バスドラムは第1間、タムは第2線から第5線の第3線を除く1−4音高に表記される。しかしバスドラムが下第1間に表記されるような表記法も存在する。このような場合、Lowタムが第1間(即ち通常のバスドラムと同一の音高)に表記される可能性が高い。このようにバスドラムの音高により、タムの音域が変化するので、最初の工程でバスドラムの音高を含めて黒玉の存在する音高を検出する。具体的には、上述のように、符頭が黒玉で、且つ第3間を除く五線の下第1間と第5線の範囲に該黒玉が検出され、該黒玉の最下段が下第1間と第1間の範囲に存在するのであれば、黒玉の存在する音高の最下段の音高を示すドラム音符をバスドラム、それより1段上の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとする。また符頭が黒玉で、且つ第3間を除く五線の第2線と第5線の範囲に該黒玉が検出された場合、最下段の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとする。
【0012】
表記法推定手段による前記表記法推定工程(機能)で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第4間以上の五線位置にあることを条件として、ドラム符頭の五線位置が1つの場合と2つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行う。
シンバル系のドラム楽器に関するドラム音符は、第4間以上の五線位置に黒玉以外のドラム符頭で表記される。その場合でも、1つの音高で示される場合(ドラム符頭の五線位置が1つの場合)と、2つの音高で示される場合(ドラム符頭の五線位置が2つの場合)とが存在する。
またシンバル系のドラム楽器の種類に応じて、ドラム符頭を変えて表記されることが多い。例えば2分音符、全音符は楽器の特性上、クラッシュシンバルである確率が高い。また符頭(◇)は、ドラム譜の歴史上、2分音符、全音符として表記される確率が高い。全音符が存在した場合、2分音符は全音符と同じ符頭で表記される確率が高い。シンバル系のドラム音符の表記は3つ以上の音高で示される確率は低く、2つの音高で示された場合、下段がハイハット、上段がクラッシュシンバル、トップシンバルである。また上段にクラッシュシンバルとトップシンバルの両方が表記されている場合、トップシンバルの符頭は(×)で表され、クラッシュシンバルはそれ以外の表記(符頭を変えるなど)である。更にシンバル(ハイハットシンバル以外)が1種類しかない場合には、クラッシュシンバルである。符頭が(○)のものは、ハイハットオープンとして表記され、記号( °)が係っていない[或いは記号( + )が係っている]ハイハットは、ハイハットクローズである。
もちろん、ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長などによって、そこに一緒に表記されている符頭が、最初推定したシンバル楽器とは違うことが判明することもある。例えば、符頭(◇)が存在しており、推定前に符頭(◇)を全音符、符頭(◇)に符尾が付いたものを2分音符として扱っていたが、符頭(◇)に符尾及び旗が付いた8分音符や16分音符が存在した場合、符頭(◇)に符尾が付いたものは実際には4分音符であり、それ故、符頭(◇)が付く音符はトップシンバルであると分かることもある。
そのため上述のように、ドラム符頭の五線位置が1つの場合と2つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長[符頭(◇)の場合の前記8分音符や16分音符等]、該旗により求められた他のドラム音符(上記8分音符や16分音符等)の音長があることで符頭種類[符頭(◇)等]により定まる別の音長[符頭(◇)で符尾の付いた4分音符等]に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておく。そして、該変換テーブルに基づいてドラム表記法の推定を行うこととしたものである。
【0013】
最終工程として、表記法推定手段により前記表記法推定工程(機能)で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識工程で得られた楽譜記号情報が4分音符として認識されたドラム音符に対し、前記変換テーブルの値が2分音符を指定している場合は、これらのドラム音符を2分音符に変換する。これは表記法によって、各種ドラム符頭がどの音長を示すか変わるからである。
【0014】
【発明の実施の形態】
以下本発明の一実施形態を添付図面に基づき説明する。図1は本発明に係る楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体を後述するフレキシブルディスクドライブFDD5等の外部記憶装置(或いはCD−ROMドライブ等)で読み込ませて稼動する楽譜読み取り装置の実施例構成を示すブロック図である。この装置は、パソコンなどの電子計算機の構成に、スキャナやMIDIインターフェース回路を付加したものである。CPU1は、ROM2或いはRAM3に格納されるプログラムに基づき、楽譜読み取り装置全体の制御を行う中央演算処理装置である。また予め設定された所定の周期でCPU1に割り込みをかけるタイマ回路を内蔵している。RAM3はプログラムエリアの他、画像データバッファ、ワークエリア等として使用される。ハードディスク装置HDD4及びフレキシブルディスクドライブFDD5は、プログラム及び画像データ、演奏データ等を格納する。CRT6はCPU1の制御に基づき、CRTインターフェース回路7から出力される映像情報を表示し、キーボード8から入力された情報は、キーボードインターフェース回路9を経てCPU1に取り込まれる。プリンタ10は、CPU1の制御に基づき、プリンタインターフェース回路11から出力される印字情報を印字する。
【0015】
スキャナ12は、例えば(印刷された)楽譜を光学的に走査して、2値或いはグレースケールの画像データに変換するものであり、フラットベッド型、ハンディ型、フィーダ型等任意のタイプのスキャナを使用できる。スキャナ12によって読み取られた画像情報は、スキャナインターフェース回路13を介して、RAM3或いはHDD4に取り込まれる。MIDIインターフェース回路14は、音源モジュール等の外部のMIDI機器との間でMIDIデータの送受信を行う回路である。バス15は、本楽譜読み取り装置内の各回路を接続し、各種データ、プログラム、アドレス等をやり取りさせている。なお、この他にマウスなどのポインティングデバイスやRS232C等のシリアルインターフェース回路等を備えていても良い。
【0016】
図2はCPU1のメイン処理を示すフローチャートである。ステップS1においては、スキャナ12によって楽譜のイメージをRAM3に取り込む。画像は2値の画像データとして取り込む。ステップS2においては、かすれやドットノイズ等を軽減するために、図形融合等の画質平滑化処理を行う。ステップS3においては、解像度と濃度の情報を得ると共に、後段における五線検出の基準データを得るために、後述する画質チェック処理を行う。楽譜の認識処理においては、解像度及び濃度が所定の範囲から外れると認識率が低下してしまうので、ステップS3においては、これらの値が、所定の範囲内に入っているか否かがチェックされる。ステップS4においては、ステップS3におけるチェック結果が画質OKであるか否かが判定され、結果がOK出ない場合にはステップS1に戻って、解像度や濃度を変えて再度取り込みを行う。ステップS5においては、後述する五線認識を行う。五線認識処理において、五線走査開始位置検出処理と五線シフト量の検出処理が行われる。ステップS6においては、段落認識処理を行う。この処理は、大きく、段落認識処理と、大かっこ認識処理に分かれる。段落認識処理においては、画像全体で五線を検出し、五線同士で左端が略同じ場所にある五線の組を探し、五線の端同士が、黒画素で結ばれているかどうかを検査し、段落を認識する。ステップS7においては、段落の認識結果を表示して、段落認識結果が正しいか否かを利用者にチェックさせることにより、OKか否かが判定され、結果がOKでない場合にはステップS8に移行して、段落認識結果の修正が行われる。尚、五線認識が失敗した場合には、その後の処理が行えないので、解像度や濃度を変更して再度画像を取り込む必要がある。従ってステップS7においては、まず五線の認識結果を表示し、正しいか否かを利用者に判定させ、もし正しくない場合には、S1に戻ってイメージを再度取り込み、また五線が正しく認識されている場合には、段落認識結果を表示し、チェックさせるようにしても良い。
【0017】
ステップS9においては、ユーザにより各段落のドラムパートを選択させる。その後ステップS10において、通常パートは通常楽譜認識を、ドラムパートはドラム譜としての認識を行う。全てのページで記号認識手段による記号の認識が終了した後、ステップS11〜13において、1曲中のドラムパートを2回走査(2回ループ)することで、ドラムパートに関して曲全体で、表記法推定手段によるドラム表記法の推定と楽器割り当て手段による該表記法に従った楽器の割り当てを行う。本構成では、ドラム表記法推定結果の修正インターフェースを備えていない。これは、認識結果が間違っていれば、認識された楽譜記号を修正することで対応するからである。最後にステップS14において、割り当てられた発音楽器に対して、データ変換手段によりその音長及び音高を指定した演奏可能な楽譜データ形式に変換する。
【0018】
以下ステップS9〜ステップS14までを詳細に説明する。五線認識、段落認識を行い、段落認識のチェック時に同時に、或いは段落認識結果の修正時に同時に、ステップS9において、ドラムパートの設定をユーザに行わせる。これは認識された五線、段落の結果を表示して、ドラム譜である五線をチェックさせることで設定する。ここで段落認識結果を保存するデータのパート情報に、ドラム譜であるかどうかのフラグを設定する。
【0019】
設定されたフラグ情報に基づいて、認識部で、通常楽譜認識とドラム譜認識の場合分けを行い、ステップS10において、ドラム譜に関して記号認識を行う。通常楽譜認識と、ドラム譜認識の違いは次の通りである。ドラム譜認識では、ドラム譜に存在しない記号の認識をスキップする(但し誤設定、誤認識対策、表記間違いなどの対策のために、認識自体は行い、出力だけを制限する場合もある)。ドラム譜認識では、ドラム譜に固有の記号・固有の文字列の認識を追加し、他方ドラム譜に不要な文字列の認識を削除する。また黒玉・白玉以外のドラム符頭の認識を追加する。他方ドラム譜の記号の出現確率・出現形態に対応したしきい値の変更を行う(例えばスラーの出現確率は低いので、認識時にしきい値を厳しくすることにより高速化できる、など)。同様に、通常音符の認識しきい値を変更する(黒玉和音が少ない、白玉の出現率は小さい、等。そのため、黒玉のしきい値を厳しくしたり、場合によっては白玉を認識しないようにする。本構成では白玉は認識しないものとする)。
【0020】
このうちドラム符頭の認識は以下のように行う。ドラム譜の符頭で、通常の楽譜と同じ黒玉は、通常楽譜同様に、五線の線などを消去して行う太細分離処理及び黒玉部分の認識のための楕円検出処理により行う。本構成では、前述のように、ドラム楽譜における白玉の出現確率は低いので、認識を行わない。他方、これら以外のドラム譜の符頭は(×、◇)等、細線で描かれており、またこの他にも色々なタイプが存在するので、これまでと同様に、太細分離処理及び楕円検出処理で検出することができない。そのため、全音符については通常の記号(例えば休符等)と同様に、検出されたラベル(対象とする記号を認識するために、適当な大きさに設定された矩形)を辞書とマッチングすることにより行う。それ以外の符頭の認識は、符尾候補(符尾と仮にされるもの)でラベルを分離し、符尾候補の周辺のラベルを結合しながら辞書とマッチングすることで実現する。認識対象符頭は図3のようになる。これ以外にもドラム符頭は存在するが、この程度に対応しておけば一般的なドラム譜は略対応できることになる。また符頭が五線のどの位置にあるか(音高)によって認識対象符頭種類を変化させることも有効である[例えば符頭(R)は第3間しか存在しない等、本構成ではこのような認識は行っていない]。黒玉(白玉)以外の符頭に関しては、認識された符頭の種類を記号保存データに残す。即ち認識記号保存データ中の保存領域drumNoteに符頭種類を書き込む。
【0021】
またドラム譜の認識に当たっては、更にドラム音符に係る記号の認識も重要である。例えばハイハットシンバルは音符の上方に( °)や( + )等を書くことによってオープンとクローズ(その他ハーフオープン)等を表現する場合がある。またアクセント( > )が付いているものをシンバル(クラッシュ)とし、他をハイハットシンバルとするような表記法もある。従ってこれらの係り具合を検出することが必要になる。従ってドラム譜の場合、記号認識時に( °)や( + )を追加認識する。認識結果中に、( °)、( + )及び( > )などが存在したら、図4に示すように、この記号の上下左右にある適当な幅を加算した矩形B中に符頭中心C又は符尾端点Dが存在する音符に夫々の記号種類に応じた値を書き込む。通常ドラム譜の場合、これらの記号の係りが影響する音符は、もっとも上の音高に書かれたものだけであり、またクラッシュシンバルを表現するアクセント記号とハイハット記号が重複することもない。これらの対象になる音符の符頭は、(×)符頭を持つ音符に限られる。よって、係りの対象となる音符は最も音高の高いものとし、ハイハットとアクセントは同じ位置へのフラグとして記憶領域を削除することも考えられる。しかし、誤認識の可能性や、処理を簡単にすることを考えると、同じ帯域にある全ての音符に別々のフラグを書き込んでも良い。本構成では、同じ帯域の黒玉以外の音符全てに夫々の記号に応じた値を書き込む。但し、この場合、係り具合の検出の優先順を考慮する必要がある。つまりハイハットオープン、クローズ等が係る場合には、アクセントの係りは考慮する必要がない。よって、最初にハイハット記号の係りの検出、その後にアクセント記号の係りの検出という順番に、一度係りを検出した音符には係りの上書きができいないようにする。また後述する標準パターンではハイハットハーフオープン、ハイハットクオータオープン等は対応していないが、記号認識と係りの認識も行い、ハイハットハーフオープン、ハイハットクオータオープン等は、ハイハットオープンに変更しても良い。(drumNoteの空き領域に値を入れる)ハイハットオープン、クローズ等はアクセントよりも優先的に書き込む。
【0022】
以上のようにして記号認識を終了すると、次のステップS11〜S12において、ドラム表記法の推定を行う。本構成では、当てはめという作業により対応する表記法を推定し、またその認識結果を表示し、演奏するために、ドラム譜標準パターンの形式でデータを作成する。上記当てはめは、1曲中のドラムパートを2回走査することで実現する。当てはめ結果は、drumNoteに更に実際の楽器を表現するフラグを書き込む。このフラグを参照し、ドラム譜標準パターンの形式でデータを作成する。尚、上記当てはめ工程の説明をする前に、ドラム表記法と、ドラム譜標準パターンについて、以下に説明する。
【0023】
ドラム譜の表記法には、様々な種類がある。中には非常に特殊な表記法もあるが、このようなものは頻度も低いので対象にしない。ドラム表記法で最も問題になるのはシンバル(ハイハットシンバル、クラッシュシンバル、トップシンバル等)の表記法である。それ以外の楽器は音高が多少変わる程度である。但し、タムは、個数(音高数)が変化する(2個、3個、4個の場合……)。シンバルの表記法は大きく2つのタイプに分けられる。即ち1つの音高で表現される場合と、ハイハットとそれ以外を2つ(以上)の音高に分ける場合である。また夫々のタイプにおいて、更に楽器の種類を符頭の種類を変えて表現する場合と、アクセントのあるなしで表現する場合に分けられる。2分音符、全音符を表現するために、更に別符頭を使う場合もある。その他文字列により楽器の種類を指定する場合もあり、加えて曲の先頭で文字列により楽器を指定する場合と、文字列により領域分けをする場合、また全ての音符に文字列による指定を行う場合もある。
【0024】
上述のように、本構成の楽譜読み取り装置には、図5に示すように、認識した結果を表示し、演奏するためのドラム譜標準パターンがある。対応楽器は、クラッシュシンバル(サイドシンバルと呼ばれることもある)、トップシンバル(ライドシンバルと呼ばれることもある)、ハイハットオープン、ハイハットクローズ、スネアドラム、リムショット、Highタム、Midタム、Lowタム、バスドラム、ペダルハイハットである。この標準パターンに記号認識した結果を当てはめなければならない。また標準パターンが対応している以外の楽器が表記される場合(カウベル、チャイム、ゴングなど)もあり、このような場合も適切な当てはめの対応が必要である。
【0025】
シンバル系以外のドラム楽器の当てはめ手順を以下に説明する。
スネアドラム、リムショットは、五線の第3間に表記されるとして良い。スネアドラムは通常黒玉で表現され、リムショットは(R)等の別符頭の場合や、黒玉のまま、文字列でリムショットを指定する場合がある。そこで2回の走査のうちS11の第1ループで、第3間の黒玉はスネアドラムとし、黒玉以外の符頭はリムショットとする。黒玉以外の符頭が存在したら論理値rimOtherExistを真にする。またリムショットを表現する文字列を検索し、存在したら、論理値rimStrExistを真にする。S13の第2ループで、論理値rimStrExistが真で且つrimOtherExistが偽の場合、第3間の音符を全てリムショットとする。
【0026】
通常ペダルハイハットは下第1間に符頭(×)として表記される。しかしバスドラムを避けて下側にずらす場合もある。そのため誤認識の可能性も考慮し、第1線以下の黒玉以外の音符はペダルハイハットとする。ペダルハイハットは1回のループで設定できる。
【0027】
通常バスドラム、タムは黒玉で表記され、バスドラムは第1間、タムは第2線から第5線の第3線を除く1−4音高に表記される。しかしバスドラムが下第1間に表記されるような表記法も存在する。このような場合、Lowタムが第1間(即ち通常のバスドラムと同一の音高)に表記される可能性が高い。このようにバスドラムの音高により、タムの音域が変化するので、第1ループでバスドラムの音高を含めて黒玉の存在する音高を検出する。但し本構成では、下第1間よりも低い音高は誤認識として削除する。このためS11の第1ループで、黒玉の存在する音高の、最下段(minTom)とその1段上(minTom2nd)の2段階、最高音高(maxTom)を検出し、且つ下第1間よりも低い音高の黒玉音符は削除する。この時、タムの最高音高は第5線までで通常は問題ないが、本構成では、誤認識や特殊な表記の可能性を考えて、検出範囲を上第2間まで広げておく。これらの情報からバスドラムの音高とタムの音高を次のようにして検出する。即ちminTomが第1間より低ければ、バスドラムの音高(heightBassDrum)をminTomとし、Lowタムの音高(heightLoTom)をminTom2ndとする。そうでなければ、バスドラムの音高は第1間であり、この場合、minTomが第1間であれば、Lowタムの音高はminTom2ndとし、そうでなければ、Lowタムの音高はminTomである。またHighタムの音高(heightHiTom)はmaxTomである。次のS13の第2ループでバスドラム、タムの実際の設定(確定)を行う。即ち、黒玉で且つ音高がheightBassDrumであればバスドラム、黒玉で且つ音高がheightLoTomであればLowタム、黒玉で且つ音高がheightHiTomであればHighタム、そして黒玉で、音高がheightLoTomとheightHiTomの間で、第3間以外の場合、Midタムとする。標準パターンでは、タムは3種類なので、4個以上のタムは、中間を1種類のタムに割り当てる。
【0028】
シンバル系のドラム楽器の当てはめ手順を以下に説明する。上述のようにシンバル系のドラム楽器の表記法は種々有り、1回のループだけでは当てはめを行うことはできない。そこで全ページ、全段落の全てのドラムパートの認識結果の走査を2回(2回のループ)行うことで当てはめを決定する。第1のループにおいて、シンバルに該当する音域で、夫々の音高での夫々の符頭の数などの情報を得る。第2ループの前に、得られた情報から、ドラム当てはめ条件に基づいてドラム表記当てはめのための変換テーブルを設定する。第2ループで変換テーブルを使って夫々の音符の実際に鳴らす楽器を設定する。
【0029】
ドラム譜標準パターンへの当てはめ処理では、様々な表記法の中から、前提とできる条件を使って、妥当な推定を行う。前提条件は以下のようなものである。2分音符、全音符は楽器の特性上、クラッシュシンバルである確率が高い。よって本構成では、2分音符、全音符はクラッシュシンバルであるとして、表記法の推定を可能とする。また符頭(◇)は、ドラム譜の歴史上、2分音符、全音符として表記される確率が高い。よって符頭(◇)を、2分音符、全音符に優先的に割り当てることによって、表記法の推定をより妥当なものにすることができる。全音符が存在した場合、2分音符は全音符と同じ符頭で表記される確率が高い。シンバル系のドラム音符の表記は3つ以上の音高で示される確率は低く、2つの音高で示された場合、下段がハイハット、上段がクラッシュシンバル、トップシンバルである。また上段にクラッシュシンバルとトップシンバルの両方が表記されている場合、トップシンバルの符頭は(×)で表され、クラッシュシンバルはそれ以外の表記(符頭を変えるなど)である。更にシンバル(ハイハットシンバル以外)が1種類しかない場合には、クラッシュシンバルである。符頭が(○)のものは、ハイハットオープンとして表記され、記号( °)が係っていない[或いは記号( + )が係っている]ハイハットは、ハイハットクローズである。
【0030】
以下ドラム譜標準パターンへの当てはめ処理によるシンバル系ドラム楽器の推定処理を以下に詳述する。
S11の第1ループで、以下の情報について取得する。
▲1▼夫々の音高での夫々の符頭の数
▲2▼夫々の音高での夫々の符頭に8分音符より短い音符があるかどうか
▲3▼夫々の音高での夫々の符頭でアクセントが付いているものの割合
▲4▼符頭(◇)の音符が存在するか否かの論理値設定
また符頭(○)の音符をハイハットオープンにする処理や、符頭(△)や符頭(C)をトップシンバルに置き換える処理はここで行う。
【0031】
S11の第1ループでは夫々の音高での夫々の符頭の数を求めたが、S12の第2ループ前処理では、この情報テーブルを音高が低い方から走査し、実際のシンバルの音高を求める。最初に見つかった音高が第1の音高とし、次に見つかった音高が第2の音高とし、それ以降は第2の音高に正規化する。但し、第1の音高の音符の数が極端に少ない場合、音符の誤認識の可能性が高いので、その音符は削除指定し、シンバルの音高の検出結果をずらしても良い。特にシンバルの音高が3段以上になった場合に、この処理が有効である。
次にドラム当てはめ変換テーブルを作成する。変換テーブルは、2つの音高で、夫々の符頭の種類とアクセント等の係りの状態に応じて場合分けされた要素について、音符がその状態であった場合の割り当て楽器の種類を書き込めるようにする。
音符状態の場合分けとしては、CT_PEKE_NUN[符頭(×)で係りなし]、CT_PEKE_CLS[符頭(×)で( + )が係っている]等のようになる。また楽器割り当ての種類としては、DN_HHCLOSE(ハイハットクローズ)、DN_SIDEHALF(クラッシュシンバルの2分音符)などである。検出されたシンバルの音高数等によって、表記をタイプ分けし、夫々のタイプに応じて変換テーブルに楽器を割り当てる。タイプ分けは、例えば下記表1に示すとおりである。
【0032】
【表1】
【0033】
また変換テーブルへの楽器の割り当ては、上記処理前提に基づいて、最も妥当なものを当てはめる。
即ち、タイプ1なら、全てハイハットであるとするのが妥当である。もちろん前提条件により、通常はハイハットクローズで、( °)が係っていれば、ハイハットオープンとする。
タイプ2では、符頭(×)以外はクラッシュシンバルの2分音符(全音符)とするのが妥当である。この場合、符頭(×)でアクセント付きのものはクラッシュシンバルとする。変換テーブルのCT_PEKE_ACC[符頭が(×)で、且つアクセント付き]を、DN_SIDE(クラッシュシンバル)、符頭(×)以外の変換テーブルをDN_SIDEHALF(クラッシュシンバルの2分、全音符)に設定する。
タイプ23では、下段は全てハイハットシンバルとし、上段については、以下のようになる。
符頭(×)はトップシンバルとする。
また全音符が存在し、全音符と同じ符頭が全音符以外に存在すれば、全音符はクラッシュシンバルの全音符であり、全音符と同じ符頭の音符をクラッシュシンバルの2分音符、全音符と異なる符頭(もう一方)をクラッシュシンバルとする。
全音符が存在し、全音符と同じ符頭が全音符以外に存在しないか、全音符が存在しない場合、符頭(◇)が存在すれば、符頭(◇)をクラッシュシンバル2分音符、もう一方をクラッシュシンバルの4分音符とし、符頭(◇)が存在しなければ、数が少ない方をクラッシュシンバル2分音符、もう一方をクラッシュシンバルの4分音符とする。
全音符が存在しなくて、符頭(◇)が存在すれば、符頭(◇)をクラッシュシンバル2分音符、もう一方をクラッシュシンバル4分音符とする。
上記表記法は、最も確率が高いものであるが、例えばタイプ2では符頭×以外がクラッシュシンバルの4分音符であり、符頭(×)にアクセントが付いたものがハイハットである場合もあり得る。
【0034】
第2ループの前処理が終えてS13の第2ループで楽器の割り当てがなされる。即ち認識結果を走査しながら、夫々の音高の夫々の符頭、記号の係り具合に対応して、変換テーブル上の楽器を割り当てる。そして変換テーブルの値がDN_SIDEHALF等の2分音符を指定している場合、推定前に元々4分音符として認識さている場合には音符IDを2分音符に変換する。また変換テーブルに削除の指定(DN_MATCHINGNONE)があった場合には、認識記号を削除する(ID=ID_DELETED)。
【0035】
上記走査中に文字列による楽器の指定を認識して変換テーブル上の楽器を割り当てることも行われるが、シンバルの文字列は、”ride cym”、”side cym”、”t.c.”、”c.c.”等で、文字列同士類似しており、誤認の危険性が高い。このため、ドラム譜に表記される文字列を全て辞書化し、認識結果を全て反映させるのは危険である。よって、文字列の辞書を誤認識の確率の低いものだけに制限し、文字列の効果も制限することが妥当である。本構成では、文字列を”top”だけにし、効果を、クラッシュシンバルが2分・全音符なしで指定されている時に、通常クラッシュシンバルとするところをトップシンバルとする場合と、ハイハットシンバルが( °)( + )の係りなしに指定された時に、通常ハイハットシンバルとするところをトップシンバルとする場合の2通りのみとする。この2通りの場合の両方に該当する場合には、どちらか表記の確率が高い方にする。
【0036】
その他符頭(△)や符頭(C)を認識可能にしている。これらは通常カウベルやカップであり、標準パターンには存在しない。よって当てはめ処理で変換テーブルに削除を指定して消してしまうことも考えられる。また、タンバリン等のパーカッション類がドラム譜上に表記されている場合にも、第3線上の(×)符頭等、当てはめ処理で対応していない表記の場合には、特別な処理を行わなければデータ上から削除される。しかしこのような音符を単純に削除すると、リズムが成り立たない場合もあるので、トップシンバル等で置き換えることもできる。また同様に音符を単純に削除すると、リズムが成り立たない場合があるので、削除の代わりに、同じ音長の休符と置き換えることも考えられる。
【0037】
このようにして楽器の割り当てがなされたら、ステップS14において、上記の楽譜認識から明らかになっているドラム譜の音符の音高・音長に基づき、演奏及び/又は表示可能な楽譜データ形式に変換する。
【0038】
以上のようにしてドラム譜の表記を認識することにより、ユーザに負担をかけずにドラム譜を認識して演奏を行うことが可能になる。またドラム譜に関する知識のないユーザにも、その利用が可能となる。
【0039】
上記実施形態構成の他、以下のような他の実施形態構成も考えられる。
(他の実施形態1)
ドラム譜への音符その他の記号の貼り付けに関して、標準パターンを設け、標準パターン形式での貼り付け以外はできないような構成であると、市販楽譜と異なる表記で貼り付けることが必要となり、認識結果の修正も、元楽譜を基準とすることができない。楽譜通りにどんな表記も可能にするインターフェースを設け、演奏時に、上記当てはめアルゴリズムで表記法を推定し、演奏する楽器を特定するようにすれば、認識結果の修正は、元楽譜と同じ状態になるようにすれば良いことになる。
【0040】
(他の実施形態2)
本構成では、文字列により、曲の途中で音色(ドラム楽器)を変更する表記法に対応させている。このような表記法で特に問題になるのは、スネアドラムとリムショットの変更、クラッシュシンバルとトップシンバルの変更、ハイハットとトップシンバルの変更である。
処理はスネアドラム・リムショットの場合とその他の場合(シンバル)との2種類に分ける。そして夫々で実際に文字列による曲の途中での音色変更が行われているかの判定を行う。またシンバルの場合には、どちらの変更かを判定しなければならない。文字列の時系列での反映の実現のため、この実施形態では、認識する文字列を、リムショット、トップシンバルの他に、スネアドラム、クラッシュシンバル、ハイハットシンバル等も追加する。更に文字列に付随する括弧等の範囲指定も認識する手段も追加する。その場合に、後に行う時系列整列の基準となるホットスポットを、括弧の始点(左端)とする。括弧の範囲指定は、図6(a)のように終端のある場合と、同図(b)のように終端のない場合を区別して認識している。そして終端のある文字列の場合、時系列走査の際に基準とできるように、括弧の右端をホットスポットとする文字列終端用のIDを持つ別の記号データを追加する。また文字列の括弧による範囲指定の終端が分離して表記される場合に備えて、図6(c)に示されるような終端括弧も認識する。この場合には時系列整列の基準ホットスポットを括弧の右端とする。更に範囲指定なしの文字列の場合、音符に対して後ろ(右)にずれる場合があるので、ホットスポットを時系列的に少し前(左)にずらすことも考えられる。
このようにして認識された結果を時系列に整列しておく。
スネアドラム・リムショットの音色変更の処理は次のようにして行われる。まず認識結果を時系列的な先頭から走査する。音色保存データsnareOrRimの初期値をDN_SNAREとする。第3間の黒玉が存在したら、drumNoteにsnareOrRimの値を書き込む。スネアドラムを表す文字列又はリムショットを表す文字列が存在したら、snareOrRimにDN_SNARE又はDN_RIMを書き込む。又終端IDが検出された場合には、現在のsnareOrRimとは逆の値に書き換える。そして繰り返し小節線終端等が存在した場合にsnareOrRimの変更を行っても良い。他方、第3間の開始位置以外の音色指定が、スネアドラムを表す文字列とリムショットを表す文字列のどちらか一方しか存在しなかった場合と、両方の文字列が交互に存在する場合に、処理を変更することも考えられる。即ち両方の文字列が存在する場合は、終端を考慮しなくて良い。
シンバルの音色変更の処理は以下のようにして行われる。トップシンバル、クラッシュシンバル、ハイハットの場合には、文字列でクラッシュシンバルとトップシンバルを交換する場合と、ハイハットシンバルとトップシンバルを交換する場合があり、文字列での楽器変更を行っているかの判定と同時に、どちらの楽器変更かを判別しなければならない。
以下の処理は、表記法推定時に夫々のタイプ(例えば上記表1に示したタイプ23等)に応じて変換テーブルに楽器を割り当てる工程(段落番号0033等を参照)の後に追加的に実施する(但しトップシンバルを表す文字列の処理を行わない)。この処理の結果を「1回目の推定結果」とする。
まずシンバルの音高が2つの場合には、ハイハットとトップシンバルの交換はあり得ない。また1回目の推定結果で、既にクラッシュシンバルとトップシンバルが両方存在している場合には、文字列での楽器交換を行わない。シンバルの音高が1段の場合も、1回目の推定結果でクラッシュシンバルとトップシンバルが両方存在している場合には、ハイハットシンバルとトップシンバルの交換と推定できる。そうでない場合、時系列での認識結果走査を1度行い、トップシンバルを表す文字列で指定された領域で、1回目の推定結果での、ハイハットシンバルとクラッシュシンバルの音符数を計数し、ハイハットシンバルが多ければ、ハイハットシンバルとトップシンバルの交換と判定し、そうでなければ、クラッシュシンバルとトップシンバルの交換と判定する。この判定では、ハイハットシンバルの方が、基本的にクラッシュシンバルよりも数が多いということを考慮して、ハイハットシンバル、クラッシュシンバルの数の大小ではなく、全体の数に対するクラッシュシンバルの割合をしきい値により判定しても良い。
交換方式が決定したら、もう1度時系列走査を行い、スネアドラム、リムショットの処理と同様に楽器の変更を行う。ハイハットシンバルとトップシンバルの交換であれば、1回目の推定結果でハイハットシンバルとされたものをトップシンバルと交換する。クラッシュシンバルとトップシンバルの交換であれば、1回目の推定結果でクラッシュシンバルとされたものをトップシンバルと交換する。
【0041】
(他の実施形態3)
ドラムパートの指定をユーザに行わせず、自動でドラムパートであるかどうかを認識させる。スコア譜では、五線の左にパート名が文字列表記されることが多いので、この文字列を認識すれば、ドラムパートを自動認識できる。また音符認識で、黒玉・白玉以外に、ドラム符頭も認識可能とし、認識後、ドラム符頭の数によってドラムパートを認識することもできる。この場合、誤認識の可能性や、通常楽譜に手拍子等が(×)符頭で表記されるような場合を考慮して、ドラム符頭の数にしきい値を設ける。ユーザに、ドラムパートが存在するかどうかだけを指定させれば、五線の左の文字列の認識や、通常楽譜でのドラム符頭の認識等の、ドラム譜が存在しない場合に無駄になる処理や、誤認識の危険性を回避することができる。またドラムパートが存在することが指定されていれば、単純に段落の最も下のパートをドラム譜と指定することもできる。
【0042】
(他の実施例4)
曲のテンポによって、クラッシュシンバルとトップシンバルの割り当てを変化させる。曲のテンポが遅い場合、曲調が静かな場合が多く、このような場合に、通常クラッシュシンバルを使うような状況でトップシンバルを使用し、柔らかいアクセントを付けるような奏法を行うのが一般的である。しかしこれが文字列等で明記されていることは少ない。よってテンポからこのような状況を推定する。即ちテンポがある値より遅く、且つ表記法の楽器の割り当てで、トップシンバルの割り当てがなかった場合、通常クラッシュシンバルとするところを、トップシンバルとする。なお、テンポはテンポ記号を認識しているので判別できる。
【0043】
(他の実施形態5)
文字列の認識率、特にドラム譜の認識に特化した文字列の認識の高精度化を行う。例えば”ride cym”と”side cym”は1字違いで意味が大きく変わってしまう。従って例として、”ide cym”が認識されたら8文字中7文字がマッチしていると言うことで、文字列の認識成功として単純にどちらか辞書中の記載順が早い文字列に落とすような処理では問題がある。そこで文字列中の注意すべき文字の位置を辞書に保存する。そして上記文字位置の文字の認識が失敗している場合には、文字列認識結果に落とさない処理をなし、その位置に存在する可能性のある文字の内、最もマッチング度が高いものを検出し、精度を上げる(例としては、rとsのマッチング度を比較し、sが高かったら、”side cym”にする)。
【0044】
【発明の効果】
以上詳述した本発明の構成によれば、様々な表記法で記述されたドラム譜の表記法を推定しながら該ドラム譜の認識を行うため、複雑なインターフェースを使用することなく、しかもユーザに負担をかけずに、少ない操作で演奏可能なデータ形式に変換することができるようになる。またドラム譜に関する知識のないユーザにも、その利用が可能となる。
【図面の簡単な説明】
【図1】本発明に係る楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体を外部記憶装置で読み込ませて稼動する楽譜読み取り装置の実施例構成を示すブロック図である。
【図2】CPUのメイン処理を示すフローチャートである。
【図3】認識対象符頭を示す説明図である。
【図4】認識結果中に特定の記号がある場合にその認識結果の書き込みを行う音符の特定方法を示す説明図である。
【図5】ドラム譜標準パターンを示す説明図である。
【図6】範囲指定のある或いはない括弧の状態を示す説明図である。
【図7】楽譜上の段落の説明図である。
【図8】認識対象たる音符の黒玉・白玉の符頭、符尾及び旗を示す説明図である。
【符号の説明】
1 CPU
2 ROM
3 RAM
4 ハードディスク装置
5 フレキシブルディスクドライブ
6 CRT
7 CRTインターフェース回路
8 キーボード
9 キーボードインターフェース回路
10 プリンタ
11 プリンタインターフェース回路
12 スキャナ
13 スキャナインターフェース回路
14 MIDIインターフェース回路
15 バス
Claims (16)
- 記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とを有して実行される楽譜読み取り方法において、記号認識手段により行われる、音符を含む楽譜の全ての記号を認識する記号認識工程と、表記法推定手段により行われる、ドラム譜を音高によって場合分けし、前記記号認識工程によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定工程と、楽器割り当て手段により行われる、前記表記法推定工程により推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を割り当てる楽器割り当て工程と、データ変換手段により行われる、演奏及び/又は表示可能な楽譜データ形式に変換するデータ変換工程とを実行することを特徴とする楽譜読み取り方法。
- 請求項1記載の楽譜読み取り方法において、記号認識手段により前記記号認識工程で得られた楽譜記号情報が認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出することを特徴とする請求項1記載の楽譜読み取り方法。
- 請求項1乃至2記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることを特徴とする請求項1乃至2記載の楽譜読み取り方法。
- 請求項1乃至3記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第3間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉をスネアドラム、(R)又は黒玉以外をリムショットとし、符頭が五線の第3間にあり且つ黒玉のみが検出され、更にリムショットを表現する文字列が検出されるのであれば、該文字列により指定された黒玉をリムショットとし、それ以外の黒玉をスネアドラムとすることを特徴とする請求項1乃至3記載の楽譜読み取り方法。
- 請求項1乃至3記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第1線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとすることを特徴とする請求項1乃至3記載の楽譜読み取り方法。
- 請求項1乃至5記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が黒玉で、且つ第3間を除く五線の下第1間と第5線の範囲に該黒玉が検出され、該黒玉の最下段が下第1間と第1間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより1段上の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとし、符頭が黒玉で、且つ第3間を除く五線の第2線と第5線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとすることを特徴とする請求項1乃至5記載の楽譜読み取り方法。
- 請求項1乃至3記載の楽譜読み取り方法において、表記法推定手段による前記表記法推定工程で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第4間以上の五線位置にあることを条件として、ドラム符頭の五線位置が1つの場合と2つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行うことを特徴とする請求項1乃至3記載の楽譜読み取り方法。
- 請求項7記載の楽譜読み取り方法において、表記法推定手段により前記表記法推定工程で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識工程で得られた楽譜記号情報が4分音符として認識されたドラム音符に対し、前記変換テーブルの値が2分音符を指定している場合は、これらのドラム音符を2分音符に変換することを特徴とする請求項7記載の楽譜読み取り方法。
- 楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体であって、該プログラムの実行により、記号認識手段と、表記法推定手段と、楽器割り当て手段と、データ変換手段とが該コンピュータ上に実現され、記号認識手段による、音符を含む楽譜の全ての記号を認識する記号認識機能と、表記法推定手段による、ドラム譜を音高によって場合分けし、前記記号認識工程によって得られた楽譜記号情報と夫々の部分における表記され得るドラム表記法における楽譜記号情報とを比較することで妥当な表記法の推定を行う表記法推定機能と、前記表記法推定機能により推定されたドラム表記法に従って、認識されたドラムパートの記号に楽器割り当て手段によって実際の発音楽器を割り当てる楽器割り当て機能と、データ変換手段による、演奏及び/又は表示可能な楽譜データ形式に変換するデータ変換機能とを実行させるための楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、記号認識手段による前記記号認識機能によって得られた楽譜記号情報が、記号認識機能により認識される楽譜のドラムパートにおける記号として、ドラム音符の符頭・符尾・旗、ドラム音符に係る記号、ドラム譜に特徴的な文字列を含み、前記ドラム音符に係る記号の認識に当たっては、ドラム音符に係る記号と該ドラム音符との係りも一緒に検出することを特徴とする請求項9記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9乃至10記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、前記表記法推定手段により、表記法推定機能でドラム表記法の推定を行う場合に、記号認識手段による記号認識機能で得られた、少なくとも、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、ドラム音符の符尾、ドラム音符に付く旗、音符のドラム音指定のための文字列、前記ドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長を含むこれらの情報に基づいて楽譜記号情報が認識されることを特徴とする請求項9乃至10記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第3間にあり且つ黒玉とそれ以外の種類が検出されるのであれば、黒玉をスネアドラム、(R)又は黒玉以外をリムショットとし、符頭が五線の第3間にあり且つ黒玉のみが検出され、更にリムショットを表現する文字列が検出されるのであれば、該文字列により指定された黒玉をリムショットとし、それ以外の黒玉をスネアドラムとすることを特徴とする請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が五線の第1線以下にあり且つ黒玉以外であれば、該ドラム音符をペダルハイハットとすることを特徴とする請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9乃至13記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系以外のドラム楽器に関するドラム表記法の推定を行う場合に、符頭が黒玉で、且つ第3間を除く五線の下第1間と第5線の範囲に該黒玉が検出され、該黒玉の最下段が下第1間と第1間の範囲に存在するのであれば、最下段の音高を示すドラム音符をバスドラム、それより1段上の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとし、符頭が黒玉で、且つ第3間を除く五線の第2線と第5線の範囲に該黒玉が検出されるのであれば、最下段の音高を示すドラム音符をLowタム、最上段の音高を示すドラム音符をHighタム、更に第3間以外でLowタムの音高とHighタムの音高の間にある音高を示すドラム音符をMIDタムとすることを特徴とする請求項9乃至13記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段による前記表記法推定機能で、ドラム譜を音高によって場合分けし、夫々の部分におけるシンバル系のドラム楽器に関するドラム表記法の推定を行う場合に、黒玉以外のドラム符頭が第4間以上の五線位置にあることを条件として、ドラム符頭の五線位置が1つの場合と2つの場合とに応じて場合分けし、またドラム符頭の種類に応じて上記場合分けを細分化し、更にドラム音符の旗により定まる音長、該旗により求められた他のドラム音符の音長があることで符頭種類により定まる別の音長に応じて上記場合分けをより細分化しておくと共に、これらの場合分けに応じて変換テーブルを作成しておき、ドラム符頭の五線位置、ドラム符頭の種類、ドラム音符に係るハイハットオープンの記号、ドラム音符に係るハイハットクローズの記号、ドラム音符に係るアクセント記号、音符のドラム音指定のための文字列に応じて、推定されるシンバル系のドラム楽器の種類を変換テーブル中に特定しておき、該変換テーブルに基づいてドラム表記法の推定を行うことを特徴とする請求項9乃至11記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
- 請求項15記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体において、表記法推定手段により前記表記法推定機能で推定されたドラム表記法に従って、認識されたドラムパートの記号に実際の発音楽器を楽器割り当て手段により割り当てる際に、推定前に、記号認識手段による前記記号認識機能で得られた楽譜記号情報が4分音符として認識されたドラム音符に対し、前記変換テーブルの値が2分音符を指定している場合は、これらのドラム音符を2分音符に変換することを特徴とする請求項15記載の楽譜読み取りプログラムを記憶したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19796997A JP3597343B2 (ja) | 1997-07-09 | 1997-07-09 | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 |
PCT/JP1998/002806 WO2004088630A1 (ja) | 1997-07-09 | 1998-06-24 | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19796997A JP3597343B2 (ja) | 1997-07-09 | 1997-07-09 | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1130982A JPH1130982A (ja) | 1999-02-02 |
JP3597343B2 true JP3597343B2 (ja) | 2004-12-08 |
Family
ID=16383345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19796997A Expired - Fee Related JP3597343B2 (ja) | 1997-07-09 | 1997-07-09 | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3597343B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080167739A1 (en) * | 2007-01-05 | 2008-07-10 | National Taiwan University Of Science And Technology | Autonomous robot for music playing and related method |
JP5335501B2 (ja) | 2009-03-18 | 2013-11-06 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
JP2012138009A (ja) * | 2010-12-27 | 2012-07-19 | Kawai Musical Instr Mfg Co Ltd | 楽譜認識装置、及びコンピュータプログラム |
CN116324932A (zh) * | 2020-09-30 | 2023-06-23 | 雅马哈株式会社 | 信息处理方法及信息处理系统 |
-
1997
- 1997-07-09 JP JP19796997A patent/JP3597343B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1130982A (ja) | 1999-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6137041A (en) | Music score reading method and computer-readable recording medium storing music score reading program | |
US7518057B2 (en) | Method of automated musical instrument finger finding | |
US5864631A (en) | Method and apparatus for musical score recognition with quick processing of image data | |
AU2004200230A1 (en) | Colored music notation system and method of colorizing music notation | |
US20050172780A1 (en) | Fingering guide displaying apparatus for musical instrument and computer program therefor | |
US6107557A (en) | Chord display apparatus and storage medium | |
JP2017507346A (ja) | 光学的音楽認識のためのシステムおよび方法 | |
JP5154886B2 (ja) | 楽譜認識装置及びコンピュータプログラム | |
US6313387B1 (en) | Apparatus and method for editing a music score based on an intermediate data set including note data and sign data | |
JP3597343B2 (ja) | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4738135B2 (ja) | 楽譜認識装置および楽譜認識プログラム | |
JP2734340B2 (ja) | 楽譜認識装置 | |
JP2682382B2 (ja) | 楽譜認識装置 | |
WO2004088630A1 (ja) | 楽譜読み取り方法及び楽譜読み取りプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3558835B2 (ja) | 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN114332877A (zh) | 一种基于深度学习的印刷体古筝简谱识别方法及系统 | |
JP2682383B2 (ja) | 楽譜認識装置 | |
JP3649886B2 (ja) | 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP3597354B2 (ja) | 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2867844B2 (ja) | 楽譜認識装置 | |
JP5189952B2 (ja) | 楽譜認識装置、及びコンピュータプログラム | |
JP2650605B2 (ja) | 楽譜認識装置 | |
JP2002014670A (ja) | 音楽情報表示装置及び音楽情報表示方法 | |
JP3558834B2 (ja) | 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2001100737A (ja) | 音楽情報表示装置及び音楽情報表示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040413 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040414 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040908 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070917 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090917 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090917 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100917 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100917 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110917 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120917 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120917 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130917 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |