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