JP5672280B2 - 演奏情報処理装置、演奏情報処理方法及びプログラム - Google Patents

演奏情報処理装置、演奏情報処理方法及びプログラム Download PDF

Info

Publication number
JP5672280B2
JP5672280B2 JP2012191909A JP2012191909A JP5672280B2 JP 5672280 B2 JP5672280 B2 JP 5672280B2 JP 2012191909 A JP2012191909 A JP 2012191909A JP 2012191909 A JP2012191909 A JP 2012191909A JP 5672280 B2 JP5672280 B2 JP 5672280B2
Authority
JP
Japan
Prior art keywords
performance information
sound
tempo
input
time
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.)
Active
Application number
JP2012191909A
Other languages
English (en)
Other versions
JP2014048503A5 (ja
JP2014048503A (ja
Inventor
広子 奥田
広子 奥田
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2012191909A priority Critical patent/JP5672280B2/ja
Priority to CN201310384784.8A priority patent/CN103680486B/zh
Priority to US14/015,203 priority patent/US8907197B2/en
Publication of JP2014048503A publication Critical patent/JP2014048503A/ja
Publication of JP2014048503A5 publication Critical patent/JP2014048503A5/ja
Application granted granted Critical
Publication of JP5672280B2 publication Critical patent/JP5672280B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • G10H1/42Rhythm comprising tone forming circuits
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/076Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction of timing, tempo; Beat detection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Description

本発明は、演奏情報処理装置、演奏情報処理方法及びプログラムに関する。
電子ピアノや電子オルガンのような鍵盤を備えた電子楽器では、主として右手でメロディを、左手で伴奏を弾く、あるいはコードを構成する複数の鍵を押鍵するのが一般的である。従ってこのような電子楽器においては、右手と左手をそれぞれ楽譜等にしたがって独立して動かすための練習が必要である。
このようにピアノの奏法及びオルガンの奏法の何れにおいても、右手と左手を同時に異なる形態で動かすことが必要であり、このためには相応の練習が必要である。特に、メロディを奏するために右手を動かすことは可能であるが、同時に左手で異なる演奏を行うことが困難と感じる演奏者が、特に初心者では多い。したがって、演奏者が右手でメロディを演奏することにより、左手で演奏することにより生成されるべき伴奏音をリアルタイムで自動的に作成することのできる電子楽器が知られている(特許文献1)。
特開2011−158855号公報
ところで、特許文献1の電子楽器では、演奏によりメロディが入力されるとリアルタイムでコードを付与しているが、予め決められたテンポで演奏を行う必要があるため、テンポに合わせて演奏できない者にとっては、意図したコードが付与されないという問題があった。そこで、この問題を解決するためには、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定する必要がある。
そこで本発明は、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できる演奏情報処理装置を提供することを目的とする。
上記目的を達成するため、本発明の一態様の演奏情報処理装置は、
入力される少なくとも2音以上の演奏情報のうち、前記ある音の音長である第1入力音長と、前記ある音の次に入力された音の音長である第2入力音長との比率を算出する音長比率算出手段と、
前記第1入力音長と、前記音長比率算出手段によって算出された比率とに基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする。
本発明によれば、演奏者が弾いたメロディの音長に基づいてテンポ及び拍子を決定できる。
図1は、本発明の実施の形態にかかる演奏情報処理装置を適用した電子楽器の構成を示すブロックダイヤグラムである。 図2は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される音長計測/割合変換の処理の例を示すフローチャートである。 図3は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される音長計測/割合変換の処理の例を示すフローチャートである。 図4は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍推測/テンポ推測の処理の例を示すフローチャートである。 図5は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍推測/テンポ推測の処理の例を示すフローチャートである。 図6は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト/拍子推測の処理の例を示すフローチャートである。 図7は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト/拍子推測の処理の例を示すフローチャートである。 図8は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行されるアウフタクト/拍子推測の処理の例を示すフローチャートである。 図9は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍子推測の処理の例を示すフローチャートである。 図10は、本実施形態にかかる演奏情報処理装置を適用した電子楽器において実行される拍子推測の処理の例を示すフローチャートである。 図11は、本実施形態にかかる譜面の例を示す図である。 図12は、本実施形態にかかるアウフタクトパターンテーブルの例を示す図である。 図13は、本実施の形態にかかるテンポ決定テーブルの例を示す図である。
以下、添付図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態にかかる演奏情報処理装置を適用した電子楽器10の構成を示すブロックダイヤグラムである。図1に示すように、本実施形態にかかる電子楽器10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、サウンドシステム14、スイッチ群15、鍵盤16及び表示部17を備える。
CPU11は、電子楽器10全体の制御、鍵盤16の鍵の押鍵やスイッチ群15を構成するスイッチの操作の検出、鍵やスイッチの操作にしたがったサウンドシステム14の制御、入力された音高情報に基づくテンポ及び拍子の判定など、種々の処理を実行する。
ROM12は、CPU11に実行させる種々の処理のプログラムを記憶する。また、ROM12は、ピアノ、ギター、バスドラム、スネアドラム、シンバルなどの楽音を生成するための波形データを格納した波形データエリアを有する。RAM13は、ROM12から読み出されたプログラムや、処理の過程で一時的に生じたデータを記憶する。
サウンドシステム14は、音源部21、オーディオ回路22及びスピーカ23を有する。音源部21は、例えば、押鍵された鍵についての情報をCPU11から受信すると、ROM12の波形データエリアから所定の波形データを読み出して、所定の音高の楽音データを生成して出力する。また、音源部21は、波形データ、特に、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、予め定められた音高に対応する速度で読み出して楽音データとして出力する。オーディオ回路22は、楽音データをD/A変換して増幅する。これによりスピーカ23から音響信号が出力される。
以下、本実施形態にかかる電子楽器10において実行される処理についてより詳細に説明する。図2及び図3は、本実施形態にかかる演奏情報処理装置を適用した電子楽器10において実行される音長計測/割合変換の処理の例を示すフローチャートである。
図2に示すように、電子楽器10のCPU11は、電子楽器10の電源が投入されると、RAM13中のデータや、表示部17の画像のクリアを含むイニシャル処理(初期化処理)を実行する(ステップS1)。
次いで、CPU11は、最初の押鍵がなされたか否かを判断する(ステップS2)。この判断がNOの場合、CPU11は、ステップS3に処理を移行させ、演奏がストップされたか否かを判断する。具体的には、CPU11は、電子楽器10が備える演奏ストップスイッチ(図示せず)が押下されたか否かを判断する。この判断がYESの場合、CPU11は、音長計測/割合変換の処理を終了し、NOの場合、CPU11は、ステップS2に処理を移行させる。したがって、演奏がストップされない限り、最初の押鍵がなされるまでステップS2の判断の処理が繰り返し実行されて、ステップS2での判断がYESとなった場合、CPU11は、演奏情報を取得して、ステップS4に処理を移行させる。
ステップS4では、CPU11は、FST(First Step Time)、FGT(First Gate Time)及びFST_T(First Step Timeの実時間)を計測する。ここで、FST等の説明をする前に、ST(Step Time)及びGT(Gate Time)について説明する。
STとは、ある音の発音開始タイミングから次の音の発音開始タイミングまでの時間に対応する数値である。例えば、ある音の発音開始タイミングと次の音の発音開始タイミングとの間の長さが4分音符1個分に相当する場合、「480」となるように定められる。また、GTとは、鍵盤16が押鍵されてから離鍵されるまでの時間に対応する数値である。例えば、4分音符を演奏する場合に、鍵盤16の押下時間が4分音符の長さよりも短い場合、「475」等となる。
ここで説明したST及びGTを前提に、FST等の説明をする。FSTとは、1番目に入力された演奏情報のSTであり、FGTとは、1番目に入力された演奏情報のGTである。また、FST_Tとは、FSTの実時間、即ち、「0.5秒」等のことである。
なお、ステップS4の処理は、後述するステップS6の処理においてYESと判断されるまで繰り返し実行されるので、ステップS6の処理においてYESと判断されたタイミングで、FST、FGT及びFST_Tが確定する。
ステップS6では、CPU11は、次の入力、即ち、2番目の音の入力がなされたか否かを判断する。この判断がYESの場合、CPU11は、演奏情報を取得して、ステップS8に処理を移行させ、NOの場合、ステップS7に処理を移行させる。
ステップS7では、CPU11は、演奏がストップされたか否かを判断する。具体的には、ステップS3の処理と同様である。この判断がYESの場合、CPU11は、音長計測/割合変換の処理を終了し、NOの場合、CPU11は、ステップS4に処理を移行させる。
ステップS8では、CPU11は、ステップS6での2番目の音の入力によって確定されたFST及びFST_TをRAM13に記憶する。
ステップS9では、CPU11は、SST(Second Step Time)、SGT(Second Gate Time)及びSST_T(Second Step Timeの実時間)を計測する。SSTとは、2番目に入力された演奏情報のSTであり、SGTとは、2番目に入力された演奏情報のGTである。また、SST_Tとは、SSTの実時間である。
なお、ステップS9の処理は、後述するステップS11の処理においてYESと判断されるまで繰り返し実行されるので、ステップS11の処理においてYESと判断されたタイミングで、SST、SGT及びSST_Tが確定する。
ステップS11では、CPU11は、次の入力、即ち、3番目の音の入力がなされたか否かを判断する。この判断がYESの場合、CPU11は、演奏情報を取得して、ステップS13に処理を移行させ、NOの場合、ステップS12に処理を移行させる。
ステップS12では、CPU11は、演奏がストップされたか否かを判断する。具体的には、ステップS3の処理と同様である。この判断がYESの場合、CPU11は、音長計測/割合変換の処理を終了し、NOの場合、CPU11は、ステップS9に処理を移行させる。
ステップS13では、CPU11は、ステップS11での3番目の音の入力によって確定されたSST及びSST_TをRAM13に記憶する。
ステップS14では、CPU11は、FSTの値を1としたときのSSTの比率であるSST_Rを算出し、RAM13に記憶する。なお、人間の演奏のゆらぎが以下の処理に与える影響を軽減するため、このSSTの比率であるSST_Rを算出する際に、所定の精度までで誤差を丸める方法や、あらかじめ定められた複数の比率値の中から最も近い比率を選択するような方法をとることも可能である。
ステップS15では、CPU11は、図4及び図5を参照して後述する拍推測/テンポ推測の処理を実行する。
ステップS16では、CPU11は、CST(Current Step Time)、CGT(Current Gate Time)及びCST_T(Current Step Timeの実時間)を計測する。CSTとは、現在入力された演奏情報のSTであり、CGTとは、現在入力された演奏情報のGTである。また、CST_Tとは、CSTの実時間である。
なお、ステップS16の処理は、後述するステップS18の処理においてYESと判断されるまで繰り返し実行されるので、ステップS18の処理においてYESと判断されたタイミングで、CST、CGT及びCST_Tが確定する。
また、その際に、後述する拍推測/テンポ推測の処理によって設定されたテンポ値に基づき、CST、GCT、CST_Tの値を当該テンポ値における所定の音符の長さにクオンタイズする処理を行う事によって、人間の演奏ゆらぎの影響を軽減するようにしても良い。
ステップS18では、CPU11は、次の入力がなされたか否かを判断する。この判断がYESの場合、CPU11は、演奏情報を取得して、ステップ20に処理を移行させ、NOの場合、ステップS19に処理を移行させる。
ステップS19では、CPU11は、演奏がストップされたか否かを判断する。具体的には、ステップS3の処理と同様である。この判断がYESの場合、CPU11は、音長計測/割合変換の処理を終了し、NOの場合、CPU11は、ステップS16に処理を移行させる。
ステップS20では、CPU11は、FSTの値を1としたときのCSTの比率であるCST_Rを算出する。
ステップS21では、CPU11は、図6乃至図8を参照して後述するアウフタクト/拍子推測の処理を実行する。
ステップS22では、CPU11は、図9及び図10を参照して後述する拍子推測の処理を実行する。
ステップS23では、CPU11は、4小節ごとの区間が終わった直後の拍であるか否かを判断する。すなわち、3拍子(Beat=3)の場合、(12×n+1(nは0以上の整数))拍目であるか否かを判断し、4拍子(Beat=4)の場合、(16×n+1(nは0以上の整数))拍目であるか否かを判断する。この判断がYESの場合、CPU11は、ステップS24に処理を移し、NOの場合、CPU11は、ステップS26に処理を移す。
なお、ステップS23での判断対象である拍子は、アウフタクト/拍子推測の処理、及び拍子推測の処理で決定された拍子である。
ステップS24では、CPU11は、現在の区間の拍子を前区間の拍子と比較する。ここで、「現在の区間」とは、直前のアウフタクト/拍子推測の処理、及び拍子推測の処理で処理対象とされた拍を含む4小節のことであり、具体的には、3拍子(Beat=3)の場合、(12×(n−1)+1)拍目から(12×n)拍目(nは1以上の整数)、4拍子(Beat=4)の場合、(16×(n−1)+1)拍目から(16×n)拍目(nは1以上の整数)、までの4小節分をいう。また、前区間とは、上記「現在の区間」の直前の4小節のことである。即ち、ここでは、今回の判定結果である拍子と、前回の判定結果である拍子とを比較している。
ステップS25では、CPU11は、拍子の変更がなされたか否かを判断する。即ち、CPU11は、現在の区間の拍子が前区間の拍子から変更されたか否かを判断する。この判断がYESの場合、CPU11は、処理をS15に移行させ、NOの場合、CPU11は、処理をステップS26に移行させる。
これにより、ステップS25の判断により、拍子の変更がなされたと判断された場合には、CPU11は、ステップS15の拍推測/テンポ推測の処理を再度実行する。
ステップS26では、CPU11は、演奏がストップされたか否かを判断する。具体的には、ステップS3の処理と同様である。この判断がYESの場合、CPU11は、音長計測/割合変換の処理を終了し、NOの場合、CPU11は、ステップS16に処理を移行させる。
図4及び図5は、本実施形態にかかる演奏情報処理装置を適用した電子楽器10において実行される拍推測/テンポ推測の処理の例を示すフローチャートである。
ステップS31では、CPU11は、FST_Rを1としたとき、FST_R+SST_R=1.33であるか否かを判断する。即ち、2番目に入力された演奏情報のSTであるSST_Rが、1番目に入力された演奏情報のSTであるFST_Rのおよそ3分の1程度の長さであるか否かを判断している。SST_Rが、FST_Rのおよそ3分の1程度の長さである場合とは、FSTが付点2分音符でありSSTが4分音符である場合、FSTが付点4分音符でありSSTが8分音符である場合、及び、FSTが付点8分音符でありSSTが16分音符である場合などである。ステップS31での判断がYESの場合、CPU11は、処理をステップS48に移行させ、NOの場合、CPU11は、処理をステップS32に移行させる。なお、この判断は、FST_R+SST_R=1.33±αの範囲であるか否かを判断する、といったようにして、ある程度の幅を持たせてもよい。演奏者の演奏が機械のように正確な時間長で演奏されて、FST_R+SST_Rが正確に1.33になるとは限らないからである。
まず、ステップS31でYESと判断される場合、即ち、FSTが付点2分音符、付点4分音符、付点8分音符のいずれかである場合について説明する。
ステップS31でYESと判断される場合に実行されるステップS48では、CPU11は、FST_Tが0.75秒以上かつ1.5秒未満であるか否かを判断する。様々な楽曲を調査した結果によれば、FSTが付点4分音符である場合には、FST_Tが1秒の近傍であることが多いので、当該判断を行う。この判断がYESの場合、CPU11は、処理をステップS49に移行させ、NOの場合、CPU11は、処理をステップS50に移行させる。なお、この判断は、0.75秒以上かつ1.5秒未満に限られず、FST_Tが1秒の近傍であることを判断するものであれば、その他の値(例えば、0.9秒以上かつ1.2秒など)によって実行されてもよい。
ステップS48でYESと判断される場合に実行されるステップS49では、CPU11は、FSTに相当する音符を付点4分音符とし、かつ、テンポを90とし、拍推測/テンポ推測の処理を終了する。なお、テンポ90とは、1分間に4分音符が90個存在するテンポであり、この場合、4分音符1個あたり2/3秒である。本実施形態では、テンポnとは、1分間に4分音符がn個存在するテンポとする。なお、テンポは一例であり、ジャンルによって修正されてもよいし、多くの曲をシミュレートして最適なテンポが採用されてもよい。
ステップS48でNOと判断される場合に実行されるステップS50では、CPU11は、FST_Tが0.75秒未満であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS51に移行させ、NOの場合、CPU11は、処理をステップS52に移行させる。
ステップS50でYES、即ち、FST_Tが0.75秒未満であると判断されることにより、ステップS51では、CPU11は、FSTに相当する音符を付点8分音符とし、かつ、テンポを90とし、拍推測/テンポ推測の処理を終了する。
ステップS50でNO、即ち、FST_Tが1.5秒以上であると判断されることにより、ステップS52では、CPU11は、FSTに相当する音符を付点2分音符とし、かつ、テンポを120とし、拍推測/テンポ推測の処理を終了する。
なお、テンポは一例であり、ジャンルによって修正されてもよいし、多くの曲をシミュレートして最適なテンポが採用されてもよい。
次に、ステップS31でNOと判断される場合、即ち、FSTが付点音符でないと判断された場合について説明する。
ステップS31でNOと判断される場合に実行されるステップS32では、CPU11は、FST_Tが0.3秒以上かつ0.7秒未満であるか否かを判断する。様々な楽曲を調査した結果によれば、FSTが4分音符又は8分音符である場合には、FST_Tが0.5秒の近傍であることが多いので、当該判断を行う。ステップS32での判断がYESの場合、FSTが4分音符又は8分音符であると判断し、CPU11は、処理をステップS38に移行させる。一方ステップS32での判断がNOの場合、FSTが2分音符又は16分音符であると判断し、CPU11は、処理をステップS33に移行させる。
ステップS32においてFSTが2分音符又は16分音符であると判断された場合に実行されるステップS33では、CPU11は、FST_Tが0.7秒以上かつ2.2秒未満であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS36に移行させ、FSTに相当する音符を2分音符とし、かつ、テンポを120とし、拍推測/テンポ推測の処理を終了する。この判断がNOの場合、CPU11は、処理をステップS34に移行させる。
ステップS34では、CPU11は、FST_Tが2.2秒以上であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS37に移行させ、FSTに相当する音符を全音符とし、かつ、テンポを120とし、拍推測/テンポ推測の処理を終了する。一方、ステップS34での判断がNOの場合、CPU11は、処理をステップS35に移行させ、FSTに相当する音符を16分音符とし、かつ、テンポを60とする。
続いて、ステップS61では、CPU11は、三連符連打ジャッジが成立するか否か判断する。具体的には、FSTが0.33秒(ここでの0.33秒とは、テンポ60における3連8分音符の長さに相当する)以下であり、かつ、SSTがFSTにほぼ等しく、かつ、3番目のSTがFST及びSSTにほぼ等しい、か否かを判断する。
この判断がYESの場合、CPU11は、処理をステップS62に移行させ、ステップS35で設定したFSTに相当する音符を3連8分音符に変更し、拍推測/テンポ推測の処理を終了する。
一方、ステップS61での判断がNOの場合、CPU11は、拍推測/テンポ推測の処理を終了する。
ステップS32においてFSTが4分音符又は8分音符であると判断された場合に実行されるステップS38以下の処理では、様々な曲を調査した結果として、1番目の入力音と2番目の入力音のSTの比(FST_R、SST_R)と、1番目の入力音の実時間(FST_T)の値を参照して、1番目の入力音が4分音符であるか8分音符であるか、また、テンポはいくつであるかを推定する。まず、ステップS38では、CPU11は、(FST_R+SST_R)=2であるか否か、すなわち、FSTとSSTがほぼ同じ長さの音であったか否かを判断する。
ステップS38でYESと判断された場合、即ち、(FST_R+SST_R)=2であると判断された場合、CPU11は、ステップS40で、FST_R:SST_R=1:1であるか否かを判断する。このステップS40は、後述するステップS39でNOと判断される場合、即ち、ステップS39で(FST_R+SST_R)=3でないと判断された場合にも実行される。
FST_R:SST_R=1:1であり(ステップS40でYESと判断される)、かつ、FST_Tが0.55秒未満である(ステップS41でNOと判断される)場合、CPU11は、ステップS42において、FSTに相当する音符を8分音符とし、かつ、テンポを75とし、拍推測/テンポ推測の処理を終了する。
一方、FST_R:SST_R=1:1でない場合(ステップS40でNOと判断される)には、処理は、ステップS43に進む。また、FST_R:SST_R=1:1であり(ステップS40でYESと判断される)、かつ、FST_Tが0.55秒以上である(ステップS41でYESと判断される)場合にも、処理はステップS43に進む。CPU11は、ステップS43において、FSTに相当する音符を4分音符とし、かつ、テンポを100とし、拍推測/テンポ推測の処理を終了する。
ステップS38でNOと判断された場合、即ち、(FST_R+SST_R)=2でないと判断された場合、ステップS39に処理が移行される。
ステップS39では、CPU11は、(FST_R+SST_R)=3であるか否かを判断する。即ち、CPU11は、FST_Rを「1」としたとき、SST_RがFST_Rの2倍であるか否かを判断する。
(FST_R+SST_R)=3である場合、CPU11は、ステップS44に処理を移行させ、FSTに相当する音符を8分音符と判断する。ステップS45では、CPU11は、FST_Tが0.5秒以上であるか否かを判断し、この判断がYESの場合、CPU11は、ステップS47に処理を移行させ、テンポを60とし、拍推測/テンポ推測の処理を終了する。NOの場合、CPU11は、ステップS46に処理を移行させ、テンポを75とし、拍推測/テンポ推測の処理を終了する。
なお、以上の処理フローチャートでの、各判断ステップにおける、ST値の比率や時間長についての判断の基準となる比較対象数値は、上記した数値に限られるものではなく、例えば、曲のジャンルや、演奏者の技術レベルなどに応じて変更することも可能である。
図6乃至図8は、本実施形態にかかる演奏情報処理装置を適用した電子楽器10において実行されるアウフタクト/拍子推測の処理の例を示すフローチャートである。
このアウフタクト/拍子推測の処理では、拍子を決定するとともに、メロディが小節の先頭から始まっているのか、それともアウフタクト(小節途中からメロディが始まること)であるのかを判断する。なお、本処理では、最初の8拍を処理対象とする。
ステップS71では、CPU11は、現在入力された演奏情報のSTであるCSTが9拍目以内であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS72に移行させ、NOの場合、即ち、CSTが10拍目以上の場合には、CPU11は、アウフタクト/拍子推測の処理を終了する。
ステップS72では、CPU11は、CSTは9拍目か否かを判断する。この判断がYESの場合、CPU11は、処理をステップS73に移行させる。したがって、ステップS71及びS72の処理によれば、CSTが初めて9拍目となった時点で、CPU11は、処理をステップS73に移行させる。ステップS72の処理での判断がNOの場合、即ち、CSTが1〜8拍目のいずれかである場合、CPU11は、処理をステップS77に移行させる。
ステップS77では、CPU11は、STをRAM13に記憶して、アウフタクト/拍子推測の処理を終了する。より詳細には、CPU11は、ステップS77の処理を実行する際、その時点での拍までのSTがRAM13に記憶されるようにする。ステップS77の処理が実行される時点での拍が1〜8拍目までのいずれの場合も可能性として考えられるからである。
以上、ステップS71、S72及びS77の処理により、ステップS72でYESと判断された時点で、RAM13には、8拍目までのSTがRAM13記憶されている。よって、ステップS73の実行時には、8拍目までのSTがRAM13記憶されていることになる。
なお、本実施形態では、アウフタクト/拍子推測の処理において、8拍目までのSTを処理対象とするが、これに限られず、他の拍までのSTを処理対象としてもよい。
ステップS73では、CPU11は、8拍の中で一番長いSTをLSTとする。例えば、図11の譜例1では、2分音符のいずれかがLSTの候補となる。
ステップS74では、CPU11は、同一長のLSTが複数あるときは、最初のものをLSTとする。例えば、図11の譜例1では、最初の2分音符がLSTとなる。ここでいうところの「同一長」とは、完全に同一の長さのことを指すものではなく、人間の演奏のゆらぎによる誤差が含まれてもよいので、若干長さが異なっても「同一長」とみなしてもよい。また、入力演奏に適宜クオンタイズを掛けておいても良い。
ステップS75では、CPU11は、LSTは2拍以上であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS78に移行させる。例えば、図11の譜例1では、最初の2分音符がLSTであるので、LSTは2拍以上である。よって、当該譜例1の場合、CPU11は、処理をステップS78に移行させ、LSTと同じ長さのSTは2個以上であるか否かを判断する。例えば、当該譜例1の場合、2分音符が2つあるので、ステップS78での判断がYESとなり、CPU11は、処理をステップS79に移行させ、上記LSTと同じ長さのSTを持つ2個以上の音のうち最後のST(音)をLSTとする。当該譜例1の場合、最後(2番目)の2分音符がLSTとなる。ステップS79の処理が終了すると、CPU11は、処理をステップS80に移行させる。
また、ステップS78での判断が、NOの場合、即ち、LSTと同じ長さのSTが1個の場合(LSTと同じ長さのSTを持つ音がLST自体だけである場合)、CPU11は、処理をステップS80に移行させる。ここでいうところの「同じ長さ」とは、上述の「同一長」と同様に、若干長さが異なっても「同じ長さ」とみなす。以下に記載される「同じ長さ」も同様である。
さらにまた、ステップS75で、LSTは2拍以上ではないと判断され(ステップS75でNOと判断され)、かつ、ステップS76で、LSTと同じ長さのSTが3個以上ではないと判断される(ステップS76でNOと判断される)場合にも、CPU11は、処理をステップS80に移行させる。
なお、ステップS75での判断は、LSTは2拍以上であるか否かに限られず、3拍以上などであってもよい。また、曲のジャンルに応じて判断条件が設定されてもよい。
ステップS80では、CPU11は、LSTを4拍子のときの小節最後の音として、8拍分のSTを配置して、ステップS81に進み、アウフタクトか否かを判断する。ここで、本実施形態では、判定対象の音符群が2小節をはみ出している場合、又は、判定対象の音符群が2小節に満たない場合をアウフタクトであるという。この判断がNOの場合、CPU11は、処理をステップS84に移行させる。
ステップS84では、CPU11は、アウフタクトなし(Aufフラグが0)、4拍子(Beatフラグが4)とする。具体例は、図11の譜例2である。
即ち、ステップS80で、LSTの音を4拍子の小節の最後の音として配置したと仮定した場合、2小節に過不足無く配置できた場合、ステップS81で、アウフタクトではないと判断されて、処理がステップS84に移行され、この場合には、その配置が正しいと判断して、アウフタクトなし(Aufフラグが0)、4拍子(Beatフラグが4)として一旦判定する、ということを意味する。
図11の譜例2で説明すると、この例の場合、LSTは2小節目の最後の付点2分音符となるので、この音が終わる時点を4拍子の小節の区切りと仮定して、他の音符を4拍子に配置してみる。すると、譜例2では、1〜8拍目の音が、ちょうど過不足なく4拍子の小節内に配置する事ができると判明する。したがって、このような場合は、その配置が正しいと判断して、ステップS81でアウフタクトではないと判断され、ステップS84でアウフタクトなし(Aufフラグが0)、4拍子(Beatフラグが4)と処理されることとなる。
ここで、Aufフラグについて説明する。Aufフラグが0の場合、アウフタクトなし、Aufフラグが1の場合、LSTが小節最後の音でありかつアウフタクト、Aufフラグが2の場合、LSTが小節最初の音でありかつアウフタクト、Aufフラグが3の場合、アウフタクトではないが、フレーズの最後の音が小節の最後の音ではない隠れアウフタクトである。
また、Beatフラグは、拍子を表すフラグであり、Beatフラグが4の場合、4拍子、Beatフラグが3の場合、3拍子となる。
ステップS81での判断がYESの場合、即ち、LSTを4拍子のときの小節最後の音として8拍分のSTを配置したときにアウフタクトであると判断された場合、CPU11は、処理をステップS82に移行させ、LSTを、4拍子のときに小節の頭の音として、8拍分のSTを配置して、ステップS83に進み、アウフタクトであるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS85に移行させ、NOの場合、CPU11は、処理をステップS84に移行させる。ステップS83を経由してステップS84が実行される場合の具体例は、図11の譜例3である。
当該譜例3では、LSTは付点2分音符なので、ステップS75でYESと判断され、他にLSTと同じ長さのSTは存在しないので、ステップS78でNOと判断され、LSTである付点2分音符を4拍子のときの小節最後の音として配置した場合、頭から3拍分が余って(はみだして)しまい、アウフタクトと判断されるので、ステップS81でYESと判断される。次に、LSTである付点2分音符を4拍子のときの小節の頭に配置した場合、アウフタクトではないので、ステップS83でNOと判断され、ステップS84が実行されて、アウフタクトなし(Aufフラグが0)、4拍子(Beatフラグが4)となる。
ステップS85では、CPU11は、強拍/弱拍について4拍子分析を行う。なお、ここでは、ステップS85が実行される前に実行されているステップS82において、LSTを、4拍子のときに小節の頭の音として、8拍分のST(音)が配置された状態で、ステップS85の強拍/弱拍・4拍子分析を行う。この処理では、CPU11は、強拍と弱拍とのそれぞれについて点数をつける。ここで、4拍子では、強拍は、1拍目と3拍目であり、弱拍は、強拍以外の拍である。点数は音符の長さに応じて定まっており、例えば、8分音符は1点、4分音符は2点、付点4分音符は3点、2分音符は4点、など、音符の長さが長いほど点数が高く設定されている。例えば、図11の譜例1では、強拍は、4+2+1+4=11となり、弱拍は、2+2+1=5となり、強拍の方が弱拍よりも点数が高い。この場合、CPU11は、強拍優位と判断する。
ステップS86では、CPU11は、ステップS85における強拍/弱拍・4拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS87に移行させ、NOの場合、CPU11は、処理をステップS90に移行させる。
ステップS87では、CPU11は、1小節目と2小節目とで優位性に変化があるか否かを判断する。即ち、1小節目と2小節目とで一方が強拍優位であり他方が強拍優位ではないか否かを判断する。例えば、図11の譜例5では、1小節目では、強拍は、2+2=4となり、弱拍は、1+1=2となるので、強拍優位となる。一方、2小節目では、強拍は、1であり、弱拍は、1+4+2であるので、強拍優位とはならない。したがって、この場合、CPU11は、1小節目と2小節目とで優位性に変化があると判断する。この判断がYESの場合、CPU11は、処理をステップS89に移行させ、Aufフラグを3とし、Beatフラグを4として、アウフタクト/拍子推測の処理を終了する。一方、この判断がNOの場合、CPU11は、処理をステップS88に移行させ、Aufフラグを2とし、Beatフラグを4として(図11の譜例4が該当する)、アウフタクト/拍子推測の処理を終了する。
ステップS90、即ち、ステップS86で強拍/弱拍の4拍子分析の結果が強拍優位ではないと判定された場合、CPU11は、LSTを3拍子のときに小節最後の音として、8拍分のST(音)を配置する。例えば、図11の譜例6の場合を例にとると、2小節目の付点2分音符がLSTであると判断されるので、この音符を3拍子での、ある小節最後の音であると仮定して、他の音符の配置を行う。
ステップS91では、CPU11は、強拍/弱拍について3拍子分析を行う。ここでは、ステップS90において、LSTを3拍子のときに小節最後の音として8拍分のST(音)が配置された状態で、ステップS91の強拍/弱拍・3拍子分析を行う。この処理では、CPU11は、強拍と弱拍とのそれぞれについて点数をつける。ここで、3拍子では、強拍は、1拍目であり、弱拍は、強拍以外の拍である。点数は音符の長さに応じて定まっており、例えば、8分音符は1点、4分音符は2点、付点4分音符は3点、2分音符は4点、など、音符の長さが長いほど点数が高く設定されている。例えば、図11の譜例6の8拍目まで(3小節目の2拍目まで)で判断すると、強拍は、4+6+4=16となり、弱拍は、2+0+0=2となり、強拍の方が弱拍よりも点数が高い。この場合、CPU11は、強拍優位と判断する。
ステップS92ではCPU11は、ステップS91における強拍/弱拍・3拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS93に移行させ、Aufフラグを1とし、Beatフラグを3として、アウフタクト/拍子推測の処理を終了する。一方、ステップS92での判断がNOの場合、CPU11は、処理をステップS94に移行させる。
ステップS94では、CPU11は、LSTを3拍子のときに小節先頭の音として、8拍分のST(音)を配置する。例えば、図11の譜例7及び8の場合を例にとると、これらの例では、ともに、2小節目の1拍目の2分音符がLSTであると判断されるので、この音符を3拍子での、ある小節の先頭の音であると仮定して、他の音符の配置を行う。
ステップS95では、CPU11は、強拍/弱拍について3拍子分析を行う。ここでは、ステップS94において、LSTを3拍子のときに小節先頭の音として8拍分のST(音)が配置された状態で、ステップS95の強拍/弱拍・3拍子分析を行う。この処理は、ステップS91の処理と同様である。
ステップS96ではCPU11は、ステップS95における強拍/弱拍・3拍子分析の結果が強拍優位か否か、即ち、強拍の方が弱拍よりも点数が高いか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS97に移行させ、NOの場合、CPU11は、処理をステップS100に移行させる。
ステップS97では、CPU11は、アウフタクトか否かを判断する。ここでのアウフタクトであるか否かの判断は、ステップS94において、3拍子のときにLSTが小節先頭の音として配置された状態に基づいて実行される。この判断がYESの場合、CPU11は、処理をステップS99に移行させ、Aufフラグを2とし、Beatフラグを3として(図11の譜例8が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS97での判断がNOの場合、CPU11は、処理をステップS98に移行させ、Aufフラグを0とし、Beatフラグを3として(図11の譜例7が該当する)、アウフタクト/拍子推測の処理を終了する。
ステップS96で、強拍優位ではないと判断された場合、又は、ステップS76で、LSTと同じ長さのSTが3個以上あると判断された場合(例えば、図11の譜例9では、LSTは最初の4分音符であり、他に4分音符が2つあるので、LSTと同じ長さのSTが3個ある)、ステップS100の処理が実行される。
ステップS100では、CPU11は、LSTを4拍子のときに小節最後の音として、8拍分のST(音)を配置して、ステップS101で、CPU11は、アウフタクトか否かを判断する。この判断がNOの場合、CPU11は、処理をステップS102に移行させ、Aufフラグを0とし、Beatフラグを4として(図11の譜例9が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS101での判断がYESの場合、CPU11は、処理をステップS103に移行させる。
ステップS103では、CPU11は、強拍/弱拍について4拍子分析を行う(ステップS85の処理と同様)。ここでは、ステップS100において、LSTを4拍子のときに小節最後の音として8拍分のST(音)が配置された状態で、ステップS103の強拍/弱拍・4拍子分析を行う。そして、ステップS104で、CPU11は、ステップS103における強拍/弱拍・4拍子分析の結果が強拍優位か否かを判断する。この判断がYESの場合、CPU11は、処理をステップS105に移行させ、Aufフラグを1とし、Beatフラグを4として(図11の譜例10が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS104での判断がNOの場合、CPU11は、処理をステップS106に移行させる。
ステップS106では、CPU11は、強拍/弱拍について3拍子分析を行う(ステップS91の処理と同様)。ここでは、ステップS100において、LSTを4拍子のときに小節最後の音として8拍分のST(音)が配置された状態で、ステップS106の強拍/弱拍・3拍子分析を行う。そして、ステップS107で、CPU11は、ステップS106における強拍/弱拍・3拍子分析の結果が強拍優位か否かを判断する。この判断がYESの場合、CPU11は、処理をステップS108に移行させ、Aufフラグを1とし、Beatフラグを3として(図11の譜例11が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS107での判断がNOの場合、CPU11は、処理をステップS109に移行させる。
ステップS109では、CPU11は、LSTを無視し、1番目の入力音から順に、1小節目の先頭から4拍子で音符を並べる。
ステップS110では、CPU11は、強拍/弱拍について4拍子分析を行い(ステップS85の処理と同様)、ステップS111では、CPU11は、強拍優位か否かを判断する。この判断がYESの場合、CPU11は、処理をステップS112に移行させ、Aufフラグを0とし、Beatフラグを4として(図11の譜例12が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS111での判断がNOの場合、CPU11は、処理をステップS113に移行させる。
ステップS113では、CPU11は、LSTを無視し、1番目の入力音から順に、1小節目の先頭から3拍子で音符を並べる。ステップS114では、CPU11は、強拍/弱拍について3拍子分析を行い、ステップS115では、CPU11は、強拍優位か否かを判断する。この判断がYESの場合、CPU11は、処理をステップS116に移行させ、Aufフラグを0とし、Beatフラグを3として(図11の譜例13が該当する)、アウフタクト/拍子推測の処理を終了する。一方、ステップS115での判断がNOの場合、CPU11は、処理をステップS117に移行させる。
ステップS117では、CPU11は、図12に示すアウフタクトパターンテーブルを参照する。
図12は、アウフタクトパターンテーブルを示している。図12によれば、アウフタクトとなる音符の配列パターンが複数種類記憶されている。図12に示した例は、比較的音長の短い音符が弱拍に入った後に、比較的音長の長い音符が強拍に入るというアウフタクトのリズムのパターンを示している。
ステップS118では、CPU11は、アウフタクトパターンテーブルを参照して、先頭の音符を含んだ音符の配列が、当該アウフタクトパターンテーブルに記憶されたパターンのいずれかと一致するか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS119に移行させ、Aufフラグを2とし、LSTを1拍目に配置する。一方、ステップS118での判断がNOの場合、CPU11は、アウフタクト/拍子推測の処理を終了する。
図9及び図10は、本実施形態にかかる演奏情報処理装置を適用した電子楽器10において実行される拍子推測の処理の例を示すフローチャートである。
ステップS131では、CPU11は、Aufフラグが1であるか否かを判断する。この判断がYESの場合、すなわちAufフラグが1である場合というのは、上述したように、LSTが小節最後の音でありかつアウフタクトであったということであるので、CPU11は、処理をステップS132に移行させ、LSTを小節最後の音とする。ステップS132の処理が終了すると、CPU11は、処理をステップS135に移行させる。一方、ステップS131での判断がNOの場合、CPU11は、処理をステップS133に移行させる。
ステップS133では、CPU11は、Aufフラグが2であるか否かを判断する。この判断がYESの場合、すなわちAufフラグが2である場合というのは、上述したように、LSTが小節最初の音でありかつアウフタクトであったということであるので、CPU11は、処理をステップS134に移行させ、LSTを小節の1拍目とする。ステップS134の処理が終了すると、CPU11は、処理をステップS135に移行させる。一方、ステップS133での判断がNOの場合、CPU11は、処理をステップS136に移行させる。
ステップS135では、CPU11は、拍子が決定しているか否かを判断する。具体的には、Beatフラグが初期値(例えば0)のままであった場合、CPU11は、拍子は決定していないと判断する。一方、Beatフラグに何らかの値がセットされていた場合、CPU11は、拍子は決定していると判断する。この判断がYESの場合、CPU11は、拍子推測の処理を終了し、NOの場合、CPU11は、処理をステップS136に移行させる。
Aufフラグが1でも2でもない場合(ステップS131でNOかつステップS133でNO)、又は、ステップS135で拍子が決定していると判断されなかった場合、ステップS136の処理が実行される。
ステップS136では、CPU11は、現在の拍が13拍かつ3拍子であるか否かを判断する。13拍とは、3拍子において、4小節終了後の次の拍である。この判断がYESの場合、CPU11は、処理をステップS139に移行させ、NOの場合、CPU11は、処理をステップS137に移行させる。
ステップS137では、CPU11は、現在の拍が17拍かつ4拍子であるか否かを判断する。17拍とは、4拍子において、4小節終了後の次の拍である。この判断がYESの場合、CPU11は、処理をステップS139に移行させ、NOの場合、CPU11は、処理をステップS138に移行させる。
ステップS138では、CPU11は、4小節ごとの区間が終わった直後の拍であるか否かを判断する。即ち、3拍子(Beat=3)の場合、(12×n+1(nは0以上の整数))拍目であるか否かを判断し、4拍子(Beat=4)の場合、(16×n+1(nは0以上の整数))であるか否かを判断する。この判断がYESの場合、CPU11は、ステップS139に処理を移し、NOの場合、CPU11は、ステップS140に処理を移す。
ステップS139では、CPU11は、拍子検討拍用カウンタをクリアする。
ステップS140では、CPU11は、3拍目が2拍延びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS141に移行させ、4Beatフラグを1にする。4Beatフラグは、4拍子である可能性があることを示すフラグである。当該フラグが1の場合、4拍子である可能性がある。詳細に説明すると、3拍目は、3拍子ならば弱拍であり、これが2拍伸びて次の小節の1拍目(強拍)まで伸びるというケースは稀である一方、4拍子ならば、3拍目が2拍分伸びるメロディは多く用いられていることから、このような場合は、4拍子の曲である可能性があるとして、「4Beat=1」と記録しておく。
一方、ステップS140での判断がNOの場合、CPU11は、処理をステップS142に移行させる。
ステップS142では、CPU11は、4拍目が2拍延びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS143に移行させ、3Beatフラグを1にする。3Beatフラグは、3拍子である可能性があることを示すフラグである。当該フラグが1の場合、3拍子である可能性がある。詳細に説明すると、4拍目は、4拍子ならば弱拍であり、これが2拍伸びて次の小節の1拍目(強拍)まで伸びるというケースは稀である一方、3拍子ならば、4拍目は小節の先頭であるため、4拍目が2拍分伸びるメロディは多く用いられていることから、このような場合は、3拍子の曲である可能性があるとして、「3Beat=1」と記録しておく。
一方、ステップS142での判断がNOの場合、CPU11は、処理をステップS144に移行させる。
ステップS144では、CPU11は、10拍目又は11拍目が2拍以上伸びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS145に移行させ、NOの場合、CPU11は、処理をステップS148に移行させる。
ステップS145では、CPU11は、3Beatフラグが1であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS147に移行させ、Beatフラグを3として、3拍子と判断し、拍子推測の処理を終了する。一方、ステップS145での判断がNOの場合、CPU11は、処理をステップS146に移行させる。
ステップS146では、CPU11は、9拍目が2拍以上延びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS148に移行させる。NOの場合、CPU11は、処理をステップS147に移行させ、Beatフラグを3として、3拍子と判断し、拍子推測の処理を終了する。即ち、9拍目は3拍子では小節最後の弱拍であるため、9拍目が2拍以上延びていなければ、3拍子として判断される。
ステップS148では、CPU11は、13拍目又は15拍目が2拍以上伸びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS149に移行させ、NOの場合、CPU11は、処理をステップS152に移行させる。
ステップS149では、CPU11は、4Beatフラグが1であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS151に移行させ、Beatフラグを4として、4拍子と判断し、拍子推測の処理を終了する。一方ステップS149での判断がNOの場合、CPU11は、処理をステップS150に移行させる。
ステップS150では、CPU11は、8拍目が2拍以上延びているか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS152に移行させ、NOの場合、CPU11は、処理をステップS151に移行させ、Beatフラグを4として、4拍子と判断し、拍子推測の処理を終了する。即ち、8拍目は4拍子では小節最後の弱拍であるため、8拍目が2拍以上延びていなければ、4拍子として判断される。
ステップS152では、CPU11は、3Beatフラグが1であるか否かを判断する。この判断がYESの場合、CPU11は、処理をステップS153に移行させ、Beatフラグを3として、3拍子と判断し、拍子推測の処理を終了する。一方ステップS152での判断がNOの場合、CPU11は、処理をステップS154に移行させ、Beatフラグを4として、4拍子と判断し、拍子推測の処理を終了する。
本実施形態の電子楽器10が備えるCPU11は、入力される演奏情報を順次取得し、演奏情報が入力開始時点から第1の所定タイミング(例えば、3番目の演奏情報が入力されたタイミング)まで入力されたか否かを判定し、第1の所定タイミングまで入力されたと判定された場合に、入力開始時点から第1の所定タイミングまでの演奏情報に基づき、演奏情報のテンポを判定し、判定されたテンポに基づいて、演奏情報の拍子を判定する。
したがって、1番目と2番目に入力された演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
また、本実施形態においては、CPU11は、取得される演奏情報が入力開始時点から第2の所定タイミング(例えば、9拍目)まで入力されたか否かを判定し、当該第2の所定のタイミングまで入力されたと判定された場合に、判定されたテンポに基づいて、演奏情報の拍子を判定する。
したがって、9拍目が入力された時点で、8拍分の演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
また、本実施形態においては、CPU11は、取得された前記演奏情報のうち、最初に入力された演奏情報の音長であるFSTと、2音目に入力された演奏情報の音長であるSSTとの比率SST_Rを算出し、FST_Tと、SST_Rと、に基づきテンポを判定する。
したがって、1番目と2番目に入力された演奏情報に基づいて、楽曲のテンポ及び拍子を判定できる。
また、本実施形態においては、CPU11は、判定されたテンポに基づいて、演奏情報の入力開始時点から所定の拍数(例えば、8拍)に対応する時間が経過したか否かを判定し、入力開始時点から所定の拍数に対応する時間が経過したと判定された場合に、前記演奏情報の拍子を判定することを特徴とする。
したがって、8拍分の演奏情報に基づいて拍子を判定することができる。
また、本実施形態においては、CPU11は、入力開始時点から3拍目、4拍目、8拍目、9拍目のうち少なくとも1以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする。
したがって、より正確な拍子を決定することができる。
また、本実施形態においては、CPU11は、入力開始時点から第3の所定タイミング(例えば、8拍目の最後の演奏情報の入力タイミング)までの間の前記演奏情報のうち最長の音長を持つものを選択し、選択された最長の音長を持つ演奏情報(例えば、LST)のタイミングに応じて拍子を決定することを特徴とする。
したがって、より正確な拍子を決定することができる。
また、本実施形態においては、CPU11は、演奏情報のアウフタクトを判定し、アウフタクトと判定された場合には、選択された最長の音長を持つ演奏情報(LST)の入力タイミングを基準の時点として、演奏情報の拍子を判定することを特徴とする。
したがって、より正確な拍子を決定することができる。
また、本実施形態においては、CPU11は、判定されたテンポに基づいて、入力開始時点から第1の所定の拍数群(例えば、3拍及び4拍)に対応する時間の経過後の前記演奏情報の状態と、入力開始時点から第2の所定の拍数群(例えば、8拍及び9拍)に対応する時間の経過後の前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする。
したがって、より正確な拍子を決定することができる。
また、本実施形態においては、CPU11は、FST_Tの長短に応じて、演奏情報のテンポが、入力されている演奏情報のテンポよりも速いか遅いかを判定する。
したがって、より正確なテンポを決定することができる。
また、本実施形態においては、CPU11は、FST_Tと、SST_Rとに基づいてテンポ値を出力するテーブルを有することを特徴とする。
したがって、より正確なテンポを効率的に決定することができる。
また、本実施形態においては、CPU11は、取得される演奏情報が入力開始時点から第4の所定タイミング(例えば、(12の倍数+1)拍、又は(16の倍数+1)拍)まで入力されたか否かを判定し、第4の所定タイミングまで入力されたと判定された場合には、第4の所定タイミングの経過時点を再度入力開始時点とみなして、テンポ判定と、拍子判定とを繰り返して実行する。
したがって、第4の所定タイミングにおいて、テンポ判定と拍子判定をやり直すことができるので、テンポ及び拍子が間違ったままであることを防止できる。
本発明は、以上の実施形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段などより構成される全体的な装置を意味するものとする。
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
本実施形態では、CPU11は、図4及び図5で説明した拍推測/テンポ推測の処理を実行したが、これに限られるものではない。例えば、当該拍推測/テンポ推測の処理に変えて、図13に示すテンポ決定テーブルを参照して、FST_TとSST_Rとに基づいて、テンポを決定してもよい。この場合、例えば、FST_Tが0.5、SST_Rが1の場合、テンポは75である。このようなテーブルを用いることで、複雑な判断式を用いずに、より精細な判断をすることができ、処理の高速化を図ることができる。
また、この図13は、横軸をSST_Rとしているが、横軸をSST_Tとしてテーブルを構成してもよい。
さらに、本実施形態における、図4及び図5で説明した拍推測/テンポ推測の処理、図6、図7及び図8で説明したアウフタクト/拍子推測の処理、図9及び図10で説明した拍子推測の処理については、それぞれ処理の一例であり、判断の順序や取捨選択、比較する数値などは適宜変更しても良い。また、この各推測処理について、曲のジャンルによって変更・修正するようにしても良い。この場合、例えば、電子楽器10の備えるスイッチ群15にジャンル選択スイッチが設けられていて、このジャンル選択スイッチでジャンルを選択することにより、当該ジャンルに適した処理ルーチンが選択されるように構成する事も可能である。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
入力される少なくとも2音以上の演奏情報を取得する演奏情報取得手段と、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第1のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする演奏情報処理装置。
[付記2]
付記1に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第2のタイミングまでの前記演奏情報に基づき、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
[付記3]
付記1又は2に記載の演奏情報処理装置において、
前記演奏情報取得手段により取得された前記演奏情報のうち、前記ある音の音長である第1入力音長と、前記ある音の次に入力された音の音長である第2入力音長との比率を算出する音長比率算出手段をさらに備え、
前記テンポ判定手段は、前記第1入力音長と、前記音長比率算出手段によって算出された比率と、に基づきテンポを判定することを特徴とする演奏情報処理装置。
[付記4]
付記2に記載の演奏情報処理装置において、
前記第2のタイミングは、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始時点から所定の拍数に対応する時間が経過したタイミングであり、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から前記所定の拍数に対応する時間が経過したときに、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
[付記5]
付記1から4のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の所定の拍数に対応する時間における前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
[付記6]
付記5に記載の演奏情報処理装置において、
前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から3拍目、4拍目、8拍目、9拍目のうち少なくとも1以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
[付記7]
付記1から6のいずれかに記載の演奏情報処理装置において、
前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第3のタイミングまでの間の前記演奏情報のうち最長の音長を持つ音を選択する最長音選択手段をさらに備え、
前記拍子判定手段は、前記最長音選択手段によって選択された最長の音長を持つ演奏情報のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
[付記8]
付記7に記載の演奏情報処理装置において、
前記演奏情報のアウフタクトを判定するアウフタクト判定手段をさらに備え、
前記拍子判定手段は、前記アウフタクト判定手段によってアウフタクトと判定された場合には、前記最長音選択手段によって選択された最長の音長を持つ前記演奏情報の入力タイミングを基準の時点として、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
[付記9]
付記1から8のいずれかに記載の演奏情報処理装置において、
前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の第1の所定の拍数群に対応する時間における前記演奏情報の状態と、前記演奏情報のうちの前記ある音の入力開始後の第2の所定の拍数群に対応する時間における前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
[付記10]
付記3に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第1入力音長の長短に応じて、前記演奏情報のテンポが、入力されている前記演奏情報のテンポよりも速いか遅いかを判定することを特徴とする演奏情報処理装置。
[付記11]
付記3に記載の演奏情報処理装置において、
前記テンポ判定手段は、前記第1入力音長と、前記音長比率算出手段によって算出された比率とに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
[付記12]
付記1から11のいずれかに記載の演奏情報処理装置において、
前記演奏情報取得手段により取得される前記演奏情報が前記ある音の入力開始時点から所定の時間経過後まで入力されていると判定された場合には、前記ある音の入力開始時点から所定の時間の経過時点を再度前記ある音の入力開始時点とみなして、前記テンポ判定手段によるテンポ判定と、前記拍子判定手段による拍子判定とを繰り返して実行することを特徴とする演奏情報処理装置。
[付記13]
入力される少なくとも2音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第1のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含む演奏情報処理方法。
[付記14]
コンピュータが実行する、
入力される少なくとも2音以上の演奏情報を取得する演奏情報取得ステップと、
前記演奏情報のうちのある音の入力開始時点から当該ある音の入力後に入力される音の入力後の第1のタイミングまでの前記演奏情報に基づき、前記演奏情報のテンポを判定するテンポ判定ステップと、
前記テンポ判定ステップにおいて判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定ステップと、を含むプログラム。
10・・・電子楽器、11・・・CPU、12・・・ROM、13・・・RAM、14・・・サウンドシステム、15・・・スイッチ群、16・・・鍵盤、17・・・表示部、21・・・音源部、22・・・オーディオ回路、23・・・スピーカ

Claims (13)

  1. 入力される少なくとも2音以上の演奏情報のうち、前記ある音の音長である第1入力音長と、前記ある音の次に入力された音の音長である第2入力音長との比率を算出する音長比率算出手段と、
    前記第1入力音長と、前記音長比率算出手段によって算出された比率とに基づき、前記演奏情報のテンポを判定するテンポ判定手段と、
    前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報の拍子を判定する拍子判定手段と、を備えたことを特徴とする演奏情報処理装置。
  2. 請求項1に記載の演奏情報処理装置において、
    前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第2のタイミングまでの前記演奏情報に基づき、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
  3. 請求項2に記載の演奏情報処理装置において、
    前記第2のタイミングは、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始時点から所定の拍数に対応する時間が経過したタイミングであり、
    前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から前記所定の拍数に対応する時間が経過したときに、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
  4. 請求項1からのいずれかに記載の演奏情報処理装置において、
    前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の所定の拍数に対応する時間における前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
  5. 請求項に記載の演奏情報処理装置において、
    前記拍子判定手段は、前記演奏情報のうちの前記ある音の入力開始時点から3拍目、4拍目、8拍目、9拍目のうち少なくとも1以上の前記演奏情報の状態を調べる事により拍子を決定することを特徴とする演奏情報処理装置。
  6. 請求項1からのいずれかに記載の演奏情報処理装置において、
    前記演奏情報のうちの前記ある音の入力開始時点から、前記テンポ判定手段によって判定されたテンポに基づいて定められる第3のタイミングまでの間の前記演奏情報のうち最長の音長を持つ音を選択する最長音選択手段をさらに備え、
    前記拍子判定手段は、前記最長音選択手段によって選択された最長の音長を持つ演奏情報のタイミングに応じて拍子を決定することを特徴とする演奏情報処理装置。
  7. 請求項に記載の演奏情報処理装置において、
    前記演奏情報のアウフタクトを判定するアウフタクト判定手段をさらに備え、
    前記拍子判定手段は、前記アウフタクト判定手段によってアウフタクトでないと判定された場合には、前記最長音選択手段によって選択された最長の音長を持つ前記演奏情報の入力タイミングを基準の時点として、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
  8. 請求項1からのいずれかに記載の演奏情報処理装置において、
    前記拍子判定手段は、前記テンポ判定手段によって判定されたテンポに基づいて、前記演奏情報のうちの前記ある音の入力開始後の第1の所定の拍数群に対応する時間における前記演奏情報の状態と、前記演奏情報のうちの前記ある音の入力開始後の第2の所定の拍数群に対応する時間における前記演奏情報の状態と、を比較する事により、前記演奏情報の拍子を判定することを特徴とする演奏情報処理装置。
  9. 請求項に記載の演奏情報処理装置において、
    前記テンポ判定手段は、前記第1入力音長の長短に応じて、前記演奏情報のテンポが、入力されている前記演奏情報のテンポよりも速いか遅いかを判定することを特徴とする演奏情報処理装置。
  10. 請求項に記載の演奏情報処理装置において、
    前記テンポ判定手段は、前記第1入力音長と、前記音長比率算出手段によって算出された比率とに基づいてテンポ値を出力するテーブルを有することを特徴とする演奏情報処理装置。
  11. 請求項1から10のいずれかに記載の演奏情報処理装置において、
    前記演奏情報が前記ある音の入力開始時点から所定の時間経過後まで入力されていると判定された場合には、前記ある音の入力開始時点から所定の時間の経過時点を再度前記ある音の入力開始時点とみなして、前記テンポ判定手段によるテンポ判定と、前記拍子判定手段による拍子判定とを繰り返して実行することを特徴とする演奏情報処理装置。
  12. 演奏情報処理装置が、
    入力される少なくとも2音以上の演奏情報のうち、前記ある音の音長である第1入力音長と、前記ある音の次に入力された音の音長である第2入力音長との比率を算出し、
    前記第1入力音長と、前記算出された比率とに基づき、前記演奏情報のテンポを判定し、
    前記判定されたテンポに基づいて、前記演奏情報の拍子を判定する、演奏情報処理方法。
  13. 演奏情報処理装置として用いられるコンピュータに、
    入力される少なくとも2音以上の演奏情報のうち、前記ある音の音長である第1入力音長と、前記ある音の次に入力された音の音長である第2入力音長との比率を算出するステップと、
    前記第1入力音長と、前記算出された比率とに基づき、前記演奏情報のテンポを判定するステップと、
    前記判定されたテンポに基づいて、前記演奏情報の拍子を判定するステップと、
    を実行させるプログラム。
JP2012191909A 2012-08-31 2012-08-31 演奏情報処理装置、演奏情報処理方法及びプログラム Active JP5672280B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012191909A JP5672280B2 (ja) 2012-08-31 2012-08-31 演奏情報処理装置、演奏情報処理方法及びプログラム
CN201310384784.8A CN103680486B (zh) 2012-08-31 2013-08-29 演奏信息处理装置、演奏信息处理方法
US14/015,203 US8907197B2 (en) 2012-08-31 2013-08-30 Performance information processing apparatus, performance information processing method, and program recording medium for determining tempo and meter based on performance given by performer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012191909A JP5672280B2 (ja) 2012-08-31 2012-08-31 演奏情報処理装置、演奏情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2014048503A JP2014048503A (ja) 2014-03-17
JP2014048503A5 JP2014048503A5 (ja) 2014-04-24
JP5672280B2 true JP5672280B2 (ja) 2015-02-18

Family

ID=50185582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012191909A Active JP5672280B2 (ja) 2012-08-31 2012-08-31 演奏情報処理装置、演奏情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US8907197B2 (ja)
JP (1) JP5672280B2 (ja)
CN (1) CN103680486B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716413B (zh) * 2015-06-22 2021-01-21 英商梅許崔克斯有限公司 用於在第一音頻片段和作為目標的第二音頻片段之間淡變的方法、電腦程式產品、及音頻系統

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2845188B1 (en) 2012-04-30 2017-02-01 Nokia Technologies Oy Evaluation of downbeats from a musical audio signal
JP6017687B2 (ja) * 2012-06-29 2016-11-02 ノキア テクノロジーズ オーユー オーディオ信号分析
US8927846B2 (en) * 2013-03-15 2015-01-06 Exomens System and method for analysis and creation of music
GB201310861D0 (en) * 2013-06-18 2013-07-31 Nokia Corp Audio signal analysis
JP6606844B2 (ja) * 2015-03-31 2019-11-20 カシオ計算機株式会社 ジャンル選択装置、ジャンル選択方法、プログラムおよび電子楽器
JP6414163B2 (ja) * 2016-09-05 2018-10-31 カシオ計算機株式会社 自動演奏装置、自動演奏方法、プログラムおよび電子楽器
JP6583320B2 (ja) * 2017-03-17 2019-10-02 ヤマハ株式会社 自動伴奏装置、自動伴奏プログラムおよび伴奏データ生成方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3245890B2 (ja) * 1991-06-27 2002-01-15 カシオ計算機株式会社 拍検出装置及びそれを用いた同期制御装置
JPH07129158A (ja) * 1993-11-05 1995-05-19 Yamaha Corp 演奏情報分析装置
US5913259A (en) * 1997-09-23 1999-06-15 Carnegie Mellon University System and method for stochastic score following
JP2002268637A (ja) * 2001-03-09 2002-09-20 Casio Comput Co Ltd 拍子判定装置、及びプログラム
JP4251895B2 (ja) * 2003-03-25 2009-04-08 財団法人ヤマハ音楽振興会 演奏制御装置およびプログラム
CN1722028A (zh) * 2004-07-16 2006-01-18 曾平蔚 一种电子节奏表装置及实现方法
WO2007010637A1 (ja) * 2005-07-19 2007-01-25 Kabushiki Kaisha Kawai Gakki Seisakusho テンポ検出装置、コード名検出装置及びプログラム
CN100373383C (zh) * 2005-09-08 2008-03-05 上海交通大学 基于特征音符的音乐旋律分段自动标注方法
JP4672613B2 (ja) * 2006-08-09 2011-04-20 株式会社河合楽器製作所 テンポ検出装置及びテンポ検出用コンピュータプログラム
US7645929B2 (en) * 2006-09-11 2010-01-12 Hewlett-Packard Development Company, L.P. Computational music-tempo estimation
CN102610222B (zh) * 2007-02-01 2014-08-20 缪斯亚米有限公司 音乐转录的方法,系统和装置
WO2008101130A2 (en) * 2007-02-14 2008-08-21 Museami, Inc. Music-based search engine
JP5169328B2 (ja) * 2007-03-30 2013-03-27 ヤマハ株式会社 演奏処理装置及び演奏処理プログラム
JP5162754B2 (ja) * 2007-08-03 2013-03-13 株式会社河合楽器製作所 演奏開始装置および演奏開始プログラム
JP5168297B2 (ja) 2010-02-04 2013-03-21 カシオ計算機株式会社 自動伴奏装置および自動伴奏プログラム
US8502057B2 (en) * 2010-12-20 2013-08-06 Yamaha Corporation Electronic musical instrument

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716413B (zh) * 2015-06-22 2021-01-21 英商梅許崔克斯有限公司 用於在第一音頻片段和作為目標的第二音頻片段之間淡變的方法、電腦程式產品、及音頻系統

Also Published As

Publication number Publication date
US8907197B2 (en) 2014-12-09
CN103680486A (zh) 2014-03-26
CN103680486B (zh) 2017-04-12
JP2014048503A (ja) 2014-03-17
US20140060287A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
JP5672280B2 (ja) 演奏情報処理装置、演奏情報処理方法及びプログラム
US9018505B2 (en) Automatic accompaniment apparatus, a method of automatically playing accompaniment, and a computer readable recording medium with an automatic accompaniment program recorded thereon
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
JP2010092016A (ja) アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
JP2562370B2 (ja) 自動伴奏装置
JP5293710B2 (ja) 調判定装置および調判定プログラム
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
JP2019200427A (ja) 自動アレンジ方法
JP6645085B2 (ja) 自動アレンジ装置及びプログラム
WO2019180830A1 (ja) 歌唱評価方法及び装置、プログラム
JP2002268632A (ja) フレーズ分析装置及びフレーズ分析プログラムを記録した記録媒体
US9384716B2 (en) Automatic key adjusting apparatus and method, and a recording medium
JP4670686B2 (ja) コード表示装置及びプログラム
JP5909967B2 (ja) 調判定装置、調判定方法及び調判定プログラム
JP6606844B2 (ja) ジャンル選択装置、ジャンル選択方法、プログラムおよび電子楽器
JP7505196B2 (ja) ベースライン音自動生成装置、電子楽器、ベースライン音自動生成方法及びプログラム
JP4367156B2 (ja) 調律装置及びそのプログラム
JP5692275B2 (ja) 電子楽器
JP5419171B2 (ja) 電子楽器
JP6658785B2 (ja) 自動伴奏方法および自動伴奏装置
JP2016057389A (ja) コード決定装置及びコード決定プログラム
JP4595851B2 (ja) 演奏データ編集装置及びプログラム
JP2021124688A (ja) ベースライン音自動生成装置、電子楽器、ベースライン音自動生成方法及びプログラム
JP2004046152A (ja) 電子楽器
Michał Automatic detection and correction of detuned singing system for use with query-by-humming applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5672280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150