JP2013228458A - 楽譜演奏装置及び楽譜演奏プログラム - Google Patents

楽譜演奏装置及び楽譜演奏プログラム Download PDF

Info

Publication number
JP2013228458A
JP2013228458A JP2012098804A JP2012098804A JP2013228458A JP 2013228458 A JP2013228458 A JP 2013228458A JP 2012098804 A JP2012098804 A JP 2012098804A JP 2012098804 A JP2012098804 A JP 2012098804A JP 2013228458 A JP2013228458 A JP 2013228458A
Authority
JP
Japan
Prior art keywords
note
time
bar
tuplet
performance
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.)
Granted
Application number
JP2012098804A
Other languages
English (en)
Other versions
JP5960488B2 (ja
Inventor
Akihiro Fujita
明裕 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP2012098804A priority Critical patent/JP5960488B2/ja
Priority to US13/868,008 priority patent/US8704067B2/en
Publication of JP2013228458A publication Critical patent/JP2013228458A/ja
Application granted granted Critical
Publication of JP5960488B2 publication Critical patent/JP5960488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/30Character recognition based on the type of data
    • G06V30/304Music 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)

Abstract

【課題】楽譜において連符記号が記述されない場合であっても、3連符に特化して正しい音価を有する演奏情報を作成可能とする。
【解決手段】楽曲の拍子から小節規定時間を計算する小節規定時間計算手段と、小節内の音符、休符の発音タイミング、音価から小節演奏時間を計算する小節演奏時間計算手段と、計算された前記小節規定時間と小節演奏時間を比較する第1比較手段と、前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定し、音符、休符の発音タイミング、音価を修正する音価修正手段とを備え、この音価修正手段は、小節内における修正対象音符の音価を2/3に変更して連符化処理を行い、小節規定時間と変更された音価による修正小節演奏時間を比較する処理を繰り返して行い、小節規定時間と修正小節演奏時間が一致した時の各音符の変更音価で3連符の連符化を確定させる。
【選択図】図12

Description

