JP4006301B2 - Code detection device for electronic musical instrument, code detection method and program - Google Patents

Code detection device for electronic musical instrument, code detection method and program Download PDF

Info

Publication number
JP4006301B2
JP4006301B2 JP2002255238A JP2002255238A JP4006301B2 JP 4006301 B2 JP4006301 B2 JP 4006301B2 JP 2002255238 A JP2002255238 A JP 2002255238A JP 2002255238 A JP2002255238 A JP 2002255238A JP 4006301 B2 JP4006301 B2 JP 4006301B2
Authority
JP
Japan
Prior art keywords
chord
code
type
detected
route
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002255238A
Other languages
Japanese (ja)
Other versions
JP2004093927A (en
JP2004093927A5 (en
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.)
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 JP2002255238A priority Critical patent/JP4006301B2/en
Publication of JP2004093927A publication Critical patent/JP2004093927A/en
Publication of JP2004093927A5 publication Critical patent/JP2004093927A5/ja
Application granted granted Critical
Publication of JP4006301B2 publication Critical patent/JP4006301B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、電子楽器のコード検出技術に関し、特に鍵盤操作に応じてコード検出する技術に関する。
【0002】
【従来の技術】
電子楽器には、手操作用の手鍵盤と足操作用の足鍵盤とを有するものがある。手鍵盤は、2段鍵盤になっており、上鍵盤でメロディラインを演奏し、下鍵盤でコードラインを演奏する。自動伴奏機能を有する電子楽器では、下鍵盤及び足鍵盤の操作に応じてコード検出を行い、検出されたコードに応じた自動伴奏が行われる。コード検出方法の一例は、特公平5−84920に記載されている。
【0003】
コード検出されるコードには、分数コード(例えばC/B)と分数コードではない通常のコードとがある。分数コードは、分子のコードが楽譜の上パート(手鍵盤に相当)であるコードパートのコードであり、分母のコードが楽譜の下パート(足鍵盤に相当)であるベースパートのベースルートである。
【0004】
電子楽器では、コードルート及びコードタイプを検出する。検出されたコードルートと足鍵盤で押された鍵との音名が同じときには、分数コードではない通常のコードとして検出される。逆に、検出されたコードルートと足鍵盤で押された鍵との音名が異なるときには、分数コード(例えばC/B)として検出される。しかし、この方法により検出されたコードは完全ではなく、結果的に不適切なコードとして検出されてしまうことがある。この問題を解決する技術として、本発明者の発明による特開2002−196755号公報が開示されている。
【0005】
【発明が解決しようとする課題】
オーギュメント又はディミニッシュ等の転回コードは、同じ音高の間隔でコード構成音が構成されているため、コードルートを特定することができない。例えば、Cdimのコードの場合、ドミ♭ファ♯ラで構成される。この場合、4つの構成音がすべてコードルートになりえて、演奏者の意思に応じてコードルートが決定する。電子楽器では、コード構成音中の最低音をコードルートとしたり、足鍵盤の音をコードルートとして機械的に決定する。そのため、演奏者の意図とは異なるコードルートが決定されてしまうことがある。
【0006】
例えば、C→Caug→Fの順番でコード演奏を行う場合、特にオルガン等の場合、実際はドミソ→ドミソ♯→ドファラよりも、ソドミ→ソ♯ドミ→ラドファのような転回形で演奏することが多い(本明細書ではコード構成音中の最低音を最左に記す)。この場合、電子楽器でコード検出を行うと、C→G♯aug→Fと検出されてしまい、演奏者の望んだ演奏を行うことができない。
【0007】
また、足鍵盤を交えた検出を行う場合も、コードがC→Caug→Fの場合、ベースルートは、C→E→Fと演奏することが一般的である。本来ならば、C→Caug/E→Fとして検出するのが適切であるが、C→Eaug→Fと誤って検出されてしまい、好ましいコード検出ができない。
【0008】
また、このコード進行に対応するためにソ♯ドミの転回形もCaugと検出するようにすると、G♯augが検出できなくなり、今度は曲のキーが変わったときに、対応できなくなるという問題がある。
【0009】
また、オーギュメント及びディミニッシュ以外でも、B♭及びDm♯5は同じ構成音のコードであるため、いずれのコードであるのか特定できず、使用頻度で特定するしかないという問題がある。例えば、ファシ♭レと弾くと、一般的にはB♭であるが、Dm(ファラレ)からファシ♭(ラ♯)レと移動するクリシェの場合は、B♭よりもDm♯5の方が適しているという問題がある。
【0010】
手鍵盤でラドミを押鍵し、足鍵盤でファ♯を押鍵すると、一般的にはF♯m7♭5と検出するのが適している。しかし、手鍵盤でAm(ラドミ)を押さえたまま、足鍵盤でA→G♯→G→F♯と弾くベースによるクリシェの場合も、Am→Am/G♯→Am/G→F♯m7♭5となり、この場合に限っては、F♯m7♭5よりもAm/F♯と検出される方が好ましい。
【0011】
本発明の目的は、演奏の流れに応じて、演奏者が意図するコードを検出することである。
本発明の他の目的は、オーギュメントにおいて最も適したコードルートを選択することである。
本発明のさらに他の目的は、ディミニッシュにおいて最も適したコードルートを選択することである。
本発明のさらに他の目的は、クリシェにおいて最も適したコードを選択することである。
【0012】
【課題を解決するための手段】
本発明の一観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤と、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出部と、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出部と、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定部とを有する電子楽器のコード検出装置が提供される。
本発明の他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤と、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出部と、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出部と、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定部とを有する電子楽器のコード検出装置が提供される。
本発明のさらに他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとを有する電子楽器のコード検出方法が提供される。
本発明のさらに他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとを有する電子楽器のコード検出方法が提供される。
本発明のさらに他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとをコンピュータに実行させるためのプログラムが提供される。
本発明のさらに他の観点によれば、手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとをコンピュータに実行させるためのプログラムが提供される。
【0013】
本発明によれば、演奏鍵盤の操作のみならず前回検出されたコードに応じて、今回のコードを検出するので、演奏の流れに応じた演奏者が意図するコードを検出することができる。
【0014】
【発明の実施の形態】
図1は、本発明の実施形態による電子楽器の概略構成例を示す。電子楽器は、手操作用の手鍵盤と足操作用の足鍵盤2とを有する。手鍵盤は、2段鍵盤であり、メロディラインを演奏するための上鍵盤とコードラインを演奏するための下鍵盤1を有する。
【0015】
下鍵盤1で押鍵操作がされると下鍵盤1はキーオンイベントを出力し、下鍵盤1で離鍵操作がされると下鍵盤1はキーオフイベントを出力する。コード決定処理手段4は、下鍵盤1のキーオン/オフイベントに応じて、仮の下鍵盤コードルート及び仮の下鍵盤コードタイプを検出する。
【0016】
足鍵盤2で押鍵操作がされると足鍵盤2はキーオンイベントを出力し、足鍵盤2で離鍵操作がされると足鍵盤2はキーオフイベントを出力する。コード決定処理手段4は、足鍵盤2のキーオン/オフイベントに応じて、仮の足鍵盤ベースルートを検出する。
【0017】
次に、コード決定処理手段4は、上記の仮の下鍵盤コードルート、下鍵盤コードタイプ、足鍵盤ベースルート及び前回検出されたコードに応じて、真のコードルート及び真のコードタイプを決定すると共に、ベースルートの有無を決定する。具体的には、オーギュメント、ディミニッシュ及びクリシェの場合に、前回検出されたコードに応じてコード検出を行う。ベースルートが有るときには、上記の仮の足鍵盤ベースルートが真のベースルートとして決定され、分数コードとなる。分数コードの分母がベースルートになり、分子が上記の真のコードルートになる。ベースルートが無しと決定されると、分数コードではない通常のコードとなる。
【0018】
スタイル番号スイッチ3は、例えばロックやジャズ等の自動伴奏のスタイルを選択するためのスイッチであり、そのスイッチ操作に応じてスタイル番号を出力する。
【0019】
自動伴奏発音処理手段5は、上記のスタイル番号に応じた自動伴奏パターンを読み出し、上記の真のコードルート、真のコードタイプ及びベースルートに応じて自動伴奏を発音する。自動伴奏は、例えばドラム、コード(ピアノ音やギター音等)、ベースの所定パターンを繰り返し発音することにより行う。コード伴奏は上記の真のコードルート及びコードタイプに応じて発音され、ベース伴奏は上記のベースルートに応じて発音される。
【0020】
図2は、図1のコード決定処理手段4の具体的構成を示す。ここでは、オーギュメント、ディミニッシュ及びクリシェ以外の一般のコードのコード検出方法を説明する。下鍵盤で3音以上が同時に押鍵されると、その押鍵に基づくコードルート及びコードタイプを検出することが可能である。しかし、下鍵盤で1音又は2音のみの押鍵がされると、その押鍵に基づくコードルート及びコードタイプを検出することが困難であるので、下鍵盤と足鍵盤の操作に応じてコード検出を行う。
【0021】
まず、下鍵盤で3音以上が同時に押鍵された場合を説明する。第1のキーオンビットマップ作成手段11は、下鍵盤のキーオン/オフイベントを入力すると、下鍵盤で押鍵されてキーオンになっているすべてのキーナンバ(音高)を第1のキーオンビットマップとして作成する。その際、キーオンになっているキーナンバのビットを1にし、キーオフになっているキーナンバのビットを0にする。
【0022】
第2のキーオンビットマップ作成手段12は、上記の第1のキーオンビットマップのうちのコード検出範囲にあるキーナンバのみを検出して、第2のキーオンビットマップを作成する。
【0023】
仮コードルート作成手段20は、上記の第2のキーオンビットマップのうちの最低音を仮のコードルートとして検出する。一方、第3のキーオンビットマップ作成手段13は、上記の第2のキーオンビットマップを基に1オクターブの範囲内に圧縮された第3のキーオンビットマップを作成する。すなわち、上記の仮のコードルートとなる最低音から始まる1オクターブ内の音名として表現する。その際、仮のコードルートとなる最低音は必ずビットが1になることがわかっているので、その最低音のビットを省略して11ビットで第3のキーオンビットマップを作成することができる。
【0024】
アドレス作成手段14は、上記の第3のキーオンビットマップを基に、テーブルを参照するために必要なアドレスを作成する。テーブル15は、図3に示すように、上記のオクターブマップアドレス101に応じて、コードルートシフト値102及び下鍵盤コードタイプ103を出力する。決定手段16は、仮コードルート作成手段20から仮のコードルートを入力し、テーブル15からコードルートシフト値102及び下鍵盤コードタイプ103を入力する。そして、決定手段16は、仮のコードルートにコードルートシフト値102を加算して修正し、下鍵盤コードルートを記憶手段21に記録し、下鍵盤コードタイプ103を記憶手段22に記録する。
【0025】
図3は、テーブル15の一部の内容例を示す。アドレスパターン111は、例えば、構成音がシドミであり、仮のコードルートが最低音のBになる。この仮のコードルートにシフト値102として「1」を加算することにより、下鍵盤コードルートはCになる。コードタイプ103はM7になる。また、下鍵盤でドミソ♯を押鍵するとCaugが検出され、下鍵盤でソ♯ドミを押鍵するとG♯augが検出される。
【0026】
図2において、コードルート記憶手段21は、上記の修正された下鍵盤のコードルートを記憶する。コードタイプ記憶手段22は、上記の下鍵盤コードタイプを記憶する。ベースオフセット値作成手段23は、足鍵盤のキーオン/オフイベントを入力し、足鍵盤のキーオンイベント内のキーナンバ(ベースルート)からコードルート記憶手段21内の下鍵盤コードルートを減算(差分)し、ベースオフセット値を作成する。このベースオフセット値は、図4のテーブル内のベースオフセット値202に相当する。
【0027】
テーブル24は、図4に示すように、コードタイプ記憶手段22内の下鍵盤コードタイプ201、及びベースオフセット値作成手段23が作成したベースオフセット値202を入力し、ベースルートのオン/オフ203、コードルートシフト値204及びコードタイプ205を出力する。なお、図4は、テーブル24の一部の内容例を示す。
【0028】
決定手段25は、テーブル24に応じて、真のコードルート及び真のコードタイプを決定すると共に、ベースルートのオン/オフ(有無)を決定する。真のコードルートは、コードルート記憶手段21内の下鍵盤コードルートに図4のコードルートシフト値204を加算したものである。真のコードタイプは、図4のコードタイプ205になる。ベースルートのオン/オフは、図4のベースルートのオン/オフ203になる。ベースルートがオン(有り)のときには、足鍵盤のキーナンバ(ベースルート)を真のベースルートにする。
【0029】
記憶手段26には、真のコードルート、真のコードタイプ及びベースルートのオン/オフが記憶され、ベースルートがオンのときにはベースルートも記憶される。
【0030】
以上のように、第1のコード検出部(決定手段16)は、変換テーブル15を用いて、手鍵盤(下鍵盤)の操作に応じて、第1のコードルート及び第1のコードタイプを検出する。第2のコード検出部(変換テーブル24)は、上記の検出された第1のコードルート、第1のコードタイプ及び足鍵盤の操作に応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する。以下、図4の具体例を説明する。
【0031】
(1)パターン211は、第1のコードタイプ201がメジャー(Major)であり、ベースオフセット値202が0のときであり、例えば下鍵盤で「C」のコードが検出され、足鍵盤で「C」が押鍵された場合には、第2のコードルートが「C」になり、第2のコードタイプ205がメジャーになる。ベースルートがオフになる。
【0032】
(2)パターン212は、第1のコードタイプ201がメジャー(Major)であり、ベースオフセット値202が11のときであり、例えば下鍵盤で「C」のコードが検出され、足鍵盤で「B」が押鍵された場合には、第2のコードルートが「C」になり、第2のコードタイプ205がメジャーになり、ベースルートがBになる。
【0033】
(3)パターン213は、第1のコードタイプ201がaugであり、ベースオフセット値202が4のときであり、例えば下鍵盤で「Caug」のコードが検出され、足鍵盤で「E」が押鍵された場合には、第2のコードルートが「E」になり、第2のコードタイプ205がaugになり、ベースルートがオフになる。この場合、単純処理では、「Caug/E」になってしまうが、それでは適切ではないためコードルートを修正している。さらに、下鍵盤コードルートと足鍵盤ベースルートとが異なる場合であっても、ベースルートをオフにしている。
【0034】
(4)パターン214は、第1のコードタイプ201がaugであり、ベースオフセット値202が8のときであり、例えば下鍵盤で「Caug」のコードが検出され、足鍵盤で「A♭」が押鍵された場合には、第2のコードルートが「A♭」になり、第2のコードタイプ205がaugになり、ベースルートがオフになる。この場合も、コードルートを修正し、ベースルートをオフにしている。また、例えば下鍵盤で「G♯aug」のコードが検出され、足鍵盤で「E」が押鍵された場合には、第2のコードルートが「E」になり、第2のコードタイプ205がaugになり、ベースルートがオフになる。
【0035】
(5)パターン215は、第1のコードタイプ201がaugであり、ベースオフセット値202が9のときであり、例えば下鍵盤で「Caug」のコードが検出され、足鍵盤で「A」が押鍵された場合には、第2のコードルートが「A」になり、第2のコードタイプ205がmM7になり、ベースルートがオフになる。この場合も、コードルート及びコードタイプを修正し、ベースルートをオフにしている。
【0036】
(6)パターン216は、第1のコードタイプ201がaugであり、ベースオフセット値202が11のときであり、例えば下鍵盤で「Caug」のコードが検出され、足鍵盤で「B」が押鍵された場合には、第2のコードルートが「C」になり、第2のコードタイプ205がaugになり、ベースルートがBになる。
【0037】
(7)パターン217は、第1のコードタイプ201がm♯5であり、ベースオフセット値202が8のときであり、例えば下鍵盤で「Cm♯5」のコードが検出され、足鍵盤で「A♭」が押鍵された場合には、第2のコードルートが「A♭」になり、第2のコードタイプ205がΔ7になり、ベースルートがオフになる。この場合、コードルート及びコードタイプを修正し、ベースルートをオフにしている。
【0038】
(8)パターン218は、第1のコードタイプ201がm♯5であり、ベースオフセット値202が11のときであり、例えば下鍵盤で「Cm♯5」のコードが検出され、足鍵盤で「B」が押鍵された場合には、第2のコードルートが「C」になり、第2のコードタイプ205がm♯5になり、ベースルートがBになる。
【0039】
以上のように、テーブル24は、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが同じか否かにかかわらずにベースルートの有無を決定し、仮の手鍵盤コードルートと仮の足鍵盤ベースルートとが異なるときでもベースルートが無しであると決定することがある。また、テーブル24は、仮のコードタイプ及びベースオフセット値に応じて、仮のコードルート及びコードタイプとは異なる真のコードルート及びコードタイプを出力することがある。
【0040】
次に、図2において、下鍵盤で1音又は2音のみの押鍵がされた場合に、下鍵盤と足鍵盤の操作に応じてコード検出を行う方法を説明する。第4のキーオンビットマップ作成手段18は、第2のキーオンビットマップ作成手段12が作成した第2のキーオンビットマップ及び足鍵盤のキーオン/オフイベントを基に、下鍵盤及び足鍵盤のコード検出範囲にあるキーナンバのみを検出して、第4のキーオンビットマップを作成する。
【0041】
仮コードルート作成手段20は、足鍵盤の1鍵(例えば最低音)を仮のコードルートとして検出する。一方、第5のキーオンビットマップ作成手段19は、上記の第4のキーオンビットマップを基に1オクターブの範囲内に圧縮された第5のキーオンビットマップを作成する。その際、仮のコードルートとなる最低音は必ずビットが1になることがわかっているので、その最低音のビットを省略して11ビットで第5のキーオンビットマップを作成することができる。
【0042】
アドレス作成手段14は、上記の第5のキーオンビットマップを基に、テーブルを参照するために必要なアドレスを作成する。テーブル15は、上記のアドレスに応じて、下鍵盤コードタイプ103及びコードシフト値102を出力する。決定手段16は、仮コードルート作成手段20から仮のコードルートを入力し、テーブル15から下鍵盤コードタイプ103及びコードルートシフト値102を入力する。そして、決定手段16は、仮のコードルートにシフト値102を加算して修正し、下鍵盤コードルート及び下鍵盤コードタイプを記憶手段17に記憶させる。この場合、ベースルートはオフになる。
【0043】
図5は、図2の決定手段16がコードタイプとしてオーギュメント又はディミニッシュを決定した場合に、その後に行うコードルートの変換を説明する。コードタイプ301は、前回決定された真のコードタイプであり、任意のタイプでよい。コード302は、今回決定手段16で決定された仮のコードであり、コードルート311、コードタイプ312及びベースルート313を含む。コードルート311は、今回の仮のコードルートから前回の真のコードルートを引いた半音単位の値を示す。コード303は、今回変換により決定される真のコードであり、コードルート321、コードタイプ322及びベースルート323を含む。コードルート321は、前回の真のコードルートに加算する半音単位の値を示す。
【0044】
まず、オーギュメントの場合を説明する。今回検出された仮のコードタイプ312がオーギュメントであり、今回検出された仮のコードルート311が前回検出された真のコードルートと同じか、4半音又は8半音高いときには、今回の真のコードルート321を前回の真のコードルートと同じにし、今回の真のコードタイプ322をオーギュメントにする。ベースルート323は、足鍵盤の音と前回の真のコードルートとが異なれば、ベースルート有りにし、足鍵盤の音を採用する。
【0045】
次に、ディミニッシュの場合を説明する。今回検出された仮のコードタイプ312がディミニッシュであり、今回検出された仮のコードルート311が前回検出された真のコードルートより1半音、4半音、7半音又は10半音高いときには、今回の真のコードルート321を前回の真のコードルートに半音加算したコードルートにし、今回の真のコードタイプ322をディミニッシュにする。ベースルート323は、足鍵盤の音と前回の真のコードルートより半音高い音とが異なれば、ベースルート有りにし、足鍵盤の音を採用する。以下、より詳細な処理方法を説明する。
【0046】
図6〜図8は、ほぼ同時期に押された鍵を1つのコードとして検出するために、検出されたコードをテンポラリコードとして一時記憶し、一定時間経過後にそのテンポラリコードを真のコードとして記憶する。以下、その詳細な説明を行う。
【0047】
図6は、初期化処理を示すフローチャートである。ステップS401では、コードCCHD(コードルート、コードタイプ及びベースルートの有無を含む)を0xffに初期化する。ステップS402では、テンポラリコードTCHD(コードルート、コードタイプ及びベースルートの有無を含む)を0xffに初期化する。ステップS403では、カウンタを0に初期化する。以上で、処理を終了する。
【0048】
図7は、コード検出後に行う処理を示すフローチャートである。ステップS501では、後に説明する図9及び図10等により検出されたコードをテンポラリコードTCHDにセットする。ステップS502では、カウンタに例えば400msの値をセットする。以上で、処理を終了する。
【0049】
図8は、タイマ割り込み処理を示すフローチャートであり、一定時間間隔で定期的に行われる処理である。ステップS601では、ステップS502でカウンタがセットされているか否かをチェックする。セットされていればステップS602へ進み、セットされていなければ処理を終了する。ステップS602では、カウンタの値をディクリメントする。次に、ステップS603では、カウンタ値が0か否かをチェックする。0であればステップS604へ進み、0でなければ処理を終了する。ステップS604では、テンポラリコードTCHDを真のコードCCHDとして記憶する。すなわち、例えば400ms経過後にテンポラリコードTCHDが真のコードCCHDとして記憶される。以上で、処理を終了する。
【0050】
図9及び図10は、図2の決定手段16で決定されたコードタイプがオーギュメント又はディミニッシュのときの処理であり、決定手段16での決定後の処理を示すフローチャートである。まず、ステップS701では、コードルートchk_root、コードタイプchk_type及びベースルートchk_bs_rootを0xffに初期化する。
【0051】
次に、ステップS702では、決定手段16が決定したコードタイプd_typeがオーギュメントか否かをチェックする。オーギュメントであればステップS703へ進み、オーギュメントでなければステップS711へ進む。ステップ703では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootと同じか否かをチェックする。同じであればステップS706へ進み、同じでなければステップS704へ進む。ステップ704では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより4半音高いルートと同じか否かをチェックする。同じであればステップS706へ進み、同じでなければステップS705へ進む。ステップ705では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより8半音高いルートと同じか否かをチェックする。同じであればステップS706へ進み、同じでなければステップS711へ進む。
【0052】
ステップS706では、足鍵盤を押鍵することにより発生するペダルキーオンイベントがあるか否かをチェックする。ペダルキーオンイベントがあればステップS708へ進み、なければステップS707へ進む。ステップS707では、前回検出された真のコードルートc_rootを真のコードルートo_rootにセットする。そして、真のコードタイプo_typeにオーギュメントをセットする。そして、真のベースルートo_bs_rootにベースルート無しをセットする。その後、処理を終了する。
【0053】
ステップS708では、上記のペダルキーオンイベントに対応するキーナンバ(音高)を取得し、このキーナンバを12で割った余りをキーナンバとする。すなわち、キーナンバを1オクターブの0〜11の値の音名として記憶し、ベースルートp_rootとする。次に、ステップS709では、ベースルートp_rootと前回検出された真のコードルートc_rootとが同じか否かをチェックする。同じであればステップS711へ進み、同じでなければステップS710へ進む。ステップS710では、前回検出された真のコードルートc_rootをコードルートchk_rootにセットする。そして、コードタイプchk_typeにオーギュメントをセットする。そして、今回押鍵されたベースルートp_rootをベースルートchk_bs_rootにセットする。その後、ステップS721へ進む。
【0054】
ステップS711では、決定手段16が決定したコードタイプd_typeがディミニッシュか否かをチェックする。ディミニッシュであればステップS712へ進み、ディミニッシュでなければステップS721へ進む。ステップS712では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより半音高いルートと同じか否かをチェックする。同じであればステップS716へ進み、同じでなければステップS713へ進む。ステップS713では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより4半音高いルートと同じか否かをチェックする。同じであればステップS716へ進み、同じでなければステップS714へ進む。ステップS714では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより7半音高いルートと同じか否かをチェックする。同じであればステップS716へ進み、同じでなければステップS715へ進む。ステップS715では、決定手段16が決定した仮のコードルートd_rootが前回検出された真のコードルートc_rootより10半音高いルートと同じか否かをチェックする。同じであればステップS716へ進み、同じでなければステップS721へ進む。
【0055】
ステップS716では、足鍵盤を押鍵することにより発生するペダルキーオンイベントがあるか否かをチェックする。ペダルキーオンイベントがあればステップS718へ進み、なければステップS717へ進む。ステップS717では、前回検出された真のコードルートc_rootより半音高いルートを真のコードルートo_rootにセットする。そして、真のコードタイプo_typeにディミニッシュをセットする。そして、真のベースルートo_bs_rootにベースルート無しをセットする。その後、処理を終了する。
【0056】
ステップS718では、上記のペダルキーオンイベントに対応するキーナンバ(音高)を取得し、このキーナンバを12で割った余りをキーナンバとする。すなわち、キーナンバを1オクターブの0〜11の値の音名として記憶し、ベースルートp_rootとする。次に、ステップS719では、ベースルートp_rootと前回検出された真のコードルートc_rootより半音高いルートとが同じか否かをチェックする。同じであればステップS721へ進み、同じでなければステップS720へ進む。ステップS720では、前回検出された真のコードルートc_rootより半音高いルートをコードルートchk_rootにセットする。そして、コードタイプchk_typeにディミニッシュをセットする。そして、今回押鍵されたベースルートp_rootをベースルートchk_bs_rootにセットする。その後、ステップS721へ進む。
【0057】
ステップS721では、図2の決定手段25により変換テーブル24を用いた変換を行い、コードルートt_root、コードタイプt_type及びベースルートの有無を決定する。この変換は、図2に示したように、決定手段25は、決定手段16が決定したコードに応じて変換を行い、上記のコードルートchk_root、コードタイプchk_type及びベースルートchk_bs_rootを用いない。
【0058】
ステップS722では、コードルートchk_rootが初期値(0xff)か否かをチェックする。初期値であればステップS726へ進み、初期値でなければステップS723へ進む。ステップS723では、コードタイプt_type及びchk_typeの両方がオーギュメントか否かをチェックする。両方がオーギュメントであればステップS725へ進み、そうでなければステップS724へ進む。ステップS724では、コードタイプt_type及びchk_typeの両方がディミニッシュか否かをチェックする。両方がディミニッシュであればステップS725へ進み、そうでなければステップS726へ進む。ステップS725では、コードルートchk_rootを真のコードルートo_rootにセットする。そして、コードタイプchk_type(オーギュメント又はディミニッシュ)を真のコードタイプo_typeにセットする。そして、ベースルートchk_bs_rootを真のベースルートo_bs_rootにセットする。その後、処理を終了する。
【0059】
ステップS726では、コードルートt_rootを真のコードルートo_rootにセットし、コードタイプt_typeを真のコードタイプo_typeにセットする。次に、ステップS727では、ステップS721の変換によりベースルートが有りと決定されたか否かをチェックする。ベースルート有りであればステップS729へ進み、ベースルート無しであればステップS728へ進む。ステップS728では、真のベースルートo_bs_rootにベースルート無しを設定する。ステップS729では、真のベースルートo_bs_rootに押鍵によるベースルートp_rootを設定する。以上で、処理を終了する。
【0060】
以上により、図5の変換テーブルに従い、真のコードルートo_root、真のコードタイプo_type及び真のベースルートo_bs_rootが決定する。このコードは、図6〜図8の処理に従い、例えば400ms経過後にコードCCHDにセットされる。次のコード検出の際には、このコードCCHDが前回検出された真のコードとして処理される。以下、具体例を説明する。
【0061】
(1)前回検出されたコードがCであり、今回下鍵盤でソ♯ドミを押鍵した場合を説明する。ソ♯ドミは、Caug、Eaug及びG♯augのいずれにもなりえる。図2の決定手段16は、ソ♯ドミの最低音がG♯であることからG♯augを決定する。ステップS702では、コードタイプd_typeがオーギュメントであると判断される。ステップS705では、コートルートd_root(=G♯)と前回のコードルートc_root(=C)より8半音高いルートと同じであると判断される。ステップS707では、真のコードとしてCaugが決定される。これにより、C→Caugの適切なコード進行が検出される。
【0062】
(2)前回検出されたコードがFであり、今回下鍵盤でドミ♭ファ♯ラを押鍵した場合を説明する。ドミ♭ファ♯ラは、Cdim、E♭dim、F♯dim及びAdimのいずれにもなりえる。図2の決定手段16は、ドミ♭ファ♯ラの最低音がCであることからCdimを決定する。ステップS711では、コードタイプd_typeがディミニッシュであると判断される。ステップS714では、コートルートd_root(=C)と前回のコードルートc_root(=F)より7半音高いルートと同じであると判断される。ステップS717では、真のコードとしてF♯dimが決定される。これにより、F→F♯dimの適切なコード進行が検出される。
【0063】
(3)前回検出されたコードがCであり、今回下鍵盤でソ♯ドミを押鍵して足鍵盤でミを押鍵した場合を説明する。ソ♯ドミは、Caug、Eaug及びG♯augのいずれにもなりえる。図2の決定手段16は、ソ♯ドミの最低音がG♯であることからG♯augを決定する。ステップS702では、コードタイプd_typeがオーギュメントであると判断される。ステップS705では、コートルートd_root(=G♯)と前回のコードルートc_root(=C)より8半音高いルートと同じであると判断される。ステップS710では、コードとしてCaug/Eが決定される。次に、ステップS721では、図2の決定手段25がG♯aug/Eを基にEaug(図4のパターン214)を決定する。ステップS723では、両方のコードタイプがオーギュメントであると判断される。ステップS725では、真のコードとしてCaug/Eが決定される。これにより、C→Caug/Eの適切なコード進行が検出される。ステップS710及びステップS721の両方の変換において、オーギュメントが検出されたときには、オーギュメントに決定してよいので、ステップS710による変換結果を優先採用する。
【0064】
(4)前回検出されたコードがCであり、今回下鍵盤でドミソ♯を押鍵して足鍵盤でラを押鍵した場合を説明する。ドミソ♯は、Caug、Eaug及びG♯augのいずれにもなりえる。図2の決定手段16は、ドミソ♯の最低音がCであることからCaugを決定する。ステップS702では、コードタイプd_typeがオーギュメントであると判断される。ステップS703では、コートルートd_root(=C)と前回のコードルートc_root(=C)とが同じであると判断される。ステップS710では、コードとしてCaug/Aが決定される。次に、ステップS721では、図2の決定手段25がCaug/Aを基にAmM7(図4のパターン215)を決定する。ステップS723では、両方のコードタイプが共にオーギュメントではないと判断される。ステップS726〜S728では、真のコードとしてAmM7が決定される。これにより、AmM7の適切なコード検出が行われる。ステップS710でオーギュメントと検出され、ステップS721でオーギュメントでないと検出された場合、オーギュメントは不適切であることを意味するので、ステップS721による変換結果を採用する。
【0065】
図11は、演奏者の奏法がクリシェである場合のコード変換を説明する。クリシェは、同一のコードが連続している部分に装飾的に加えられる慣用的なラインを指し、作・編曲上の技法の一つであり、コード自体を変化させるものではなく、同じコードの中で半音又は全音によるスムーズなラインを設定し、それによって同一コードの連続による退屈さからの脱出を図るものである。
【0066】
コードタイプ801は、前回決定された真のコードタイプである。コード802は、今回決定手段16で決定された仮のコードであり、コードルート811、コードタイプ812及びベースルート813を含む。コードルート811は、今回の仮のコードルートから前回の真のコードルートを引いた半音単位の値を示す。コード803は、今回変換により決定される真のコードであり、コードルート821、コードタイプ822及びベースルート823を含む。コードルート821は、前回の真のコードルートに加算する半音単位の値を示す。
【0067】
まず、クリシェパターン831の場合を説明する。前回決定された真のコードタイプがm♯5の場合の処理である。今回検出された仮のコードタイプ812がディミニッシュであり、今回検出された仮のコードルート811が前回検出された真のコードルートより9半音高く、今回検出されたベースルート813が前回検出された真のコードルートと同じであるときには、今回の真のコードルート821を前回の真のコードルートと同じにし、今回の真のコードタイプ822をm6にし、今回のベースルート823をベースルート無しにする。例えば、Dm♯5→Dm6の適切なクリシェを検出することができ、Dm♯5→Ddimの不適切なコード検出をなくすことができる。ただし、クリシェ以外の場合は、Ddimと検出するのが適切である。Dm6及びDdimは、構成音が同じであるが、前回のコードを参照することにより、適切なコードを選択できる。
【0068】
次に、クリシェパターン832の場合を説明する。前回決定された真のコードタイプがマイナーの場合の処理である。今回検出された仮のコードタイプ812がメジャーであり、今回検出された仮のコードルート811が前回検出された真のコードルートより8半音高く、今回検出されたベースルート813が前回検出された真のコードルートと同じであるときには、今回の真のコードルート821を前回の真のコードルートと同じにし、今回の真のコードタイプ822をm♯5にし、今回のベースルート823をベースルート無しにする。例えば、Dm→Dm♯5の適切なクリシェを検出することができ、Dm→B♭/Dの不適切なコード検出をなくすことができる。ただし、クリシェ以外の場合は、B♭/Dと検出するのが適切である。Dm♯5及びB♭/Dは、構成音が同じであるが、前回のコードを参照することにより、適切なコードを選択できる。
【0069】
次に、クリシェパターン833の場合を説明する。前回決定された真のコードタイプがマイナーの場合の処理である。今回検出された仮のコードタイプ812がマイナーであり、今回検出された仮のコードルート811が前回検出された真のコードルートと同じであり、今回検出されたベースルート813が前回検出された真のベースルートと同じか半音高いときには、今回の真のコードルート821を前回の真のコードルートと同じにし、今回の真のコードタイプ822をマイナーにし、今回のベースルート823をベースルート有り(今回の足鍵盤の音をベースルートにする)にする。例えば、Am/G→Am/F♯の適切なクリシェを検出することができ、Am/G→F♯m7♭5の不適切なコード検出をなくすことができる。ただし、クリシェ以外の場合は、F♯m7♭5と検出するのが適切である。Am/F♯及びF♯m7♭5は、構成音が同じであるが、前回のコードを参照することにより、適切なコードを選択できる。
【0070】
クリシェの場合も、上記の図6〜図8の処理を行う。クリシェのコード検出処理手順を、以下説明する。図12及び図13は、図2の決定手段16でコード決定された後のクリシェコード検出処理を示すフローチャートである。
【0071】
まず、ステップS901では、足鍵盤の押鍵操作により発生するペダルキーオンイベントがあるか否かをチェックする。ペダルキーオンイベントがあればステップS902へ進み、なければステップS918へ進む。ステップS902では、図2の決定手段16で決定された仮のコードタイプd_typeがメジャーか否かをチェックする。メジャーであればステップS903へ進み、メジャーでなければステップS907へ進む。ステップS903では、図2の決定手段16で決定された仮のコードルートd_rootが前回検出された真のコードルートc_rootより8半音高いルートと同じか否かをチェックする。同じであればステップS904へ進み、異なればステップS907へ進む。ステップS904では、前回検出された真のコードタイプc_typeがマイナーか否かをチェックする。マイナーであればステップS905へ進み、マイナーでなければステップS907へ進む。ステップS905では、上記のペダルキーオンイベント(ステップS901)内のキーナンバであるベースルートd_bassが前回の真のコードルートc_rootと同じか否かをチェックする。同じであればステップS906へ進み、異なればステップS907へ進む。ステップS906では、前回の真のコードルートc_rootを今回の真のコードルートo_rootにセットする。そして、今回の真のコードタイプo_typeにm♯5をセットする。そして、今回の真のベースルートo_bs_rootにベースルート無しをセットする。この処理は、図11のクリシェパターン832の処理である。その後、処理を終了する。
【0072】
ステップS907では、図2の決定手段16で決定された仮のコードタイプd_typeがディミニッシュか否かをチェックする。ディミニッシュであればステップS908へ進み、ディミニッシュでなければステップS912へ進む。ステップS908では、図2の決定手段16で決定された仮のコードルートd_rootが前回検出された真のコードルートc_rootより9半音高いルートと同じか否かをチェックする。同じであればステップS909へ進み、異なればステップS912へ進む。ステップS909では、前回検出された真のコードタイプc_typeがm♯5か否かをチェックする。m♯5であればステップS910へ進み、m♯5でなければステップS912へ進む。ステップS910では、上記のペダルキーオンイベント(ステップS901)内のキーナンバであるベースルートd_bassが前回の真のコードルートc_rootと同じか否かをチェックする。同じであればステップS911へ進み、異なればステップS912へ進む。ステップS911では、前回の真のコードルートc_rootを今回の真のコードルートo_rootにセットする。そして、今回の真のコードタイプo_typeにm6をセットする。そして、今回の真のベースルートo_bs_rootにベースルート無しをセットする。この処理は、図11のクリシェパターン831の処理である。その後、処理を終了する。
【0073】
ステップS912では、図2の決定手段16で決定された仮のコードタイプd_typeがマイナーか否かをチェックする。マイナーであればステップS913へ進み、マイナーでなければステップS918へ進む。ステップS913では、図2の決定手段16で決定された仮のコードルートd_rootが前回検出された真のコードルートc_rootと同じか否かをチェックする。同じであればステップS914へ進み、異なればステップS918へ進む。ステップS914では、前回検出された真のコードタイプc_typeがマイナーか否かをチェックする。マイナーであればステップS915へ進み、マイナーでなければステップS918へ進む。ステップS915では、上記のペダルキーオンイベント(ステップS901)内のキーナンバであるベースルートd_bassが前回の真のベースルートc_bassと同じか否かをチェックする。同じであればステップS917へ進み、異なればステップS916へ進む。ステップS916では、上記のペダルキーオンイベント(ステップS901)内のキーナンバであるベースルートd_bassが前回の真のベースルートc_bassより半音高いルートと同じか否かをチェックする。同じであればステップS917へ進み、異なればステップS918へ進む。ステップS917では、前回の真のコードルートc_rootを今回の真のコードルートo_rootにセットする。そして、今回の真のコードタイプo_typeにマイナーをセットする。そして、今回の押鍵のベースルートd_bassを今回の真のベースルートo_bs_rootにセットする。この処理は、図11のクリシェパターン833の処理である。その後、処理を終了する。
【0074】
ステップS918〜S922の処理は、クリシェ、オーギュメント及びディミニッシュ以外の一般のコード検出処理であり、図2の処理と同じである。ステップS918では、図2の決定手段25が変換テーブル24を用いた変換を行い、コードルートt_root、コードタイプt_type及びベースルートの有無を決定する。ステップS919では、コードルートt_rootを真のコードルートo_rootにセットし、コードタイプt_typeを真のコードタイプo_typeにセットする。次に、ステップS920では、ステップS918の変換によりベースルートが有りと決定されたか否かをチェックする。ベースルート有りであればステップS922へ進み、ベースルート無しであればステップS921へ進む。ステップS921では、真のベースルートo_bs_rootにベースルート無しを設定する。ステップS922では、真のベースルートo_bs_rootに押鍵によるベースルートd_bassを設定する。以上で、処理を終了する。
【0075】
以上により、図11の変換テーブルに従い、真のコードルートo_root、真のコードタイプo_type及び真のベースルートo_bs_rootが決定する。このコードは、図6〜図8の処理に従い、例えば400ms経過後にコードCCHDにセットされる。次のコード検出の際には、このコードCCHDが前回検出された真のコードとして処理される。
【0076】
本実施形態によれば、前回検出されたコードに応じてコード検出することにより、適切なクリシェのコード検出を行うことができる。上記のコード検出処理は、ハードウエアで構成してもよいし、ソフトウエアで構成してもよい。コード検出プログラムのソフトウエアを用いる例を、以下説明する。
【0077】
図14は、本実施形態による電子楽器のハードウエア構成例を示すブロック図である。バス31には、音源(TG)32、CPU33、パネルスイッチ34、鍵盤35、ROM36、RAM37、及びD/A変換器38が接続されている。CPU33は、タイマ30から時間情報を得て、タイマ割り込み処理(図8)を行うことができる。
【0078】
CPU33は、種々の演算又は処理を行い、ROM36又はRAM37に記憶されているコンピュータプログラムに応じて上記のコード検出処理を実行する。RAM37は、CPU33のワーキングエリアとして使用される。パネルスイッチ34は、自動伴奏スタイル番号を決定するスタイル番号スイッチ3(図1)等の操作子を有する。
【0079】
鍵盤35は、上鍵盤35aと下鍵盤35bとからなる手鍵盤及び足鍵盤35cを有し、押鍵及び離鍵が可能な複数の鍵を有する。鍵盤35が押鍵されるとベロシティ(押鍵速度)及びキーナンバ(音高)を含むキーオンイベントをCPU33に伝え、鍵盤35が離鍵されるとキーオフイベントをCPU33に伝える。
【0080】
音源32は、鍵盤35の操作又はROM36内の自動伴奏データに応じて、楽音信号を生成する。D/A変換器38は、音源32で生成されたデジタル形式の楽音信号をアナログ形式に変換し、アンプ39に出力する。アンプ39は、楽音信号の増幅を行い、スピーカ40にて楽音が発音される。
【0081】
本実施形態によれば、第1のコード検出部(決定手段16)が、手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する。第2のコード検出部(図5又は図11)が、検出された第1のコードルート、第1のコードタイプ、足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する。
【0082】
鍵盤の操作のみならず前回検出されたコードに応じて、今回のコードを検出するので、演奏の流れに応じた演奏者が意図するコードを検出することができる。具体的には、オーギュメント及びディミニッシュにおいて演奏者が意図するコードルートを選択することができ、クリシェにおいて演奏者が意図するコードを選択することができる。
【0083】
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0084】
上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0085】
【発明の効果】
以上説明したように、演奏鍵盤の操作のみならず前回検出されたコードに応じて、今回のコードを検出するので、演奏の流れに応じた演奏者が意図するコードを検出することができる。
【図面の簡単な説明】
【図1】本発明の実施形態による電子楽器の概略構成例を示す図である。
【図2】コード決定処理手段の構成を示すブロック図である。
【図3】第1の変換テーブルの一部の内容例を示す図である。
【図4】第2の変換テーブルの一部の内容例を示す図である。
【図5】オーギュメント及びディミニッシュのコードルート変換を示す図である。
【図6】初期化処理を示すフローチャートである。
【図7】コード検出後に行う処理を示すフローチャートである。
【図8】タイマ割り込み処理を示すフローチャートである。
【図9】オーギュメント及びディミニッシュのコード検出処理を示すフローチャートである。
【図10】オーギュメント及びディミニッシュのコード検出処理を示すフローチャートである。
【図11】クリシェのコード変換を示す図である。
【図12】クリシェのコード検出処理を示すフローチャートである。
【図13】クリシェのコード検出処理を示すフローチャートである。
【図14】電子楽器のハードウエア構成例を示す図である。
【符号の説明】
1 下鍵盤
2 足鍵盤
3 スタイル番号スイッチ
4 コード決定処理手段
5 自動伴奏発音処理手段
30 タイマ
31 バス
32 音源
33 CPU
34 パネルスイッチ
35 鍵盤
35a 上鍵盤
35b 下鍵盤
35c 足鍵盤
36 ROM
37 RAM
38 D/A変換器
39 アンプ
40 スピーカ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a chord detection technique for an electronic musical instrument, and more particularly to a technique for chord detection according to a keyboard operation.
[0002]
[Prior art]
Some electronic musical instruments have a hand keyboard for manual operation and a foot keyboard for foot operation. The hand keyboard is a two-stage keyboard, and the upper keyboard plays the melody line and the lower keyboard plays the chord line. In an electronic musical instrument having an automatic accompaniment function, chord detection is performed according to the operation of the lower keyboard and the foot keyboard, and automatic accompaniment is performed according to the detected chord. An example of a code detection method is described in Japanese Patent Publication No. 5-84920.
[0003]
Codes that are detected include a fraction code (for example, C / B) and a normal code that is not a fraction code. The fractional chord is the chord part code where the numerator chord is the upper part of the score (corresponding to the hand keyboard), and the base part of the base part where the denominator chord is the lower part of the score (corresponding to the foot key) .
[0004]
An electronic musical instrument detects chord root and chord type. If the pitch name of the detected chord root and the key pressed on the foot keyboard are the same, it is detected as a normal chord that is not a fraction chord. On the contrary, when the pitch name of the detected chord root and the key pressed on the foot keyboard are different, it is detected as a fractional chord (for example, C / B). However, the code detected by this method is not perfect, and as a result, it may be detected as an inappropriate code. As a technique for solving this problem, Japanese Patent Laid-Open No. 2002-196755 by the inventor's invention is disclosed.
[0005]
[Problems to be solved by the invention]
In the turning chords such as augment or diminished, chord constituent sounds are formed at the same pitch intervals, and therefore the chord root cannot be specified. For example, in the case of the Cdim code, it is composed of a dummy file #r. In this case, all four constituent sounds can be chord roots, and the chord root is determined according to the intention of the performer. In an electronic musical instrument, the lowest tone of chord constituent sounds is used as a chord root, or the sound of a foot keyboard is mechanically determined as a chord root. Therefore, a chord root different from the player's intention may be determined.
[0006]
For example, when performing chords in the order of C → Caug → F, especially in the case of an organ or the like, in practice, in many cases, it is performed in a reversed form such as Sodomi → So # Domi → Radopha rather than Domiso → Domiso # → Dofara. (In this specification, the lowest note in the chord constituent sounds is indicated on the leftmost side). In this case, when chord detection is performed with an electronic musical instrument, C → G # auug → F is detected, and the player cannot perform the performance desired.
[0007]
Also, when performing detection using a foot keyboard, if the chord is C → Caug → F, the bass route is generally played as C → E → F. Originally, it is appropriate to detect as C → Caug / E → F, but it is erroneously detected as C → Eaug → F, and a preferable code cannot be detected.
[0008]
In addition, if the turning form of So # Domi is also detected as Caug in order to cope with this chord progression, G # auug cannot be detected, and this time, it becomes impossible to respond when the key of the song changes. is there.
[0009]
In addition to the augment and the diminished, since B ♭ and Dm # 5 are chords of the same constituent sound, there is a problem that it is impossible to identify which chord is the chord, and it is only possible to identify the chord according to the frequency of use. For example, when playing with fascination, it is generally B ♭, but for clichés that move from Dm (Farale) to fascination (La #), Dm # 5 is more suitable than B ♭. There is a problem that.
[0010]
In general, it is suitable to detect F # m7、5 by pressing Radomi on the hand keyboard and pressing F # on the foot keyboard. However, in the case of cliché with a bass that is played with A → G # → G → F # while holding Am (Radomi) on the hand keyboard, Am → Am / G # → Am / G → F # m7 ♭ In this case, it is more preferable to detect Am / F # than F # m7 ♭ 5.
[0011]
An object of the present invention is to detect a chord intended by a performer in accordance with the performance flow.
Another object of the present invention is to select the most suitable chord root in the augment.
Yet another object of the present invention is to select the most suitable code root in the diminished.
Yet another object of the present invention is to select the most suitable code in cliché.
[0012]
[Means for Solving the Problems]
  According to one aspect of the present invention, a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation, and a first chord root and a first chord according to the operation of the hand keyboard. A first chord detection unit for detecting the chord type of the second chord, and a second chord according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detection unit for detecting the presence of a route, a second code type, and a base route;, A third chord for detecting the presence or absence of a third chord root, a third chord type, and a base root in accordance with the detected first chord root, first chord type, and operation of the foot keyboard When both the detection unit and the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code type is adopted. A decision unit employing a code route and the third code type;An electronic musical instrument chord detection apparatus is provided.
  According to another aspect of the present invention, a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation, and a first chord root and a first chord according to the operation of the hand keyboard. A first chord detection unit that detects a chord type of the first chord, a first chord root that has been detected, a first chord type, an operation of the foot keyboard, and a chord that has been detected last time; According to the operation of the second chord detector, the second chord type, the base chord route, the detected first chord root, the first chord type, and the foot keyboard, A third code detecting unit for detecting presence / absence of a third code route, a third code type and a base route; and when the second code type and the third code type are both diminished, Code Over preparative and employing the second code type, code detecting device for an electronic musical instrument having a determination unit to adopt the third chord root and said third code type of the provided otherwise.
  Of the present inventionfurtherAccording to another aspect, there is a chord detection method for an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation, and according to the operation of the hand keyboard, A first chord detection step for detecting a first chord root and a first chord type; the first chord root detected; the first chord type; the operation of the foot keyboard; and the chord previously detected And a second code detection step for detecting the presence or absence of a second code route, a second code type and a base route,, A third chord for detecting the presence or absence of a third chord root, a third chord type, and a base root in accordance with the detected first chord root, first chord type, and operation of the foot keyboard When the detection step and both the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code type is adopted. A decision step adopting a code route and said third code type;An electronic musical instrument chord detection method is provided.
  According to still another aspect of the present invention, there is provided a chord detection method for an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation, the operation of the hand keyboard According to the first chord root and the first chord type, a first chord detection step, the detected first chord root, the first chord type, the operation of the foot keyboard, and the previous time A second code detecting step for detecting presence / absence of a second code route, a second code type and a base route according to the detected code; and the detected first code route and first code type. And a third chord detection step for detecting the presence / absence of a third chord root, a third chord type, and a base root in response to the operation of the foot keyboard, and the second chord type and the third chord. Determining whether to adopt the second chord root and the second chord type when both types are diminished, and adopt the third chord root and the third chord type otherwise. An electronic musical instrument chord detection method is provided.
  According to still another aspect of the present invention, there is provided a code detection program for an electronic musical instrument having a performance keyboard for performance operation including a hand keyboard for manual operation and a foot keyboard for foot operation, the operation of the hand keyboard According to the first chord root and the first chord type, a first chord detection step, the detected first chord root, the first chord type, the operation of the foot keyboard, and the previous time A second code detecting step for detecting the presence or absence of a second code route, a second code type and a base route according to the detected code;, A third chord for detecting the presence or absence of a third chord root, a third chord type, and a base root in accordance with the detected first chord root, first chord type, and operation of the foot keyboard When the detection step and both the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code type is adopted. A decision step adopting a code route and said third code type;A program for causing a computer to execute is provided.
  According to still another aspect of the present invention, there is provided a code detection program for an electronic musical instrument having a performance keyboard for performance operation including a hand keyboard for manual operation and a foot keyboard for foot operation, the operation of the hand keyboard According to the first chord root and the first chord type, a first chord detection step, the detected first chord root, the first chord type, the operation of the foot keyboard, and the previous time A second code detecting step for detecting presence / absence of a second code route, a second code type and a base route according to the detected code; and the detected first code route and first code type. And a third chord detection step for detecting the presence or absence of a third chord root, a third chord type and a base root in response to an operation of the foot keyboard, the second chord type and the second chord A decision step of adopting the second code route and the second code type when both of the code types are diminished, and adopting the third code route and the third code type otherwise; A program for causing a computer to execute is provided.
[0013]
According to the present invention, since the current chord is detected not only according to the operation of the performance keyboard but also according to the chord detected last time, the chord intended by the performer according to the performance flow can be detected.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a schematic configuration example of an electronic musical instrument according to an embodiment of the present invention. The electronic musical instrument has a hand keyboard for manual operation and a foot keyboard 2 for foot operation. The hand keyboard is a two-stage keyboard, and has an upper keyboard for playing a melody line and a lower keyboard 1 for playing a chord line.
[0015]
When a key depression operation is performed on the lower keyboard 1, the lower keyboard 1 outputs a key-on event, and when a key release operation is performed on the lower keyboard 1, the lower keyboard 1 outputs a key-off event. The chord determination processing means 4 detects a temporary lower keyboard code root and a temporary lower keyboard code type in response to a key on / off event of the lower keyboard 1.
[0016]
When a key depression operation is performed on the foot keyboard 2, the foot keyboard 2 outputs a key-on event, and when a key release operation is performed on the foot keyboard 2, the foot keyboard 2 outputs a key-off event. The chord determination processing means 4 detects a temporary foot keyboard base route in response to a key on / off event of the foot keyboard 2.
[0017]
Next, the chord determination processing means 4 determines the true chord root and the true chord type according to the temporary lower chord chord root, the lower chord chord type, the foot keyboard base root and the chord detected last time. At the same time, the presence / absence of a base route is determined. Specifically, in the case of augment, diminished, and cliché, code detection is performed according to the code detected last time. When there is a base route, the provisional foot keyboard base route is determined as a true base route and becomes a fraction code. The denominator of the fraction code is the base route, and the numerator is the true code route. If it is determined that there is no base route, it becomes a normal code that is not a fraction code.
[0018]
The style number switch 3 is a switch for selecting an automatic accompaniment style such as rock or jazz, and outputs a style number in accordance with the switch operation.
[0019]
The automatic accompaniment sound processing means 5 reads out an automatic accompaniment pattern corresponding to the style number, and generates an automatic accompaniment according to the true chord root, true chord type, and bass route. Automatic accompaniment is performed, for example, by repeatedly generating a predetermined pattern of drums, chords (piano sound, guitar sound, etc.) and bass. The chord accompaniment is pronounced according to the true chord root and chord type, and the bass accompaniment is pronounced according to the bass root.
[0020]
FIG. 2 shows a specific configuration of the code determination processing means 4 of FIG. Here, a code detection method for general codes other than augment, diminished, and cliché will be described. When three or more sounds are simultaneously pressed on the lower keyboard, it is possible to detect the chord root and chord type based on the key depression. However, if only one or two keys are pressed on the lower keyboard, it is difficult to detect the chord root and chord type based on the key pressed. Perform detection.
[0021]
First, a case where three or more sounds are simultaneously pressed on the lower keyboard will be described. When the key-on / off event of the lower keyboard is input, the first key-on bitmap creating means 11 creates all the key numbers (pitches) that are key-on as pressed by the lower keyboard as the first key-on bitmap. To do. At this time, the bit of the key number that is key-on is set to 1, and the bit of the key number that is key-off is set to 0.
[0022]
The second key-on bitmap creating means 12 detects only the key number in the code detection range from the first key-on bitmap and creates a second key-on bitmap.
[0023]
The temporary chord route creating means 20 detects the lowest tone in the second key-on bitmap as a temporary chord route. On the other hand, the third key-on bitmap creating means 13 creates a third key-on bitmap compressed within one octave based on the second key-on bitmap. That is, it is expressed as a note name within one octave starting from the lowest note as the temporary chord root. At this time, since it is known that the lowest sound as the temporary chord root always has a bit of 1, the third key-on bitmap can be created with 11 bits by omitting the lowest sound bit.
[0024]
The address creating means 14 creates an address necessary for referring to the table based on the third key-on bitmap. As shown in FIG. 3, the table 15 outputs the chord root shift value 102 and the lower keyboard chord type 103 in accordance with the octave map address 101 described above. The determination unit 16 inputs the temporary chord route from the temporary chord route creation unit 20 and inputs the chord root shift value 102 and the lower keyboard chord type 103 from the table 15. Then, the determination means 16 adds and corrects the chord root shift value 102 to the temporary chord root, records the lower keyboard code root in the storage means 21, and records the lower keyboard code type 103 in the storage means 22.
[0025]
FIG. 3 shows an example of the contents of a part of the table 15. In the address pattern 111, for example, the constituent sound is Sidomi and the temporary chord root is B, which is the lowest sound. By adding “1” as the shift value 102 to the temporary chord root, the lower keyboard chord root becomes C. The code type 103 is M7. Further, when the key is pressed on the lower keyboard, Caug is detected, and when the key is pressed on the lower keyboard, G # aug is detected.
[0026]
In FIG. 2, the chord route storage means 21 stores the chord route of the modified lower keyboard. The chord type storage means 22 stores the lower keyboard chord type described above. The base offset value creating means 23 inputs a key-on / off event of the foot keyboard, subtracts (differs) the lower keyboard chord root in the chord root storage means 21 from the key number (base root) in the key-on event of the foot keyboard, Create a base offset value. This base offset value corresponds to the base offset value 202 in the table of FIG.
[0027]
As shown in FIG. 4, the table 24 inputs the lower keyboard chord type 201 in the chord type storage means 22 and the base offset value 202 created by the base offset value creating means 23 to turn on / off the base route 203, The code route shift value 204 and the code type 205 are output. FIG. 4 shows an example of part of the contents of the table 24.
[0028]
The determination unit 25 determines the true code route and the true code type according to the table 24 and also determines whether the base route is on / off (presence / absence). The true chord root is obtained by adding the chord root shift value 204 of FIG. 4 to the lower keyboard chord root in the chord root storage means 21. The true code type is the code type 205 in FIG. The base route on / off is the base route on / off 203 in FIG. When the base route is on (present), the key number (base route) of the foot keyboard is set to the true base route.
[0029]
The storage means 26 stores the true code route, the true code type, and on / off of the base route, and also stores the base route when the base route is on.
[0030]
As described above, the first chord detector (determination unit 16) uses the conversion table 15 to detect the first chord root and the first chord type according to the operation of the hand keyboard (lower keyboard). To do. The second chord detection unit (conversion table 24) has the second chord root, the second chord type, and the chord keyboard in response to the detected first chord root, the first chord type, and the keyboard operation. Detect presence of base route. Hereinafter, a specific example of FIG. 4 will be described.
[0031]
(1) The pattern 211 is when the first chord type 201 is major and the base offset value 202 is 0. For example, the chord “C” is detected on the lower keyboard, and “C” is detected on the foot keyboard. "Is depressed, the second chord root becomes" C ", and the second chord type 205 becomes major. The base route is turned off.
[0032]
(2) The pattern 212 is when the first chord type 201 is major and the base offset value 202 is 11. For example, the chord “C” is detected on the lower keyboard, and “B” is detected on the foot keyboard. "Is pressed, the second chord route becomes" C ", the second chord type 205 becomes major, and the base route becomes B.
[0033]
(3) The pattern 213 is when the first chord type 201 is aug and the base offset value 202 is 4. For example, the chord “Caug” is detected on the lower keyboard, and “E” is pressed on the foot keyboard. If it is locked, the second code route is “E”, the second code type 205 is aug, and the base route is turned off. In this case, the simple process results in “Caug / E”, but the code route is corrected because it is not appropriate. Furthermore, even when the lower keyboard chord route and the foot keyboard base route are different, the base route is turned off.
[0034]
(4) The pattern 214 is when the first chord type 201 is aug and the base offset value 202 is 8. For example, the chord “Caug” is detected on the lower keyboard, and “A ♭” is detected on the foot keyboard. When the key is depressed, the second chord route is “A ♭”, the second chord type 205 is aug, and the base route is turned off. In this case, the code route is corrected and the base route is turned off. Also, for example, when the chord “G # auug” is detected on the lower keyboard and “E” is pressed on the foot keyboard, the second chord root becomes “E”, and the second chord type 205 Becomes aug and the base route is turned off.
[0035]
(5) The pattern 215 is when the first chord type 201 is aug and the base offset value 202 is 9. For example, the chord “Caug” is detected on the lower keyboard and “A” is pressed on the foot keyboard. If it is locked, the second chord root becomes “A”, the second chord type 205 becomes mM7, and the base root is turned off. Also in this case, the code route and the code type are corrected, and the base route is turned off.
[0036]
(6) The pattern 216 is when the first chord type 201 is aug and the base offset value 202 is 11. For example, a chord “Caug” is detected on the lower keyboard, and “B” is depressed on the foot keyboard. If the key is locked, the second code route becomes “C”, the second code type 205 becomes aug, and the base route becomes B.
[0037]
(7) The pattern 217 is when the first chord type 201 is m # 5 and the base offset value 202 is 8. For example, the chord “Cm # 5” is detected on the lower keyboard, and “ When “A ♭” is pressed, the second chord route becomes “A ♭”, the second chord type 205 becomes Δ7, and the base route turns off. In this case, the code route and code type are corrected, and the base route is turned off.
[0038]
(8) The pattern 218 is when the first chord type 201 is m # 5 and the base offset value 202 is 11. For example, the chord “Cm # 5” is detected on the lower keyboard, and “ When “B” is pressed, the second chord route becomes “C”, the second chord type 205 becomes m # 5, and the base route becomes B.
[0039]
As described above, the table 24 determines the presence / absence of the base route regardless of whether or not the temporary hand keyboard chord route and the temporary foot keyboard base route are the same. Even when the keyboard base route is different, it may be determined that there is no base route. The table 24 may output a true code route and code type different from the temporary code route and code type according to the temporary code type and base offset value.
[0040]
Next, in FIG. 2, a method for detecting chords according to the operation of the lower keyboard and the foot keyboard when only one or two keys are pressed on the lower keyboard will be described. The fourth key-on bitmap creation means 18 is based on the second key-on bitmap created by the second key-on bitmap creation means 12 and the key-on / off event of the foot keyboard, and the chord detection ranges of the lower keyboard and the foot keyboard. Only the key number at is detected and a fourth key-on bitmap is created.
[0041]
The temporary chord route creating means 20 detects one key (for example, the lowest note) of the foot keyboard as a temporary chord route. On the other hand, the fifth key-on bitmap creating unit 19 creates a fifth key-on bitmap compressed within one octave based on the fourth key-on bitmap. At this time, since it is known that the lowest tone as the temporary chord root always has a bit of 1, the fifth key-on bitmap can be created with 11 bits by omitting the lowest tone bit.
[0042]
The address creating means 14 creates an address necessary for referring to the table based on the fifth key-on bitmap. The table 15 outputs the lower keyboard chord type 103 and the chord shift value 102 according to the above address. The determination unit 16 inputs the temporary chord route from the temporary chord route creation unit 20 and inputs the lower keyboard chord type 103 and the chord root shift value 102 from the table 15. Then, the determination means 16 adds the shift value 102 to the temporary chord root for correction, and causes the storage means 17 to store the lower keyboard chord root and the lower keyboard chord type. In this case, the base route is turned off.
[0043]
FIG. 5 illustrates a code route conversion performed after the determination unit 16 of FIG. 2 determines an augment or a diminished code type. The code type 301 is a true code type determined last time, and may be an arbitrary type. The code 302 is a temporary code determined by the determination unit 16 this time, and includes a code route 311, a code type 312, and a base route 313. The chord root 311 indicates a semitone unit value obtained by subtracting the previous true chord root from the current temporary chord root. The code 303 is a true code determined by this conversion, and includes a code route 321, a code type 322, and a base route 323. The chord root 321 indicates a semitone unit value to be added to the previous true chord root.
[0044]
First, the case of augment will be described. If the temporary chord type 312 detected this time is an augment, and the temporary chord route 311 detected this time is the same as the true chord root detected last time, or four semitones or eight semitones higher, the true chord of this time The route 321 is made the same as the previous true chord route, and the current true chord type 322 is augmented. If the sound of the foot keyboard differs from the previous true chord root, the base route 323 adopts the foot root sound and adopts the foot keyboard sound.
[0045]
Next, the case of diminished will be described. If the temporary chord type 312 detected this time is diminished and the temporary chord root 311 detected this time is one semitone, four semitones, seven semitones or ten semitones higher than the true chord root detected last time, The chord root 321 is made a chord root obtained by adding a semitone to the previous true chord root, and the current true chord type 322 is made diminished. If the sound of the foot keyboard is different from the sound of a semitone higher than the previous true chord root, the base route 323 is set to have a base route and adopts the sound of the foot keyboard. Hereinafter, a more detailed processing method will be described.
[0046]
FIGS. 6 to 8 temporarily store the detected code as a temporary code and detect the temporary code as a true code after a certain period of time in order to detect a key pressed almost simultaneously as a single code. To do. The detailed description will be given below.
[0047]
FIG. 6 is a flowchart showing the initialization process. In step S401, the code CCHD (including the presence / absence of the code route, code type, and base route) is initialized to 0xff. In step S402, the temporary code TCHD (including the presence / absence of the code route, code type, and base route) is initialized to 0xff. In step S403, the counter is initialized to zero. Thus, the process ends.
[0048]
FIG. 7 is a flowchart showing processing performed after code detection. In step S501, the code detected in FIGS. 9 and 10 described later is set in the temporary code TCHD. In step S502, for example, a value of 400 ms is set in the counter. Thus, the process ends.
[0049]
FIG. 8 is a flowchart showing the timer interrupt process, which is a process periodically performed at regular time intervals. In step S601, it is checked whether a counter is set in step S502. If it has been set, the process proceeds to step S602. If it has not been set, the process ends. In step S602, the counter value is decremented. In step S603, it is checked whether the counter value is zero. If it is 0, the process proceeds to step S604, and if it is not 0, the process is terminated. In step S604, temporary code TCHD is stored as true code CCHD. That is, for example, after 400 ms, the temporary code TCHD is stored as the true code CCHD. Thus, the process ends.
[0050]
FIGS. 9 and 10 are processes when the code type determined by the determining means 16 of FIG. 2 is augment or diminished, and is a flowchart showing the processes after the determination by the determining means 16. First, in step S701, the code root chk_root, the code type chk_type, and the base root chk_bs_root are initialized to 0xff.
[0051]
Next, in step S702, it is checked whether or not the code type d_type determined by the determination unit 16 is an augment. If it is an augment, the process proceeds to step S703, and if it is not an augment, the process proceeds to step S711. In step 703, it is checked whether or not the temporary code route d_root determined by the determining means 16 is the same as the true code route c_root detected last time. If they are the same, the process proceeds to step S706, and if they are not the same, the process proceeds to step S704. In step 704, it is checked whether or not the temporary chord route d_root determined by the determining means 16 is the same as a route that is four semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S706, and if not, the process proceeds to step S705. In step 705, it is checked whether or not the temporary chord route d_root determined by the determining means 16 is the same as a route that is eight semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S706, and if they are not the same, the process proceeds to step S711.
[0052]
In step S706, it is checked whether or not there is a pedal key-on event generated by pressing the foot keyboard. If there is a pedal key-on event, the process proceeds to step S708, and if not, the process proceeds to step S707. In step S707, the true code root c_root detected last time is set to the true code root o_root. Then, the augment is set to the true code type o_type. Then, the true base route o_bs_root is set to no base route. Thereafter, the process ends.
[0053]
In step S708, the key number (pitch) corresponding to the pedal key-on event is acquired, and the remainder obtained by dividing the key number by 12 is used as the key number. That is, the key number is stored as a pitch name having a value of 0 to 11 in one octave, and is set as the base route p_root. Next, in step S709, it is checked whether or not the base route p_root is the same as the true code route c_root detected last time. If they are the same, the process proceeds to step S711, and if they are not the same, the process proceeds to step S710. In step S710, the true code root c_root detected last time is set to the code root chk_root. Then, an augment is set in the code type chk_type. Then, the base route p_root pressed this time is set to the base route chk_bs_root. Thereafter, the process proceeds to step S721.
[0054]
In step S711, it is checked whether or not the code type d_type determined by the determining unit 16 is diminished. If diminished, the process proceeds to step S712, and if not diminished, the process proceeds to step S721. In step S712, it is checked whether or not the temporary chord route d_root determined by the determining unit 16 is the same as a route that is semitone higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S716, and if not, the process proceeds to step S713. In step S713, it is checked whether or not the temporary chord route d_root determined by the determining unit 16 is the same as a route that is four semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S716, and if not, the process proceeds to step S714. In step S714, it is checked whether or not the temporary chord route d_root determined by the determining unit 16 is the same as a route that is 7 semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S716, and if not, the process proceeds to step S715. In step S715, it is checked whether or not the temporary chord route d_root determined by the determining unit 16 is the same as a route that is 10 semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S716, and if not, the process proceeds to step S721.
[0055]
In step S716, it is checked whether or not there is a pedal key-on event generated by pressing the foot keyboard. If there is a pedal key-on event, the process proceeds to step S718, and if not, the process proceeds to step S717. In step S717, a route that is a semitone higher than the true chord route c_root detected last time is set as the true chord route o_root. Then, diminished is set to the true code type o_type. Then, the true base route o_bs_root is set to no base route. Thereafter, the process ends.
[0056]
In step S718, a key number (pitch) corresponding to the pedal key-on event is acquired, and a remainder obtained by dividing the key number by 12 is set as a key number. That is, the key number is stored as a pitch name having a value of 0 to 11 in one octave, and is set as the base route p_root. Next, in step S719, it is checked whether or not the base route p_root is the same as the route that is semitone higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S721, and if not, the process proceeds to step S720. In step S720, a route that is a semitone higher than the true chord route c_root detected last time is set as the chord route chk_root. Then, the code type chk_type is set to diminished. Then, the base route p_root pressed this time is set to the base route chk_bs_root. Thereafter, the process proceeds to step S721.
[0057]
In step S721, the determination unit 25 of FIG. 2 performs conversion using the conversion table 24, and determines the presence / absence of the code route t_root, the code type t_type, and the base route. As shown in FIG. 2, the determining unit 25 performs the conversion according to the code determined by the determining unit 16, and does not use the code root chk_root, the code type chk_type, and the base root chk_bs_root.
[0058]
In step S722, it is checked whether or not the code root chk_root is an initial value (0xff). If it is the initial value, the process proceeds to step S726, and if it is not the initial value, the process proceeds to step S723. In step S723, it is checked whether both code types t_type and chk_type are augments. If both are augments, the process proceeds to step S725; otherwise, the process proceeds to step S724. In step S724, it is checked whether both code types t_type and chk_type are diminished. If both are diminished, the process proceeds to step S725; otherwise, the process proceeds to step S726. In step S725, the code root chk_root is set to the true code root o_root. Then, the code type chk_type (augment or diminished) is set to the true code type o_type. Then, the base route chk_bs_root is set to the true base route o_bs_root. Thereafter, the process ends.
[0059]
In step S726, the code root t_root is set to the true code root o_root, and the code type t_type is set to the true code type o_type. Next, in step S727, it is checked whether or not it is determined that there is a base route by the conversion in step S721. If there is a base route, the process proceeds to step S729, and if there is no base route, the process proceeds to step S728. In step S728, the true base route o_bs_root is set to no base route. In step S729, the base route p_root by key depression is set to the true base route o_bs_root. Thus, the process ends.
[0060]
As described above, the true code root o_root, the true code type o_type, and the true base root o_bs_root are determined according to the conversion table of FIG. This code is set to the code CCHD after 400 ms, for example, according to the processing of FIGS. When the next code is detected, this code CCHD is processed as a true code detected last time. Specific examples will be described below.
[0061]
(1) A case where the previously detected code is C and this time the key is pressed on the lower keyboard will be described. So # Domi can be any of Caug, Eaug and G # aug. The determining means 16 in FIG. 2 determines G # aug because the lowest sound of the sound #Domi is G #. In step S702, it is determined that the code type d_type is an augment. In step S705, it is determined that the court route d_root (= G #) is the same as the route that is eight semitones higher than the previous chord route c_root (= C). In step S707, Caug is determined as the true code. Thereby, an appropriate chord progression of C → Caug is detected.
[0062]
(2) The case where the code detected last time is F and the key is pressed on the lower keyboard this time will be described. The dome file #ra can be any of Cdim, E ♭ dim, F # dim, and Adim. The determining means 16 in FIG. 2 determines Cdim from the lowest sound of the dome fan #ra. In step S711, it is determined that the code type d_type is diminished. In step S714, it is determined that the route is the same as the route that is seven semitones higher than the court route d_root (= C) and the previous chord route c_root (= F). In step S717, F # dim is determined as the true code. Thereby, an appropriate chord progression of F → F # dim is detected.
[0063]
(3) The case where the previously detected code is C, and the current key is pressed on the lower keyboard and the key is pressed on the foot keyboard will be described. So # Domi can be any of Caug, Eaug and G # aug. The determining means 16 in FIG. 2 determines G # aug because the lowest sound of the sound #Domi is G #. In step S702, it is determined that the code type d_type is an augment. In step S705, it is determined that the court route d_root (= G #) is the same as the route that is eight semitones higher than the previous chord route c_root (= C). In step S710, Caug / E is determined as the code. Next, in step S721, the determination unit 25 in FIG. 2 determines Eaug (pattern 214 in FIG. 4) based on G # aug / E. In step S723, it is determined that both code types are augments. In step S725, Caug / E is determined as the true code. Thereby, an appropriate chord progression of C → Caug / E is detected. In both the conversions in step S710 and step S721, when an augment is detected, it may be determined as an augment, so the conversion result in step S710 is preferentially adopted.
[0064]
(4) A case where the previously detected code is C, and this time the domino key is pressed with the lower keyboard and the key is pressed with the foot keyboard will be described. Domiso # can be any of Caug, Eaug, and G # aug. The determining means 16 in FIG. 2 determines Caug because the lowest tone of Domiso # is C. In step S702, it is determined that the code type d_type is an augment. In step S703, it is determined that the court route d_root (= C) and the previous code route c_root (= C) are the same. In step S710, Caug / A is determined as the code. Next, in step S721, the determination unit 25 in FIG. 2 determines AmM7 (pattern 215 in FIG. 4) based on Caug / A. In step S723, it is determined that both code types are not augments. In steps S726 to S728, AmM7 is determined as the true code. Thereby, suitable code detection of AmM7 is performed. If an augment is detected in step S710 and not an augment in step S721, it means that the augment is inappropriate, and the conversion result in step S721 is adopted.
[0065]
FIG. 11 illustrates chord conversion when the performer's performance is cliche. Cliche refers to an idiomatic line where the same chord is added decoratively to a continuous part, and is one of the techniques for composition / arrangement, and does not change the chord itself. A smooth line with semitones or full sounds is set in order to escape from boredom due to the continuation of the same chord.
[0066]
The code type 801 is a true code type determined last time. The code 802 is a temporary code determined by the determination unit 16 this time, and includes a code route 811, a code type 812, and a base route 813. A chord root 811 indicates a semitone value obtained by subtracting the previous true chord root from the current temporary chord root. The code 803 is a true code determined by this conversion, and includes a code route 821, a code type 822, and a base route 823. The chord root 821 indicates a semitone unit value to be added to the previous true chord root.
[0067]
First, the case of the cliché pattern 831 will be described. This is processing when the true code type determined last time is m # 5. The temporary chord type 812 detected this time is diminished, the temporary chord route 811 detected this time is 9 semitones higher than the true chord route detected last time, and the base route 813 detected this time is the true code detected last time. Is the same as the previous true code route, the current true code type 822 is set to m6, and the current base route 823 is set to have no base route. For example, an appropriate cliché of Dm # 5 → Dm6 can be detected, and inappropriate code detection of Dm # 5 → Ddim can be eliminated. However, in cases other than cliché, it is appropriate to detect Ddim. Dm6 and Ddim have the same constituent sound, but an appropriate chord can be selected by referring to the previous chord.
[0068]
Next, the case of the cliché pattern 832 will be described. This is processing when the last determined true code type is minor. The temporary chord type 812 detected this time is major, the temporary chord route 811 detected this time is eight semitones higher than the true chord route detected last time, and the base route 813 detected this time is the true chord detected last time. Is the same as the previous true code route, the current true code type 822 is set to m # 5, and the current base route 823 is set to have no base route. To do. For example, an appropriate cliché of Dm → Dm # 5 can be detected, and inappropriate code detection of Dm → B ♭ / D can be eliminated. However, in cases other than cliché, it is appropriate to detect B ♭ / D. Dm # 5 and B ♭ / D have the same constituent sound, but an appropriate chord can be selected by referring to the previous chord.
[0069]
Next, the case of the cliché pattern 833 will be described. This is processing when the last determined true code type is minor. The temporary code type 812 detected this time is a minor, the temporary code route 811 detected this time is the same as the true code route detected last time, and the base route 813 detected this time is the true code detected last time. When the current root route is the same or semitone higher, the current true chord route 821 is made the same as the previous true chord route, the current true chord type 822 is made minor, and the current base route 823 is the base route (this time To the base root of the sound of the foot keyboard. For example, an appropriate cliché of Am / G → Am / F # can be detected, and inappropriate code detection of Am / G → F # m7-5 can be eliminated. However, in cases other than cliché, it is appropriate to detect F # m7 ♭ 5. Am / F # and F # m7 ♭ 5 have the same constituent sound, but an appropriate chord can be selected by referring to the previous chord.
[0070]
Also in the case of cliché, the above-described processes of FIGS. 6 to 8 are performed. The cliché code detection processing procedure will be described below. 12 and 13 are flowcharts showing cliché code detection processing after the code is determined by the determination means 16 of FIG.
[0071]
First, in step S901, it is checked whether or not there is a pedal key on event generated by a key depression operation on the foot keyboard. If there is a pedal key-on event, the process proceeds to step S902, and if not, the process proceeds to step S918. In step S902, it is checked whether or not the temporary code type d_type determined by the determination unit 16 in FIG. 2 is major. If it is major, the process proceeds to step S903, and if it is not major, the process proceeds to step S907. In step S903, it is checked whether or not the temporary chord route d_root determined by the determining means 16 in FIG. 2 is the same as a route that is eight semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S904, and if they are different, the process proceeds to step S907. In step S904, it is checked whether or not the last detected true code type c_type is minor. If it is minor, the process proceeds to step S905, and if it is not minor, the process proceeds to step S907. In step S905, it is checked whether the base route d_bass, which is the key number in the pedal key-on event (step S901), is the same as the previous true chord route c_root. If they are the same, the process proceeds to step S906, and if they are different, the process proceeds to step S907. In step S906, the previous true code root c_root is set to the current true code root o_root. Then, m # 5 is set to the true code type o_type of this time. Then, no base route is set to the true base route o_bs_root of this time. This process is the process of the cliché pattern 832 in FIG. Thereafter, the process ends.
[0072]
In step S907, it is checked whether or not the temporary code type d_type determined by the determining unit 16 in FIG. 2 is diminished. If diminished, the process proceeds to step S908, and if not diminished, the process proceeds to step S912. In step S908, it is checked whether or not the temporary chord route d_root determined by the determining unit 16 in FIG. 2 is the same as a route 9 semitones higher than the true chord route c_root detected last time. If they are the same, the process proceeds to step S909, and if they are different, the process proceeds to step S912. In step S909, it is checked whether or not the true code type c_type detected last time is m # 5. If it is m # 5, the process proceeds to step S910, and if it is not m # 5, the process proceeds to step S912. In step S910, it is checked whether the base route d_bass, which is the key number in the pedal key-on event (step S901), is the same as the previous true chord route c_root. If they are the same, the process proceeds to step S911, and if they are different, the process proceeds to step S912. In step S911, the previous true code root c_root is set to the current true code root o_root. Then, m6 is set to the current true code type o_type. Then, no base route is set to the true base route o_bs_root of this time. This process is a process of the cliché pattern 831 in FIG. Thereafter, the process ends.
[0073]
In step S912, it is checked whether or not the temporary code type d_type determined by the determining unit 16 in FIG. 2 is minor. If it is minor, the process proceeds to step S913. If it is not minor, the process proceeds to step S918. In step S913, it is checked whether or not the temporary code route d_root determined by the determination unit 16 in FIG. 2 is the same as the true code route c_root detected last time. If they are the same, the process proceeds to step S914, and if they are different, the process proceeds to step S918. In step S914, it is checked whether or not the last detected true code type c_type is minor. If it is minor, the process proceeds to step S915. If it is not minor, the process proceeds to step S918. In step S915, it is checked whether the base route d_bass, which is the key number in the pedal key-on event (step S901), is the same as the previous true base route c_bass. If they are the same, the process proceeds to step S917, and if they are different, the process proceeds to step S916. In step S916, it is checked whether or not the base route d_bass, which is the key number in the pedal key-on event (step S901), is the same as a route that is a semitone higher than the previous true base route c_bass. If they are the same, the process proceeds to step S917, and if they are different, the process proceeds to step S918. In step S917, the previous true code root c_root is set to the current true code root o_root. Then, a minor is set to the true code type o_type of this time. Then, the base route d_bass for the current key depression is set to the current true base route o_bs_root. This process is the process of the cliché pattern 833 in FIG. Thereafter, the process ends.
[0074]
The processes in steps S918 to S922 are general code detection processes other than cliches, augments, and diminisheds, and are the same as the processes in FIG. In step S918, the determination unit 25 of FIG. 2 performs conversion using the conversion table 24, and determines the presence / absence of the code route t_root, the code type t_type, and the base route. In step S919, the code root t_root is set to the true code root o_root, and the code type t_type is set to the true code type o_type. Next, in step S920, it is checked whether or not it is determined that there is a base route by the conversion in step S918. If there is a base route, the process proceeds to step S922, and if there is no base route, the process proceeds to step S921. In step S921, no base route is set for the true base route o_bs_root. In step S922, the key route base route d_bass is set to the true base route o_bs_root. Thus, the process ends.
[0075]
As described above, the true code root o_root, the true code type o_type, and the true base root o_bs_root are determined according to the conversion table of FIG. This code is set to the code CCHD after 400 ms, for example, according to the processing of FIGS. When the next code is detected, this code CCHD is processed as a true code detected last time.
[0076]
According to this embodiment, by detecting a code according to the code detected last time, an appropriate cliché code can be detected. The code detection process described above may be configured by hardware or software. An example using the code detection program software will be described below.
[0077]
FIG. 14 is a block diagram illustrating a hardware configuration example of the electronic musical instrument according to the present embodiment. A sound source (TG) 32, CPU 33, panel switch 34, keyboard 35, ROM 36, RAM 37, and D / A converter 38 are connected to the bus 31. The CPU 33 can obtain time information from the timer 30 and perform timer interrupt processing (FIG. 8).
[0078]
The CPU 33 performs various calculations or processes, and executes the above-described code detection process in accordance with the computer program stored in the ROM 36 or the RAM 37. The RAM 37 is used as a working area for the CPU 33. The panel switch 34 has controls such as a style number switch 3 (FIG. 1) for determining an automatic accompaniment style number.
[0079]
The keyboard 35 includes a hand keyboard and a foot keyboard 35c including an upper keyboard 35a and a lower keyboard 35b, and includes a plurality of keys that can be pressed and released. When the keyboard 35 is depressed, a key-on event including velocity (key-pressing speed) and key number (pitch) is transmitted to the CPU 33, and when the keyboard 35 is released, a key-off event is transmitted to the CPU 33.
[0080]
The sound source 32 generates a musical tone signal in accordance with the operation of the keyboard 35 or the automatic accompaniment data in the ROM 36. The D / A converter 38 converts the digital musical tone signal generated by the sound source 32 into an analog format and outputs it to the amplifier 39. The amplifier 39 amplifies the musical sound signal, and the musical sound is generated by the speaker 40.
[0081]
According to the present embodiment, the first chord detector (determination means 16) detects the first chord root and the first chord type in accordance with the operation of the hand keyboard. The second chord detection unit (FIG. 5 or FIG. 11) determines the second chord root according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. The second code type and the presence / absence of the base route are detected.
[0082]
Since the current chord is detected according to the chord detected last time as well as the operation of the keyboard, the chord intended by the performer according to the performance flow can be detected. Specifically, the chord root intended by the performer can be selected in the augment and diminished, and the chord intended by the performer can be selected in the cliché.
[0083]
This embodiment can be realized by a computer executing a program. Also, means for supplying a program to a computer, for example, a computer-readable recording medium such as a CD-ROM recording such a program, or a transmission medium such as the Internet for transmitting such a program is also applied as an embodiment of the present invention. Can do. A program product such as a computer-readable recording medium in which the above program is recorded can also be applied as an embodiment of the present invention. The above program, recording medium, transmission medium, and program product are included in the scope of the present invention. As the recording medium, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
[0084]
Each of the above-described embodiments is merely an example of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
[0085]
【The invention's effect】
As described above, since the current chord is detected not only according to the operation of the performance keyboard but also according to the chord detected last time, the chord intended by the performer according to the performance flow can be detected.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a schematic configuration example of an electronic musical instrument according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of code determination processing means.
FIG. 3 is a diagram showing an example of the contents of a part of a first conversion table.
FIG. 4 is a diagram showing an example of the contents of a part of a second conversion table.
FIG. 5 is a diagram showing an augmentation and diminished chord root conversion;
FIG. 6 is a flowchart showing an initialization process.
FIG. 7 is a flowchart showing processing performed after code detection.
FIG. 8 is a flowchart showing timer interrupt processing.
FIG. 9 is a flowchart showing an augment and diminished code detection process;
FIG. 10 is a flowchart showing an augment and diminished code detection process;
FIG. 11 is a diagram showing cliché code conversion;
FIG. 12 is a flowchart showing cliché code detection processing;
FIG. 13 is a flowchart showing cliché code detection processing;
FIG. 14 is a diagram illustrating a hardware configuration example of an electronic musical instrument.
[Explanation of symbols]
1 Lower keyboard
2 foot keyboard
3 Style number switch
4 Code decision processing means
5 Automatic accompaniment pronunciation processing means
30 timer
31 bus
32 sound sources
33 CPU
34 Panel switch
35 keyboard
35a Upper keyboard
35b Lower keyboard
35c foot keyboard
36 ROM
37 RAM
38 D / A converter
39 amplifier
40 Speaker

Claims (20)

手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤と、
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出部と、
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出部と
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、
前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定部と
を有する電子楽器のコード検出装置。
A performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation;
A first chord detector for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
The presence or absence of the second chord root, the second chord type and the base root is detected according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detector that
Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard And
When both the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. An apparatus for detecting a chord of an electronic musical instrument, comprising: a determination unit adopting a third chord type ;
前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであるときには、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、前回検出されたコードとは異なるコードを決定する請求項1記載の電子楽器のコード検出装置。When the first chord type detected this time is an augment, the second chord detector detects the first chord root, the first chord type, the operation of the foot keyboard, and the previous detection. has been in accordance with the code, the code detecting device for an electronic musical instrument Motomeko 1 wherein that determine a different code from the code was last detected. 前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであるときには、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、前回検出されたコードとは異なる第2のコードルートを決定する請求項2記載の電子楽器のコード検出装置。When the first chord type detected this time is an augment, the second chord detector detects the first chord root, the first chord type, the operation of the foot keyboard, and the previous detection. has been in accordance with the code, the code detecting device for an electronic musical instrument Motomeko 2 wherein that determine the different second chord root and code previously detected. 前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであり、今回検出された第1のコードルートが前回検出された第2のコードルートと同じか、4半音又は8半音高いときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをオーギュメントにする請求項3記載の電子楽器のコード検出装置。  In the second chord detection unit, the first chord type detected this time is an augment, and the first chord route detected this time is the same as the second chord route detected last time, four semitones or 4. The chord detection apparatus for an electronic musical instrument according to claim 3, wherein when the pitch is eight semitones higher, the current second chord root is made the same as the previous second chord root and the current second chord type is an augment. 手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤と、A performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation;
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出部と、A first chord detector for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出部と、The presence or absence of the second chord root, the second chord type and the base root is detected according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detector that
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard And
前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定部とWhen both the second code type and the third code type are diminished, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. A decision unit adopting the code type 3
を有する電子楽器のコード検出装置。A code detection device for an electronic musical instrument.
前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであるときには、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、前回検出されたコードとは異なるコードを決定する請求項記載の電子楽器のコード検出装置。When the first chord type detected this time is diminished, the second chord detector detects the first chord root, the first chord type, the operation of the foot keyboard, and the previous chord detected. depending on the code, the code detecting device for an electronic musical instrument Motomeko 5 wherein that determine a different code from the code was last detected. 前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであるときには、前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、前回検出されたコードとは異なる第2のコードルートを決定する請求項6記載の電子楽器のコード検出装置。When the first chord type detected this time is diminished, the second chord detector detects the first chord root, the first chord type, the operation of the foot keyboard, and the previous chord detected. depending on the code, the code detecting device for an electronic musical instrument Motomeko 6 wherein that determine the different second chord root and code previously detected. 前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前回検出された第2のコードルートより1半音、4半音、7半音又は10半音高いときには、今回の第2のコードルートを前回の第2のコードルートに半音加算したコードルートにし、今回の第2のコードタイプをディミニッシュにする請求項7記載の電子楽器のコード検出装置。  In the second chord detection unit, the first chord type detected this time is diminished, and the first chord root detected this time is one semitone, four semitones, 7 semitones from the second chord root detected last time. 8. The chord of the electronic musical instrument according to claim 7, wherein when the number of semitones or ten semitones is higher, the current second chord root is made a chord root obtained by adding a semitone to the previous second chord root, and the current second chord type is diminished. Detection device. 前記第2のコード検出部は、前回検出された第2のコードルート及び第2のコードタイプと、今回検出された第1のコードルート及び第1のコードタイプとの関係がクリシェであると判断された場合には、前回検出された第2のコードルート及び第2のコードタイプに応じて、今回の第2のコードルート及び/又は第2のコードタイプを決定する請求項記載の電子楽器のコード検出装置。The second code detection unit determines that the relationship between the second code route and the second code type detected last time and the first code route and the first code type detected this time is cliché. is the case was in accordance with the second chord root and second code type which is previously detected, this second chord root and / or electronic musical instrument according to claim 5, wherein determining the second code type Code detection device. 前記第2のコード検出部は、前回検出された第2のコードルート、第2のコードタイプ及びベースルートの有無と、今回検出された第1のコードルート、第1のコードタイプ及びベースルートの有無との関係がクリシェであると判断された場合には、前回検出された第2のコードルート、第2のコードタイプ及びベースルートの有無に応じて、今回の第2のコードルート、第2のコードタイプ及び/又はベースルートの有無を決定する請求項記載の電子楽器のコード検出装置。The second code detection unit includes the presence / absence of the second code route, the second code type, and the base route detected last time, and the first code route, the first code type, and the base route detected this time. If it is determined that the relationship with the presence / absence is cliché, the second code route, second 6. A chord detection apparatus for an electronic musical instrument according to claim 5 , wherein the chord type and / or presence / absence of a base route is determined. 前記第2のコード検出部は、前回検出された第2のコードタイプがm♯5であり、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前記検出された第2のコードルートより9半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、前回検出された第2のコードルート及び第2のコートタイプに応じて、今回の第2のコードタイプを決定する請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is m # 5, the first code type detected this time is diminished, and the first code route detected this time is When the detected base chord is 9 semitones higher than the detected second chord route and the same as the previously detected second chord route, it depends on the previously detected second chord route and the second coat type. The chord detection apparatus for an electronic musical instrument according to claim 5 , wherein the second chord type for this time is determined. 前記第2のコード検出部は、前回検出された第2のコードタイプがm♯5であり、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前記検出された第2のコードルートより9半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをm6にし、ベースルートを無しにする請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is m # 5, the first code type detected this time is diminished, and the first code route detected this time is When the detected base chord is 9 semitones higher than the detected second chord root and the same as the previously detected second chord root, the current second chord root is the same as the previous second chord root. 6. The chord detection apparatus for an electronic musical instrument according to claim 5 , wherein the current second chord type is set to m6 and the base route is omitted. 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがメジャーであり、今回検出された第1のコードルートが前記検出された第2のコードルートより8半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、前回検出された第2のコードルート及び第2のコートタイプに応じて、今回の第2のコードルート及び第2のコードタイプを決定する請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is minor, the first code type detected this time is major, and the first code route detected this time is detected. When the base route detected this time is the same as the second chord route detected last time, according to the second chord type and the second code type detected last time, 6. The chord detection apparatus for an electronic musical instrument according to claim 5, wherein the second chord root and the second chord type are determined. 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがメジャーであり、今回検出された第1のコードルートが前記検出された第2のコードルートより8半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをm♯5にし、ベースルートを無しにする請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is minor, the first code type detected this time is major, and the first code route detected this time is detected. When the base route detected this time is eight semitones higher than the second chord route and the second chord route detected last time, the second chord route is made the same as the previous second chord route, 6. The chord detection apparatus for an electronic musical instrument according to claim 5 , wherein the second chord type this time is set to m # 5 and the base route is omitted. 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがマイナーであり、今回検出された第1のコードルートが前記検出された第2のコードルートと同じであり、今回検出されたベースルートが前回検出されたベースルートと同じ又は半音高いときには、前回検出された第2のコードルート、第2のコートタイプ及びベースルートに応じて、今回の第2のコードルート、第2のコードタイプ及びベースルートの有無を決定する請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is minor, the first code type detected this time is minor, and the first code route detected this time is detected. When the base route detected this time is the same or semitone higher than the previously detected base route, the second chord route, the second coat type and the base route detected last time 6. The electronic musical instrument chord detection apparatus according to claim 5, wherein the presence / absence of the second chord root, the second chord type, and the base root is determined accordingly. 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがマイナーであり、今回検出された第1のコードルートが前記検出された第2のコードルートと同じであり、今回検出されたベースルートが前回検出されたベースルートと同じ又は半音高いときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをマイナーにし、ベースルートを有りにする請求項記載の電子楽器のコード検出装置。In the second code detection unit, the second code type detected last time is minor, the first code type detected this time is minor, and the first code route detected this time is detected. When the base route detected this time is the same or semitone higher than the previously detected base route, the current second chord route is made the same as the previous second chord route, 6. The chord detection apparatus for an electronic musical instrument according to claim 5 , wherein the second chord type is made minor and a base route is provided. 手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、
前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップと
を有する電子楽器のコード検出方法。
A method of detecting a chord of an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation,
A first chord detection step for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
The presence or absence of the second chord root, the second chord type and the base root is detected according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detection step to :
Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard Steps,
When both the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. A method for detecting a chord of an electronic musical instrument, comprising: a determination step adopting a third chord type .
手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、A method of detecting a chord of an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation,
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、A first chord detection step for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、The presence or absence of the second chord root, the second chord type and the base root is detected according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detection step to:
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard Steps,
前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとWhen both the second code type and the third code type are diminished, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. A decision step to adopt the code type 3;
を有する電子楽器のコード検出方法。A method for detecting a chord of an electronic musical instrument.
手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、
前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップと
をコンピュータに実行させるためのプログラム。
A code detection program for an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation,
A first chord detection step for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
The presence or absence of the second chord root, the second chord type and the base root is detected according to the detected first chord root, the first chord type, the operation of the foot keyboard, and the chord detected last time. A second code detection step to :
Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard Steps,
When both the second code type and the third code type are augments, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. A program for causing a computer to execute the determination step adopting the third code type .
手操作用の手鍵盤と足操作用の足鍵盤とを有する演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、A code detection program for an electronic musical instrument having a performance keyboard for performance operation having a hand keyboard for manual operation and a foot keyboard for foot operation,
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出ステップと、A first chord detection step for detecting a first chord root and a first chord type in response to an operation of the hand keyboard;
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前The detected first chord root, the first chord type, the operation of the foot keyboard, and the front 回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出ステップと、A second code detection step for detecting the presence or absence of a second code route, a second code type and a base route according to the code detected once;
前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出ステップと、Third chord detection for detecting presence / absence of a third chord root, a third chord type, and a base route according to the detected first chord root, first chord type, and operation of the foot keyboard Steps,
前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する決定ステップとWhen both the second code type and the third code type are diminished, the second code route and the second code type are adopted, and otherwise, the third code route and the third code type are adopted. A decision step to adopt the code type 3;
をコンピュータに実行させるためのプログラム。A program that causes a computer to execute.
JP2002255238A 2002-08-30 2002-08-30 Code detection device for electronic musical instrument, code detection method and program Expired - Fee Related JP4006301B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002255238A JP4006301B2 (en) 2002-08-30 2002-08-30 Code detection device for electronic musical instrument, code detection method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002255238A JP4006301B2 (en) 2002-08-30 2002-08-30 Code detection device for electronic musical instrument, code detection method and program

Publications (3)

Publication Number Publication Date
JP2004093927A JP2004093927A (en) 2004-03-25
JP2004093927A5 JP2004093927A5 (en) 2005-10-20
JP4006301B2 true JP4006301B2 (en) 2007-11-14

Family

ID=32060803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002255238A Expired - Fee Related JP4006301B2 (en) 2002-08-30 2002-08-30 Code detection device for electronic musical instrument, code detection method and program

Country Status (1)

Country Link
JP (1) JP4006301B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014235328A (en) * 2013-06-03 2014-12-15 株式会社河合楽器製作所 Code estimation detection device and code estimation detection program

Also Published As

Publication number Publication date
JP2004093927A (en) 2004-03-25

Similar Documents

Publication Publication Date Title
JP2011158855A (en) Automatic accompanying apparatus and automatic accompanying program
JP5293710B2 (en) Key judgment device and key judgment program
JPH0535273A (en) Automatic accompaniment device
JP6860077B2 (en) Musical tone data playback device and musical tone data playback method
JP4006301B2 (en) Code detection device for electronic musical instrument, code detection method and program
JP4237386B2 (en) Code detection device for electronic musical instrument, code detection method, and recording medium
JP4670686B2 (en) Code display device and program
JP6597553B2 (en) Harmony information generation apparatus, harmony information generation program, and harmony information generation method
JP2640992B2 (en) Pronunciation instruction device and pronunciation instruction method for electronic musical instrument
JP2004240254A (en) Electronic musical instrument
JP4090823B2 (en) Code detection device for electronic musical instrument, code detection method and program
JP2023043297A (en) Information processing unit, electronic musical instrument, tone row generation method and program
JP4174961B2 (en) Performance device, performance method and information recording medium
JP2580950B2 (en) Automatic scale generator
JP5066965B2 (en) Automatic accompaniment device and automatic accompaniment processing program
JP3265266B2 (en) Electronic musical instruments and their controls
JP4900233B2 (en) Automatic performance device
JP3434403B2 (en) Automatic accompaniment device for electronic musical instruments
JPH056170A (en) Electronic musical instrument
JP3565107B2 (en) Melody generation device, chord progression data generation device, and recording medium
JP2000172253A (en) Electronic musical instrument
JP3556997B2 (en) Electronic music generator
JP4470895B2 (en) Code display device and program
JP5347289B2 (en) Performance device and performance processing program
JP5104293B2 (en) Automatic performance device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070827

R150 Certificate of patent or registration of utility model

Ref document number: 4006301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100831

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110831

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120831

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130831

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees