JP2004093927A - 電子楽器のコード検出装置、コード検出方法及びプログラム - Google Patents
電子楽器のコード検出装置、コード検出方法及びプログラム Download PDFInfo
- Publication number
- JP2004093927A JP2004093927A JP2002255238A JP2002255238A JP2004093927A JP 2004093927 A JP2004093927 A JP 2004093927A JP 2002255238 A JP2002255238 A JP 2002255238A JP 2002255238 A JP2002255238 A JP 2002255238A JP 2004093927 A JP2004093927 A JP 2004093927A
- Authority
- JP
- Japan
- Prior art keywords
- chord
- root
- detected
- type
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】演奏操作用の演奏鍵盤と、演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出手段とを有する電子楽器のコード検出装置が提供される。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、電子楽器のコード検出技術に関し、特に鍵盤操作に応じてコード検出する技術に関する。
【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】
【課題を解決するための手段】
本発明の一観点によれば、演奏操作用の演奏鍵盤と、演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出手段とを有する電子楽器のコード検出装置が提供される。
本発明の他の観点によれば、演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出ステップを有する電子楽器のコード検出方法が提供される。
本発明のさらに他の観点によれば、演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出手順をコンピュータに実行させるためのプログラムが提供される。
【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 スピーカ
Claims (22)
- 演奏操作用の演奏鍵盤と、
前記演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出手段と
を有する電子楽器のコード検出装置。 - 前記演奏鍵盤は、手操作用の手鍵盤と足操作用の足鍵盤とを有し、
前記コード検出手段は、前記手鍵盤の操作、前記足鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出する請求項1記載の電子楽器のコード検出装置。 - 前記コード検出手段は、コードルート及びコードタイプを検出すると共に、ベースルートの有無を検出する請求項2記載の電子楽器のコード検出装置。
- 前記コード検出手段は、
前記手鍵盤の操作に応じて、第1のコードルート及び第1のコードタイプを検出する第1のコード検出部と、
前記検出された第1のコードルート、第1のコードタイプ、前記足鍵盤の操作、及び前回検出されたコードに応じて、第2のコードルート、第2のコードタイプ及びベースルートの有無を検出する第2のコード検出部とを有する請求項3記載の電子楽器のコード検出装置。 - 前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであるときには、前回検出されたコードに応じて異なるコードを決定することがある請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであるときには、前回検出されたコードに応じて異なる第2のコードルートを決定することがある請求項5記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、今回検出された第1のコードタイプがオーギュメントであり、今回検出された第1のコードルートが前回検出された第2のコードルートと同じか、4半音又は8半音高いときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをオーギュメントにする請求項6記載の電子楽器のコード検出装置。
- 前記コード検出手段は、さらに、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、
前記第2のコードタイプ及び前記第3のコードタイプの両方がオーギュメントであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する請求項7記載の電子楽器のコード検出装置。 - 前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであるときには、前回検出されたコードに応じて異なるコードを決定することがある請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであるときには、前回検出されたコードに応じて異なる第2のコードルートを決定することがある請求項9記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前回検出された第2のコードルートより1半音、4半音、7半音又は10半音高いときには、今回の第2のコードルートを前回の第2のコードルートに半音加算したコードルートにし、今回の第2のコードタイプをディミニッシュにする請求項10記載の電子楽器のコード検出装置。
- 前記コード検出手段は、さらに、前記検出された第1のコードルート、第1のコードタイプ、及び前記足鍵盤の操作に応じて、第3のコードルート、第3のコードタイプ及びベースルートの有無を検出する第3のコード検出部と、
前記第2のコードタイプ及び前記第3のコードタイプの両方がディミニッシュであるときには前記第2のコードルート及び前記第2のコードタイプを採用し、それ以外のときには前記第3のコードルート及び前記第3のコードタイプを採用する請求項11記載の電子楽器のコード検出装置。 - 前記第2のコード検出部は、前回検出された第2のコードルート及び第2のコードタイプと、今回検出された第1のコードルート及び第1のコードタイプとの関係がクリシェであるときには、前回検出された第2のコードルート及び第2のコードタイプに応じて、今回の第2のコードルート及び/又は第2のコードタイプを決定する請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードルート、第2のコードタイプ及びベースルートの有無と、今回検出された第1のコードルート、第1のコードタイプ及びベースルートの有無との関係がクリシェであるときには、前回検出された第2のコードルート、第2のコードタイプ及びベースルートの有無に応じて、今回の第2のコードルート、第2のコードタイプ及び/又はベースルートの有無を決定する請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがm♯5であり、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前記検出された第2のコードルートより9半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、前回検出された第2のコードルート及び第2のコートタイプに応じて、今回の第2のコードタイプを決定する請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがm♯5であり、今回検出された第1のコードタイプがディミニッシュであり、今回検出された第1のコードルートが前記検出された第2のコードルートより9半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをm6にし、ベースルートを無しにする請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがメジャーであり、今回検出された第1のコードルートが前記検出された第2のコードルートより8半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、前回検出された第2のコードルート及び第2のコートタイプに応じて、今回の第2のコードルート及び第2のコードタイプを決定する請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがメジャーであり、今回検出された第1のコードルートが前記検出された第2のコードルートより8半音高く、今回検出されたベースルートが前回検出された第2のコードルートと同じときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをm♯5にし、ベースルートを無しにする請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがマイナーであり、今回検出された第1のコードルートが前記検出された第2のコードルートと同じであり、今回検出されたベースルートが前回検出されたベースルートと同じ又は半音高いときには、前回検出された第2のコードルート、第2のコートタイプ及びベースルートに応じて、今回の第2のコードルート、第2のコードタイプ及びベースルートの有無を決定する請求項4記載の電子楽器のコード検出装置。
- 前記第2のコード検出部は、前回検出された第2のコードタイプがマイナーであり、今回検出された第1のコードタイプがマイナーであり、今回検出された第1のコードルートが前記検出された第2のコードルートと同じであり、今回検出されたベースルートが前回検出されたベースルートと同じ又は半音高いときには、今回の第2のコードルートを前回の第2のコードルートと同じにし、今回の第2のコードタイプをマイナーにし、ベースルートを有りにする請求項4記載の電子楽器のコード検出装置。
- 演奏操作用の演奏鍵盤を有する電子楽器のコード検出方法であって、
前記演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出ステップを有する電子楽器のコード検出方法。 - 演奏操作用の演奏鍵盤を有する電子楽器のコード検出プログラムであって、
前記演奏鍵盤の操作及び前回検出されたコードに応じて今回のコードを検出するコード検出手順をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255238A JP4006301B2 (ja) | 2002-08-30 | 2002-08-30 | 電子楽器のコード検出装置、コード検出方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002255238A JP4006301B2 (ja) | 2002-08-30 | 2002-08-30 | 電子楽器のコード検出装置、コード検出方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004093927A true JP2004093927A (ja) | 2004-03-25 |
JP2004093927A5 JP2004093927A5 (ja) | 2005-10-20 |
JP4006301B2 JP4006301B2 (ja) | 2007-11-14 |
Family
ID=32060803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002255238A Expired - Fee Related JP4006301B2 (ja) | 2002-08-30 | 2002-08-30 | 電子楽器のコード検出装置、コード検出方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4006301B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014235328A (ja) * | 2013-06-03 | 2014-12-15 | 株式会社河合楽器製作所 | コード推定検出装置及びコード推定検出プログラム |
-
2002
- 2002-08-30 JP JP2002255238A patent/JP4006301B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014235328A (ja) * | 2013-06-03 | 2014-12-15 | 株式会社河合楽器製作所 | コード推定検出装置及びコード推定検出プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4006301B2 (ja) | 2007-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6395970B2 (en) | Automatic music composing apparatus that composes melody reflecting motif | |
JP5168297B2 (ja) | 自動伴奏装置および自動伴奏プログラム | |
JP5293710B2 (ja) | 調判定装置および調判定プログラム | |
JP3906997B2 (ja) | 演奏補助装置、入力音変換装置及びそれらのプログラム | |
JPH0535273A (ja) | 自動伴奏装置 | |
JP6860077B2 (ja) | 楽音データ再生装置および楽音データ再生方法 | |
CN108573689B (zh) | 电子乐器、乐音发生方法及记录介质 | |
JP3599686B2 (ja) | カラオケ歌唱時に声域の限界ピッチを検出するカラオケ装置 | |
JP4006301B2 (ja) | 電子楽器のコード検出装置、コード検出方法及びプログラム | |
JP4670686B2 (ja) | コード表示装置及びプログラム | |
JP4180548B2 (ja) | 声域告知機能付きカラオケ装置 | |
JP3752859B2 (ja) | 自動作曲装置と記録媒体 | |
JP4230324B2 (ja) | 電子楽器のコード検出装置、コード検出方法及びプログラム | |
JP5470728B2 (ja) | 演奏制御装置及び演奏制御処理のプログラム | |
JP2005128208A (ja) | 演奏再生装置及び演奏再生制御プログラム | |
JP2004240254A (ja) | 電子楽器 | |
JP2023043297A (ja) | 情報処理装置、電子楽器、音列生成方法及びプログラム | |
JP4090823B2 (ja) | 電子楽器のコード検出装置、コード検出方法及びプログラム | |
JP2580950B2 (ja) | 自動スケール発生装置 | |
JP3434403B2 (ja) | 電子楽器の自動伴奏装置 | |
JP3265266B2 (ja) | 電子楽器およびその操作子 | |
JP4900233B2 (ja) | 自動演奏装置 | |
JP3556997B2 (ja) | 電子楽曲発生装置 | |
JP5347289B2 (ja) | 演奏装置及び演奏処理のプログラム | |
JP5983624B6 (ja) | 発音割り当てのための装置及び方法 |
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 |