本発明は、電子的に取り込まれた楽譜の音楽情報から演奏を行う楽譜演奏技術に関し、特に、楽譜に記述された音符形状から音価を決定するに際して、3連符の連符記号が記述されない場合でも正しい音価が求められる楽譜演奏装置及び楽譜演奏プログラムに関する。
楽譜演奏装置は、PDFの楽譜ファイルや、スキャナで取り込まれた楽譜から抽出した音符の描画位置、発音開始時間、持続時間、小節線の描画位置などの楽譜情報から演奏情報を作成し、この演奏情報により自動的に演奏を行うものである。楽譜から楽譜情報を抽出して演奏情報を作成する手順は、例えば特許文献1に記載されている。
楽譜における3連符、5連符などの音価(音符の時間長)は、実際に記述されている音符で示される時間長と異なる。例えば図19の第1小節の矢印部分に示されるように、3連符が8分音符で記述されているような場合、その時間長は8分音符の2/3となる。
特開平7−129159号公報
楽譜から演奏情報を生成するに際して、記述された音符形状から音価を決定する場合、図19の第1小節の矢印部分のように3連符を示す連符記号(連符を示す数)がある場合は、その記号(数字)を認識できれば正しい音価を求めることができる。しかしながら、連符記号は図19の第3小節の矢印部分のように省略されることが多く、この場合は楽譜を読み取って演奏情報を作成するに際して、通常の8分音符として音価を求めてしまうことになる。
また、連符記号の記載があったとしても、楽譜には指番号などが記載されている場合が多く、楽譜から演奏情報を生成するに際して、指番号と連符記号(連符を示す数)とを区別する必要があり、そのための読取技術が必要であった。
本発明は上記事情に鑑みて提案されたもので、楽譜において連符記号が記述されない場合であっても、3連符に特化して正しい音価を有する演奏情報を作成して自動演奏を可能とした楽譜演奏装置及び楽譜演奏プログラムを提供することを目的としている。
上記目的を達成するため本発明の楽譜演奏装置(請求項1)は、楽曲の拍子から小節規定時間を計算する小節規定時間計算手段と、小節内の音符、休符の発音タイミング、音価(GateTime)から小節演奏時間を計算する小節演奏時間計算手段と、計算された前記小節規定時間と小節演奏時間を比較する第1比較手段と、前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定し、音符、休符の発音タイミング、音価を修正する音価修正手段とを備え、前記音価修正手段は、修正対象音符を順次決定する対象音決定手段と、前記小節内における修正対象音符の音価を2/3に変更して連符化処理を行う連符化処理手段と、前記小節規定時間と変更された音価による修正小節演奏時間を比較する第2比較手段とを備え、各対象音符に対して前記連符化処理及び前記第2比較手段による比較を繰り返して行い、前記小節規定時間と前記修正小節演奏時間が等しくなった時の各音符の変更音価で3連符の連符化を確定させることを特徴としている。
請求項2は、請求項1の楽譜演奏装置において、前記連符化処理手段は、前記小節内における修正対象音符より1つ大きい音価を有する音符の音価についても2/3の音価に変更して連符化処理を行うことで、2通りの連符推定を行うことを特徴としている。
請求項3は、請求項1の楽譜演奏装置において、前記対象音決定手段は64分音符、32分音符、16分音符、8分音符、4分音符、2分音符の順に対象音を変更しながら、前記連符化処理手段で繰り返し連符推定を行うことを特徴としている。
請求項4は、コンピュータに実行させるための楽譜演奏プログラムであって、次の手順を含むことを特徴としている。
楽曲の拍子から小節規定時間を計算する小節規定時間計算ステップ。
小節内の音符、休符の発音タイミング、音価(GateTime)から小節演奏時間を計算する小節演奏時間計算ステップ。
計算された前記小節規定時間と小節演奏時間を比較し、前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定する連符推定ステップ。
小節内の音符に対して修正対象音を決定する対象音決定ステップと、前記小節内における修正対象音符の音価を2/3に変更して連符化処理を行い、前記小節規定時間と変更された音価による修正小節演奏時間を比較し、小節規定時間と前記修正小節演奏時間が等しくなった時の各音符の変更音価で3連符の連符化を確定させる連符化処理ステップ。
そして、前記連符化処理は、各対象音符に対して繰り返して行われる。
請求項5は、請求項4の楽譜演奏プログラムにおいて、前記対象音決定ステップで修正対象音符を決定し、前記連符化処理ステップで修正対象音符の音価を変更した後に、音価の変更が1回目である場合は前記対象音符より1つ大きい音価を有する音符の音価についても2/3の音価に変更して前記連符化処理を行うことを特徴としている。
請求項6は、請求項4の楽譜演奏プログラムにおいて、前記対象音符は、64分音符、32分音符、16分音符、8分音符、4分音符、2分音符の順に変更しながら、前記連符化処理を繰り返し行うことを特徴としている。
本発明の楽譜演奏装置及び楽譜演奏プログラムによれば、楽譜において連符記号が記述されない場合であっても、小節規定時間と小節演奏時間が一致しない場合に小節内に連符部分を推定し、音符、休符の発音タイミング、音価を修正する連符化処理を行うことで、正しい音価を有する演奏情報を作成することができる。
連符化処理は、小節内における修正対象音符の音価を2/3に変更し、小節規定時間と修正小節演奏時間が等しくなる対象音が音価を修正する連符と判断することで、楽譜において最も多用される3連符に特化した連符化処理を行うことができる。
また、対象音決定手段により修正対象音符を決定するに際して、64分音符〜2分音符の(音価が小さい)順に連符推定を行うことで、音価の小さい音符の連符が多用される傾向にある楽曲において効率良い連符化処理を行うことができる。
本発明の実施形態に係る楽譜演奏装置が組み込まれた自動演奏装置の機能を示すブロック図である。 自動演奏装置のハードウエア構成例を示すブロック図である。 楽譜情報記憶手段が記憶する情報の詳細を説明するモデル図である。 演奏情報作成手段の構成を示す機能ブロック図である。 演奏情報作成手段による演奏情報の作成手順を示すフローチャート図である。 小節情報配列の一例を示すモデル図である。 楽譜例である。 図7の楽譜例の各音符から得た演奏情報を示す表である。 楽譜から小節演奏時間を算出する場合の手順を示すフローチャート図である。 イベント種類の一例を示すモデル図である。 連符推定を行う場合の全体の流れを示すフローチャート図である。 連符推定を行う場合の詳細手順を示すフローチャート図である。 楽譜例である。 楽譜例の各音符に対して連符推定処理を行った場合の演奏情報を示す表である。 図13の楽譜例に対して正しい連符記号が表示された楽譜例である。 楽譜例である。 楽譜例の各音符に対して連符推定処理を行った場合の情報を示す表である。 図16の楽譜例に対して正しい連符記号が表示された楽譜例である。 楽譜例である。
以下、図面を参照しながら本発明の楽譜演奏装置について説明する。
図1は、コンピュータ上で動作し本発明の楽譜演奏装置(楽譜演奏プログラム)が組み込まれた自動演奏装置のブロック図であり、楽譜をスキャンした楽譜ファイルやPDF楽譜ファイルを記憶する楽譜ファイル記録手段1と、楽譜ファイルを認識して楽譜情報を生成する楽譜情報生成手段2と、生成された楽譜情報を記憶する楽譜情報記録手段3と、楽譜情報から演奏情報を作成する演奏情報作成手段4と、生成された演奏情報を記憶する演奏情報記録手段5と、演奏情報を順次読み出し実際に音楽を演奏する楽音演奏手段6と、楽譜ファイルや楽譜情報を表示する楽譜表示手段7を備えて構成されている。
本発明の特徴的な構成は、演奏情報作成手段4において、楽譜情報から演奏情報を作成するに際し、連符の推定を行って正しい音価を求めるものであり、そのために必要な連符推定プログラムは演奏情報作成手段4の一部として機能する。
自動演奏装置のハードウエアは、パーソナルコンピュータ等の汎用情報処理装置によって実現することができる。図2は、コンピュータ上に構築された自動演奏装置のハードウエア構成を示すブロック図であり、バス10に対して、ディスプレイ11、マウス12、キーボード13、ROM14、RAM15、CPU16、HDD17、ディスクドライブ18、MIDIインターフェイス19、オーディオインターフェイス20、ネットワークインターフェイス21を接続して構成されている。
コンピュータのHDD17には、MIDIインターフェイス19、オーディオインターフェイス20若しくはネットワークインターフェイス21を介して楽譜ファイルを取り込んで演奏情報を作成し自動演奏を行うための楽譜演奏プログラムが、ディスクドライブ18に装着された記録媒体からインストールされ、若しくはインターネットを介して所定のURLよりダウンロードされている。
CPU16は、上記の手順によりインストール又はダウンロードされた所定の制御プログラム(楽譜演奏プログラム)に従って各種処理(各ステップ)を実行し、楽譜演奏装置全体を制御するものであり、楽譜ファイル記憶手段1、楽譜情報生成手段2、楽譜情報記憶手段3を要部機能として備えることで、取り込んだ楽譜情報を電子情報として記憶し、記憶した情報を楽譜表示手段7に表示可能とするとともに、演奏情報作成手段4、演奏情報記憶手段5、楽音演奏手段6を備えることで、楽譜情報に応じて生成した演奏情報により楽音を自動的に演奏可能としている。
RAM15は、CPU16での処理に使用される情報を一時記憶するものである。
楽譜ファイル記憶手段1は、RAM15及びHDD17で構成されている。楽譜ファイルは、上述したようにネットワークインターフェイス21等から取り込んでもよいし、コンピュータに対して別途イメージスキャナを接続して取り込むようしてもよい。
楽譜情報生成手段2は、HDD17に記憶されたプログラムとそれを実行するCPU16と、作業記憶領域として使用されるRAM15などで構成されている。
楽譜情報記憶手段3は、RAM15及びHDD17で構成される。
演奏情報作成手段4は、HDD17に記憶されたプログラムと、それを実行するCPU16と、作業記憶領域として使用されるRAM15などで構成される。
演奏情報記憶手段5は、RAM15及びHDD17などで構成される。
楽音演奏手段6は、HDD17に記憶された楽譜演奏プログラムと、プログラムを実行するCPU16と、作業記憶領域として使用されるRAM15、音源装置及びオーディオインターフェイス20などを含んで構成される。音源装置には、D/A変換器、アンプ、スピーカを含むサウンドシステムが含まれている。
楽譜表示手段7は、HDD17に記憶された楽譜演奏プログラムと、プログラムを実行するCPU16と、作業記憶領域として使用されるRAM15、液晶ディスプレイ等のディスプレイ11で構成される。
楽譜情報記憶手段3は、図3に示すように、パート情報記憶手段31とページ情報記憶手段32を備えて構成されている。パート情報記憶手段32は、パート数分のパート情報33の配列として構成される。各パート情報33には、音色、再生音量、再生定位情報などが含まれる。ページ情報記憶手段31には、ページ数分のページ情報34の配列として記録されている。各ページ情報34には、少なくとも段落情報記憶手段35と、五線情報記憶手段36が含まれる。
段落情報記憶手段35には、その段落に所属する全パートあるいは全五線共通に効力がある段落所属記号情報35aの配列として記録されている。各段落所属記号情報35aに記録される段落所属記号には、段落内でユニークな記号ID、記号カテゴリ情報、記号種類情報、記号カテゴリと記号種類に応じたパラメータ配列、ページ内での記号位置などが含まれる。記号カテゴリの例としては、繰り返し記号、小節線などが挙げられる。記号種類の例としては、D.C.、D.S.、繰り返し括弧など(カテゴリ=繰り返し記号)、単線、二重線、繰り返し始点、繰り返し終点、終止線など(カテゴリ=小節線)が挙げられる。
五線情報記憶手段36には、ページ内の五線数分の五線情報36aの配列として記録されている。各五線情報36aには、所属パートID、所属段落ID、五線所属記号情報36bなどが含まれる。五線所属記号情報36bは、その五線に所属する五線所属記号の配列として記録されている。
五線所属記号情報36bに記録される五線所属記号には、段落内でユニークな記号ID、記号カテゴリ情報、記号種類情報、OnTime、GateTime、記号カテゴリと記号種類に応じたパラメータ配列、ページ内での記号位置(ページの左上を原点とした座標)などが含まれる。
記号カテゴリの例としては、音符、休符、拍子記号、音部記号、調号、臨時記号などが挙げられる。
記号種類情報の例としては、全音符、4分音符、8分音符、16分音符、32分音符など(カテゴリ=音符)、全休符、4分休符、8分休符、16分休符、32分休符など(カテゴリ=休符)と音記号、へ音記号など(カテゴリ=音部記号)が挙げられる。
パラメータの例としては、音程(MIDIのNoteNo.)、付点の数、ChordID、TimingNo.、連桁IDなど(カテゴリ=音符)、付点の数、ChordID、TimingNo.など(カテゴリID=休符)、ChordID(同一タイミングに発音する音符グループのID)、TimingNo.(発音順番を示す番号)、GateTime(音符、休符の時間長を示す値)、OnTime(小節の先頭から発音開始までの時間)などが挙げられる。
演奏情報作成手段4は、図4に示すように、楽曲の拍子から小節規定時間を計算する小節規定時間計算手段401と、小節内の音符、休符の発音タイミング、音価(GateTime)から小節演奏時間を計算する小節演奏時間計算手段402と、計算された前記小節規定時間と小節演奏時間を比較する第1比較手段403と、前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定し、音符、休符の発音タイミング、音価を修正する音価修正手段404とを備えて構成されている。
音価修正手段404は、修正対象音符を順次決定する対象音決定手段441と、小節内における修正対象音符の音価を2/3に変更して連符化処理を行う連符化処理手段442とを備えている。連符化処理手段442は、変更された音価により小節演奏時間を算出する修正演奏時間算出手段を有し、小節規定時間と変更された音価による修正小節演奏時間は第2比較手段443で比較される。
そして、各修正対象音符に対して、連符化処理手段442による連符化処理、及び、第2比較手段による比較を繰り返して行い、小節規定時間と修正小節演奏時間が等しくなった時の各音符の変更音価で3連符の連符化を確定させるように構成されている。
次に、楽譜演奏装置による楽譜作成の全体手順について、図5のフローチャートを参照しながら説明する。
先ず、楽譜情報生成手段2により楽譜情報の生成が行われる(ステップ41)。楽譜情報生成手段2は、楽譜ファイル記憶手段1から楽譜ファイルを読み出し、そのファイルに含まれる描画情報から、ページ情報、パート情報、段落情報、段落所属記号情報、五線情報、五線所属記号情報が一般に知られている既存技術により生成される。ただし、五線所属記号情報のChordID、TimingNo.、GateTime、OnTimeは演奏情報作成手段4によって与えられる。
生成された楽譜情報は、楽譜情報記憶手段3に記録される。
続いて、演奏情報作成手段4によりステップ42〜ステップ46の手順で演奏情報が作成される。
ステップ42では、図6に示すような小節情報配列を作成する。小節情報は各小節に対応するページ番号、段落番号、左側小節線の記号ID、右側小節線の記号ID、楽曲の拍子から求められる小節規定時間、小節番号を含んでいる。
小節規定時間は式(1)で求められる。
小節規定時間=TimeBase×4/Den×Num 式(1)
ここでTimeBaseは、4分音符あたりのTickで、本実施例では480とする。
Denは楽曲の拍子の分母(1拍の長さ)、Numは楽曲拍子の分子(小節内の拍の数)を表す(小節規定時間計算手段401)。
次に、同一タイミングで発音される音符グループを示すChordIDを付与する(ステップ43)。ChordIDは、横方向の位置及び同一の符尾に接しているかどうかによって決定される。
発音順番を示すTimingNo.を付与する(ステップ44)。TimingNo.は、ChordID及び横方向の位置によって決定される。
GateTimeおよびOnTimeを付与する(ステップ45)。GateTimeは音符の種類、付点の数によって決定され、OnTimeはGateTime及びTimingNo.によって決定される。
ステップ42〜ステップ45については、一般に知られている既存技術により行われる。
図7の楽譜に対してステップ45までの手順で得られたChordID、TimingNo.、GateTime、OnTimeの演奏情報の一例を図8に示す。音符No.は、楽譜について上段左から右、続いて下段左から右に数字を順に付けたものである。カテゴリは、音符、休符別を表示する。この楽譜の場合、上段左から音符No.1〜No.10となり、下段左から音符No.11〜No.16となる。
本実施例では、GateTime及びOnTimeなどの時間はTickを用いて表す。4分音符の長さを480Tickと規定している。
図7の楽譜を例にOnTime及び小節演奏時間の算出手順について、図9のフローチャートを参照しながら説明する。
TimingNo.を1に初期化する(ステップ91)。
EndTime配列を初期化する(ステップ92)。
TimingNo.=1の音符No.1を読み出す(ステップ93)。
音符No.1のOnTimeを算出する(ステップ94)。TimingNo.は1なので、OnTime=0となる。
音符No.1のEndTimeを計算する(ステップ95)。音符1のOnTimeに音符No.1のGateTimeを加算し、EndTime=240となる。このEndTimeをEndTime配列に加える。
同じTimingNo.の音符があるので、ステップ93へ戻る(ステップ96)。
音符No.11を読み出す(ステップ93)。
音符No.11のOnTimeを算出する(ステップ91)。これもTimingNo.は1なのでOnTime=0となる。
音符No.11のEndTimeを計算する(ステップ95)。音符No.11のOnTimeに音符No.11のGateTimeを加算し、EndTime = 480となる。
EndTime配列には、240があるのみで、480は無いので480もEndTime配列へ追加する。
TimingNo=1の音符の読み出しが終わったので、TimingNo.を2に更新し、次のTimingNo.の音符を読み出す。
音符No.2を読み出し(ステップ93)、OnTimeを算出する(ステップ94)。音符No.2のOnTimeは、EndTime配列の最も短い時間となる。この場合は240となる。
音符No.2のEndTimeを計算する(ステップ95)。音符No.2のOnTimeに音符No.2のGateTimeを加算して、EndTime=480となる。
480は既にEndTime配列に存在するので480はEndTime配列へは追加しない。さらにTimingNo.=2の音符はもう存在しないので、今回音符No.2のOnTime割り当てた240をEndTime配列から削除する。
TimingNo.を3に更新し、次のTimingNo.の音符を読み出す。
音符No.3を読み出し(ステップ93)、OnTimeを計算する(ステップ94)。音符No.3のOnTimeはEndTime配列の最も短い値となる。この場合は480となる。
音符No.3のEndTimeを計算する(ステップ95)。音符No.3のOnTimeに音符No.3のGateTimeを加算し、720となる。この値はEndTime配列にないのでEndTime配列に追加する。今回はTimingNo.3の音符がまだ存在するので、TimingNo.の更新は行われず、EndTime配列の480も削除しない。
ステップ93で同じTimigNo.の音符No.12を読み出し、OnTimeを計算する(ステップ94)。音符No.3のOnTimeはEndTime配列の最も小さい値の480となる。
音符No.3のEndTimeを計算する(ステップ95)。音符No.3のOnTime+GateTime=960となる。この値はEndTime配列に無いので、EndTime配列に追加する。TimingNo.=3の音符も他には無いので、EndTime配列の最も小さい値を削除する。
同様に処理を行うことで、全ての音符のOnTimeが算出されるとともにEndTime配列の更新が行われる。全ての音符の処理が終わったときにEndTime配列に残っている最も大きい値が小節演奏時間となる。
本発明の特徴的な構成は、ステップ45に続くステップ46で楽譜における連符推定を行い、ChordID、TimingNo.、GateTime、OnTimeの修正を行うことである。この部分についての詳細説明は後述する。
ステップ46で連符推定を行った楽譜情報から演奏情報を作成する(ステップ47)。演奏情報はMIDI規格のフォーマットを踏襲しており、以下のような演奏イベント情報の配列で構成される。
ノートイベント :音符の発音開始、発音停止のイベント
コントロールイベント:音量、定位、などを発音チャネルに設定するイベント
音色イベント :発音チャネルの音色を指定するイベント
テンポイベント :楽曲のテンポを設定するイベント
図10に演奏イベント情報のフォーマットを示す。
イベント種類は、ノートイベント、コントロールイベント、テンポイベントなどを識別する番号である。
Data1は、ノートイベントであればその音程、コントロールイベントであれば、音量、定位などを識別する番号、テンポイベントであればテンポ値が入る。
Data2は、ノートイベントであればその発音強さ(0の場合発音停止を示す)、コントロールイベントであれば、音量、定位などの設定値が入る。
時間情報は楽曲開始からのそのイベント発生までの時間(Tick)が入る。
チャネル番号は、発音、音量などの制御対象となるチャネル番号が入る。
図5で示したステップ46(連符推定)における大まかな流れについて、図11のフローチャートを参照しながら説明する。
先ず、ステップ42で作成した小節情報を読み出す(ステップ51)。
この小節に含まれる音符情報を読み出し、音符配列に格納する(ステップ52)。
音符上の読み出しは、以下の手順で行われる。
小節情報に記憶されたページ番号を元に、ページ情報を読み出す。
このページ情報から、小節情報の段落番号が示す段落情報を読み出す。
さらに段落情報から小節情報の左小節線の記号IDと一致する段落所属記号を読み出し、この横方向の位置を小節左端位置とする。同様に右小節線の段落所属記号を読み出し、小節右端位置とする。
ページ情報から小節情報の段落番号と所属段落IDが一致する五線情報を読み出す。
小節左端位置と小節右端位置の間に位置し、カテゴリが音符または休符である五線所属記号を小節音符配列に格納する。
小節演奏時間計算手段402により小節音符配列から小節演奏時間を算出する(ステップ53)。
この小節演奏時間と、小節規定時間計算手段401により小節情報から算出した小節規定時間とを第1比較手段403で比較し(ステップ54)、一致しない場合は連符推定を行う(ステップ55)。ステップ54で小節演奏時間と小節規定時間が一致する場合は、次の小節への処理へ移る(ステップ56)。
次に、図11で示したステップ55における連符推定の詳細手順について、図12のフローチャートを参照しながら、図13の楽譜から図14に示す演奏情報を作成する場合を例に説明する。
連符化処理を行うに際しては、64分音符、32分音符、16分音符、8分音符、4分音符、2分音符の順に連符化を行う対象音を変更しながら繰り返し連符推定を行う。
64分音符〜2分音符の順に連符推定を行うのは、楽曲においては、通常、音価の小さい音符の連符の方が、音価の大きい音符の連符より多用される傾向にあるためである。
また、1つの対象音に対して、それより1つ上の音価(例えば、4分音符に対する2分音符)を変更する場合と、変更しない場合の2回連符推定を行う。対象音に対して1つ上の音価(例えば、4分音符に対する2分音符)を変更することで、異なる音符から構成される3連符を判定することができる。
図13の楽譜では、対象音を64分音符〜8分音符とした場合は、対象となる音符が無いので、最初に対象音とされる音符は4分音符となる。
先ず、小節規定時間を算出する(ステップ101)。この楽譜の場合は、4/4拍子なので、上述した式(1)より小節規定時間は1920となる。
対象音決定手段441により対象音とされる音符を4分音符に決定し(ステップ102)、連符化処理手段442により小節内の全ての4分音符の音価480に対して2/3の音価となる320へ変更する(ステップ103)。
対象音符に対する音価の変更が1回目である場合は(ステップ104)、4分音符より1つ上の音価である2分音符の音価も変更する(ステップ105)。2分音符の音価は、音価960に対して2/3の音価となる640に変換される。
連符化処理手段442の修正演奏時間算出手段により修正音価に対する小節演奏時間を計算する(ステップ106)。この場合は、小節演奏時間は、音価320が3個で960、これに640を加算して1600となる。
第2比較手段443により小節演奏時間(1600)と小節規定時間(1920)を比較する(ステップ107)。小節演奏時間(1600)は小節規定時間(1920)と一致しないので、ステップ108へ移行する。
ステップ108では、音価の変更が1回目なので、ステップ109へ移行し、変更した音価を元に戻し、ステップ103へ移行する。
ステップ103では、再び音価を480から320へ変更する。今度は音価の変更が2回目なのでステップ105は行わずステップ106で修正演奏時間算出手段により小節演奏時間を算出する。今回の場合、小節演奏時間は、音価320が3個で960、これに960(変更しない音価)を加算して1920となるので小節規定時間(1920)と一致し(ステップ107)、処理を終了する。
2回目のステップ107で演奏時間と小節規定時間とが一致しない楽譜である場合には、ステップ108からステップ110へ移行し、全ての音符の種類が完了したかどうかを判断し、完了している場合は処理を終了する。また、全ての音符の種類が完了していない場合は、変更した音価を元に戻してステップ102へ移行し(ステップ111)、対象音を変更して上述の処理が再度行われる。
図13の楽譜の場合、4分音符の音価が変更されることで3連符の存在が判明し、図14のような音符No.1〜音符No.3の音価の変更により連符化処理された演奏情報が作成される。したがって、正確な連符が表示された楽譜は、図15に示すように、4分音符に3連符に連符記号「3」が表示されたものとなる。
次に図16の楽譜について連符化を行って図17の演奏情報を作成する場合について説明する。
この楽譜の場合も、対象音を64分音符〜8分音符とした時には、対象となる音符が無いので、最初に対象音とされる音符は4分音符となる。
先ず、小節規定時間を算出する(ステップ101)。この楽譜の場合は、4/4拍子なので、上述した式(1)より小節規定時間は1920となる。
対象音とされる音符を4分音符に決定し(ステップ102)、小節内の全ての4分音符の音価480に対して2/3の音価となる320へ変更する(ステップ103)。
対象音符に対する音価の変更が1回目である場合は(ステップ104)、4分音符より1つ上の音価である2分音符の音価も変更する(ステップ105)。2分音符の音価は、音価960に対して2/3の音価となる640に変換される。
連符化処理手段442の修正演奏時間算出手段により修正音価に対する小節演奏時間を計算する(ステップ106)。この場合は、小節演奏時間は、音価320が4個で1280、これに640を加算して1920となる。
小節演奏時間(1920)と小節規定時間(1920)を比較する(ステップ107)。小節演奏時間は小節規定時間と一致するため(ステップ107)、処理を終了する。
図16の楽譜の場合、図17のような音符No.1〜音符No.5の音価の変更により連符化処理された演奏情報が作成されるので、4個の4分音符及び2分音符の音価が変更されることで2組の3連符の存在が判明する。
したがって、正確な連符が表示された楽譜は、図18に示すように、2分音符と4分音符に3連符に連符記号「3」が表示され、これに続く4分音符の3連符に連符番号「3」が表示されたものとなる。
上述した連符化処理によれば、楽譜において最も多用される3連符に特化した連符化処理を行うことができ、連桁でつながらない2分音符の3連符や、4分音符の3連符などの推定を可能としている。
4…演奏情報作成手段、 401…小節規定時間計算手段、 402…小節演奏時間計算手段、 403…第1比較手段、 404…音価修正手段、 441…対象音決定手段、 442…連符化処理手段、 443…第2比較手段。
以下、図面を参照しながら本発明の楽譜演奏装置について説明する。
図1は、コンピュータ上で動作し本発明の楽譜演奏装置(楽譜演奏プログラム)が組み込まれた自動演奏装置のブロック図であり、楽譜をスキャンした楽譜ファイルやPDF楽譜ファイルを記憶する楽譜ファイル記手段1と、楽譜ファイルを認識して楽譜情報を生成する楽譜情報生成手段2と、生成された楽譜情報を記憶する楽譜情報記手段3と、楽譜情報から演奏情報を作成する演奏情報作成手段4と、生成された演奏情報を記憶する演奏情報記手段5と、演奏情報を順次読み出し実際に音楽を演奏する楽音演奏手段6と、楽譜ファイルや楽譜情報を表示する楽譜表示手段7を備えて構成されている。
本発明の特徴的な構成は、演奏情報作成手段4において、楽譜情報から演奏情報を作成するに際し、連符の推定を行って正しい音価を求めるものであり、そのために必要な連符推定プログラムは演奏情報作成手段4の一部として機能する。
楽譜情報記憶手段3は、図3に示すように、ページ情報記憶手段31とパート情報記憶手段32を備えて構成されている。パート情報記憶手段32は、パート数分のパート情報33の配列として構成される。各パート情報33には、音色、再生音量、再生定位情報などが含まれる。ページ情報記憶手段31には、ページ数分のページ情報34の配列として記録されている。各ページ情報34には、少なくとも段落情報記憶手段35と、五線情報記憶手段36が含まれる。
記号カテゴリの例としては、音符、休符、拍子記号、音部記号、調号、臨時記号などが挙げられる。
記号種類情報の例としては、全音符、4分音符、8分音符、16分音符、32分音符など(カテゴリ=音符)、全休符、4分休符、8分休符、16分休符、32分休符など(カテゴリ=休符)音記号、へ音記号など(カテゴリ=音部記号)が挙げられる。
パラメータの例としては、音程(MIDIのNoteNo.)、付点の数、ChordID、TimingNo.、連桁IDなど(カテゴリ=音符)、付点の数、ChordID、TimingNo.など(カテゴリID=休符)、ChordID(同一タイミングに発音する音符グループのID)、TimingNo.(発音順番を示す番号)、GateTime(音符、休符の時間長を示す値)、OnTime(小節の先頭から発音開始までの時間)などが挙げられる。

