(57)【要約】      （修正有）【課題】演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できる演奏情報処理装置を提供する。【解決手段】電子楽器１０が備えるＣＰＵ１１は、入力される演奏情報を順次取得し、演奏情報が入力開始時点から第１の所定タイミング（例えば、３番目の演奏情報が入力されたタイミング）まで入力されたか否かを判定し、第１の所定タイミングまで入力されたと判定された場合に、入力開始時点から第１の所定タイミングまでの演奏情報に基づき、演奏情報のテンポを判定し、判定されたテンポに基づいて、演奏情報の拍子を判定する。【選択図】図１
2014048503.tif 000002
【特許請求の範囲】
【請求項１】
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得手段と、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする演奏情報処理装置。
【請求項２】
請求項１に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第２のタイミングまでの前記演奏情報に基づき、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項３】
請求項１又は２に記載の演奏情報処理装置において、
前記演奏情報取得手段により取得された前記演奏情報のうち、前記ある音の音長である第１入力音長と、前記ある音の次に入力された音の音長である第２入力音長との比率を算出する音長比率算出手段をさらに備え、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率と、に基づきテンポを判定することを特徴とする演奏情報処理装置。
【請求項４】
請求項２に記載の演奏情報処理装置において、
前記第２のタイミングは、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始時点から所定の拍数に対応する時間が経過したタイミングであり、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から前記所定の拍数に対応する時間が経過したときに、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項５】
請求項１から４のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の所定の拍数に対応する時間における前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
【請求項６】
請求項５に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から３拍目、４拍目、８拍目、９拍目のうち少なくとも１以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
【請求項７】
請求項１から６のいずれかに記載の演奏情報処理装置において、
前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第３のタイミングまでの間の前記演奏情報のうち最長の音長を持つ音を選択する最長音選択手段をさらに備え、
前記拍子判定手段は、前記最長音選択手段によって選択された最長の音長を持つ演奏情報のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
【請求項８】
請求項７に記載の演奏情報処理装置において、
前記演奏情報のアウフタクトを判定するアウフタクト判定手段をさらに備え、
前記拍子判定手段は、前記アウフタクト判定手段によってアウフタクトと判定された場合には、前記最長音選択手段によって選択された最長の音長を持つ前記演奏情報の入力タイミングを基準の時点として、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項９】
請求項１から８のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の第１の所定の拍数群に対応する時間における前記演奏情報の状態と、前記演奏情報のうちの前記ある音の入力開始後の第２の所定の拍数群に対応する時間における前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項１０】
請求項３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長の長短に応じて、前記演奏情報のテンポが、入力されている前記演奏情報のテンポよりも速いか遅いかを判定することを特徴とする演奏情報処理装置。
【請求項１１】
請求項３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率とに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
【請求項１２】
請求項１から１１のいずれかに記載の演奏情報処理装置において、
前記演奏情報取得手段により取得される前記演奏情報が前記ある音の入力開始時点から所定の時間経過後まで入力されていると判定された場合には、前記ある音の入力開始時点から所定の時間の経過時点を再度前記ある音の入力開始時点とみなして、前記テンポ判定手段によるテンポ判定と、前記拍子判定手段による拍子判定とを繰り返して実行することを特徴とする演奏情報処理装置。
【請求項１３】
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含む演奏情報処理方法。
【請求項１４】
コンピュータが実行する、
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏情報処理装置、演奏情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
電子ピアノや電子オルガンのような鍵盤を備えた電子楽器では、主として右手でメロディを、左手で伴奏を弾く、あるいはコードを構成する複数の鍵を押鍵するのが一般的である。従ってこのような電子楽器においては、右手と左手をそれぞれ楽譜等にしたがって独立して動かすための練習が必要である。
【０００３】
このようにピアノの奏法及びオルガンの奏法の何れにおいても、右手と左手を同時に異なる形態で動かすことが必要であり、このためには相応の練習が必要である。特に、メロディを奏するために右手を動かすことは可能であるが、同時に左手で異なる演奏を行うことが困難と感じる演奏者が、特に初心者では多い。したがって、演奏者が右手でメロディを演奏することにより、左手で演奏することにより生成されるべき伴奏音をリアルタイムで自動的に作成することのできる電子楽器が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１５８８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１の電子楽器では、演奏によりメロディが入力されるとリアルタイムでコードを付与しているが、予め決められたテンポで演奏を行う必要があるため、テンポに合わせて演奏できない者にとっては、意図したコードが付与されないという問題があった。そこで、この問題を解決するためには、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定する必要がある。
【０００６】
そこで本発明は、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できる演奏情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一態様の演奏情報処理装置は、
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得手段と、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態にかかる演奏情報処理装置を適用した電子楽器の構成を示すブロックダイヤグラムである。
【図２】図２は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される音長計測／割合変換の処理の例を示すフローチャートである。
【図３】図３は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される音長計測／割合変換の処理の例を示すフローチャートである。
【図４】図４は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍推測／テンポ推測の処理の例を示すフローチャートである。
【図５】図５は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍推測／テンポ推測の処理の例を示すフローチャートである。
【図６】図６は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト／拍子推測の処理の例を示すフローチャートである。
【図７】図７は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト／拍子推測の処理の例を示すフローチャートである。
【図８】図８は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト／拍子推測の処理の例を示すフローチャートである。
【図９】図９は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍子推測の処理の例を示すフローチャートである。
【図１０】図１０は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍子推測の処理の例を示すフローチャートである。
【図１１】図１１は、本実施形態にかかる譜面の例を示す図である。
【図１２】図１２は、本実施形態にかかるアウフタクトパターンテーブルの例を示す図である。
【図１３】図１３は、本実施の形態にかかるテンポ決定テーブルの例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明の実施形態について説明する。
図１は、本実施形態にかかる演奏情報処理装置を適用した電子楽器１０の構成を示すブロックダイヤグラムである。図１に示すように、本実施形態にかかる電子楽器１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、サウンドシステム１４、スイッチ群１５、鍵盤１６及び表示部１７を備える。
【００１１】
ＣＰＵ１１は、電子楽器１０全体の制御、鍵盤１６の鍵の押鍵やスイッチ群１５を構成するスイッチの操作の検出、鍵やスイッチの操作にしたがったサウンドシステム１４の制御、入力された音高情報に基づくテンポ及び拍子の判定など、種々の処理を実行する。
【００１２】
ＲＯＭ１２は、ＣＰＵ１１に実行させる種々の処理のプログラムを記憶する。また、ＲＯＭ１２は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリアを有する。ＲＡＭ１３は、ＲＯＭ１２から読み出されたプログラムや、処理の過程で一時的に生じたデータを記憶する。
【００１３】
サウンドシステム１４は、音源部２１、オーディオ回路２２及びスピーカ２３を有する。音源部２１は、例えば、押鍵された鍵についての情報をＣＰＵ１１から受信すると、ＲＯＭ１２の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部２１は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、予め定められた音高に対応する速度で読み出して楽音データとして出力する。オーディオ回路２２は、楽音データをＤ／Ａ変換して増幅する。これによりスピーカ２３から音響信号が出力される。
【００１４】
以下、本実施形態にかかる電子楽器１０において実行される処理についてより詳細に説明する。図２及び図３は、本実施形態にかかる演奏情報処理装置を適用した電子楽器１０において実行される音長計測／割合変換の処理の例を示すフローチャートである。
【００１５】
図２に示すように、電子楽器１０のＣＰＵ１１は、電子楽器１０の電源が投入されると、ＲＡＭ１３中のデータや、表示部１７の画像のクリアを含むイニシャル処理（初期化処理）を実行する（ステップＳ１）。
【００１６】
次いで、ＣＰＵ１１は、最初の押鍵がなされたか否かを判断する（ステップＳ２）。この判断がＮＯの場合、ＣＰＵ１１は、ステップＳ３に処理を移行させ、演奏がストップされたか否かを判断する。具体的には、ＣＰＵ１１は、電子楽器１０が備える演奏ストップスイッチ（図示せず）が押下されたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、音長計測／割合変換の処理を終了し、ＮＯの場合、ＣＰＵ１１は、ステップＳ２に処理を移行させる。したがって、演奏がストップされない限り、最初の押鍵がなされるまでステップＳ２の判断の処理が繰り返し実行されて、ステップＳ２での判断がＹＥＳとなった場合、ＣＰＵ１１は、演奏情報を取得して、ステップＳ４に処理を移行させる。
【００１７】
ステップＳ４では、ＣＰＵ１１は、ＦＳＴ（Ｆｉｒｓｔ  Ｓｔｅｐ  Ｔｉｍｅ）、ＦＧＴ（Ｆｉｒｓｔ  Ｇａｔｅ  Ｔｉｍｅ）及びＦＳＴ＿Ｔ（Ｆｉｒｓｔ  Ｓｔｅｐ  Ｔｉｍｅの実時間）を計測する。ここで、ＦＳＴ等の説明をする前に、ＳＴ（Ｓｔｅｐ  Ｔｉｍｅ）及びＧＴ（Ｇａｔｅ  Ｔｉｍｅ）について説明する。
【００１８】
ＳＴとは、ある音の発音開始タイミングから次の音の発音開始タイミングまでの時間に対応する数値である。例えば、ある音の発音開始タイミングと次の音の発音開始タイミングとの間の長さが４分音符１個分に相当する場合、「４８０」となるように定められる。また、ＧＴとは、鍵盤１６が押鍵されてから離鍵されるまでの時間に対応する数値である。例えば、４分音符を演奏する場合に、鍵盤１６の押下時間が４分音符の長さよりも短い場合、「４７５」等となる。
【００１９】
ここで説明したＳＴ及びＧＴを前提に、ＦＳＴ等の説明をする。ＦＳＴとは、１番目に入力された演奏情報のＳＴであり、ＦＧＴとは、１番目に入力された演奏情報のＧＴである。また、ＦＳＴ＿Ｔとは、ＦＳＴの実時間、即ち、「０．５秒」等のことである。
なお、ステップＳ４の処理は、後述するステップＳ６の処理においてＹＥＳと判断されるまで繰り返し実行されるので、ステップＳ６の処理においてＹＥＳと判断されたタイミングで、ＦＳＴ、ＦＧＴ及びＦＳＴ＿Ｔが確定する。
【００２０】
ステップＳ６では、ＣＰＵ１１は、次の入力、即ち、２番目の音の入力がなされたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、演奏情報を取得して、ステップＳ８に処理を移行させ、ＮＯの場合、ステップＳ７に処理を移行させる。
【００２１】
ステップＳ７では、ＣＰＵ１１は、演奏がストップされたか否かを判断する。具体的には、ステップＳ３の処理と同様である。この判断がＹＥＳの場合、ＣＰＵ１１は、音長計測／割合変換の処理を終了し、ＮＯの場合、ＣＰＵ１１は、ステップＳ４に処理を移行させる。
【００２２】
ステップＳ８では、ＣＰＵ１１は、ステップＳ６での２番目の音の入力によって確定されたＦＳＴ及びＦＳＴ＿ＴをＲＡＭ１３に記憶する。
【００２３】
ステップＳ９では、ＣＰＵ１１は、ＳＳＴ（Ｓｅｃｏｎｄ  Ｓｔｅｐ  Ｔｉｍｅ）、ＳＧＴ（Ｓｅｃｏｎｄ  Ｇａｔｅ  Ｔｉｍｅ）及びＳＳＴ＿Ｔ（Ｓｅｃｏｎｄ  Ｓｔｅｐ  Ｔｉｍｅの実時間）を計測する。ＳＳＴとは、２番目に入力された演奏情報のＳＴであり、ＳＧＴとは、２番目に入力された演奏情報のＧＴである。また、ＳＳＴ＿Ｔとは、ＳＳＴの実時間である。
なお、ステップＳ９の処理は、後述するステップＳ１１の処理においてＹＥＳと判断されるまで繰り返し実行されるので、ステップＳ１１の処理においてＹＥＳと判断されたタイミングで、ＳＳＴ、ＳＧＴ及びＳＳＴ＿Ｔが確定する。
【００２４】
ステップＳ１１では、ＣＰＵ１１は、次の入力、即ち、３番目の音の入力がなされたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、演奏情報を取得して、ステップＳ１３に処理を移行させ、ＮＯの場合、ステップＳ１２に処理を移行させる。
【００２５】
ステップＳ１２では、ＣＰＵ１１は、演奏がストップされたか否かを判断する。具体的には、ステップＳ３の処理と同様である。この判断がＹＥＳの場合、ＣＰＵ１１は、音長計測／割合変換の処理を終了し、ＮＯの場合、ＣＰＵ１１は、ステップＳ９に処理を移行させる。
【００２６】
ステップＳ１３では、ＣＰＵ１１は、ステップＳ１１での３番目の音の入力によって確定されたＳＳＴ及びＳＳＴ＿ＴをＲＡＭ１３に記憶する。
ステップＳ１４では、ＣＰＵ１１は、ＦＳＴの値を１としたときのＳＳＴの比率であるＳＳＴ＿Ｒを算出し、ＲＡＭ１３に記憶する。なお、人間の演奏のゆらぎが以下の処理に与える影響を軽減するため、このＳＳＴの比率であるＳＳＴ＿Ｒを算出する際に、所定の精度までで誤差を丸める方法や、あらかじめ定められた複数の比率値の中から最も近い比率を選択するような方法をとることも可能である。
【００２７】
ステップＳ１５では、ＣＰＵ１１は、図４及び図５を参照して後述する拍推測／テンポ推測の処理を実行する。
【００２８】
ステップＳ１６では、ＣＰＵ１１は、ＣＳＴ（Ｃｕｒｒｅｎｔ  Ｓｔｅｐ  Ｔｉｍｅ）、ＣＧＴ（Ｃｕｒｒｅｎｔ  Ｇａｔｅ  Ｔｉｍｅ）及びＣＳＴ＿Ｔ（Ｃｕｒｒｅｎｔ  Ｓｔｅｐ  Ｔｉｍｅの実時間）を計測する。ＣＳＴとは、現在入力された演奏情報のＳＴであり、ＣＧＴとは、現在入力された演奏情報のＧＴである。また、ＣＳＴ＿Ｔとは、ＣＳＴの実時間である。
なお、ステップＳ１６の処理は、後述するステップＳ１８の処理においてＹＥＳと判断されるまで繰り返し実行されるので、ステップＳ１８の処理においてＹＥＳと判断されたタイミングで、ＣＳＴ、ＣＧＴ及びＣＳＴ＿Ｔが確定する。
また、その際に、後述する拍推測／テンポ推測の処理によって設定されたテンポ値に基づき、ＣＳＴ、ＧＣＴ、ＣＳＴ＿Ｔの値を当該テンポ値における所定の音符の長さにクオンタイズする処理を行う事によって、人間の演奏ゆらぎの影響を軽減するようにしても良い。
【００２９】
ステップＳ１８では、ＣＰＵ１１は、次の入力がなされたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、演奏情報を取得して、ステップ２０に処理を移行させ、ＮＯの場合、ステップＳ１９に処理を移行させる。
【００３０】
ステップＳ１９では、ＣＰＵ１１は、演奏がストップされたか否かを判断する。具体的には、ステップＳ３の処理と同様である。この判断がＹＥＳの場合、ＣＰＵ１１は、音長計測／割合変換の処理を終了し、ＮＯの場合、ＣＰＵ１１は、ステップＳ１６に処理を移行させる。
【００３１】
ステップＳ２０では、ＣＰＵ１１は、ＦＳＴの値を１としたときのＣＳＴの比率であるＣＳＴ＿Ｒを算出する。
ステップＳ２１では、ＣＰＵ１１は、図６乃至図８を参照して後述するアウフタクト／拍子推測の処理を実行する。
ステップＳ２２では、ＣＰＵ１１は、図９及び図１０を参照して後述する拍子推測の処理を実行する。
【００３２】
ステップＳ２３では、ＣＰＵ１１は、４小節ごとの区間が終わった直後の拍であるか否かを判断する。すなわち、３拍子（Ｂｅａｔ＝３）の場合、（１２×ｎ＋１（ｎは０以上の整数））拍目であるか否かを判断し、４拍子（Ｂｅａｔ＝４）の場合、（１６×ｎ＋１（ｎは０以上の整数））拍目であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、ステップＳ２４に処理を移し、ＮＯの場合、ＣＰＵ１１は、ステップＳ２６に処理を移す。
なお、ステップＳ２３での判断対象である拍子は、アウフタクト／拍子推測の処理、及び拍子推測の処理で決定された拍子である。
【００３３】
ステップＳ２４では、ＣＰＵ１１は、現在の区間の拍子を前区間の拍子と比較する。ここで、「現在の区間」とは、直前のアウフタクト／拍子推測の処理、及び拍子推測の処理で処理対象とされた拍を含む４小節のことであり、具体的には、３拍子（Ｂｅａｔ＝３）の場合、（１２×（ｎ−１）＋１）拍目から（１２×ｎ）拍目（ｎは１以上の整数）、４拍子（Ｂｅａｔ＝４）の場合、（１６×（ｎ−１）＋１）拍目から（１６×ｎ）拍目（ｎは１以上の整数）、までの４小節分をいう。また、前区間とは、上記「現在の区間」の直前の４小節のことである。即ち、ここでは、今回の判定結果である拍子と、前回の判定結果である拍子とを比較している。
ステップＳ２５では、ＣＰＵ１１は、拍子の変更がなされたか否かを判断する。即ち、ＣＰＵ１１は、現在の区間の拍子が前区間の拍子から変更されたか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をＳ１５に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ２６に移行させる。
これにより、ステップＳ２５の判断により、拍子の変更がなされたと判断された場合には、ＣＰＵ１１は、ステップＳ１５の拍推測／テンポ推測の処理を再度実行する。
【００３４】
ステップＳ２６では、ＣＰＵ１１は、演奏がストップされたか否かを判断する。具体的には、ステップＳ３の処理と同様である。この判断がＹＥＳの場合、ＣＰＵ１１は、音長計測／割合変換の処理を終了し、ＮＯの場合、ＣＰＵ１１は、ステップＳ１６に処理を移行させる。
【００３５】
図４及び図５は、本実施形態にかかる演奏情報処理装置を適用した電子楽器１０において実行される拍推測／テンポ推測の処理の例を示すフローチャートである。
【００３６】
ステップＳ３１では、ＣＰＵ１１は、ＦＳＴ＿Ｒを１としたとき、ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ＝１．３３であるか否かを判断する。即ち、２番目に入力された演奏情報のＳＴであるＳＳＴ＿Ｒが、１番目に入力された演奏情報のＳＴであるＦＳＴ＿Ｒのおよそ３分の１程度の長さであるか否かを判断している。ＳＳＴ＿Ｒが、ＦＳＴ＿Ｒのおよそ３分の１程度の長さである場合とは、ＦＳＴが付点２分音符でありＳＳＴが４分音符である場合、ＦＳＴが付点４分音符でありＳＳＴが８分音符である場合、及び、ＦＳＴが付点８分音符でありＳＳＴが１６分音符である場合などである。ステップＳ３１での判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ４８に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ３２に移行させる。なお、この判断は、ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ＝１．３３±αの範囲であるか否かを判断する、といったようにして、ある程度の幅を持たせてもよい。演奏者の演奏が機械のように正確な時間長で演奏されて、ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒが正確に１．３３になるとは限らないからである。
【００３７】
まず、ステップＳ３１でＹＥＳと判断される場合、即ち、ＦＳＴが付点２分音符、付点４分音符、付点８分音符のいずれかである場合について説明する。
ステップＳ３１でＹＥＳと判断される場合に実行されるステップＳ４８では、ＣＰＵ１１は、ＦＳＴ＿Ｔが０．７５秒以上かつ１．５秒未満であるか否かを判断する。様々な楽曲を調査した結果によれば、ＦＳＴが付点４分音符である場合には、ＦＳＴ＿Ｔが１秒の近傍であることが多いので、当該判断を行う。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ４９に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ５０に移行させる。なお、この判断は、０．７５秒以上かつ１．５秒未満に限られず、ＦＳＴ＿Ｔが１秒の近傍であることを判断するものであれば、その他の値（例えば、０．９秒以上かつ１．２秒など）によって実行されてもよい。
【００３８】
ステップＳ４８でＹＥＳと判断される場合に実行されるステップＳ４９では、ＣＰＵ１１は、ＦＳＴに相当する音符を付点４分音符とし、かつ、テンポを９０とし、拍推測／テンポ推測の処理を終了する。なお、テンポ９０とは、１分間に４分音符が９０個存在するテンポであり、この場合、４分音符１個あたり２／３秒である。本実施形態では、テンポｎとは、１分間に４分音符がｎ個存在するテンポとする。なお、テンポは一例であり、ジャンルによって修正されてもよいし、多くの曲をシミュレートして最適なテンポが採用されてもよい。
【００３９】
ステップＳ４８でＮＯと判断される場合に実行されるステップＳ５０では、ＣＰＵ１１は、ＦＳＴ＿Ｔが０．７５秒未満であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ５１に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ５２に移行させる。
【００４０】
ステップＳ５０でＹＥＳ、即ち、ＦＳＴ＿Ｔが０．７５秒未満であると判断されることにより、ステップＳ５１では、ＣＰＵ１１は、ＦＳＴに相当する音符を付点８分音符とし、かつ、テンポを９０とし、拍推測／テンポ推測の処理を終了する。
ステップＳ５０でＮＯ、即ち、ＦＳＴ＿Ｔが１．５秒以上であると判断されることにより、ステップＳ５２では、ＣＰＵ１１は、ＦＳＴに相当する音符を付点２分音符とし、かつ、テンポを１２０とし、拍推測／テンポ推測の処理を終了する。
なお、テンポは一例であり、ジャンルによって修正されてもよいし、多くの曲をシミュレートして最適なテンポが採用されてもよい。
【００４１】
次に、ステップＳ３１でＮＯと判断される場合、即ち、ＦＳＴが付点音符でないと判断された場合について説明する。
【００４２】
ステップＳ３１でＮＯと判断される場合に実行されるステップＳ３２では、ＣＰＵ１１は、ＦＳＴ＿Ｔが０．３秒以上かつ０．７秒未満であるか否かを判断する。様々な楽曲を調査した結果によれば、ＦＳＴが４分音符又は８分音符である場合には、ＦＳＴ＿Ｔが０．５秒の近傍であることが多いので、当該判断を行う。ステップＳ３２での判断がＹＥＳの場合、ＦＳＴが４分音符又は８分音符であると判断し、ＣＰＵ１１は、処理をステップＳ３８に移行させる。一方ステップＳ３２での判断がＮＯの場合、ＦＳＴが２分音符又は１６分音符であると判断し、ＣＰＵ１１は、処理をステップＳ３３に移行させる。
【００４３】
ステップＳ３２においてＦＳＴが２分音符又は１６分音符であると判断された場合に実行されるステップＳ３３では、ＣＰＵ１１は、ＦＳＴ＿Ｔが０．７秒以上かつ２．２秒未満であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ３６に移行させ、ＦＳＴに相当する音符を２分音符とし、かつ、テンポを１２０とし、拍推測／テンポ推測の処理を終了する。この判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ３４に移行させる。
【００４４】
ステップＳ３４では、ＣＰＵ１１は、ＦＳＴ＿Ｔが２．２秒以上であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ３７に移行させ、ＦＳＴに相当する音符を全音符とし、かつ、テンポを１２０とし、拍推測／テンポ推測の処理を終了する。一方、ステップＳ３４での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ３５に移行させ、ＦＳＴに相当する音符を１６分音符とし、かつ、テンポを６０とする。
【００４５】
続いて、ステップＳ６１では、ＣＰＵ１１は、三連符連打ジャッジが成立するか否か判断する。具体的には、ＦＳＴが０．３３秒（ここでの０．３３秒とは、テンポ６０における３連８分音符の長さに相当する）以下であり、かつ、ＳＳＴがＦＳＴにほぼ等しく、かつ、３番目のＳＴがＦＳＴ及びＳＳＴにほぼ等しい、か否かを判断する。
この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ６２に移行させ、ステップＳ３５で設定したＦＳＴに相当する音符を３連８分音符に変更し、拍推測／テンポ推測の処理を終了する。
一方、ステップＳ６１での判断がＮＯの場合、ＣＰＵ１１は、拍推測／テンポ推測の処理を終了する。
【００４６】
ステップＳ３２においてＦＳＴが４分音符又は８分音符であると判断された場合に実行されるステップＳ３８以下の処理では、様々な曲を調査した結果として、１番目の入力音と２番目の入力音のＳＴの比（ＦＳＴ＿Ｒ、ＳＳＴ＿Ｒ）と、１番目の入力音の実時間（ＦＳＴ＿Ｔ）の値を参照して、１番目の入力音が４分音符であるか８分音符であるか、また、テンポはいくつであるかを推定する。まず、ステップＳ３８では、ＣＰＵ１１は、（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝２であるか否か、すなわち、ＦＳＴとＳＳＴがほぼ同じ長さの音であったか否かを判断する。
ステップＳ３８でＹＥＳと判断された場合、即ち、（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝２であると判断された場合、ＣＰＵ１１は、ステップＳ４０で、ＦＳＴ＿Ｒ：ＳＳＴ＿Ｒ＝１：１であるか否かを判断する。このステップＳ４０は、後述するステップＳ３９でＮＯと判断される場合、即ち、ステップＳ３９で（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝３でないと判断された場合にも実行される。
ＦＳＴ＿Ｒ：ＳＳＴ＿Ｒ＝１：１であり（ステップＳ４０でＹＥＳと判断される）、かつ、ＦＳＴ＿Ｔが０．５５秒未満である（ステップＳ４１でＮＯと判断される）場合、ＣＰＵ１１は、ステップＳ４２において、ＦＳＴに相当する音符を８分音符とし、かつ、テンポを７５とし、拍推測／テンポ推測の処理を終了する。
一方、ＦＳＴ＿Ｒ：ＳＳＴ＿Ｒ＝１：１でない場合（ステップＳ４０でＮＯと判断される）には、処理は、ステップＳ４３に進む。また、ＦＳＴ＿Ｒ：ＳＳＴ＿Ｒ＝１：１であり（ステップＳ４０でＹＥＳと判断される）、かつ、ＦＳＴ＿Ｔが０．５５秒以上である（ステップＳ４１でＹＥＳと判断される）場合にも、処理はステップＳ４３に進む。ＣＰＵ１１は、ステップＳ４３において、ＦＳＴに相当する音符を４分音符とし、かつ、テンポを１００とし、拍推測／テンポ推測の処理を終了する。
【００４７】
ステップＳ３８でＮＯと判断された場合、即ち、（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝２でないと判断された場合、ステップＳ３９に処理が移行される。
ステップＳ３９では、ＣＰＵ１１は、（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝３であるか否かを判断する。即ち、ＣＰＵ１１は、ＦＳＴ＿Ｒを「１」としたとき、ＳＳＴ＿ＲがＦＳＴ＿Ｒの２倍であるか否かを判断する。
（ＦＳＴ＿Ｒ＋ＳＳＴ＿Ｒ）＝３である場合、ＣＰＵ１１は、ステップＳ４４に処理を移行させ、ＦＳＴに相当する音符を８分音符と判断する。ステップＳ４５では、ＣＰＵ１１は、ＦＳＴ＿Ｔが０．５秒以上であるか否かを判断し、この判断がＹＥＳの場合、ＣＰＵ１１は、ステップＳ４７に処理を移行させ、テンポを６０とし、拍推測／テンポ推測の処理を終了する。ＮＯの場合、ＣＰＵ１１は、ステップＳ４６に処理を移行させ、テンポを７５とし、拍推測／テンポ推測の処理を終了する。
なお、以上の処理フローチャートでの、各判断ステップにおける、ＳＴ値の比率や時間長についての判断の基準となる比較対象数値は、上記した数値に限られるものではなく、例えば、曲のジャンルや、演奏者の技術レベルなどに応じて変更することも可能である。
【００４８】
図６乃至図８は、本実施形態にかかる演奏情報処理装置を適用した電子楽器１０において実行されるアウフタクト／拍子推測の処理の例を示すフローチャートである。
このアウフタクト／拍子推測の処理では、拍子を決定するとともに、メロディが小節の先頭から始まっているのか、それともアウフタクト（小節途中からメロディが始まること）であるのかを判断する。なお、本処理では、最初の８拍を処理対象とする。
【００４９】
ステップＳ７１では、ＣＰＵ１１は、現在入力された演奏情報のＳＴであるＣＳＴが９拍目以内であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ７２に移行させ、ＮＯの場合、即ち、ＣＳＴが１０拍目以上の場合には、ＣＰＵ１１は、アウフタクト／拍子推測の処理を終了する。
ステップＳ７２では、ＣＰＵ１１は、ＣＳＴは９拍目か否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ７３に移行させる。したがって、ステップＳ７１及びＳ７２の処理によれば、ＣＳＴが初めて９拍目となった時点で、ＣＰＵ１１は、処理をステップＳ７３に移行させる。ステップＳ７２の処理での判断がＮＯの場合、即ち、ＣＳＴが１〜８拍目のいずれかである場合、ＣＰＵ１１は、処理をステップＳ７７に移行させる。
ステップＳ７７では、ＣＰＵ１１は、ＳＴをＲＡＭ１３に記憶して、アウフタクト／拍子推測の処理を終了する。より詳細には、ＣＰＵ１１は、ステップＳ７７の処理を実行する際、その時点での拍までのＳＴがＲＡＭ１３に記憶されるようにする。ステップＳ７７の処理が実行される時点での拍が１〜８拍目までのいずれの場合も可能性として考えられるからである。
以上、ステップＳ７１、Ｓ７２及びＳ７７の処理により、ステップＳ７２でＹＥＳと判断された時点で、ＲＡＭ１３には、８拍目までのＳＴがＲＡＭ１３記憶されている。よって、ステップＳ７３の実行時には、８拍目までのＳＴがＲＡＭ１３記憶されていることになる。
なお、本実施形態では、アウフタクト／拍子推測の処理において、８拍目までのＳＴを処理対象とするが、これに限られず、他の拍までのＳＴを処理対象としてもよい。
【００５０】
ステップＳ７３では、ＣＰＵ１１は、８拍の中で一番長いＳＴをＬＳＴとする。例えば、図１１の譜例１では、２分音符のいずれかがＬＳＴの候補となる。
ステップＳ７４では、ＣＰＵ１１は、同一長のＬＳＴが複数あるときは、最初のものをＬＳＴとする。例えば、図１１の譜例１では、最初の２分音符がＬＳＴとなる。ここでいうところの「同一長」とは、完全に同一の長さのことを指すものではなく、人間の演奏のゆらぎによる誤差が含まれてもよいので、若干長さが異なっても「同一長」とみなしてもよい。また、入力演奏に適宜クオンタイズを掛けておいても良い。
【００５１】
ステップＳ７５では、ＣＰＵ１１は、ＬＳＴは２拍以上であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ７８に移行させる。例えば、図１１の譜例１では、最初の２分音符がＬＳＴであるので、ＬＳＴは２拍以上である。よって、当該譜例１の場合、ＣＰＵ１１は、処理をステップＳ７８に移行させ、ＬＳＴと同じ長さのＳＴは２個以上であるか否かを判断する。例えば、当該譜例１の場合、２分音符が２つあるので、ステップＳ７８での判断がＹＥＳとなり、ＣＰＵ１１は、処理をステップＳ７９に移行させ、上記ＬＳＴと同じ長さのＳＴを持つ２個以上の音のうち最後のＳＴ（音）をＬＳＴとする。当該譜例１の場合、最後（２番目）の２分音符がＬＳＴとなる。ステップＳ７９の処理が終了すると、ＣＰＵ１１は、処理をステップＳ８０に移行させる。
また、ステップＳ７８での判断が、ＮＯの場合、即ち、ＬＳＴと同じ長さのＳＴが１個の場合（ＬＳＴと同じ長さのＳＴを持つ音がＬＳＴ自体だけである場合）、ＣＰＵ１１は、処理をステップＳ８０に移行させる。ここでいうところの「同じ長さ」とは、上述の「同一長」と同様に、若干長さが異なっても「同じ長さ」とみなす。以下に記載される「同じ長さ」も同様である。
さらにまた、ステップＳ７５で、ＬＳＴは２拍以上ではないと判断され（ステップＳ７５でＮＯと判断され）、かつ、ステップＳ７６で、ＬＳＴと同じ長さのＳＴが３個以上ではないと判断される（ステップＳ７６でＮＯと判断される）場合にも、ＣＰＵ１１は、処理をステップＳ８０に移行させる。
なお、ステップＳ７５での判断は、ＬＳＴは２拍以上であるか否かに限られず、３拍以上などであってもよい。また、曲のジャンルに応じて判断条件が設定されてもよい。
【００５２】
ステップＳ８０では、ＣＰＵ１１は、ＬＳＴを４拍子のときの小節最後の音として、８拍分のＳＴを配置して、ステップＳ８１に進み、アウフタクトか否かを判断する。ここで、本実施形態では、判定対象の音符群が２小節をはみ出している場合、又は、判定対象の音符群が２小節に満たない場合をアウフタクトであるという。この判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ８４に移行させる。
【００５３】
ステップＳ８４では、ＣＰＵ１１は、アウフタクトなし（Ａｕｆフラグが０）、４拍子（Ｂｅａｔフラグが４）とする。具体例は、図１１の譜例２である。
即ち、ステップＳ８０で、ＬＳＴの音を４拍子の小節の最後の音として配置したと仮定した場合、２小節に過不足無く配置できた場合、ステップＳ８１で、アウフタクトではないと判断されて、処理がステップＳ８４に移行され、この場合には、その配置が正しいと判断して、アウフタクトなし（Ａｕｆフラグが０）、４拍子（Ｂｅａｔフラグが４）として一旦判定する、ということを意味する。
図１１の譜例２で説明すると、この例の場合、ＬＳＴは２小節目の最後の付点２分音符となるので、この音が終わる時点を４拍子の小節の区切りと仮定して、他の音符を４拍子に配置してみる。すると、譜例２では、１〜８拍目の音が、ちょうど過不足なく４拍子の小節内に配置する事ができると判明する。したがって、このような場合は、その配置が正しいと判断して、ステップＳ８１でアウフタクトではないと判断され、ステップＳ８４でアウフタクトなし（Ａｕｆフラグが０）、４拍子（Ｂｅａｔフラグが４）と処理されることとなる。
【００５４】
ここで、Ａｕｆフラグについて説明する。Ａｕｆフラグが０の場合、アウフタクトなし、Ａｕｆフラグが１の場合、ＬＳＴが小節最後の音でありかつアウフタクト、Ａｕｆフラグが２の場合、ＬＳＴが小節最初の音でありかつアウフタクト、Ａｕｆフラグが３の場合、アウフタクトではないが、フレーズの最後の音が小節の最後の音ではない隠れアウフタクトである。
また、Ｂｅａｔフラグは、拍子を表すフラグであり、Ｂｅａｔフラグが４の場合、４拍子、Ｂｅａｔフラグが３の場合、３拍子となる。
【００５５】
ステップＳ８１での判断がＹＥＳの場合、即ち、ＬＳＴを４拍子のときの小節最後の音として８拍分のＳＴを配置したときにアウフタクトであると判断された場合、ＣＰＵ１１は、処理をステップＳ８２に移行させ、ＬＳＴを、４拍子のときに小節の頭の音として、８拍分のＳＴを配置して、ステップＳ８３に進み、アウフタクトであるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ８５に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ８４に移行させる。ステップＳ８３を経由してステップＳ８４が実行される場合の具体例は、図１１の譜例３である。
当該譜例３では、ＬＳＴは付点２分音符なので、ステップＳ７５でＹＥＳと判断され、他にＬＳＴと同じ長さのＳＴは存在しないので、ステップＳ７８でＮＯと判断され、ＬＳＴである付点２分音符を４拍子のときの小節最後の音として配置した場合、頭から３拍分が余って（はみだして）しまい、アウフタクトと判断されるので、ステップＳ８１でＹＥＳと判断される。次に、ＬＳＴである付点２分音符を４拍子のときの小節の頭に配置した場合、アウフタクトではないので、ステップＳ８３でＮＯと判断され、ステップＳ８４が実行されて、アウフタクトなし（Ａｕｆフラグが０）、４拍子（Ｂｅａｔフラグが４）となる。
【００５６】
ステップＳ８５では、ＣＰＵ１１は、強拍／弱拍について４拍子分析を行う。なお、ここでは、ステップＳ８５が実行される前に実行されているステップＳ８２において、ＬＳＴを、４拍子のときに小節の頭の音として、８拍分のＳＴ（音）が配置された状態で、ステップＳ８５の強拍／弱拍・４拍子分析を行う。この処理では、ＣＰＵ１１は、強拍と弱拍とのそれぞれについて点数をつける。ここで、４拍子では、強拍は、１拍目と３拍目であり、弱拍は、強拍以外の拍である。点数は音符の長さに応じて定まっており、例えば、８分音符は１点、４分音符は２点、付点４分音符は３点、２分音符は４点、など、音符の長さが長いほど点数が高く設定されている。例えば、図１１の譜例１では、強拍は、４＋２＋１＋４＝１１となり、弱拍は、２＋２＋１＝５となり、強拍の方が弱拍よりも点数が高い。この場合、ＣＰＵ１１は、強拍優位と判断する。
【００５７】
ステップＳ８６では、ＣＰＵ１１は、ステップＳ８５における強拍／弱拍・４拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ８７に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ９０に移行させる。
【００５８】
ステップＳ８７では、ＣＰＵ１１は、１小節目と２小節目とで優位性に変化があるか否かを判断する。即ち、１小節目と２小節目とで一方が強拍優位であり他方が強拍優位ではないか否かを判断する。例えば、図１１の譜例５では、１小節目では、強拍は、２＋２＝４となり、弱拍は、１＋１＝２となるので、強拍優位となる。一方、２小節目では、強拍は、１であり、弱拍は、１＋４＋２であるので、強拍優位とはならない。したがって、この場合、ＣＰＵ１１は、１小節目と２小節目とで優位性に変化があると判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ８９に移行させ、Ａｕｆフラグを３とし、Ｂｅａｔフラグを４として、アウフタクト／拍子推測の処理を終了する。一方、この判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ８８に移行させ、Ａｕｆフラグを２とし、Ｂｅａｔフラグを４として（図１１の譜例４が該当する）、アウフタクト／拍子推測の処理を終了する。
【００５９】
ステップＳ９０、即ち、ステップＳ８６で強拍／弱拍の４拍子分析の結果が強拍優位ではないと判定された場合、ＣＰＵ１１は、ＬＳＴを３拍子のときに小節最後の音として、８拍分のＳＴ（音）を配置する。例えば、図１１の譜例６の場合を例にとると、２小節目の付点２分音符がＬＳＴであると判断されるので、この音符を３拍子での、ある小節最後の音であると仮定して、他の音符の配置を行う。
ステップＳ９１では、ＣＰＵ１１は、強拍／弱拍について３拍子分析を行う。ここでは、ステップＳ９０において、ＬＳＴを３拍子のときに小節最後の音として８拍分のＳＴ（音）が配置された状態で、ステップＳ９１の強拍／弱拍・３拍子分析を行う。この処理では、ＣＰＵ１１は、強拍と弱拍とのそれぞれについて点数をつける。ここで、３拍子では、強拍は、１拍目であり、弱拍は、強拍以外の拍である。点数は音符の長さに応じて定まっており、例えば、８分音符は１点、４分音符は２点、付点４分音符は３点、２分音符は４点、など、音符の長さが長いほど点数が高く設定されている。例えば、図１１の譜例６の８拍目まで（３小節目の２拍目まで）で判断すると、強拍は、４＋６＋４＝１６となり、弱拍は、２＋０＋０＝２となり、強拍の方が弱拍よりも点数が高い。この場合、ＣＰＵ１１は、強拍優位と判断する。
【００６０】
ステップＳ９２ではＣＰＵ１１は、ステップＳ９１における強拍／弱拍・３拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ９３に移行させ、Ａｕｆフラグを１とし、Ｂｅａｔフラグを３として、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ９２での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ９４に移行させる。
【００６１】
ステップＳ９４では、ＣＰＵ１１は、ＬＳＴを３拍子のときに小節先頭の音として、８拍分のＳＴ（音）を配置する。例えば、図１１の譜例７及び８の場合を例にとると、これらの例では、ともに、２小節目の１拍目の２分音符がＬＳＴであると判断されるので、この音符を３拍子での、ある小節の先頭の音であると仮定して、他の音符の配置を行う。
ステップＳ９５では、ＣＰＵ１１は、強拍／弱拍について３拍子分析を行う。ここでは、ステップＳ９４において、ＬＳＴを３拍子のときに小節先頭の音として８拍分のＳＴ（音）が配置された状態で、ステップＳ９５の強拍／弱拍・３拍子分析を行う。この処理は、ステップＳ９１の処理と同様である。
【００６２】
ステップＳ９６ではＣＰＵ１１は、ステップＳ９５における強拍／弱拍・３拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ９７に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１００に移行させる。
【００６３】
ステップＳ９７では、ＣＰＵ１１は、アウフタクトか否かを判断する。ここでのアウフタクトであるか否かの判断は、ステップＳ９４において、３拍子のときにＬＳＴが小節先頭の音として配置された状態に基づいて実行される。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ９９に移行させ、Ａｕｆフラグを２とし、Ｂｅａｔフラグを３として（図１１の譜例８が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ９７での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ９８に移行させ、Ａｕｆフラグを０とし、Ｂｅａｔフラグを３として（図１１の譜例７が該当する）、アウフタクト／拍子推測の処理を終了する。
【００６４】
ステップＳ９６で、強拍優位ではないと判断された場合、又は、ステップＳ７６で、ＬＳＴと同じ長さのＳＴが３個以上あると判断された場合（例えば、図１１の譜例９では、ＬＳＴは最初の４分音符であり、他に４分音符が２つあるので、ＬＳＴと同じ長さのＳＴが３個ある）、ステップＳ１００の処理が実行される。
ステップＳ１００では、ＣＰＵ１１は、ＬＳＴを４拍子のときに小節最後の音として、８拍分のＳＴ（音）を配置して、ステップＳ１０１で、ＣＰＵ１１は、アウフタクトか否かを判断する。この判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１０２に移行させ、Ａｕｆフラグを０とし、Ｂｅａｔフラグを４として（図１１の譜例９が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ１０１での判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１０３に移行させる。
【００６５】
ステップＳ１０３では、ＣＰＵ１１は、強拍／弱拍について４拍子分析を行う（ステップＳ８５の処理と同様）。ここでは、ステップＳ１００において、ＬＳＴを４拍子のときに小節最後の音として８拍分のＳＴ（音）が配置された状態で、ステップＳ１０３の強拍／弱拍・４拍子分析を行う。そして、ステップＳ１０４で、ＣＰＵ１１は、ステップＳ１０３における強拍／弱拍・４拍子分析の結果が強拍優位か否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１０５に移行させ、Ａｕｆフラグを１とし、Ｂｅａｔフラグを４として（図１１の譜例１０が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ１０４での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１０６に移行させる。
【００６６】
ステップＳ１０６では、ＣＰＵ１１は、強拍／弱拍について３拍子分析を行う（ステップＳ９１の処理と同様）。ここでは、ステップＳ１００において、ＬＳＴを４拍子のときに小節最後の音として８拍分のＳＴ（音）が配置された状態で、ステップＳ１０６の強拍／弱拍・３拍子分析を行う。そして、ステップＳ１０７で、ＣＰＵ１１は、ステップＳ１０６における強拍／弱拍・３拍子分析の結果が強拍優位か否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１０８に移行させ、Ａｕｆフラグを１とし、Ｂｅａｔフラグを３として（図１１の譜例１１が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ１０７での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１０９に移行させる。
【００６７】
ステップＳ１０９では、ＣＰＵ１１は、ＬＳＴを無視し、１番目の入力音から順に、１小節目の先頭から４拍子で音符を並べる。
【００６８】
ステップＳ１１０では、ＣＰＵ１１は、強拍／弱拍について４拍子分析を行い（ステップＳ８５の処理と同様）、ステップＳ１１１では、ＣＰＵ１１は、強拍優位か否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１１２に移行させ、Ａｕｆフラグを０とし、Ｂｅａｔフラグを４として（図１１の譜例１２が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ１１１での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１１３に移行させる。
【００６９】
ステップＳ１１３では、ＣＰＵ１１は、ＬＳＴを無視し、１番目の入力音から順に、１小節目の先頭から３拍子で音符を並べる。ステップＳ１１４では、ＣＰＵ１１は、強拍／弱拍について３拍子分析を行い、ステップＳ１１５では、ＣＰＵ１１は、強拍優位か否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１１６に移行させ、Ａｕｆフラグを０とし、Ｂｅａｔフラグを３として（図１１の譜例１３が該当する）、アウフタクト／拍子推測の処理を終了する。一方、ステップＳ１１５での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１１７に移行させる。
【００７０】
ステップＳ１１７では、ＣＰＵ１１は、図１２に示すアウフタクトパターンテーブルを参照する。
図１２は、アウフタクトパターンテーブルを示している。図１２によれば、アウフタクトとなる音符の配列パターンが複数種類記憶されている。図１２に示した例は、比較的音長の短い音符が弱拍に入った後に、比較的音長の長い音符が強拍に入るというアウフタクトのリズムのパターンを示している。
【００７１】
ステップＳ１１８では、ＣＰＵ１１は、アウフタクトパターンテーブルを参照して、先頭の音符を含んだ音符の配列が、当該アウフタクトパターンテーブルに記憶されたパターンのいずれかと一致するか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１１９に移行させ、Ａｕｆフラグを２とし、ＬＳＴを１拍目に配置する。一方、ステップＳ１１８での判断がＮＯの場合、ＣＰＵ１１は、アウフタクト／拍子推測の処理を終了する。
【００７２】
図９及び図１０は、本実施形態にかかる演奏情報処理装置を適用した電子楽器１０において実行される拍子推測の処理の例を示すフローチャートである。
【００７３】
ステップＳ１３１では、ＣＰＵ１１は、Ａｕｆフラグが１であるか否かを判断する。この判断がＹＥＳの場合、すなわちＡｕｆフラグが１である場合というのは、上述したように、ＬＳＴが小節最後の音でありかつアウフタクトであったということであるので、ＣＰＵ１１は、処理をステップＳ１３２に移行させ、ＬＳＴを小節最後の音とする。ステップＳ１３２の処理が終了すると、ＣＰＵ１１は、処理をステップＳ１３５に移行させる。一方、ステップＳ１３１での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１３３に移行させる。
【００７４】
ステップＳ１３３では、ＣＰＵ１１は、Ａｕｆフラグが２であるか否かを判断する。この判断がＹＥＳの場合、すなわちＡｕｆフラグが２である場合というのは、上述したように、ＬＳＴが小節最初の音でありかつアウフタクトであったということであるので、ＣＰＵ１１は、処理をステップＳ１３４に移行させ、ＬＳＴを小節の１拍目とする。ステップＳ１３４の処理が終了すると、ＣＰＵ１１は、処理をステップＳ１３５に移行させる。一方、ステップＳ１３３での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１３６に移行させる。
【００７５】
ステップＳ１３５では、ＣＰＵ１１は、拍子が決定しているか否かを判断する。具体的には、Ｂｅａｔフラグが初期値（例えば０）のままであった場合、ＣＰＵ１１は、拍子は決定していないと判断する。一方、Ｂｅａｔフラグに何らかの値がセットされていた場合、ＣＰＵ１１は、拍子は決定していると判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、拍子推測の処理を終了し、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１３６に移行させる。
【００７６】
Ａｕｆフラグが１でも２でもない場合（ステップＳ１３１でＮＯかつステップＳ１３３でＮＯ）、又は、ステップＳ１３５で拍子が決定していると判断されなかった場合、ステップＳ１３６の処理が実行される。
ステップＳ１３６では、ＣＰＵ１１は、現在の拍が１３拍かつ３拍子であるか否かを判断する。１３拍とは、３拍子において、４小節終了後の次の拍である。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１３９に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１３７に移行させる。
【００７７】
ステップＳ１３７では、ＣＰＵ１１は、現在の拍が１７拍かつ４拍子であるか否かを判断する。１７拍とは、４拍子において、４小節終了後の次の拍である。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１３９に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１３８に移行させる。
【００７８】
ステップＳ１３８では、ＣＰＵ１１は、４小節ごとの区間が終わった直後の拍であるか否かを判断する。即ち、３拍子（Ｂｅａｔ＝３）の場合、（１２×ｎ＋１（ｎは０以上の整数））拍目であるか否かを判断し、４拍子（Ｂｅａｔ＝４）の場合、（１６×ｎ＋１（ｎは０以上の整数））であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、ステップＳ１３９に処理を移し、ＮＯの場合、ＣＰＵ１１は、ステップＳ１４０に処理を移す。
【００７９】
ステップＳ１３９では、ＣＰＵ１１は、拍子検討拍用カウンタをクリアする。
【００８０】
ステップＳ１４０では、ＣＰＵ１１は、３拍目が２拍延びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４１に移行させ、４Ｂｅａｔフラグを１にする。４Ｂｅａｔフラグは、４拍子である可能性があることを示すフラグである。当該フラグが１の場合、４拍子である可能性がある。詳細に説明すると、３拍目は、３拍子ならば弱拍であり、これが２拍伸びて次の小節の１拍目（強拍）まで伸びるというケースは稀である一方、４拍子ならば、３拍目が２拍分伸びるメロディは多く用いられていることから、このような場合は、４拍子の曲である可能性があるとして、「４Ｂｅａｔ＝１」と記録しておく。
一方、ステップＳ１４０での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１４２に移行させる。
【００８１】
ステップＳ１４２では、ＣＰＵ１１は、４拍目が２拍延びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４３に移行させ、３Ｂｅａｔフラグを１にする。３Ｂｅａｔフラグは、３拍子である可能性があることを示すフラグである。当該フラグが１の場合、３拍子である可能性がある。詳細に説明すると、４拍目は、４拍子ならば弱拍であり、これが２拍伸びて次の小節の１拍目（強拍）まで伸びるというケースは稀である一方、３拍子ならば、４拍目は小節の先頭であるため、４拍目が２拍分伸びるメロディは多く用いられていることから、このような場合は、３拍子の曲である可能性があるとして、「３Ｂｅａｔ＝１」と記録しておく。
一方、ステップＳ１４２での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１４４に移行させる。
【００８２】
ステップＳ１４４では、ＣＰＵ１１は、１０拍目又は１１拍目が２拍以上伸びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４５に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１４８に移行させる。
【００８３】
ステップＳ１４５では、ＣＰＵ１１は、３Ｂｅａｔフラグが１であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４７に移行させ、Ｂｅａｔフラグを３として、３拍子と判断し、拍子推測の処理を終了する。一方、ステップＳ１４５での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１４６に移行させる。
【００８４】
ステップＳ１４６では、ＣＰＵ１１は、９拍目が２拍以上延びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４８に移行させる。ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１４７に移行させ、Ｂｅａｔフラグを３として、３拍子と判断し、拍子推測の処理を終了する。即ち、９拍目は３拍子では小節最後の弱拍であるため、９拍目が２拍以上延びていなければ、３拍子として判断される。
【００８５】
ステップＳ１４８では、ＣＰＵ１１は、１３拍目又は１５拍目が２拍以上伸びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１４９に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１５２に移行させる。
【００８６】
ステップＳ１４９では、ＣＰＵ１１は、４Ｂｅａｔフラグが１であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１５１に移行させ、Ｂｅａｔフラグを４として、４拍子と判断し、拍子推測の処理を終了する。一方ステップＳ１４９での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１５０に移行させる。
【００８７】
ステップＳ１５０では、ＣＰＵ１１は、８拍目が２拍以上延びているか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１５２に移行させ、ＮＯの場合、ＣＰＵ１１は、処理をステップＳ１５１に移行させ、Ｂｅａｔフラグを４として、４拍子と判断し、拍子推測の処理を終了する。即ち、８拍目は４拍子では小節最後の弱拍であるため、８拍目が２拍以上延びていなければ、４拍子として判断される。
【００８８】
ステップＳ１５２では、ＣＰＵ１１は、３Ｂｅａｔフラグが１であるか否かを判断する。この判断がＹＥＳの場合、ＣＰＵ１１は、処理をステップＳ１５３に移行させ、Ｂｅａｔフラグを３として、３拍子と判断し、拍子推測の処理を終了する。一方ステップＳ１５２での判断がＮＯの場合、ＣＰＵ１１は、処理をステップＳ１５４に移行させ、Ｂｅａｔフラグを４として、４拍子と判断し、拍子推測の処理を終了する。
【００８９】
本実施形態の電子楽器１０が備えるＣＰＵ１１は、入力される演奏情報を順次取得し、演奏情報が入力開始時点から第１の所定タイミング（例えば、３番目の演奏情報が入力されたタイミング）まで入力されたか否かを判定し、第１の所定タイミングまで入力されたと判定された場合に、入力開始時点から第１の所定タイミングまでの演奏情報に基づき、演奏情報のテンポを判定し、判定されたテンポに基づいて、演奏情報の拍子を判定する。
したがって、１番目と２番目に入力された演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
【００９０】
また、本実施形態においては、ＣＰＵ１１は、取得される演奏情報が入力開始時点から第２の所定タイミング（例えば、９拍目）まで入力されたか否かを判定し、当該第２の所定のタイミングまで入力されたと判定された場合に、判定されたテンポに基づいて、演奏情報の拍子を判定する。
したがって、９拍目が入力された時点で、８拍分の演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
【００９１】
また、本実施形態においては、ＣＰＵ１１は、取得された前記演奏情報のうち、最初に入力された演奏情報の音長であるＦＳＴと、２音目に入力された演奏情報の音長であるＳＳＴとの比率ＳＳＴ＿Ｒを算出し、ＦＳＴ＿Ｔと、ＳＳＴ＿Ｒと、に基づきテンポを判定する。
したがって、１番目と２番目に入力された演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
【００９２】
また、本実施形態においては、ＣＰＵ１１は、判定されたテンポに基づいて、演奏情報の入力開始時点から所定の拍数（例えば、８拍）に対応する時間が経過したか否かを判定し、入力開始時点から所定の拍数に対応する時間が経過したと判定された場合に、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
したがって、８拍分の演奏情報に基づいて拍子を判定することができる。
【００９３】
また、本実施形態においては、ＣＰＵ１１は、入力開始時点から３拍目、４拍目、８拍目、９拍目のうち少なくとも１以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
したがって、より正確な拍子を決定することができる。
【００９４】
また、本実施形態においては、ＣＰＵ１１は、入力開始時点から第３の所定タイミング（例えば、８拍目の最後の演奏情報の入力タイミング）までの間の前記演奏情報のうち最長の音長を持つものを選択し、選択された最長の音長を持つ演奏情報（例えば、ＬＳＴ）のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
したがって、より正確な拍子を決定することができる。
【００９５】
また、本実施形態においては、ＣＰＵ１１は、演奏情報のアウフタクトを判定し、アウフタクトと判定された場合には、選択された最長の音長を持つ演奏情報（ＬＳＴ）の入力タイミングを基準の時点として、演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
したがって、より正確な拍子を決定することができる。
【００９６】
また、本実施形態においては、ＣＰＵ１１は、判定されたテンポに基づいて、入力開始時点から第１の所定の拍数群（例えば、３拍及び４拍）に対応する時間の経過後の前記演奏情報の状態と、入力開始時点から第２の所定の拍数群（例えば、８拍及び９拍）に対応する時間の経過後の前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
したがって、より正確な拍子を決定することができる。
【００９７】
また、本実施形態においては、ＣＰＵ１１は、ＦＳＴ＿Ｔの長短に応じて、演奏情報のテンポが、入力されている演奏情報のテンポよりも速いか遅いかを判定する。
したがって、より正確なテンポを決定することができる。
【００９８】
また、本実施形態においては、ＣＰＵ１１は、ＦＳＴ＿Ｔと、ＳＳＴ＿Ｒとに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
したがって、より正確なテンポを効率的に決定することができる。
【００９９】
また、本実施形態においては、ＣＰＵ１１は、取得される演奏情報が入力開始時点から第４の所定タイミング（例えば、（１２の倍数＋１）拍、又は（１６の倍数＋１）拍）まで入力されたか否かを判定し、第４の所定タイミングまで入力されたと判定された場合には、第４の所定タイミングの経過時点を再度入力開始時点とみなして、テンポ判定と、拍子判定とを繰り返して実行する。
したがって、第４の所定タイミングにおいて、テンポ判定と拍子判定をやり直すことができるので、テンポ及び拍子が間違ったままであることを防止できる。
【０１００】
本発明は、以上の実施形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１０１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段などより構成される全体的な装置を意味するものとする。
【０１０２】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１０３】
本実施形態では、ＣＰＵ１１は、図４及び図５で説明した拍推測／テンポ推測の処理を実行したが、これに限られるものではない。例えば、当該拍推測／テンポ推測の処理に変えて、図１３に示すテンポ決定テーブルを参照して、ＦＳＴ＿ＴとＳＳＴ＿Ｒとに基づいて、テンポを決定してもよい。この場合、例えば、ＦＳＴ＿Ｔが０．５、ＳＳＴ＿Ｒが１の場合、テンポは７５である。このようなテーブルを用いることで、複雑な判断式を用いずに、より精細な判断をすることができ、処理の高速化を図ることができる。
また、この図１３は、横軸をＳＳＴ＿Ｒとしているが、横軸をＳＳＴ＿Ｔとしてテーブルを構成してもよい。
さらに、本実施形態における、図４及び図５で説明した拍推測／テンポ推測の処理、図６、図７及び図８で説明したアウフタクト／拍子推測の処理、図９及び図１０で説明した拍子推測の処理については、それぞれ処理の一例であり、判断の順序や取捨選択、比較する数値などは適宜変更しても良い。また、この各推測処理について、曲のジャンルによって変更・修正するようにしても良い。この場合、例えば、電子楽器１０の備えるスイッチ群１５にジャンル選択スイッチが設けられていて、このジャンル選択スイッチでジャンルを選択することにより、当該ジャンルに適した処理ルーチンが選択されるように構成する事も可能である。
【０１０４】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得手段と、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする演奏情報処理装置。
［付記２］
付記１に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第２のタイミングまでの前記演奏情報に基づき、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
［付記３］
付記１又は２に記載の演奏情報処理装置において、
前記演奏情報取得手段により取得された前記演奏情報のうち、前記ある音の音長である第１入力音長と、前記ある音の次に入力された音の音長である第２入力音長との比率を算出する音長比率算出手段をさらに備え、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率と、に基づきテンポを判定することを特徴とする演奏情報処理装置。
［付記４］
付記２に記載の演奏情報処理装置において、
前記第２のタイミングは、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始時点から所定の拍数に対応する時間が経過したタイミングであり、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から前記所定の拍数に対応する時間が経過したときに、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
［付記５］
付記１から４のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の所定の拍数に対応する時間における前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
［付記６］
付記５に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から３拍目、４拍目、８拍目、９拍目のうち少なくとも１以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
［付記７］
付記１から６のいずれかに記載の演奏情報処理装置において、
前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第３のタイミングまでの間の前記演奏情報のうち最長の音長を持つ音を選択する最長音選択手段をさらに備え、
前記拍子判定手段は、前記最長音選択手段によって選択された最長の音長を持つ演奏情報のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
［付記８］
付記７に記載の演奏情報処理装置において、
前記演奏情報のアウフタクトを判定するアウフタクト判定手段をさらに備え、
前記拍子判定手段は、前記アウフタクト判定手段によってアウフタクトと判定された場合には、前記最長音選択手段によって選択された最長の音長を持つ前記演奏情報の入力タイミングを基準の時点として、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
［付記９］
付記１から８のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の第１の所定の拍数群に対応する時間における前記演奏情報の状態と、前記演奏情報のうちの前記ある音の入力開始後の第２の所定の拍数群に対応する時間における前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
［付記１０］
付記３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長の長短に応じて、前記演奏情報のテンポが、入力されている前記演奏情報のテンポよりも速いか遅いかを判定することを特徴とする演奏情報処理装置。
［付記１１］
付記３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率とに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
［付記１２］
付記１から１１のいずれかに記載の演奏情報処理装置において、
前記演奏情報取得手段により取得される前記演奏情報が前記ある音の入力開始時点から所定の時間経過後まで入力されていると判定された場合には、前記ある音の入力開始時点から所定の時間の経過時点を再度前記ある音の入力開始時点とみなして、前記テンポ判定手段によるテンポ判定と、前記拍子判定手段による拍子判定とを繰り返して実行することを特徴とする演奏情報処理装置。
［付記１３］
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含む演奏情報処理方法。
［付記１４］
コンピュータが実行する、
入力される少なくとも２音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含むプログラム。
【符号の説明】
【０１０５】
１０・・・電子楽器、１１・・・ＣＰＵ、１２・・・ＲＯＭ、１３・・・ＲＡＭ、１４・・・サウンドシステム、１５・・・スイッチ群、１６・・・鍵盤、１７・・・表示部、２１・・・音源部、２２・・・オーディオ回路、２３・・・スピーカ
【図１】
2014048503.tif 000003
【図２】
2014048503.tif 000004
【図３】
2014048503.tif 000005
【図４】
2014048503.tif 000006
【図５】
2014048503.tif 000007
【図６】
2014048503.tif 000008
【図７】
2014048503.tif 000009
【図８】
2014048503.tif 000010
【図９】
2014048503.tif 000011
【図１０】
2014048503.tif 000012
【図１１】
2014048503.tif 000013
【図１２】
2014048503.tif 000014
【図１３】
2014048503.tif 000015
【手続補正書】
【提出日】平成26年1月14日(2014.1.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力される少なくとも２音以上の演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする演奏情報処理装置。
【請求項２】
請求項１に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第２のタイミングまでの前記演奏情報に基づき、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項３】
請求項１又は２に記載の演奏情報処理装置において、
前記演奏情報のうち、前記ある音の音長である第１入力音長と、前記ある音の次に入力された音の音長である第２入力音長との比率を算出する音長比率算出手段をさらに備え、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率と、に基づきテンポを判定することを特徴とする演奏情報処理装置。
【請求項４】
請求項２に記載の演奏情報処理装置において、
前記第２のタイミングは、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始時点から所定の拍数に対応する時間が経過したタイミングであり、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から前記所定の拍数に対応する時間が経過したときに、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項５】
請求項１から４のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の所定の拍数に対応する時間における前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
【請求項６】
請求項５に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から３拍目、４拍目、８拍目、９拍目のうち少なくとも１以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
【請求項７】
請求項１から６のいずれかに記載の演奏情報処理装置において、
前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第３のタイミングまでの間の前記演奏情報のうち最長の音長を持つ音を選択する最長音選択手段をさらに備え、
前記拍子判定手段は、前記最長音選択手段によって選択された最長の音長を持つ演奏情報のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
【請求項８】
請求項７に記載の演奏情報処理装置において、
前記演奏情報のアウフタクトを判定するアウフタクト判定手段をさらに備え、
前記拍子判定手段は、前記アウフタクト判定手段によってアウフタクトと判定された場合には、前記最長音選択手段によって選択された最長の音長を持つ前記演奏情報の入力タイミングを基準の時点として、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項９】
請求項１から８のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の第１の所定の拍数群に対応する時間における前記演奏情報の状態と、前記演奏情報のうちの前記ある音の入力開始後の第２の所定の拍数群に対応する時間における前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
【請求項１０】
請求項３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長の長短に応じて、前記演奏情報のテンポが、入力されている前記演奏情報のテンポよりも速いか遅いかを判定することを特徴とする演奏情報処理装置。
【請求項１１】
請求項３に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第１入力音長と、前記音長比率算出手段によって算出された比率とに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
【請求項１２】
請求項１から１１のいずれかに記載の演奏情報処理装置において、
前記演奏情報が前記ある音の入力開始時点から所定の時間経過後まで入力されていると判定された場合には、前記ある音の入力開始時点から所定の時間の経過時点を再度前記ある音の入力開始時点とみなして、前記テンポ判定手段によるテンポ判定と、前記拍子判定手段による拍子判定とを繰り返して実行することを特徴とする演奏情報処理装置。
【請求項１３】
入力される少なくとも２音以上の演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含む演奏情報処理方法。
【請求項１４】
コンピュータが実行する、
入力される少なくとも２音以上の演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含むプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本発明の一態様の演奏情報処理装置は、
入力される少なくとも２音以上の演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第１のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする。