(57)【特許請求の範囲】
【請求項１】
作曲支援装置のコンピュータに
(a) 座標系が予め設定されているテーブルと前記テーブル上に配置される音符カードとを含む映像信号を取り込むステップ、
(b) 前記映像信号に基づいて前記音符カードの回転角度を含む２次元座標系における２次元情報を獲得するステップ、
(c) 前記２次元情報に基づいて音符イベントを作成するステップ、
(d) 前記音符イベントに従った音楽的表現で発音するステップ、
(e) 前記ステップ(a) 〜(d)を繰り返して一連の音符イベントを生成するステップ、および
(f) 前記一連の音符イベントをフレーズとして記憶するステップ
を実行させる、作曲支援プログラム。
【請求項２】
前記２次元情報は２次元座標を含む、請求項１記載の作曲支援プログラム。
【請求項３】
前記コンピュータに、さらに
(g) 前記ステップ(f) より先に前記テーブル上の音符カードの位置を可視的に表示するステップを実行させる、請求項１または２記載の作曲支援プログラム。
【請求項４】
前記コンピュータに、さらに
(h) 前記フレーズ毎にフレーズカードのデータを作成するステップを実行させる、請求項１ないし３のいずれかに記載の作曲支援プログラム。
【請求項５】
前記コンピュータに、さらに
(i) 前記フレーズカードを前記テーブル上に配置したときそのフレーズカードに含まれる一連の音符イベントに従った音楽的表現で発音するとともに、その一連の音符イベントを可視的に表示するステップを実行させる、請求項４記載の作曲支援プログラム。
【請求項６】
前記コンピュータに、さらに
(j) 前記ステップ(i) で表示した音符イベントとともに音符変更要素を表示するステップ、
(k) 前記音符変更要素が前記表示した音符イベントに対して所定の態様で作用したとき当該音符イベントの音楽的表現を変更するステップ、および
(l) 新しいフレーズカードのデータを記憶するステップを実行させる、請求項５記載の作曲支援プログラム。
【請求項７】
前記コンピュータに、さらに
(m) 前記フレーズカードを前記テーブル上に配置したときそのフレーズカードに含まれる一連の音符イベントに従った楽譜を可視的に表示するステップを実行させる、請求項４ないし６のいずれかに記載の作曲支援プログラム。
【請求項８】
座標系が予め設定されているテーブルと前記テーブル上に配置される音符カードとを含む映像信号を取り込む映像信号取り込み手段、
前記映像信号に基づいて前記音符カードの回転角度を含む２次元座標系における２次元情報を獲得する２次元情報獲得手段、
前記２次元情報に基づいて音符イベントを作成する音符イベント作成手段、
前記音符イベントに従った音楽的表現で発音する発音手段、および
前記音符イベント作成手段によって作成した一連の音符イベントをフレーズとして記憶するフレーズ記憶手段を備える、作曲支援システム。
【請求項９】
前記映像信号取り込み手段は前記テーブルおよび前記音符カードを撮影してカメラ映像信号を出力するカメラを含む、請求項８記載の作曲支援システム。
【請求項１０】
前記テーブル上の音符カードの位置を可視的に表示する表示手段をさらに備える、請求項８または９記載の作曲支援システム。
【請求項１１】
前記フレーズ毎にフレーズカードを作成するフレーズカード作成手段をさらに備える、請求項１０記載の作曲支援システム。
【請求項１２】
前記発音手段は前記フレーズカードを前記テーブル上に置いたときそのフレーズカードに含まれる一連の音符イベントに従った音楽的表現で発音し、前記表示手段が前記の一連の音符イベントを可視的に表示する、請求項１１記載の作曲支援システム。
【請求項１３】
前記表示手段によって前記音符イベントとともに変更要素を表示させる変更要素表示手段、および
前記変更要素が前記表示した音符イベントに対して所定の態様で作用したとき当該音符イベントの音楽的表現を変更する変更手段をさらに備える、請求項１２記載の作曲支援システム。
【請求項１４】
前記フレーズカードを前記テーブル上に置いたときそのフレーズカードに含まれる一連の音符イベントに従った楽譜を可視的に表示する楽譜表示手段をさらに備える、請求項１１ないし１３のいずれかに記載の作曲支援システム。
【請求項１５】
前記２次元情報は２次元座標を含む、請求項８ないし１４のいずれかに記載の作曲支援システム。
【発明の詳細な説明】
【０００１】
【発明の分野】
この発明は作曲支援システムおよび作曲支援プログラムに関し、特にたとえば、テーブルの上に並べられたカードをカメラによって撮影し、そのカメラからのカメラ映像信号に基づいて各カードの位置や配置情報を取り込み、カードの位置や配置に応じた音符イベントを記憶させることによって作曲を進めていくことができる、新規な作曲支援システムおよび作曲支援プログラムに関する。
【０００２】
【従来の技術】
この発明に比較的関係が深いと思われる音楽的表現要素変化手段の一例（楽器インターフェース）が、平成１４年１月３１日付で出願公開された特開２００２−３２０７６［Ｇ１０Ｈ１／００，１／０５３，１／３２  Ｈ０４Ｎ７／１８］に開示されている。
【０００３】
この従来技術は、カードのような手持ち可能物体の３次元位置情報に従って、その手持ち可能物体に予め対応付けられた楽器のフレーズ（サウンドフレーム）に対して、エフェクトやフィルタやピッチ等の音楽的表現要素を変化させることにより、さまざまな音楽的表現を可能にする楽器インターフェースである。
【０００４】
【発明が解決しようとする課題】
この従来技術を用いれば、既存のフレーズに対してさまざまな変化を与えることにより、楽しみながら豊かな音楽的表現を新たに創り出すことが可能である。しかしながら、この技術をもってしても演奏するべきあるいは演奏したい新たなフレーズを自由に創作することはできない。なぜならば、この従来技術は、既存のフレームに対して効果を与えることができるのみであるからである。
【０００５】
それゆえに、この発明の主たる目的は、新しいフレーズや楽曲の創作を可能にする、作曲支援システムおよび作曲支援プログラムを提供することである。
【０００６】
【課題を解決するための手段】
この発明は、作曲支援装置のコンピュータに(a) 座標系が予め設定されているテーブルとテーブル上に配置される音符カードとを含む映像信号を取り込むステップ、(b) 映像信号に基づいて少なくとも音符カードの音符カードの回転角度を含む２次元座標系における２次元情報を獲得するステップ、(c) ２次元情報に基づいて音符イベントを作成するステップ、(d)音符イベントに従った音楽的表現で発音するステップ、(e) ステップ(a) 〜(d)を繰り返して一連の音符イベントを生成するステップ、および(f)一連の音符イベントをフレーズとして記憶するステップを実行させる、作曲支援プログラムである。
【０００８】
この発明は、座標系が予め設定されているテーブルとテーブル上に配置される音符カードとを含む映像信号を取り込む映像信号取り込み手段、映像信号に基づいて音符カードの回転角度を含む２次元座標系における２次元情報を獲得する２次元情報獲得手段、２次元情報に基づいて音符イベントを作成する音符イベント作成手段、音符イベントに従った音楽的表現で発音する発音手段、および音符イベント作成手段によって作成した一連の音符イベントをフレーズとして記憶するフレーズ記憶手段を備える、作曲支援システムである。
【０００９】
【作用】
実施例では、実体のある音楽カードが用いられ、その音楽カードを実体のあるテーブル上に配置し、その状態をカメラで撮影することによって、カメラ映像信号をコンピュータに取り込み、そのカメラ映像信号に基づいて、音楽カードの２次元情報（たとえば、２次元座標および回転角度）を獲得する。しかしながら、仮想音楽カードや仮想テーブルを用いる場合には、そのようなカメラは必要ではなく、コンピュータがディスプレイメモリの内容を参照することによって取得できる。
【００１０】
コンピュータは、そのようにして獲得した２次元情報に従って、その２次元情報をたとえばＭＩＤＩデータのような音符イベント（音楽データ）
生成する。たとえばＭＩＤＩデータはＭＩＤＩ音源を有する電子楽器に与えられる。したがって、電子楽器は、その音符イベントに応じた音楽表現（音色、音程、継続時間、大きさなど）で発音する。オペレータはその電子楽器からの発音によって確認することで、必要に応じて、音符カードの位置や配置を修正することができる。
【００１１】
そして、一連の音符イベントがフレーズデータとしてコンピュータによって記憶される。
【００１２】
なお、テーブル上の音符カードの位置を可視的に表示するようにすれば、オペレータは、耳だけではなく目によっても、自分の作成した音符イベントを確認することがでする。
【００１３】
フレーズ毎に作成されるフレーズカードをテーブル上に置いたとき、そのフレーズカードに含まれる一連の音符イベントに従った音楽的表現で発音するとともに、その一連の音符イベントおよび必要に応じて変更要素を可視的に表示する。そして、変更要素が表示した音符イベントに対して所定の態様で作用したとき当該音符イベントの音楽的表現を変更するようにできる。変更要素は、実施例では、音符変更カードやフレーズ変更カードに基づいて表示されるコンピュータグラフィックス（以下、ＣＧ）スパナである。したがって、オペレータは、一旦作成したフレーズすなわちフレーズカードを任意に変更することができる。そして、その変更内容を新しいフレーズカードとして記憶すればよい。
【００１４】
【発明の効果】
この発明によれば、実体のある音楽カードやテーブルあるいは仮想音楽カードや仮想テーブルを用いて、テーブル上に音楽カードを配置することによって、作曲することができる。
【００１５】
この発明の上述の目的，その他の目的，特徴，および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１６】
【実施例】
図１を参照して、この実施例の作曲支援システム１０はカメラ１２を含み、このカメラ１２はたとえばテーブル１４の上方に、テーブル１４の上面を全体的に撮影できるように設置される。そして、オペレータ１６は、手持ち可能物体の一例であるカード１８を手で持って、このテーブル１４上にそのカード１８を置いたり、その位置を変化させることができる。
【００１７】
図２にカード１８の一例を示す。このカード１８は、その表面に形成されたたとえば矩形形状のマーカ２０と、そのマーカ２０内に表示される記号２２とを含む。マーカ２０および記号２２は、コンピュータ２４およびオペレータ１６によって読み取り可能な意味を持っている。すなわち、マーカ２０は、この中に識別するべき記号２２が記載されていることを意味し、その記号２２は、その模様により、予め決められた音楽的表現もしくはその音楽的表現に対する予め決められた操作という意味を持っている。ただし、マーカ２０および記号２２の図２の形状は単なる一例であり、他の任意の形状が選定されてもよい。またカード１８の裏面は無模様であり、たとえば全面白色である。
【００１８】
カメラ１２は、テーブル１４と、その上でオペレータ１６によって配置されるカード１８を撮影して、カメラ映像信号を図１に示すコンピュータ２４に与える。コンピュータ２４は、後に詳細に説明するように、カメラ１２から入力されるカメラ映像信号に基づいて、カード１８の位置や姿勢もしくは配置情報を取り込むとともに、さらにカード１８上に記載された記号２２の意味を特定し、音楽的表現を決定ないし特定する。
【００１９】
なお、カード１８上の記号２２が音符を意味する場合、以下では、このカード１８を特に音符カードと呼ぶことにする。カード１８が音符カードである場合は、そのカード上の音符記号２２は、その音符を意味する記号（模様）の種類に応じて、予め定められた所定の楽器の音色、高さ（音程）、大きさおよび継続時間を持つ音を意味する。図２はカード１８が音符カードである場合を示している。オペレータはこのような音符カード１８をテーブル１４上に置くことによって、音楽フレーズを作成する。
【００２０】
オペレータ１６は、コンピュータ２４に対し、図３に示すような座標系を予め定めておく。すなわち、オペレータ１６は、オペレータに正対するテーブル１４上で、たとえばオペレータの左側でかつオペレータに近い側の１点を原点として設定する。さらに、オペレータ１６は、このテーブル１４の平面内で、この原点を通るオペレータの左右方向にＸ軸を設定し、オペレータの右手側をそのＸ軸の正の方向と指定する。また、オペレータ１６は、このテーブル１４の平面内で、Ｘ軸に垂直でかつ原点を通る軸をＹ軸として設定するとともに、オペレータから遠ざかる方向にそのＹ軸の正の方向を指定する。さらに、オペレータ１６は、原点を通ってテーブル１４の平面に垂直な方向にＺ軸をとり、上方をその正の方向に指定する。
【００２１】
このような座標系を予め設定しているテーブル１４上にオペレータ１６が音符カード１８を置くと、コンピュータ２４は、カメラ１２から入力されるカメラ映像信号に基づいて、カード１８上のマーカ２０および記号２２を識別してそれが音符記号であること（したがってカード１８は音符カードであること）を知る。また、カード１８のテーブル１４の上記座標系上での２次元情報を検出する。このカード１８の２次元情報とは、図３の座標系における、たとえばカード１８の中心のＸ座標とＹ座標と、ここでは図示しないが、そのカードの中心を通ってＺ軸に平行な軸（以後この軸をＺ´軸と記す）まわりのカードの回転角度である。そして、Ｘ軸が時間軸を表し、Ｘ座標が大きいほど後の時刻を表すという意味を予め与えておく。同様に、Ｙ軸が音の高さを表し、Ｙ座標が大きいほど高い音を表すという意味を予め与えておく。さらに、Ｚ´軸周りの回転角度が音の大きさ表し、その回転角度が大きいほど大きい音を表すという意味を予め与えておく。
【００２２】
コンピュータ２４はこれらの情報に基づいて、識別した音符記号２２に予め対応付けられた所定の楽器の音色でかつ所定の継続時間の音を、検出した音符カードのＹ座標に対応した高さでかつ検出したＺ´軸周りの回転角度に対応した大きさで演奏できるＭＩＤＩデータのような音楽データに変換して、その音楽データ（ＭＩＤＩデータ）を出力する。音楽データとしては、実施例ではＭＩＤＩデータを用いるが、実施例とは異なる電子楽器が用いられる場合には、他の同様の音楽データが用いられてもよい。
【００２３】
そして、コンピュータ２４は、このＭＩＤＩデータを、たとえば２秒間の無音期間を挟んで繰り返して出力する。コンピュータ２４から出力されるＭＩＤＩデータは電子楽器２６に与えられる。電子楽器２６は、この実施例では、ＭＩＤＩ音源（ＭＩＤＩデータを受信して音を出す音源であり、鍵盤付のキーボードタイプ、鍵盤なしのモジュールタイプ、コンピュータスロットに装着するボードタイプもしくはカードタイプがある）を含む。つまり、電子楽器２６は、たとえばシンセサイザ（音色を自由に合成できる楽器）、サンプラ（実際の音をサンプリングしてそれを元に音階演奏可能な楽器）等のように、たとえば音階、テンポ、音色等の音楽表現要素を電子的に制御することが可能な楽器である。電子楽器２６は、コンピュータ２４によってイネーブルされたとき、受信したＭＩＤＩデータに従って、指定の楽器音（音色）、指定の高さ、および指定の大きさで、指定の時間だけ継続する音に相当する音楽信号を出力する。電子楽器２６からの音楽信号はアンプ２８を介してスピーカ３０から音として出力される。コンピュータ２４からのＭＩＤＩデータはたとえば２秒間の無音期間を挟んで繰り返して出力されるため、これに基づく音も一定周期ごとに繰り返される。
【００２４】
なお、図１ではアンプ２８およびスピーカ３０は１つずつしか図示していないが、これらを２組用いてステレオ配置にすることも可能であり、さらには３組以上でサラウンド出力ができるようにしてもよいことも、もちろんである。
【００２５】
コンピュータ２４はさらに、カメラ１２から受け取ったカメラ映像信号（テーブル１４上のカードの配置状態を示すカメラ映像信号）を、ビデオプロジェクタ３２が表示可能な映像信号に変換して、さらに後に説明するように、必要に応じてコンピュータ２４が作り出したコンピュータグラフィックス映像も、上記カメラ映像信号に重畳して、ビデオプロジェクタ３２に与える。ビデオプロジェクタ３２はスクリーン３４上に、テーブル１４上のカード配置状態を示す映像、場合によっては、それにＣＧが重畳された映像を表示する。このビデオプロジェクタ３２およびスクリーン３４が大画面ディスプレイを構成するが、このような大画面ディスプレイとしては他にブラウン管、プラズマディスプレイ、液晶ディスプレイなど任意のものが利用可能である。
【００２６】
次に、オペレータ１６は、たとえば上記音符カード１８と同じ種類の別の音符カードを持って、Ｘ軸に沿って、先に置いた音符カードよりもたとえば右側のどこかにその別の音符カードを置く。このとき、コンピュータ２４は、カメラ１２から受け取ったカメラ映像信号に基づいて、今回置かれた音符カード（の中心：以下略）のＹ座標とＺ´軸周りの回転角度とを検出し、演奏する音の高さと大きさとを決める。また、今回置かれた音符カードのＸ座標と先に置かれた音符カードのＸ座標との差分によって、先に置かれた音符カードに対応して演奏する音の継続時間を決める。ただし、後続する音符カードがない場合には、今回置かれた音符カードに対応する音の継続時間は、予めその音符記号に割り当てられている（デフォルトの）継続時間とする。もし、図４に例示するように、今回の音符カードが先に置かれた音符カードと同じＸ座標位置で、異なったＹ座標位置に置かれたならば、これら２つの音符カードによって、異なる高さの２つの音が同時に演奏されることになる。この場合も、もしこれらのカードの後ろ（右側）に後続のカードがなければ、これら２つの音の継続時間はデフォルトのものとなる。
【００２７】
このようにして、オペレータ１６は、テーブル上に配置した音符カードの配置を視覚的に確認しつつ、同時にそれらの音符カードの配置を示すカメラ映像信号に基づいて電子楽器２６によって演奏される音を繰り返し聞くことができる。もし、オペレータがそれらの音の流れが気に入らなければ、どれかのカードの位置を変更すればよい。すると、演奏される音もそれに合わせて変更される。さらに、オペレータ１６が、続けて複数枚の音符カード１８をテーブル１４上に並べて行くと、コンピュータ２４は、それぞれの音符カードとそれらの配置をカメラ映像信号から識別して、リアルタイムに対応するメロディを演奏する。この演奏も、たとえば２秒間の無音期間を挟んで繰り返される。オペレータ１６は、テーブル上の音符カードの位置や配置を変更しながら、同時にリアルタイムでその変更された配置に対応する電子楽器２６の演奏音を聞きながら、この一連の音の流れが気に入るフレーズになるまで、カード配置作業を続けることができる。このような音符カードからなる配列パターンは、一連の音符のイベント情報を有していると考えられる。その意味で、このような音符カードの配列を、以下では音符イベントパターンと呼ぶこともある。図４のカード配置がそのような音符イベントパターンの一例である。
【００２８】
オペレータ１６は、こうして出来上がったフレーズを、自分の著作物として、コンピュータ２４内に保存するとともに、このフレーズを意味するフレーズカード３６を作成することができる。図４の音符イベントパターンに対応するフレーズカードの例を図５に示す。このフレーズカード３６も、音符カード１８と同様に、マーカ３８と、そのマーカ３８内に記述される記号４０とを含む。ただし、フレーズカード３６上に記載する記号４０は、必ずしも図５の例のように、対応する音符カードの配列を表したものでなくてもよく、オペレータ１６とコンピュータ２４とが、対応する音符カードの並び方（配列）を識別することができる記号であれば任意のものであってもかまわない。また、物理的にフレーズカード３６を作成するには、たとえばコンピュータ２４とそれに接続されたプリンタ４２（図１）を用いて、たとえば葉書のような紙に、マーカ３８と対応するフレーズ記号４０とを印刷すればよい。もちろん、音符カード１８についても、予めこの方法で作成しておいてもよい。
【００２９】
図４に示すような音符イベントパターンを図５に示すようなフレーズカードに一旦記録してしまうと、その音符イベントパターンすなわちフレーズが固定されるため、オペレータ１６は、テーブル１４上の音符カード１８を取り去ることができる。こうして、オペレータは、次のフレーズカード３６の作成、すなわち次のフレーズの作曲に移ることができる。
【００３０】
このようにして自分のフレーズがいくつか出来上がると、オペレータ１６はこれまでのフレーズ作曲の段階から、フレーズ操作の段階に移る。フレーズ操作には、フレーズ内編集とフレーズ全体操作とフレーズ間操作とがある。以下順に説明する。
【００３１】
最初に、フレーズ内編集を行う場合について説明する。オペレータ１６は、まず、メニュー画面にて、フレーズ演奏モードを起動させる。次に、オペレータ１６が、操作したい１枚のフレーズカード３６をテーブル１４の上に置くと、コンピュータ２４は、スクリーン３４上にそのフレーズカード３６が保持する音符イベントパターンを楽譜としてグラフィックス表示する。図６にグラフィックス表示された楽譜の例を示す。スクリーン３４上には、テーブル１４の上面とテーブル１４上に置かれたフレーズカード３６もビデオ映像として表示されており、この楽譜グラフィックスはテーブル上の対応するフレーズカードの映像上に重ね合わせて表示される。また、コンピュータ２４はこの音符イベントパターンを繰り返し演奏する。
【００３２】
ここで、オペレータ１６が、このフレーズの内部に変更を与えたい、すなわちフレーズ内編集を行おうとする場合は、オペレータ１６は、メニュー画面からフレーズ内編集モードを起動させる。続いて、オペレータ１６は、テーブル１４上に、音符変更カード４４と呼ばれるカードを持ち出す。この音符変更カード４４上には、マーカ４６内の記号４８として、たとえば音符とスパナとが並んで描かれている。音符変更カード４８の一例を図１０に示す。
【００３３】
コンピュータ２４は、カメラ映像信号から音符変更カード４４の特有の記号４８を識別すると、まず、スクリーン３４上で、テーブル１４上に置かれたフレーズカード３６の映像表示に代えて、対応する音符イベントパターン（図４：一連の音符カードが配置されたもの）をグラフィックス表示する。また、図６のような楽譜のグラフィックスも表示する。コンピュータ２４は、現在の音符変更カード４４の位置に合わせて、スクリーン上にスパナをコンピュータグラフィックス（以下、ＣＧ）表示する。また、この表示は、音符イベントのグラフィックス表示の上に重畳して表示される。
【００３４】
続いて、オペレータ１６が、この音符変更カード４４を、変更したいどれか１つの音符カード（以下では、この音符カードは、グラフィックス表示されているのでこれをＣＧ音符カードと呼ぶ。）の上に持って行くと、そのＣＧ音符カードの中心と右上角にハンドルと呼ばれる小さな点が現れる。もし、オペレータ１６がこの音符カードの音の高さを変更したければ、音符変更カード４４の位置を調整して、ＣＧ表示されたスパナ（以下、ＣＧスパナ）の６角形部分をこのＣＧ音符カードの中心のハンドルに合わせて、そこで、たとえば２秒間（以下同様）静止させる。これにより、コンピュータ２４の所定の処理によって、ＣＧスパナはＣＧ音符カードの中心を掴むことができる。続いて、オペレータ１６は、音符変更カードを高さ軸の方向に必要分だけ移動させて、その位置で再び２秒間静止させる。この結果、ハンドルはＣＧスパナから開放される。このようにして、オペレータ１６は、ＣＧ音符カードの高さ軸の位置を変えることができる。ＣＧ音符カードを時間軸方向に移動させる場合も同様である。
【００３５】
また、音の大きさを変えたいときは、ＣＧスパナの６角形部分をＣＧ音符カードの右上角のハンドルに合わせて、２秒間静止させることにより、そのハンドルを掴み、続いて、音符変更カード４４を必要角度分だけ回転させて、その位置で２秒間静止させることにより、ハンドルはＣＧスパナから開放される。このようにして、オペレータ１６は、ＣＧ音符カードを必要角度分だけ回転させることができる。オペレータ１６は、ここでメニュー画面からＣＧフレーズ定義モードを走らせ、続いて、ＣＧフレーズ演奏を起動させると、とりあえず、今定義したＣＧフレーズのメロディやリズムを音として繰り返し聞くことができる。以上の操作は気に入るＣＧフレーズができるまで何度でも繰り返すことができる。
【００３６】
オペレータ１６は、このようにしてフレーズ内の音符カードの必要な変更を終了すると、音符変更カード４４をテーブル１４上から取り除いた後、メニュー画面にてフレーズの記号生成とカード保存モードを起動させる。
【００３７】
これにより、コンピュータ２４は、オペレータ１６に、最後の音符イベントパターンを表す新しいフレーズカード用の記号の入力を要求する。この場合コンピュータ２４は、コンピュータ画面上に予め用意してあるフレーズカード用の記号で未使用なものを候補として表示し、オペレータ１６に選ばせるというような方法が考えられる。オペレータ１６が、新しいフレーズカード用の記号を指定すると、コンピュータ２４は、この新しいフレーズカードを記憶するとともに、フレーズカード３６としてプリントアウトする。また、スクリーン３４上に、音符イベントパターンのグラフィックス表示に代えて、今新しく定義されたフレーズカードをグラフィックス表示する。
【００３８】
ここで、オペレータ１６は、新しいフレーズカードをテーブル１４上に置いて、メニュー画面からフレーズ演奏モードを起動すると、この新しいフレーズカードのメロディやリズムを聞くことができる。
【００３９】
次に、フレーズ全体操作について説明する。フレーズ全体操作としては次のようなものがある。たとえば図６のような楽譜をグラフィックス表示させているフレーズカードに対して、インバート（高さ軸上での逆転。ただしここでは原理的な説明のため１オクターブ内での高さ軸上での逆転とする。）を与えると図７に示すような楽譜がグラフィックス表示される。また、同じフレーズカードに対して、リバース（時間軸上での逆転）を与えると図８に示すような楽譜がグラフィックス表示される。また、同じフレーズカードに対して、トランスポーズ（高さ軸上での平行移動）を与えると、図９に示すような楽譜がグラフィックス表示される。オペレータ１６はまた、高さ軸上または時間軸上での伸張や圧縮を与えることもできる。
【００４０】
オペレータ１６が、操作したい１枚のフレーズカード３６をテーブル１４の上に置いて、フレーズ演奏モードを起動すると、コンピュータ２４は、スクリーン３４上のフレーズカードのビデオ映像の上に重畳して、そのフレーズカード３６が保持する音符イベントのパターンを楽譜としてグラフィックス表示する。
【００４１】
次に、オペレータ１６が、フレーズインバート操作を行おうとする場合、オペレータ１６は、テーブル１４上に、フレーズ変更カード５０と呼ばれるカードを持ち出した後、メニュー画面にてフレーズインバートモードを起動する。このフレーズ変更カード５０上には、マーカ５２とそのマーカ５２内の記号５４としてたとえばスパナが描かれている。フレーズ変更カード５０の一例を図１１に示す。
【００４２】
次に、オペレータ１６は、テーブル１４上で、１枚のフレーズ変更カード５０を、テーブル１４と平行にして手に持つ。そうすると、スクリーン３４上には、テーブル１４の上面に手で把持されたそのフレーズ変更カード５０が、ビデオ映像として、既に映し出されていたフレーズカード３６の上にかぶさる形で表示される。
【００４３】
このとき、コンピュータ２４は、フレーズ変更カード５０の上に重畳して、ＣＧスパナも表示させる。オペレータ１６は、スクリーン上のこのＣＧスパナを含む映像も見ながら、ＣＧスパナの６角形部分がフレーズカード３６の上端に来るようにフレーズ変更カード５０の位置を調整する。その位置でフレーズ変更カードを２秒間静止させることにより、仮想的なＣＧスパナはＣＧフレーズカードの上端を掴むことができる。
【００４４】
つづいて、オペレータ１６は、このＣＧスパナの６角形部分をフレーズカードの下端に直線的に移動させ、そこで２秒間静止させる。コンピュータ２４はこのときのフレーズ変更カード５０とフレーズカード３６との相対的な位置関係の変化を認識して、オペレータ１６がインバート効果を指示したことを識別して、インバートされた図７に示す楽譜をグラフィックス表示する。続いて、コンピュータ２４は、インバートされたフレーズを繰り返し演奏する。
【００４５】
次に、リバース効果を与える場合、オペレータ１６は、上記と同じように、テーブル１４上で、１枚のフレーズ変更カード５０を、テーブル１４と平行にして手に持ち、スクリーン上のＣＧスパナを含む映像も見ながら、ＣＧスパナの６角形部分がＣＧフレーズカードの右端に来るようにフレーズ変更カード５０の位置を調整する。その位置でフレーズ変更カードを２秒間静止させることにより、ＣＧスパナはＣＧフレーズカードの右端を掴むことができる。つづいて、オペレータ１６は、このＣＧスパナの６角形部分をＣＧフレーズカードの左端に直線的に移動させ、そこで２秒間静止させる。コンピュータ２４はこのときのフレーズ変更カード５０とフレーズカード３６との相対的な位置関係の変化を認識して、オペレータ１６がリバース効果を指示したことを識別して、リバースされた図８に示す楽譜をグラフィックス表示する。続いてリバースされたフレーズを繰り返し演奏する。
【００４６】
次に、トランスポーズを与える場合、オペレータ１６は、やはり上記と同じように、テーブル１４上で、１枚のフレーズ変更カード５０を、テーブル１４と平行にして手に持ち、スクリーン上のスパナのＣＧを含む映像も見ながら、ＣＧスパナの６角形部分がＣＧフレーズカードの中心付近に来るようにフレーズ変更カード５０の位置を調整する。その位置でフレーズ変更カード５０を２秒間静止させることにより、仮想的なＣＧスパナはＣＧフレーズカードの中心を掴むことができる。つづいて、オペレータ１６は、このＣＧスパナの６角形部分を高さ軸に平行な方向に必要な分だけ移動させて、そこで２秒間静止させる。コンピュータ２４は、このときのフレーズ変更カード５０とフレーズカード３６との相対的な位置関係の変化とフレーズ変更カード５０の位置の変化とを認識して、オペレータ１６がトランスポーズ効果を指示したことを識別して、指定された量だけトランスポーズされた図９に示す楽譜をグラフィックス表示する。続いて、指定量だけトランスポーズされたフレーズを繰り返し演奏する。
【００４７】
次に、高さ方向の圧縮を与える場合、オペレータ１６は、テーブル１４上でテーブル１４と平行に、２枚のフレーズ変更カード５０をそれぞれ左右の手に持つ。すると、２つのスパナのＣＧがスクリーン上に現れる。このうち一方のＣＧスパナの６角形部分をＣＧフレーズカードの上端に合わせる。もう一方のＣＧスパナの６角形部分をＣＧフレーズカードの下端に合わせる。この状態で２秒間静止させる。先ず、上端に合わせているＣＧスパナを必要分だけ高さ軸に平行に自分に近づく方に必要分だけ移動させ、そこで２秒間静止させる。このとき、変更後のフレーズは高さが低い方へ圧縮されたフレーズとなって、変更後の楽譜がグラフィックス表示されると続いて、このように高さ方向に圧縮されたフレーズが繰り返し演奏される。このとき、上記のインバートと区別させるため、２つのＣＧスパナを表示させておく必要がある。
【００４８】
フレーズを音の高い側に圧縮するには、今度は、ＣＧフレーズカードの下端に合わせたＣＧスパナを、高さ軸に平行に自分から遠ざかる方向に移動させればよい。
【００４９】
フレーズを低い側からも高い側からも圧縮したければ、上記操作を時間的に分けて、続けて行ってもよいが、下端のスＣＧパナは高い側に、上端のスＣＧパナは低い側にそれぞれ必要分だけ高さ軸に平行に移動させるようにしてもよい。
【００５０】
次に、高さ方向に伸張する場合も同様であり、２枚のフレーズ変更カードによる仮想ＣＧスパナを同時に表示させて行う。ただし、圧縮の場合とは、ＣＧスパナの移動方向を逆にする。
【００５１】
次に、時間方向に圧縮、伸張する場合も同様であり、やはり２枚のフレーズ変更カード５０によるＣＧスパナを同時に表示させて行う。この場合は、一方のＣＧスパナをＣＧフレーズカードの左端に合わせ、もう一方のＣＧスパナはＣＧフレーズカードの右端に合わせ、それぞれのＣＧスパナを必要分だけ時間軸に平行に移動させればよい。
【００５２】
いずれの場合も、これらの与えた効果がリアルタイムでグラフィックスの楽譜に反映されると同時に対応するフレーズが繰り返し演奏される。
【００５３】
オペレータ１６は、このようにして必要なフレーズ全体操作を終了すると、フレーズ変更カード５０をテーブル１４上から取り除いた後、メニュー画面からフレーズカードの記号生成とカード保存のモードを起動する。これにより、コンピュータ２４は、オペレータ１６に、新しいフレーズカード用の記号の入力を要求する。オペレータ１６が、新しい記号を指定すると、コンピュータ２４は、この新しいフレーズカードを記憶するとともに、プリンタ４２によって葉書のような紙に印刷するこよにより、新しいフレーズカードを作成する。またスクリーン３４上では、変更前のフレーズカードの映像に代えて、新しく定義されたフレーズカードをグラフィックス表示する。
【００５４】
次にフレーズ間操作について説明する。以上のようにして作成したフレーズカードは、別のフレーズカードにコピーすることができる。フレーズ間操作としてはこのコピーのみである。このような操作は、コンピュータ２４の画面上に表示されるメニュー画面を用いて容易に行い得る。もちろんこの後再び、コピーして作成したフレーズカードに上述の各種操作を行って新しいフレーズカードを定義することも可能である。
【００５５】
以上がフレーズ操作の段階である。フレーズ操作の段階を終えた時点で、以上のようにして出来上がった各フレーズカード３６（図５）は、物理的実体として（たとえば前述のように葉書のような用紙に印刷したカード）として揃っている。オペレータ１６は、続いてフレーズ演奏段階に進む。そのために、オペレータ１６は、少なくとも１枚のフレーズカードをテーブル１４の上に置いた後、メニュー画面にて、フレーズ演奏モードを起動する。
【００５６】
フレーズ演奏モードにおいては、オペレータ１６が、テーブル１４上で、２枚のフレーズカード３６を時間軸に沿って隣に置けば、コンピュータ２４は、これらのフレーズカードを時間的に順番に演奏する。このとき、１枚目のフレーズカードの最後の音の継続時間は、２枚目のフレーズカードの置かれた時間軸上の位置によって決められる。この場合の演奏も、たとえば２秒程度の無音期間を挟んで、繰り返し演奏される。オペレータ１６は、これらのフレーズカードの組み合わせによるメロディ、リズムをリアルタイムに聞きながら、その良し悪しを判断することができ、そのようなフレーズの組み合わせでよければ、これらをまとめて、より大きくて新しいフレーズカード３６とすることができる。このような操作もコンピュータ２４の画面上に表示されたメニュー画面上のフレーズカードの記号生成とカード保存のモードを起動することによりなされる。フレーズカードが、時間軸方向には同じ位置で、高さ軸方向には隣り合って置かれると、これらのフレーズは同時に鳴らされる。これらのフレーズは、オペレータ１６からコンピュータ２４への指示により、１つの楽器にて演奏させることもできるし、異なった楽器の異なったトラック（パート）として演奏させることもできる。このような指示もコンピュータ２４の画面上に表示されたメニュー画面上のフレーズカードの記号生成とカード保存のモードを起動することによりなされる。
【００５７】
このようにして、このシステムを用いることにより、より大きいフレーズを作曲してゆくことができ、最終的には１つの楽曲を作曲できることになる。
【００５８】
以下には、上で概説した図１実施例におけるコンピュータ２４の動作を、それぞれ該当のフロー図を参照することによって、詳しく説明する。
【００５９】
図１２はメニュー画面から起動される各モードを示し、メニュー画面を表示した後、オペレータがたとえばマウスをクリックするなどして、希望のモードをリクエストする。ただし、次のリクエストが入力されない限り、前回のモードで動作する。そして、新しいリクエストが入力されると、これまでのモードがリセットされ、新しいモードが設定される。
【００６０】
なお、この図１２で示す「座標系生成」ルーチンは、上で説明したテーブル１４上の座標系（Ｘ，Ｙ，Ｚ）を設定ないし形成するためのモードであるが、詳しい説明は省略する。同様に、音符カード１８の作成や保存あるいはフレーズカード３６の作成や保存あるいはＣＧフレーズ定義についても、詳しい説明は省略する。
【００６１】
フレーズ作曲モードの詳細が図１３に示される。図１３の最初のステップＳ１では、コンピュータ２４（図１）は、カメラ１４からのカメラ映像信号を取り込む。具体的には、カメラ映像信号がディジタル変換され、カラー映像データとしてコンピュータ２４内に保存される。そして、コンピュータ２４は、そのカラー映像データを処理して、先に設定した座標系をテーブル１４の上面映像上に配置する。
【００６２】
そして、次のステップＳ２において、コンピュータ２４は、２次元座標系Ｘ１，Ｙ１およびＸ２，Ｙ２をそれぞれ、Ｘ１＝０、Ｙ１＝０、Ｘ２＝ΔＸ、Ｙ２＝ΔＹとして設定する。ただし、ΔＸおよびΔＹは、それぞれ、範囲を変更する際の増分量を示し、たとえば、各々音符カード１８の幅および高さ程度の値が用いられる。次のステップＳ３において、コンピュータ２４は、Ｘ軸の範囲内（Ｘ＝Ｘ１〜Ｘ２）およびＹ軸の範囲内（Ｙ＝Ｙ１〜Ｙ２）に図２に示すような音符カード１８が置かれているかどうか判断する。
【００６３】
ステップＳ３で“ＹＥＳ”が判断されると、次のステップＳ４において、コンピュータ２４は、その音符カード１８の位置および／または配置情報に従ってＭＩＤＩデータを作成して、出力データエリアにセットするか、もしくは追加する。すなわち、音符カード１８の記号２２を識別することによって音色（楽器の種類）を設定し、Ｘ座標を検出して継続時間を設定し、Ｙ座標を検出して高さ（音程）を設定し、そしてＺ´軸廻りの回転角度を検出して大きさを設定する。ただし、継続時間は、上で述べたように、直前の測定値との差を直前の音符の継続時間として設定するが、直前の音符がなければ、直前の音としては無音を選び、Ｘ座標に従った無音継続時間を設けた後、今回の継続時間はデフォルトとする。
【００６４】
先のステップＳ３で“ＮＯ”を判断した後、もしくはステップＳ４の後、コンピュータ２４は、ステップＳ５において、Ｙ座標位置を更新する（Ｙ１＋ΔＹ→Ｙ１、Ｙ２＋ΔＹ→Ｙ２）。そして、ステップＳ６において、コンピュータ２４は、座標位置Ｙ２がたとえばテーブル全体の（所定の）範囲内かどうか判断する。
【００６５】
Ｙ２が所定の範囲内である場合、ステップＳ６で“ＹＥＳ”となり、次のステップＳ７に進む。ステップＳ７において、コンピュータ２４は、Ｘ軸の範囲内（Ｘ＝Ｘ１〜Ｘ２）およびＹ軸の範囲内（Ｙ＝Ｙ１〜Ｙ２）に音符カード１８が置かれているかどうか判断する。“ＮＯ”なら先のステップＳ５に戻る。“ＹＥＳ”なら、先のステップＳ４と同様にして、その音符カード１８の位置および／または配置情報に従ってＭＩＤＩデータを作成して、出力データエリアにセットするか、もしくは追加する。
【００６６】
ただし、ステップＳ６で“ＮＯ”が判断されたときには、コンピュータ２４は、続くステップＳ９において、Ｘ座標位置を更新する（Ｘ１＋ΔＸ→Ｘ１、Ｘ２＋ΔＸ→Ｘ２）。そして、ステップＳ１０において、コンピュータ２４は、座標位置Ｘ２がたとえばテーブル全体の（所定の）範囲内かどうか判断する。“ＹＥＳ”の場合にはプロセスはステップＳ３に戻り、“ＮＯ”の場合には、ステップＳ１１に進んで、コンピュータ２４は２秒間の無音のＭＩＤＩデータを出力データエリアに設定し、もしくは追加する。
【００６７】
このようにして、ステップＳ５およびＳ９で座標を更新することによって、図１３に示すフロー図に従って「フレーズ作曲」モードが実行され、コンピュータ２４はステップＳ４，Ｓ８またはＳ１１でＭＩＤＩデータを出力データエリアにセットし、ステップＳ１２においてそれらのＭＩＤＩデータを出力し、電子楽器２６（図１）に与える。なお、ＭＩＤＩデータはこの図１３のルーチンの周期毎に電子楽器２６に送られるが、電子（ＭＩＤＩ）楽器２６では、一定数のＭＩＤＩデータを蓄積した後、オーバフローしたＭＩＤＩデータは捨てる。
【００６８】
フレーズ演奏モードの詳細が図１４に示される。図１４の最初のステップＳ２１では、コンピュータ２４は、先のステップＳ１と同様にしてカメラ１４からのカメラ映像信号を取り込む。そして、次のステップＳ２２において、先のステップＳ２と同様にして、コンピュータ２４は、２次元座標Ｘ１，Ｙ１およびＸ２，Ｙ２をそれぞれ設定する。次のステップＳ２３において、コンピュータ２４は、Ｘ軸の範囲内（Ｘ＝Ｘ１〜Ｘ２）およびＹ軸の範囲内（Ｙ＝Ｙ１〜Ｙ２）に図５に示すようなフレーズカード３６が置かれているかどうか判断する。
【００６９】
ステップＳ２３で“ＹＥＳ”が判断されると、次のステップＳ２４において、コンピュータ２４は、そのフレーズカード３６に示されている音符イベントパターンを解析し、その音符イベントパターンをスクリーン３４（図１）上にグラフィクス表示する。ただし、そのＣＧ表示は、カメラ映像信号によるフレーズカードの実写映像の上に重畳して表示される。それとともに、ステップＳ２５において、コンピュータ２４は、音符イベントパターンに含まれる音符イベントに対応するＭＩＤＩを出力データエリアにセットする。
【００７０】
先のステップＳ２３で“ＮＯ”を判断した後、もしくはステップＳ２５の後、コンピュータ２４は、ステップＳ２６において、図１３のステップＳ５と同様に、Ｙ座標位置を更新する。そして、ステップＳ２７において、コンピュータ２４は、座標位置Ｙ２が所定の範囲内かどうか判断する。
【００７１】
Ｙ２が所定の範囲内である場合、ステップＳ２７で“ＹＥＳ”となり、次のステップＳ２８において、コンピュータ２４は、Ｘ軸の範囲内（Ｘ＝Ｘ１〜Ｘ２）およびＹ軸の範囲内（Ｙ＝Ｙ１〜Ｙ２）にフレーズカード３６が置かれているかどうか判断する。“ＮＯ”なら先のステップＳ２６に戻る。“ＹＥＳ”なら、先のステップＳ２４およびＳ２５と同様にして、ステップＳ２９およびＳ３０において、そのフレーズカード３６に示されている音符イベントパターンをスクリーン３４上にグラフィクス表示するとともに、音符イベントパターンに含まれる音符イベントに対応するＭＩＤＩを出力データエリアにセットする。
【００７２】
ただし、ステップＳ２７で“ＮＯ”が判断されたときには、コンピュータ２４は、続くステップＳ３１において、図１３のステップＳ９と同様に、Ｘ座標位置を更新する。そして、ステップＳ３２において、コンピュータ２４は、座標位置Ｘ２が所定の範囲内かどうか判断する。“ＹＥＳ”の場合にはプロセスはステップＳ２３に戻り、“ＮＯ”の場合には、ステップＳ３３に進んで、コンピュータ２４は２秒間の無音のＭＩＤＩデータを出力データエリアに追加する。
【００７３】
このようにして、ステップＳ２６およびＳ３１で座標を更新することによって、図１４に示すフロー図に従って「フレーズ演奏」モードが実行される。コンピュータ２４はステップＳ２５，Ｓ３０またはＳ３３でＭＩＤＩデータを出力データエリアにセットし、ステップＳ３４においてそれらのＭＩＤＩデータを出力し、電子楽器２６（図１）に与える。
【００７４】
図１５に示す「ＣＧフレーズ演奏」モードは、たとえば、フレーズ内編集モードやフレーズ全体操作でフレーズカードを変更し、それを保存する前に、メロディを聞くために実行される。最初のステップＳ５１では、コンピュータ２４は、スクリーン３４上でＣＧフレーズカードが既に指定されているかどうか判断する。“ＹＥＳ”なら、ステップＳ５２において、コンピュータ２４は、そのＣＧフレーズカードに含まれる音符イベントパターンをＣＧ表示するとともに、ステップＳ５３でその音符イベントに対応するＭＩＤＩデータを出力データエリアに設定し、ステップＳ５５でそのＭＩＤＩデータを電子楽器２６に出力する。したがって、この図１５のフロー図を実行することによって、フレーズカードを変更したときに、その変更点をその都度、音として確認することができる。
【００７５】
音符変更カード４４（図１０）を用いるフレーズ内編集モードが、図１６−図１８に詳細に示される。フレーズ内編集モードの最初のステップＳ６１では、図１３のステップＳ１と同様にし、カメラ１２からのカメラ映像信号を取り込む。そして、コンピュータ２４は、次のステップＳ６２で、そのカメラ映像信号に基づいて、フレーズカード３６が１枚テーブル１４上に置かれたかどうか判断する。同様にカメラ映像信号によって、ステップＳ６３で音符変更カード４４がテーブル上に載置されているかどうか、判断する。ステップＳ６２および／またはＳ６３で“ＮＯ”が判断されたときには、フレーズ内編集ができないので、警告表示の後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００７６】
ステップＳ６２およびＳ６３でともに“ＹＥＳ”が判断されると、次のステップＳ６４において、コンピュータ２４は、テーブル１４上の音符変更カードは１枚だけかどうか判断する。２枚以上の音符変更カードは同時には使えないので、もし、２枚以上の音符変更カードが同時にテーブル上に存在するときには、警告の後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００７７】
ステップＳ６４においても“ＹＥＳ”が判断されたとき、すなわち、テーブル１４上に、１枚のフレーズカード３６と、１枚の音符変更カード４４とが同時に存在するときには、コンピュータ２４は、続くステップＳ６５において、フレーズカードの音符イベントパターンをＣＧ表示するとともに、たとえば図６に示すようなその音符イベントパターンに対応する楽譜をＣＧ表示する。そして、ステップＳ６６において、コンピュータ２４は、音符変更カードの座標上の位置Ｘ，Ｙを検出するとともに、その音符変更カードが存在する位置にＣＧスパナを表示する。続くステップＳ６７で、コンピュータ２４は、ＣＧスパナがＣＧ音符カードに重なって表示されているかどうか判断する。
【００７８】
ステップＳ６７で“ＮＯ”が判断されるときには、ステップＳ６５に戻るが、“ＹＥＳ”の場合には、次のステップＳ６８において、コンピュータ２４は、ＣＧ音符カードにハンドルを表示し、ステップＳ６９で、そのハンドルがＣＧスパナの６角形部によって挟まれているかどうか判断する。“ＮＯ”ならステップＳ６８に戻る。“ＹＥＳ”なら、次のステップＳ７０において、コンピュータ２４は、ＣＧ音符カード上のハンドルはＣＧ音符カードの中心かどうか判断する。“ＮＯ”ならステップＳ７１で、ＣＧ音符カード上のハンドルはＣＧ音符カードの右上の角かどうか判断する。ステップＳ７１で“ＮＯ”なら、ステップＳ６８に戻る。
【００７９】
ステップＳ７０で“ＹＥＳ”が判断されると、オペレータ１６は音符カードの音の高さ（音程）を変更したいので、図１７のステップＳ７２に進む。そして、ステップＳ７２において、コンピュータ２４は、カウンタｉを０に初期化する。このステップＳ７２からステップＳ７８までは、ＣＧスパナの６角形部が０．２秒間ずつ連続１０回に渡って、ほぼ静止していたかどうかを判別するルーチンであり、カウンタｉはその１０回のカウントに用いる。ステップＳ７２の後、ステップＳ７３において、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。具体的には、音符変更カード４４のＹ位置Ｙ（ｉ）を測定することを意味する（以下同様）。次に、ステップＳ７４において、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ７５にて、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次に、ステップＳ７６において、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。そして、ステップＳ７７で、今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ１」以下であったかどうかを調べる。もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ７２に戻り、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００８０】
ステップＳ７７で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ７８において、コンピュータ２４はカウンタｉが「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ７４に戻り、次の０.２秒間について調べる動作に入る。
【００８１】
もし、ステップＳ７８にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ７９に進む。ステップＳ７９では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、ＣＧ音符カードのＹ位置をそれに合わせて表示する。
【００８２】
このステップＳ７９からステップＳ８６は、再び０.２秒間の静止が連続１０回続いたかどうかを調べることにより、２回目の２秒間の静止があったかどうかを判断するとともに、０.２秒間の静止状態がなかったと判断した場合は、０．２秒毎に計測したＣＧスパナのＹ位置に合わせてＣＧ音符カードを表示するルーチンである。このルーチンにより、音符変更カード４４の移動に合わせて、ＣＧ音符カードの表示位置がＹ座標に沿って移動してゆくため、オペレータ１６は、あたかもＣＧスパナによってＣＧ音符カードの中心のハンドルを握ってＣＧ音符カードを移動させているような操作感覚を得ることができる。
【００８３】
ステップＳ７９の続きの動作の説明に戻って、次のステップＳ８０において、コンピュータ２４は、カウンタｉを０に初期化する。つづいて、ステップＳ８１にて、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。次に、ステップＳ８２において、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ８３にて、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次に、ステップＳ８４にて、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。そして、ステップＳ８５にて、今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ１」以下であったかどうかを調べる。
【００８４】
もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ７９に戻り、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、移動中のＣＧ音符カードのＹ位置をそれに合わせて表示し、つづいてステップＳ８０において、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００８５】
ステップＳ８５で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ８６にてカウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ８２に戻り、次の０.２秒間について調べる動作に入る。もし、ステップＳ７８にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ８６−１に進む。ステップＳ８６−１では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、ＣＧ音符カードのＹ位置をそれに合わせて表示した後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００８６】
また、ステップＳ７１で“ＹＥＳ”が判断されると、オペレータ１６はその音符イベントの音の大きさを変更したいので、図１８のステップＳ８７に進む。そして、ステップＳ８７で、コンピュータ２４は、カウンタｉを０に初期化する。このステップＳ８７からステップＳ９３までは、ＣＧスパナの６角形部が０．２秒間づつ連続１０回に渡って、ほぼ静止していたかどうかを判別するルーチンであり、カウンタｉはその１０回のカウントに用いる。ステップＳ８７の後、ステップＳ８８において、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ（ｉ）、Ｙ（ｉ）を測定する。次に、ステップＳ８９にて、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ９０において、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次に、ステップＳ９１にて、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ（ｉ），Ｙ（ｉ）を測定する。そして、ステップＳ９２にて、今回の測定値Ｘ（ｉ）と前回の測定値Ｘ（ｉ−１）との差の絶対値が、小さな値「Δ２」以下であり、かつ今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値も、小さな値「Δ３」以下であったかどうかを調べる。
【００８７】
もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ８７に戻り、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００８８】
ステップＳ９２で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ９３にてカウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ８９に戻り、次の０.２秒間について調べる動作に入る。もしステップＳ９２にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ９４に進む。ステップＳ９４では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示する。
【００８９】
このステップＳ９４からステップＳ１０１は、再び０.２秒間の静止が連続１０回続いたかどうかを調べることにより、２回目の２秒間の静止があったかどうかを判断するとともに、０.２秒間の静止状態がなかったと判断した場合は、０．２秒毎に計測したＣＧスパナのＸ，Ｙ位置から算出した回転角度に合わせてＣＧ音符カードを表示すルーチンである。このルーチンにより、音符変更カードの移動に合わせて、ＣＧ音符カードの表示がＺ´軸まわりに回転してゆくため、オペレータ１６は、あたかもＣＧスパナによってＣＧ音符カードの右上角のハンドルを握ってＣＧ音符カードを回転させているような操作感覚を得ることができる。
【００９０】
ステップＳ９４の続きの動作の説明に戻って、次のステップＳ９５において、コンピュータ２４は、カウンタｉを０に初期化する。つづいて、ステップＳ９６にて、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ（ｉ），Ｙ（ｉ）を測定する。次にステップＳ９７にて、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ９８にて、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次に、ステップＳ９９にて、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ（ｉ），Ｙ（ｉ）を測定する。そして、ステップＳ１００にて、今回の測定値Ｘ（ｉ）と前回の測定値Ｘ（ｉ）との差の絶対値が、小さな値「Δ２」以下であり、かつ今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値も、小さな値「Δ３」以下であったかどうかを調べる。もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ９４に戻り、コンピュータ２４は、そのときの（移動中の）ＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示する。つづいて、ステップＳ９５にて、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００９１】
ステップＳ１００で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ１０１において、コンピュータ２４は、カウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ９７に戻り、次の０.２秒間について調べる動作に入る。もしステップＳ１０１にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ１０１−１に進む。ステップＳ１０１−１では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示した後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００９２】
フレーズ変更カード５０（図１１）を用いるフレーズ全体操作の一例であるフレーズインバートモードが、図１９−図２１に詳細に示される。フレーズ全体操作には先に述べたように、フレーズインバートの他、フレーズリバース、フレーズトランポーズがあるが、ここでは、フレーズインバートモードを説明する。
【００９３】
フレーズインバートモードの最初のステップＳ１１１では、図１３のステップＳ１と同様にして、カメラ１４からのカメラ映像信号を取り込む。そして、コンピュータ２４は、次のステップＳ１１２で、そのカメラ映像信号に基づいて、フレーズカード３６が１枚テーブル１４上に置かれたかどうか判断する。同様にカメラ映像信号によって、ステップＳ１１３でフレーズ変更カード５０がテーブル上に載置されているかどうか、判断する。ステップＳ１１２および／またはＳ１１３で“ＮＯ”が判断されたときには、フレーズインバートができないので、警告表示の後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００９４】
ステップＳ１１２およびＳ１１３でともに“ＹＥＳ”が判断されると、次のステップＳ１１４において、コンピュータ２４は、テーブル１４上のフレーズ変更カードは１枚だけかどうか判断する。フレーズインバートモードの場合は、２枚以上のフレーズ変更カードは同時には使えないので、もし、２枚以上のフレーズ変更カードが同時にテーブル上に存在するときには、警告の後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００９５】
ステップＳ１１４においても“ＹＥＳ”が判断されたとき、すなわち、テーブル１４上に、１枚のフレーズカード３６と、１枚のフレーズ変更カード５０とが同時に存在するときには、コンピュータ２４は、続くステップＳ１１５において、フレーズカードの音符イベントパターンに対応する楽譜をＣＧ表示する。そして、ステップＳ１１６において、コンピュータ２４は、フレーズ変更カードの座標上の位置Ｘ，Ｙを検出するとともに、そのフレーズ変更カードが存在する位置にＣＧスパナを表示する。続くステップＳ１１７で、コンピュータ２４は、ＣＧスパナの６角形部がＣＧフレーズカードの上端にあるかどうか判断する。
【００９６】
ステップＳ１１７で"ＮＯ"が判断されるときには、ステップＳ１１６、ステップＳ１１７に戻って、再びフレーズ変更カードのＸ、Ｙ位置を検出し、その位置に合わせてＣＧスパナを表示するという動作を、フレーズ変更カードがフレーズカードの上端に来るまで繰り返すが、ステップＳ１１７で"ＹＥＳ"の場合には、次のステップＳ１１８に進む。
【００９７】
そして、ステップＳ１１８において、コンピュータ２４は、カウンタｉを０に初期化する。このステップＳ１１８からステップＳ１２４までは、ＣＧスパナの６角形部が０．２秒間づつ連続１０回に渡って、ほぼ静止していたかどうかを判別するルーチンであり、カウンタｉはその１０回のカウントに用いる。
【００９８】
ステップＳ１１８の後、ステップＳ１１９において、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。次に、ステップＳ１２０において、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ１２１にて、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次に、ステップＳ１２２にて、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。
【００９９】
そして、ステップＳ１２３において、今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ４」以下であったかどうかを調べる。もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により移動させられている最中と判断して、ステップＳ１１８に戻り、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【０１００】
ステップＳ１２３で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ１２４にてカウンタｉは１０に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ１２０に戻り、次の０.２秒間について調べる動作に入る。
【０１０１】
もし、ステップＳ１２４にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ１２４−１に進む。ステップＳ１２４−１では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、つづいて、ステップＳ１２５にて、その測定値に基づいてＣＧスパナの６角形部はフレーズカードの下端に位置しているかどうかを判断する。“ＮＯ”と判断されれば、ステップＳ１２４−１に戻り、再びそのときのＣＧスパナの６角形部のＹ位置を測定し、続くステップＳ１２５において、その測定値に基づいてＣＧスパナの６角形部がフレーズカードの下端に位置しているかどうかを判断するという動作を繰り返す。ただし、ステップＳ１２５にて“ＹＥＳ”と判断されれば、コンピュータ２４は次のステップＳ１２６に進む。
【０１０２】
ステップＳ１２６からステップＳ１３２は、再び０.２秒間の静止が連続１０回続いたかどうかを調べることにより、２回目の２秒間の静止があったかどうかを判断するルーチンである。
【０１０３】
ステップＳ１２６からの動作の説明に戻って、ステップＳ１２６において、コンピュータ２４は、カウンタｉを０に初期化する。つづいて、ステップＳ１２７にて、コンピュータ２４は、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。次に、ステップＳ１２８にて、コンピュータ２４は、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ１２９にて、コンピュータ２４は、カウンタｉを「１」だけカウントアップする。次にステップＳ１３０にて、コンピュータ２４は、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ（ｉ）を測定する。そしてステップＳ１３１にて、今回の測定値Ｙ（ｉ）と前回の測定値Ｙ（ｉ−１）との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ４」以下であったかどうかを調べる。
【０１０４】
もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ１２６に戻り、カウンタｉを０に初期化して、再び上記判断を繰り返す。ステップＳ１３１で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ１３２にてカウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ１２８に戻り、次の０.２秒間について調べる動作に入る。もし、ステップＳ１３２にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ１３３（図２１）に進む。
【０１０５】
ステップＳ１３３では、コンピュータ２４は、このようにしてインバートした楽譜（図７）グラフィックス表示するとともに、ステップＳ１３４で、ＣＧフレーズカードを定義し、ステップＳ１３５において、すぐ上のＣＧフレーズカードを指定して、図１５に示すＣＧフレーズ演奏をリクエストした後、図１２の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【０１０６】
なお、上述の第１実施例では、音符カードやフレーズカードに変更を与える場合に、実体のある音符変更カードやフレーズ変更カードを用意して、それらの変更カードの操作により、音符カードやフレーズカードに対するさまざまな変更の付与を行ったが、音符変更カードやフレーズ変更カードを用いずに、より直接的にオペレータ１６が手の指で実際に音符カードやフレーズカードの一部を摘んで各種操作を行うようにしてもよい。
【０１０７】
たとえば、フレーズカード３６に対してインバートを与える場合、オペレータ１６は、テーブル１４上で、対象としているフレーズカードの上端を摘み、続いてその摘んだ手を垂直上方に持ち上げることにより、カードの上端を垂直上方に持ち上げ、続いてカードの上端を摘んだ手を、カードを裏向けながら、自分の手前の方へ持ってくる。結果として、フレーズカードは上下が逆になって裏返った状態でテーブル１４上の元の位置に置かれる。コンピュータ２４は、この一連の動作をカメラ映像信号から検出した指とフレーズカードとの位置関係、マーカ２０の変形の様子、カード裏面が表示される様子を認識することにより、このフレーズカードにインバート効果が与えられたことを識別して、インバートされた楽譜（図７）をグラフィックス表示する。同時に、インバートされたフレーズを繰り返し演奏する。リバースやトランスポーズもほぼ同様にして実現できる。
【０１０８】
このようにすれば、先の実施例よりもより日常動作的でわかりやすい操作が可能になるというメリットがある。
【０１０９】
さらに、音符カードやフレーズカードに効果を与える場合に、上述のいずれの実施例とも異なり、オペレータの指をコンピュータ２４に認識させて、この指にあたかも先の実施例における音符変更カードやフレーズ変更カードの役割を与えることも可能である。たとえば、親指を音符変更カードに、人差し指にフレーズ変更カードを対応させることができる。この場合は、オペレータの指の映像に重畳して仮想スパナがＣＧとして表示される。したがって、オペレータは変更カードを操作する必要がなく、自分の指をスパナとして使用できるので、より直接的でわかり易い操作が可能になるというメリットがある。
【０１１０】
さらにまた、上述の実施例では、いずれも、実体のあるテーブルと、葉書のような紙に印刷された実体のある各種カード（音符カード、フレーズカード、音符変更カード、フレーズ変更カード）を使用したが、このような実体のあるものを使用せずに、すべてＣＧとして表示される仮想的なテーブルとカードを使用してもよい。この場合、コンピュータ画面あるいはスクリーン３４上には、仮想的なテーブルのＣＧが表示されており、オペレータ１６は、メニュー画面等を操作することにより、必要な各種カードをＣＧとして作成したり、スクリーン上のＣＧ映像を見ながら、たとえばマウス等を用いて、これらの仮想カードを掴んで仮想テーブル上に配置することができる。このようにして、先の実施例で実際のカードを扱ってするのと同じように、作曲を行うことができる。そして、この場合には、２次元情報（２次元座標や回転角度）を獲得するためにカメラ映像信号を用いないので、コンピュータ２４がディスプレイメモリ（図示せず）の内容を参照することによってそのような２次元情報を取得する。
【０１１１】
そして、フレーズ作曲をしている段階、すなわち音符イベントパターンを決めている段階において、各音符カードに対応する音の状態をよりわかり易く表示するＣＧを、スクリーン３４上の各音符カードの上に重畳させて表示するようにしてもよい。たとえば、このようなＣＧとして、おもちゃのヘビを表示し、楽器の音色によってヘビの色を決め、さらにその音の大きさに合わせてその色の明度を変えて、さらにその音の継続時間の長短に合わせてそのヘビの長さを変えるというような表示が考えられる。このようにすれば、音符カードの位置や回転角度や配置から音の状態を認識するよりも、より直感的にリアルに認識できるというメリットが生じる。
【０１１２】
また、図１実施例におけるカメラ１２とビデオプロジェクタ３２とスクリーン３４とに代えて、オペレータ１６が、その頭部にヘッドマウントディスプレイ（ＨＭＤ：図示せず）を装着するとともに、そのＨＭＤと一体に小型カメラを取り付けるようにしてもよい。このようにすれば、より小規模な装置の構成が可能になるとともに、オペレータ１６にとってより集中しやすい作曲支援システムを構築できるというメリットが生じる。
【０１１３】
さらに、コンピュータ２４のメモリ（図示せず）にフレーズカードの音符イベントパターンのデータを蓄積し、それらのデータを、たとえばインタネットを介して複数人がアクセスできるようにすれば、ネットワークを通じて、複数人が協働して、作曲活動を行うことができる。
【図面の簡単な説明】
【図１】この発明の一実施例を示す図解図である。
【図２】図１実施例で用いる手持可能物体の一例であるカード（音符カード）を示す図解図である。
【図３】図１実施例における３次元座標上の音符カードの２次元情報の一例を示す図解図である。
【図４】図１実施例においてテーブル上の音符イベントパターンの配置状況の一例を示す図解図である。
【図５】図１実施例で用いるフレーズカードの一例を示す図解である。
【図６】図１実施例で作成されたフレーズの一例を示す図解図である。
【図７】図６のフレーズの編集の一例を示す図解図である。
【図８】図６のフレーズの編集の他の例を示す図解図である。
【図９】図６のフレーズの編集のさらに他の例を示す図解図である。
【図１０】図１実施例で用いる音符変更カードの一例を示す図解である。
【図１１】図１実施例で用いるフレーズ変更カードの一例を示す図解である。
【図１２】図１実施例の全般的な動作を示すフロー図である。
【図１３】図１実施例におけるフレーズ作曲動作を示すフロー図である。
【図１４】図１実施例におけるフレーズ演奏動作を示すフロー図である。
【図１５】図１実施例におけるＣＧフレーズ演奏動作を示すフロー図である。
【図１６】図１実施例におけるフレーズ内編集動作の一部を示すフロー図である。
【図１７】フレーズ内編集動作の他の一部を示すフロー図である。
【図１８】フレーズ内編集動作のその他の一部を示すフロー図である。
【図１９】図１実施例におけるフレーズインバート動作の一部を示すフロー図である。
【図２０】フレーズインバート動作の他の一部を示すフロー図である。
【図２１】フレーズインバート動作のその他の一部を示すフロー図である。
【符号の説明】
１０  …作曲支援システム
１２  …カメラ
１８  …音符カード
２４  …コンピュータ
３６  …フレーズカード
４４  …音符変更カード
５０  …フレーズ変更カード
【図１】
0003938327.tif 000002
【図２】
0003938327.tif 000003
【図３】
0003938327.tif 000004
【図４】
0003938327.tif 000005
【図５】
0003938327.tif 000006
【図６】
0003938327.tif 000007
【図７】
0003938327.tif 000008
【図８】
0003938327.tif 000009
【図９】
0003938327.tif 000010
【図１０】
0003938327.tif 000011
【図１１】
0003938327.tif 000012
【図１２】
0003938327.tif 000013
【図１３】
0003938327.tif 000014
【図１４】
0003938327.tif 000015
【図１５】
0003938327.tif 000016
【図１６】
0003938327.tif 000017
【図１７】
0003938327.tif 000018
【図１８】
0003938327.tif 000019
【図１９】
0003938327.tif 000020
【図２０】
0003938327.tif 000021
【図２１】
0003938327.tif 000022