Claims (6)

  1. 楽曲の拍子から小節規定時間を計算する小節規定時間計算手段と、
    小節内の音符、休符の発音タイミング、音価から小節演奏時間を計算する小節演奏時間計算手段と、
    計算された前記小節規定時間と小節演奏時間を比較する第1比較手段と、
    前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定し、音符、休符の発音タイミング、音価を修正する音価修正手段とを備え、
    前記音価修正手段は、
    修正対象音符を順次決定する対象音決定手段と、
    前記小節内における修正対象音符の音価を2/3に変更して連符化処理を行う連符化処理手段と、
    前記小節規定時間と変更された音価による修正小節演奏時間を比較する第2比較手段とを備え、
    各対象音符に対して前記連符化処理及び前記第2比較手段による比較を繰り返して行い、前記小節規定時間と前記修正小節演奏時間が等しくなった時の各音符の変更音価で3連符の連符化を確定させる
    ことを特徴とする楽譜演奏装置。
  2. 前記連符化処理手段は、前記小節内における修正対象音符より1つ大きい音価を有する音符の音価についても2/3の音価に変更して連符化処理を行うことで、2通りの連符推定を行う請求項1に記載の楽譜演奏装置。
  3. 前記対象音決定手段は64分音符、32分音符、16分音符、8分音符、4分音符、2分音符の順に対象音を変更しながら、前記連符化処理手段で繰り返し連符推定を行う請求項1に記載の楽譜演奏装置。
  4. 楽曲の拍子から小節規定時間を計算する小節規定時間計算ステップと、
    小節内の音符、休符の発音タイミング、音価から小節演奏時間を計算する小節演奏時間計算ステップと、
    計算された前記小節規定時間と小節演奏時間を比較し、前記小節規定時間と小節演奏時間が一致しない場合に小節内に連符が存在すると推定する連符推定ステップと、
    小節内の音符に対して修正対象音を決定する対象音決定ステップと、
    前記小節内における修正対象音符の音価を2/3に変更して連符化処理を行い、前記小節規定時間と変更された音価による修正小節演奏時間を比較し、小節規定時間と前記修正小節演奏時間が等しくなった時の各音符の変更音価で3連符の連符化を確定させる連符化処理ステップとを備え、
    各対象音符に対して前記連符化処理を繰り返して行うことをコンピュータに実行させるための楽譜演奏プログラム。
  5. 前記対象音決定ステップで修正対象音符を決定し、前記連符化処理ステップで修正対象音符の音価を変更した後に、音価の変更が1回目である場合は前記対象音符より1つ大きい音価を有する音符の音価についても2/3の音価に変更して前記連符化処理を行う請求項4に記載の楽譜演奏プログラム。
  6. 前記対象音符は、64分音符、32分音符、16分音符、8分音符、4分音符、2分音符の順に変更しながら、前記連符化処理を繰り返し行う請求項1に記載の楽譜演奏プログラム。
