(57)【要約】      （修正有）【課題】音楽の進行に適合したコードの構成音を容易に演奏可能にする楽器を提供する。【解決手段】複数の操作子５０、５１、５２、５３と、音楽のコード進行を取得するコード進行取得手段２０ａと、操作子の順序を取得する操作子順序取得手段２０ｂと、操作子におけるコードと順序との対応関係が、コード進行におけるコードと順序との対応関係に一致するように、操作子にコードを割り当てるコード割当手段２０ｃと、操作子に対する操作に応じて割り当てられたコードの構成音を出力する出力手段２０ｄと、を備える。【選択図】図１
2016161806.tif 000002
【特許請求の範囲】
【請求項１】
複数の操作子と、
音楽のコード進行を取得するコード進行取得手段と、
複数の前記操作子の順序を取得する操作子順序取得手段と、
前記操作子におけるコードと順序との対応関係が、前記コード進行におけるコードと順序との対応関係に一致するように、前記操作子にコードを割り当てるコード割当手段と、
前記操作子に対する操作に応じて前記操作子に割り当てられたコードの構成音を出力する出力手段と、
を備える楽器。
【請求項２】
前記操作子は、
前記楽器に対して複数個並べて取り付けられており、
前記操作子順序取得手段は、
前記操作子が並べられた順序に応じて前記操作子の順序を取得する、
請求項１に記載の楽器。
【請求項３】
前記操作子は、
複数のユニットのそれぞれに対して複数個並べて取り付けられており、
前記操作子順序取得手段は、
前記ユニットの順序を前記操作子の順序として取得する、
請求項１に記載の楽器。
【請求項４】
コードが対応づけられた複数の操作子と、
音楽のコード進行を取得するコード進行取得手段と、
前記操作子におけるコードと順序との対応関係が、前記コード進行におけるコードと順序との対応関係に一致するように、前記操作子に順序を割り当てる順序割当手段と、
前記操作子に対する操作に応じて前記操作子に対応づけられたコードの構成音を出力する出力手段と、
を備える楽器。
【請求項５】
前記操作子は、
複数のユニットのそれぞれに対して複数個並べて取り付けられるとともに、前記ユニットにコードが対応づけられており、
前記出力手段は、
複数の前記ユニットのそれぞれに備えられている、
請求項４に記載の楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽器に関する。
【背景技術】
【０００２】
従来、既定のコードの構成音を容易に演奏可能にする楽器が知られている。例えば、特許文献１には、通常の鍵盤と異なる第２の鍵盤を備える楽器が開示されている。また、特許文献１には、第１の鍵盤とコード指定スイッチとの組み合わせによって決定される和音が第２の鍵盤上に配列される構成が開示されている。さらに、特許文献１には、同一のコード名の和音を構成する音が複数オクターブに渡って演奏できるように、音が第２の鍵盤上に配列される構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１−３０２３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術においては、利用者自身でコードを指定する必要があり、コードの構成音を演奏可能にするための作業が繁雑である。また、音楽の演奏に合わせてコードの構成音を演奏するためには、当該音楽のコードやコードの構成音についての知識が必要である。さらに、多くの音楽においては音楽の進行に合わせてコードが変化するため、単一のコードの構成音のみ演奏可能である構成では、音楽のコード進行に合わせてコードの構成音を順次演奏することができない。
本発明は、前記課題にかんがみてなされたもので、音楽の進行に適合したコードの構成音を容易に演奏可能にする技術の提供を目的とする。
【課題を解決するための手段】
【０００５】
上述の目的を達成するため、楽器は複数の操作子を備えており、操作子順序取得手段は、当該操作子の順序を取得する。また、コード進行取得手段は、音楽のコード進行を取得する。さらに、コード割当手段は、操作子におけるコードと順序との対応関係が、コード進行におけるコードと順序との対応関係に一致するように、操作子にコードを割り当てる。そして、出力手段は、操作子に対する操作に応じて操作子に割り当てられたコードの構成音を出力する。従って、音楽の進行過程において、利用者が操作子の順序通りに操作子を演奏すると、音楽のコードの構成音がコード進行に従った順序で出力される。以上の構成によれば、音楽の進行に適合したコードの構成音を容易に演奏可能である。
【図面の簡単な説明】
【０００６】
【図１】（１Ａ）は本発明の一実施形態にかかる楽器の模式図、（１Ｂ）は楽器のブロック図である。
【図２】割当処理を示すフローチャートである。
【図３】（３Ａ）は本発明の一実施形態にかかる楽器の模式図、（３Ｂ）は制御装置のブロック図である。
【図４】（４Ａ）は割当処理を示すフローチャートであり、（４Ｂ）は本発明の一実施形態にかかる楽器を構成するユニットの模式図である。
【発明を実施するための形態】
【０００７】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）楽器の構成：
（２）割当処理：
（３）第２実施形態：
（３−１）割当処理：
（４）他の実施形態：
【０００８】
（１）楽器の構成：
図１Ａは、本発明の一実施形態にかかる楽器１０を模式的に示す図である。本明細書においては、楽器１０を演奏する演奏者から見た方向を前後左右として説明する。楽器１０は、略直方体の筐体を備えており、筐体の一面に複数の白鍵および黒鍵からなる操作子５０とインターフェース６０とが取り付けられている。なお、通常のモードにおいて操作子５０は、既定の音高を指定するための操作子５０である。ただし、本実施形態においては、操作子５０にコードの構成音を割り当てることが可能であり、割り当てが行われると、操作子５０は、割り当てられたコードの構成音を指定するための操作子５０となる。
【０００９】
インターフェース６０は、利用者からの指示等を入力する入力部と、各種の情報（画像情報や音声情報、コードを示す情報）を表示する表示部とを含んでいる。図１Ａにおいては、楽器１０が備える入力部としての回転スイッチおよびボタンと表示部とが破線内に示されている。なお、表示部は複数箇所に設けられ、本実施形態においては、操作子５０の前方端の近傍に左右方向に延びる表示部６０ａが設けられている。
【００１０】
図１Ｂは、楽器１０において音声を出力するための構成を示すブロック図である。図１Ｂに示すように、楽器１０は、ＣＰＵ２０と不揮発性メモリ３０とＲＡＭ４０と操作子５０とインターフェース６０と音出力部７０とを備える。音出力部７０は、音声を出力するための回路およびスピーカーを備える（図１Ａには図示せず）。ＣＰＵ２０は、ＲＡＭ４０を一時記憶領域として利用して不揮発性メモリ３０に記録されたプログラムを実行可能である。
【００１１】
また、不揮発性メモリ３０には、予め図示しない音出力プログラムとコード割当プログラムとが記録されている。音出力プログラムは、楽器１０の起動とともに実行される。音出力プログラムが実行されると、ＣＰＵ２０は、音出力プログラムに従って、操作子５０に対する操作の有無を検出する。操作子５０に対する操作が行われると、ＣＰＵ２０は、操作された操作子５０に割り当てられた音を出力するための信号を生成する。そして、ＣＰＵ２０は、当該信号に従って音を出力する指示を音出力部７０に対して出力する。この結果、音出力部７０は、当該音を出力するためのアナログ波形信号を生成し、増幅してスピーカーから音を出力する。なお、操作子５０に割り当てられた音は、通常のモードでは既定の音高の音である。一方、操作子５０に対してコードの構成音が割り当てられた後には、操作子５０に対する操作に応じてコードの構成音が出力される。
【００１２】
なお、音出力プログラムにより、ＣＰＵ２０は、音情報（演奏内容を記録した音情報（ＭＩＤＩ情報等））が示す音を出力させることも可能である。すなわち、ＣＰＵ２０は、不揮発性メモリ３０等に記録された音情報を取得し、当該音情報が示す音を出力するための信号を生成する。そして、ＣＰＵ２０は、当該信号に従って音を出力する指示を音出力部７０に対して出力する。この結果、音出力部７０は、音情報が示す音楽を出力する。なお、本実施形態において、音情報には時系列で出力される音とともに時系列のコード進行を示す情報（時系列のコード名）が含まれている。
【００１３】
コード割当プログラムは、操作子５０に対してコードの構成音を割り当てる機能をＣＰＵ２０に実行させる。このためにコード割当プログラムは、コード進行取得部２０ａと操作子順序取得部２０ｂとコード割当部２０ｃとを備えている。
【００１４】
コード進行取得部２０ａは、音楽のコード進行を取得する機能をＣＰＵ２０に実行させるプログラムモジュールである。すなわち、ＣＰＵ２０は、コード進行取得部２０ａの処理により、音情報を参照し、コード進行を示す情報を取得する。これにより、例えば、順序１，２，３がコード名Ｃ，Ｆ，Ａｍである等のように、順序とコードとの対応関係が特定される。
【００１５】
操作子順序取得部２０ｂは、複数の操作子５０の順序を取得する機能をＣＰＵ２０に実行させるプログラムモジュールである。本実施形態においては、１個のコードが３個の構成音によって構成される。そこで、本実施形態においてＣＰＵ２０は、隣接する３個の操作子５０を１セットとして捉え、楽器１０における各セットの順序を取得する。各セットは３個の操作子で構成されていることから、各セットの順序を取得することは操作子の順序を取得することと等価である。
【００１６】
具体的には、操作子５０は、楽器１０に対して左右方向に並べて取り付けられている。また、本実施形態においては、左端から順に３個ずつ操作子５０が選択されることにより操作子５０のセットが構成される。さらに、本実施形態においては、左から右に向けて順序が増加するように各セットに順序が対応づけられる。例えば、図１Ａに示す操作子５１は１セットの操作子、操作子５２は１セットの操作子、操作子５３は１セットの操作子である。さらに、操作子５１は順序１、操作子５２は順序２、操作子５３は順序３である。むろん、コードを構成する構成音の数は他の数、例えば、４個等であってもよく、この場合、４個の操作子５０が１セットになる。また、セットになる操作子５０の数は利用者の指示等によって可変であってもよい。
【００１７】
いずれにしても、１セットとすべき操作子５０の数と順序の先頭とすべき操作子５０の位置（本例では左端）は予め決められている。そこで、ＣＰＵ２０は、操作子順序取得部２０ｂの処理により、１セットとすべき操作子５０の数と順序の先頭とすべき操作子５０の位置を特定する。そして、先頭とすべき操作子５０の位置に近い位置から順に各セットに含まれる操作子５０を特定し、各操作子５０に順序を対応づける。例えば、図１Ａに示す例であれば、ＣＰＵ２０は、左端に近い３個の操作子５１の順序を１として取得し、次に左端に近い３個の操作子５２の順序を２として取得する。この構成によれば、ＣＰＵ２０は、利用者が一見して明らかな順序を操作子５０の順序として取得することができる。
【００１８】
コード割当部２０ｃは、操作子５０にコードを割り当てる機能をＣＰＵ２０に実行させるプログラムモジュールである。具体的には、ＣＰＵ２０は、操作子５０のセット毎のコードと順序との対応関係が、コード進行におけるコードと順序との対応関係に一致するように、操作子５０にコードを割り当てる。すなわち、ＣＰＵ２０は、順序ｎ（ｎは正の整数）のコードを、順序ｎのセットに割り当てる。例えば、図１Ａに示す例において、コード進行がＣ，Ｆ，Ａｍである場合、順序１のセットである操作子５１にＣ、順序２のセットである操作子５２にＦ、順序３のセットである操作子５３にＡｍが割り当てられる。この結果、操作子５０の順序に従って操作子５０を操作した場合に、コード進行通りに音が出力されるように、コードが割り当てられたことになる。
【００１９】
出力部２０ｄは、音出力プログラムの一部を構成するプログラムモジュールである。ＣＰＵ２０は、出力部２０ｄにより、操作子５０に割り当てられたコードの構成音を出力する処理を実行する。本実施形態において、ＣＰＵ２０は、操作子５０のセットに割り当てられたコードのコード名に基づいて当該コードの構成音を特定する。本実施形態において、各コードの構成音は予め図示しないテーブルデータによって規定されている。テーブルデータは種々の態様で規定可能であるが、例えば、メジャーコードあるいはマイナーコードの場合には、コードの根音と、根音の３度上の音と、根音の５度上の音とからなる構成音がコード名に対応づけられた情報によって構成可能である。
【００２０】
ＣＰＵ２０は、ユニット内の操作子５０に対して、左から順に根音、３度上の音、５度上の音を割り当てる。例えば、順序１のセットである操作子５１にコード名Ｃが割り当てられた場合、ＣＰＵ２０は、最も左の操作子５１に根音Ｃ，中央の操作子５１にＥ，最も右の操作子５１にＧを割り当てる。なお、根音は、任意オクターブだけ離れた任意の音から選択可能であるが、予め決められた音高や利用者に指定された音高の根音が構成音とされれば良い。
【００２１】
なお、操作子５０に対してコードが割り当てられると、ＣＰＵ２０は、操作子５０に割り当てられたコードを表示部６０ａに表示する。すなわち、ＣＰＵ２０は、操作子５０に割り当てられたコード名を特定する。さらに、ＣＰＵ２０は、当該コードが割り当てられた操作子５０の位置を特定する。そして、ＣＰＵ２０は、コードのコード名を示す文字を割当先の操作子５０の近傍に表示するための制御信号を表示部６０ａに対して出力する。この結果、割当先の操作子５０の近傍の表示部６０ａに、当該操作子５０に割り当てられたコードのコード名を示す文字が表示される。この構成によれば、操作子５０に割り当てられたコードを利用者が容易に把握することができる。
【００２２】
以上のようにして操作子５０にコードが割り当てられた状態において、利用者が音情報に基づく音の出力を開始した場合を想定する。この場合、音楽の進行過程で利用者が操作子５０の順序通りに操作子５０を演奏すると、音楽のコード進行に合致した音が出力される。以上の構成によれば、音楽の進行に適合したコードの構成音を容易に演奏可能である。
【００２３】
（２）割当処理：
次に、ＣＰＵ２０が割当プログラムによって実行する処理を説明する。利用者は、インターフェース６０を利用し、操作子５０に対するコードの割当処理の開始を指示することができる。なお、当該指示において、利用者は、インターフェース６０を利用し、演奏対象となる音楽を指定する。例えば、不揮発性メモリ３０に対して複数の楽曲を示す複数の音情報が予め記録されている状態において、利用者がいずれかの楽曲を選択することにより音楽が指定される。
【００２４】
割当処理の開始指示が行われると、ＣＰＵ２０は、割当プログラムを実行し、図２に示す割当処理を実行する。割当処理において、ＣＰＵ２０は、コード進行取得部２０ａの処理により、音楽のコード進行を取得する（ステップＳ１００）。すなわち、ＣＰＵ２０は、利用者に指定された楽曲を特定する。そして、ＣＰＵ２０は、当該楽曲を示す音情報を参照し、コード進行を示す情報を取得する。
【００２５】
次に、ＣＰＵ２０は、変数ｎを１に初期化する（ステップＳ１０５）。次に、ＣＰＵ２０は、コード割当部２０ｃの処理により、ｎ番目のコードの構成音を特定する（ステップＳ１１０）。すなわち、ＣＰＵ２０は、ステップＳ１００で取得されたコード進行を参照し、ｎ番目のコードのコード名を特定する。また、ＣＰＵ２０は、コードの構成音を示すテーブルデータを参照し、当該コード名のコードを構成する構成音（例えば、根音と、根音の３度上の音と、根音の５度上の音）を特定する。
【００２６】
次に、ＣＰＵ２０は、操作子順序取得部２０ｂの処理により、ｎ番目の操作子を特定する（ステップＳ１１５）。本例では、コードの構成音が３個であるため、ＣＰＵ２０は、隣り合う３個の操作子５０を１セットとみなし、各操作子５０を複数のセットに分類する。そして、ｎ番目のセットをｎ番目の操作子として特定する。具体的には、ＣＰＵ２０は、左から３×ｎ−２個目、３×ｎ−１個目、３×ｎ個目の操作子５０をｎ番目のセットと見なす。そして、ＣＰＵ２０は、ｎ番目のセットを構成する３個の操作子５０をｎ番目の操作子として特定する。例えば、２番目の操作子は、左から４，５，６個目の操作子５０（図１Ａに示す操作子５２）である。
【００２７】
次に、ＣＰＵ２０は、コード割当部２０ｃの処理により、コードの構成音を操作子に割り当てる（ステップＳ１２０）。すなわち、ＣＰＵ２０は、ステップＳ１００で取得された構成音を、ステップＳ１１５で特定された操作子５０に割り当てる。具体的には、ＣＰＵ２０は、ステップＳ１１０で取得された根音を、ステップＳ１１５で特定された操作子５０の一番左の操作子５０に割り当てる。また、ＣＰＵ２０は、ステップＳ１１０で取得された根音の３度上の音を、ステップＳ１１５で特定された操作子５０の中央の操作子５０に割り当てる。
【００２８】
さらに、ＣＰＵ２０は、ステップＳ１１０で取得された根音の５度上の音を、ステップＳ１１５で特定された操作子５０の一番右の操作子５０に割り当てる。例えば、ｎ番目のコードのコード名がＣであり、ｎ番目の操作子が５１である場合、ＣＰＵ２０は、最も左の操作子５１に根音Ｃ，中央の操作子５１にＥ，最も右の操作子５１にＧを割り当てる。
【００２９】
次に、ＣＰＵ２０は、操作子に対応する位置にコード名を表示する（ステップＳ１２５）。具体的には、ＣＰＵ２０は、ステップＳ１１５で特定されたｎ番目の操作子５０の位置を特定する。また、ＣＰＵ２０は、当該位置にｎ番目のコードのコード名を表示するための制御信号をインターフェース６０に対して出力する。この結果、インターフェース６０の表示部６０ａは、ｎ番目の操作子５０に隣接する部位にコード名を表示する。この結果、操作子５０の近傍に位置する表示部６０ａに、操作子５０に割り当てられたコード名が表示された状態となる。なお、図１Ａにおいては、操作子５１にコード名Ｃ、操作子５２にコード名Ｆ、操作子５３にコード名Ａｍが割り当てられた場合の例を示している。
【００３０】
次に、ＣＰＵ２０は、変数ｎが最大値であったか否かを判定する（ステップＳ１３０）。最大値は、ステップＳ１００で取得されたコード進行におけるコードの数と、操作子５０に対して設定されたセットの最大値と、のいずれか小さい方の値である。なお、コード進行におけるコードの数が、操作子５０に対して設定されたセットの最大値を超えている場合、所定のタイミング（例えば、操作子５０において最も右のセットに割り当てられたコードまで音楽が進行した場合等）で、操作子５０に対する割り当てが行われていなかったコードを操作子５０に割り当てる処理を実行しても良い。
【００３１】
ステップＳ１３０において、変数ｎが最大値であったと判定されない場合、ＣＰＵ２０は、変数ｎをインクリメントし（ステップＳ１３５）、ステップＳ１１０以降の処理を繰り返す。一方、ステップＳ１３０において、変数ｎが最大値であったと判定された場合、ＣＰＵ２０は、割当処理を終了する。この状態においては、利用者がインターフェース６０等でＣＰＵ２０に音楽の演奏を開始させ、音楽の進行に合わせて操作子５０を操作することで、音楽のコード進行に合わせた鍵盤の演奏を行うことができる。すなわち、音楽の進行過程で利用者が操作子５０の順序通りに操作子５０を演奏すると、音楽のコード進行に合致した音が出力される。以上の構成によれば、音楽の進行に適合したコードの構成音を容易に演奏可能である。
【００３２】
（３）第２実施形態：
さらに、操作子に対してコードが予め対応づけられていても良い。図３Ａは、操作子に対してコードが予め対応づけられている第２実施形態にかかる楽器１００を模式的に示す図である。本明細書において楽器１００は、制御装置１０１と、ユニットとを備えている。ユニットは、無線通信によって制御装置１０１と接続可能である。図３Ａにおいては、３個のユニット５１０，５２０，５３０が例示されている。各ユニット５１０，５２０，５３０は、複数の操作子５１１，５２１，５３１を備えており、各操作子５１１，５２１，５３１は、各ユニット５１０，５２０，５３０のそれぞれに対して複数個並べて取り付けられている。
【００３３】
さらに、本実施形態においては、各ユニット５１０，５２０，５３０に予めコードが対応づけられている。図３Ａに示す例においては、ユニット５１０にＣのコード、ユニット５２０にＦのコード、ユニット５３０にＡｍのコードが対応づけられている。すなわち、各ユニット５１０，５２０，５３０を構成する操作子５１１，５２１，５３１には各コードの構成音が割り当てられており、各ユニット５１０，５２０，５３０は各構成音を出力することができる。
【００３４】
具体的には、各ユニット５１０，５２０，５３０は３個の操作子を備えており、左から順に根音、根音の３度上の音、根音の５度上の音が割り当てられている。例えば、ユニット５１０においては、最も左の操作子５１１に根音Ｃ，中央の操作子５１１にＥ，最も右の操作子５１１にＧが割り当てられている。各ユニット５１０，５２０，５３０に割り当てられたコード名は、各ユニット５１０，５２０，５３０上に文字で示されている。
【００３５】
さらに、各ユニット５１０，５２０，５３０は図示しないスピーカーを備えており、各ユニット５１０，５２０，５３０はスピーカーから上述の構成音を出力する出力部（図示せず）を備えている。すなわち、利用者が操作子５１１，５２１，５３１を操作すると、各ユニット５１０，５２０，５３０の出力部は操作された操作子を検出する。そして、各ユニット５１０，５２０，５３０の出力部は、各操作子に割り当てられた構成音をスピーカーから出力する。さらに、各ユニット５１０，５２０，５３０は、表示部５１２，５２２，５３２を備えている。各ユニット５１０，５２０，５３０は、制御装置１０１から無線通信によって送信される指示によって、表示部５１２，５２２，５３２に任意の文字を表示することができる。
【００３６】
制御装置１０１は、図３Ｂに示すように、ＣＰＵ２００と不揮発性メモリ３０とＲＡＭ４０と通信部５００ａとインターフェース６０と音出力部７０とを備える。不揮発性メモリ３０、ＲＡＭ４０、音出力部７０、インターフェース６０の構成は図１Ａに示す構成と同様であるため、図１Ａと同一の符号で図３Ａの構成を記述してある。ただし、不揮発性メモリ３０に記録される情報やインターフェース６０での操作内容は図１Ａに示す構成とは異なり得る。
【００３７】
また、本実施形態において、不揮発性メモリ３０には、予め図示しない音出力プログラムと順序割当プログラムとが記録されている。音出力プログラムは、制御装置１０１の起動とともに実行される。音出力プログラムにより、ＣＰＵ２００は、音情報（ＭＩＤＩ情報等）が示す音を出力させることが可能である。利用者は、不揮発性メモリ３０に記録された音情報を、インターフェース６０を利用して選択し、選択した音情報が示す音を出力させることが可能である。本実施形態においても、音情報には時系列で出力される音とともに時系列のコード進行を示す情報（時系列のコード名）が含まれている。
【００３８】
順序割当プログラムは、ユニット５１０，５２０，５３０に対して順序を割り当てる機能をＣＰＵ２００に実行させる。このために順序割当プログラムは、コード進行取得部２００ａと順序割当部２００ｂとを備えている。
【００３９】
コード進行取得部２００ａは、音楽のコード進行を取得する機能をＣＰＵ２００に実行させるプログラムモジュールである。すなわち、ＣＰＵ２００は、コード進行取得部２００ａの処理により、音情報を参照し、コード進行を示す情報を取得する。これにより、例えば、Ｃ，Ｆ，Ａｍ等のように、コード名の順序によって時系列のコードが特定される。
【００４０】
順序割当部２００ｂは、ユニット５１０，５２０，５３０に順序を割り当てる機能をＣＰＵ２００に実行させるプログラムモジュールである。本実施形態において、ＣＰＵ２００は、操作子におけるコードと順序との対応関係が、コード進行におけるコードと順序との対応関係に一致するように、ユニットに対して順序を割り当てる。なお、本実施形態においては、１個のユニットに３個の操作子が取り付けられているため、あるユニットに順序が割り当てられることは、当該ユニットに取り付けられた３個の操作子に共通の順序を割り当てることを意味する。
【００４１】
具体的には、ＣＰＵ２００は、コード進行に基づいて、順序ｎ（ｎは正の整数）のコードのコード名を特定する。そして、ＣＰＵ２００は、当該コード名のユニットを１個選択し、番号ｎを示す情報を無線通信によって当該ユニットに対して出力する。送信対象のユニットが、番号ｎを示す情報を受信すると、当該ユニットの表示部（５１２，５２２，５３２等）に番号ｎを示す文字が表示される。
【００４２】
例えば、図３Ａに示す例において、コード進行における最初のコードのコード名がＣである場合、ユニット５１０の表示部５１２に１が表示される。このように、ユニットの表示部に順序を示す文字が表示されると、利用者は、各ユニット５１０，５２０，５３０の順序を容易に把握することができる。従って、利用者が、ユニット５１０，５２０，５３０の順序に従って操作子５１１，５２１，５３１を操作した場合に、コード進行通りに音が出力される。以上の構成によれば、音楽の進行に適合したコードの構成音を容易に演奏可能である。
【００４３】
（３−１）割当処理：
次に、ＣＰＵ２００が割当プログラムによって実行する処理を説明する。利用者は、インターフェース６０を利用し、ユニット５１０，５２０，５３０に対する順序の割当処理の開始を指示することができる。なお、当該指示において、利用者は、インターフェース６０を利用し、演奏対象となる音楽を指定する。例えば、不揮発性メモリ３０に対して複数の楽曲を示す複数の音情報が予め記録されている状態において、利用者がいずれかの楽曲を選択することにより音楽が指定される。
【００４４】
割当処理の開始指示が行われると、ＣＰＵ２００は、割当プログラムを実行し、図４Ａに示す割当処理を実行する。割当処理において、ＣＰＵ２００は、コード進行取得部２００ａの処理により、音楽のコード進行を取得する（ステップＳ２００）。すなわち、ＣＰＵ２００は、利用者に指定された楽曲を特定する。そして、ＣＰＵ２００は、当該楽曲を示す音情報を参照し、コード進行を示す情報を取得する。
【００４５】
次に、ＣＰＵ２００は、変数ｎを１に初期化する（ステップＳ２０５）。次に、ＣＰＵ２００は、順序割当部２００ｂの処理により、ｎ番目のコードに対応するユニットを特定する（ステップＳ２１０）。すなわち、ＣＰＵ２００は、通信部５００ａを介してユニットと通信を行い、順序が割り当てられていないユニットの中から、ｎ番目のコードが割り当てられたユニットを特定する。なお、ｎ番目のコードに対応するユニットが存在しない場合、ＣＰＵ２００は、エラーメッセージを出力するとともに割当処理を中止する等の処理を行う。
【００４６】
次に、ＣＰＵ２００は、順序割当部２００ｂの処理により、ステップＳ２１０で特定されたユニットに対してｎの表示指示を送信する（ステップＳ２１５）。すなわち、ＣＰＵ２００は、通信部５００ａを介して、ステップＳ２１０で特定されたユニットに対して数字ｎを表示する表示指示を送信する。この結果、通信先のユニットにおいては、数字ｎを表示する表示指示を取得し、表示部（図３Ａに示す表示部５１２，５２２，５３２等）に数字ｎを表示する。
【００４７】
次に、ＣＰＵ２００は、変数ｎが最大値であったか否かを判定する（ステップＳ２２０）。最大値は、ステップＳ１００で取得されたコード進行におけるコードの数と、ユニット５１０，５２０，５３０の数と、のいずれか小さい方の値である。なお、コード進行におけるコードの数が、ユニット５１０，５２０，５３０の数を超えている場合、所定のタイミング（例えば、最後の順序のユニットに割り当てられたコードまで音楽が進行した場合等）で、再度ユニット５１０，５２０，５３０に順序を割り当てる処理を実行しても良い。
【００４８】
ステップＳ２２０において、変数ｎが最大値であったと判定されない場合、ＣＰＵ２００は、変数ｎをインクリメントし（ステップＳ２２５）、ステップＳ２１０以降の処理を繰り返す。一方、ステップＳ２２０において、変数ｎが最大値であったと判定された場合、ＣＰＵ２００は、割当処理を終了する。この状態においては、利用者がインターフェース６０等でＣＰＵ２００に音楽の演奏を開始させ、音楽の進行に合わせてユニット５１０，５２０，５３０を操作することで、音楽のコード進行に合わせた鍵盤の演奏を行うことができる。すなわち、音楽の進行過程で利用者がユニット５１０，５２０，５３０の順序通りにユニット５１０，５２０，５３０上の各操作子を演奏すると、音楽のコード進行に合致した音が出力される。以上の構成によれば、音楽の進行に適合したコードの構成音を容易に演奏可能である。
【００４９】
（４）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。複数の操作子は、楽器から出力する音を調整するための操作子であればよく、音を調整するために動作するすべての部材が含まれる。従って、楽器の本体に対して操作可能に取り付けられた部位は操作子となり得る。例えば、楽器が上述のような鍵盤楽器である場合において、鍵やボタン等は操作子となり得る。また、管楽器において、キーや指貝、レバー等は操作子となり得る。
【００５０】
音楽は、楽器の演奏に合わせて出力されることが想定されていれば良い。従って、当該音楽は、楽器から出力されても良いし、他の装置によって出力されても良い。コードは、複数の音高の音が構成音となった和音であればよい。また、コードの構成音は、和音を構成する音であり、１個であっても良いし、複数個（例えば、３，４，５個）であっても良い。複数個の構成音は、音高、音源、音色等の要素の少なくとも１個が異なる複数の音であればよい。また、複数個の構成音は、１個の操作子によって出力されても良いし、複数の操作子によって出力されても良い。前者としては、同一の操作子の操作回数に応じて音高や音源等が変化する構成等が挙げられる。後者としては、複数の操作子のそれぞれに複数の構成音のそれぞれが割り当てられる構成等が挙げられる。
【００５１】
コードを構成する複数の構成音は、コード毎に予め決められていればよく、少なくとも根音が複数の構成音に含まれることが好ましい。１個の操作子に対する操作によって出力される音は１個であっても良いし、複数個であってもよい。むろん、操作子による演奏態様は任意の態様とすることが可能であり、複数個の構成音を同時に出力する態様であってもよいし、複数個の構成音を異なるタイミングで出力するアルペジオであっても良い。
【００５２】
コード進行は、音楽とともにコードの構成音が演奏された場合に、当該音楽に適合するような構成音のセット（和音）の変化を示していれば良く、例えば、コード名の変化によってコード進行が特定される。音楽のコード進行は、種々の手法で取得されて良い。例えば、コード進行取得手段が、音楽を示す情報に基づいて出力音を特定し、当該出力音に合致するコードを判定することでコード進行を取得しても良い。むろん、コード進行取得手段が、リアルタイムに出力される音楽に基づいて、コード進行を取得しても良い。
【００５３】
操作子順序取得手段によって操作子の順序が取得される構成において、操作子の順序は予め決められていても良いし、動的に変化しても良い。操作子の順序が予め決められている構成としては、例えば、複数の操作子が、楽器に対して複数個並べて取り付けられている構成において、複数の操作子が並べられた順序に応じて操作子順序取得手段が操作子の順序を取得する構成等が挙げられる。この構成によれば、コード割当手段は、操作子の順序が、コード進行におけるコードの順序であると見なすことができるように操作子にコードを割り当てることができる。
【００５４】
なお、この構成において、操作子の順序は、操作子が並べられた順序に応じて取得されていれば良い。従って、操作子順序取得手段は、操作子が楽器上で一列に並んでいる状態において、一方の端に存在する操作子が最初の順序となり、他方の端に存在する操作子が最後の順序となるように順序を取得しても良い。また、操作子順序取得手段は、操作子が楽器上で一列に並んでいる状態において、特定の位置に存在する操作子が最初の順序となり、当該最初の順序の操作子から一方の端に向けて操作子の位置が１個変化するたびに順序が１個変化するように順序を取得しても良い。
【００５５】
また、操作子の順序が動的に変化する構成としては、例えば、複数の操作子と楽器とが接続された後に演奏が行われる楽器において、楽器に対する操作子の接続順序に基づいて、操作子の順序が決定される構成等を採用可能である。接続順序に基づいて操作子の順序が決定される場合においては、接続順序通りに操作子の順序が決定されても良いし、接続順序の逆順に操作子の順序が決定されても良い。
【００５６】
さらに、操作子の順序が動的に変化する構成として、複数の操作子が物理的に分離されている場合において、操作子が並べられた順序等に基づいて、操作子の順序が決定される構成等が採用されてもよい。むろん、操作子が並べられた状態で各操作子が相対的に移動しないように固定されても良い。固定は他の装置に対する固定であってもよいし、操作子同士の固定であってもよい。
【００５７】
操作子に対して順序が対応づけられる場合、１個の操作子（１音に対応した操作子）に対して１個の順序が対応づけられて取得されても良いし、上述の実施形態（操作子５１や操作子５１１等）のように複数の操作子に対して１個の順序が対応づけられて取得されても良い。
【００５８】
操作子に割り当てられたコードを示すための表示態様は種々の態様を採用可能であり、文字以外にも種々の態様を採用可能である。例えば、色（異なる色の光）による表示等を採用可能であり、同一のコードが割り当てられた操作子を同一の色で表示する態様等が挙げられる。むろん、これ以外にも、隣接する複数の操作子においてコードが変化する境を示す表示を行う構成等が採用されていてもよい。なお、表示を行うための素子は操作子の近傍に配置されても良いし、操作子の内部に（表示された光が操作子を透過する構成等）配置されても良い。操作子に割り当てられた順序を示すための表示態様も種々の態様を採用可能であり、文字以外にも、色（異なる色の光）による表示等を採用可能である。なお、表示を行うための素子はユニットにおいて利用者が視認可能な位置に配置されていればよい。
【００５９】
さらに、ＣＰＵが、操作子に対応づけられた順序を取得し、操作子に対してコードを割り当てる構成において、操作子は楽器に対して直接取り付けられていなくても良い。例えば、楽器本体と独立した複数のユニットが設けられ、複数のユニットのそれぞれに対して操作子が複数個並べて取り付けられている構成等が採用されてもよい。図４Ｂは、このようなユニット５１００，５２００，５３００の構成例を示す図である。
【００６０】
ユニット５１００，５２００，５３００は、ユニット５１０，５２０，５３０と類似の構成であるが、予め各ユニット５１００，５２００，５３００には順序が対応づけられている。図４Ｂにおいては、ユニット５１００，５２００，５３００に対して予め順序１，２，３が対応づけられている例を示している。これらのユニット５１００，５２００，５３００に、コード（コードの構成音）は割り当てられておらず、図示しないスピーカーから任意の音高の音を出力することができる。また、ユニット５１００，５２００，５３００は、表示部５１００ａ，５２００ｂ，５３００ｃに任意の文字を表示することができる。
【００６１】
これらのユニット５１００，５２００，５３００は、無線または有線によって図示しない楽器本体（図３Ｂに示す制御装置１０１と同様の装置）に接続されて利用される。さらに、この構成において、楽器本体は操作子順序取得手段として機能し、ユニット５１００，５２００，５３００の順序を操作子の順序として取得する。すなわち、同一のユニットに含まれる複数の操作子は同一の順序であると見なされ、ユニット毎に順序が取得される。例えば、ユニット５１００に含まれる操作子５１１０は同一の順序１であると見なされ、ユニット５２００に含まれる操作子５２１０は同一の順序２であると見なされる。
【００６２】
さらに、楽器本体はコード割当手段として機能し、コード進行におけるコードと順序との対応関係が、操作子におけるコードと順序との対応関係に一致するように、各ユニットにコードを割り当てる。すなわち、コード割当手段は、１個のユニットに１個のコードを割り当てる。むろん、この場合、コード割当手段は、各ユニットに対し、コードを構成しない音は割り当てない。コードが割り当てられると、各ユニット５１００，５２００，５３００においては割り当てられたコードのコード名を表示部５１００ａ，５２００ｂ，５３００ｃに表示する。
【００６３】
各ユニット５１００，５２００，５３００にコードが割り当てられると、各ユニット５１００，５２００，５３００は、割り当てられたコードの構成音を各操作子５１１０，０２１０，５３１０に割り当てる。この結果、各ユニット５１００，５２００，５３００は、割り当てられた構成音を出力可能な状態になる。以上の構成によれば、利用者は、各ユニットに予め対応づけられている順序でユニット５１００，５２００，５３００を操作することで、音楽のコード進行に合わせた演奏を行うことができる。さらに、以上の構成においては、同一のユニット上の操作子を操作する限り、同一のコードの構成音のみが出力される構成となる。従って、演奏中に誤って不適切なコードの構成音を出力しにくくなる。
【符号の説明】
【００６４】
１０…楽器、２０ａ…コード進行取得部、２０ｂ…順序取得部、２０ｂ…操作子順序取得部、２０ｃ…コード割当部、２０ｄ…出力部、３０…不揮発性メモリ、４０…ＲＡＭ、５０，５１，５２，５３…操作子、６０…インターフェース、６０ａ…表示部、７０…音出力部
【図１】
2016161806.tif 000003
【図２】
2016161806.tif 000004
【図３】
2016161806.tif 000005
【図４】
2016161806.tif 000006