JP2012098804A 2012-04-24 2012-04-24 楽譜演奏装置及び楽譜演奏プログラム Active JP5960488B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012098804A JP5960488B2 (ja) 2012-04-24 2012-04-24 楽譜演奏装置及び楽譜演奏プログラム
US13/868,008 US8704067B2 (en) 2012-04-24 2013-04-22 Musical score playing device and musical score playing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012098804A JP5960488B2 (ja) 2012-04-24 2012-04-24 楽譜演奏装置及び楽譜演奏プログラム

Publications (2)

Publication Number Publication Date
JP2013228458A true JP2013228458A (ja) 2013-11-07
JP5960488B2 JP5960488B2 (ja) 2016-08-02

Family

ID=49676173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012098804A Active JP5960488B2 (ja) 2012-04-24 2012-04-24 楽譜演奏装置及び楽譜演奏プログラム

Country Status (1)

Country Link
JP (1) JP5960488B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3090385A4 (en) * 2013-12-31 2017-08-23 Tonara Ltd. System and method for optical music recognition

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123182A (ja) * 2006-11-10 2008-05-29 Kawai Musical Instr Mfg Co Ltd 楽譜認識装置およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123182A (ja) * 2006-11-10 2008-05-29 Kawai Musical Instr Mfg Co Ltd 楽譜認識装置およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3090385A4 (en) * 2013-12-31 2017-08-23 Tonara Ltd. System and method for optical music recognition

Also Published As

Publication number Publication date
JP5960488B2 (ja) 2016-08-02

Similar Documents

Publication Publication Date Title
US8027631B2 (en) Song practice support device
JP5605066B2 (ja) 音合成用データ生成装置およびプログラム
JP2008026622A (ja) 評価装置
JP2019056871A (ja) 再生制御方法および再生制御装置
JP5122598B2 (ja) 音声入力評価システム、音声入力評価システムの制御方法、及びプログラム
US20220383842A1 (en) Estimation model construction method, performance analysis method, estimation model construction device, and performance analysis device
JP6481319B2 (ja) 楽譜表示装置および楽譜表示方法
JP5196550B2 (ja) コード検出装置およびコード検出プログラム
US8704067B2 (en) Musical score playing device and musical score playing program
JP6184296B2 (ja) カラオケのガイドボーカル生成装置及びガイドボーカル生成方法
JP2007233077A (ja) 評価装置、制御方法及びプログラム
JP5960488B2 (ja) 楽譜演奏装置及び楽譜演奏プログラム
JP2009169103A (ja) 練習支援装置
WO2019180830A1 (ja) 歌唱評価方法及び装置、プログラム
JP5005445B2 (ja) コード名検出装置及びコード名検出用プログラム
JP5387642B2 (ja) 歌詞テロップ表示装置及びプログラム
JP2005249844A (ja) 演奏指示装置および演奏指示プログラム
JP4613817B2 (ja) 運指表示装置、及びプログラム
JP5153517B2 (ja) コード名検出装置及びコード名検出用コンピュータ・プログラム
JP5988672B2 (ja) 楽譜演奏装置及び楽譜演奏プログラム
JP5050606B2 (ja) 能力評価システムおよび能力評価プログラム
JP2008040260A (ja) 楽曲練習支援装置、動的時間整合モジュールおよびプログラム
JP2013003205A (ja) 楽譜表示装置、楽譜表示プログラム及び楽譜
JP5637169B2 (ja) カラオケ装置及びプログラム
JP6496998B2 (ja) 演奏情報編集装置および演奏情報編集プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160115

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: 20160615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160623

R150 Certificate of patent or registration of utility model

Ref document number: 5960488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150