(57)【要約】    【構成】  オペレータ１６がテーブル１４に音符カード１８を並べると、音符カード１８がカメラ１２によって撮影されてコンピュータ２４に入力される。コンピュータ２４は入力されたカメラ１２からの映像を解析して音符カード１８によって構成される楽曲を楽曲データとして作成する。オペレータ１６によって作曲された楽曲データは、プロフェッショナルが作曲した楽曲データおよび他のアマチュアが作成した楽曲データとともに、解析プログラムによって解析される。解析プログラムは、解析結果からオペレータが作曲した楽曲をプロフェッショナルが作曲した楽曲およびアマチュアが作曲した楽曲と比較可能なデータを出力し、このデータがコンピュータ２４のディスプレイに表示され、もしくはプリンタ４２からプリントアウトされる。    【効果】  オペレータ１６は出力結果から、自身の作曲した楽曲がプロフェッショナルが作曲した楽曲に近いのかもしくはアマチュアが作曲した楽曲に近いのかがわかるととともに、楽曲をどのように改善すればよいのかがわかる。【選択図】  図１
2005078047.tif 000002
【特許請求の範囲】
【請求項１】
(ａ)第１楽曲データを入力するステップ、
(ｂ)プロフェッショナルによって作曲された第２楽曲データを入力するステップ、
(ｃ)アマチュアによって作曲された第３楽曲データを入力するステップ、
(ｄ)前記第１楽曲データ，前記第２楽曲データおよび前記第３楽曲データに含まれる少なくとも音程，音の持続時間および音の強さを解析して前記第１楽曲データを前記第２楽曲データおよび前記第３楽曲データと比較可能とした比較解析データを作成するステップ、および
(ｅ)前記比較解析データを目視可能に出力するステップを含む、作曲支援方法。
【請求項２】
前記ステップ(ｄ)における比較解析データの作成には決定木作成アルゴリズムを使用する、請求項１記載の作曲支援方法。
【請求項３】
前記ステップ(ｄ)における比較解析データの作成にはアソシエーションルール作成アルゴリズムを使用する、請求項１記載の作曲支援方法。
【請求項４】
作曲支援システムで実行される作曲支援プログラムであって、コンピュータに
(ａ)第１楽曲データを入力するステップ、
(ｂ)プロフェッショナルによって作曲された第２楽曲データを入力するステップ、
(ｃ)アマチュアによって作曲された第３楽曲データを入力するステップ、
(ｄ)前記第１楽曲データ，前記第２楽曲データおよび前記第３楽曲データに含まれる少なくとも音程，音の持続時間および音の強さを解析して前記第１楽曲データを前記第２楽曲データおよび前記第３楽曲データと比較可能とした比較解析データを作成するステップ、および
(ｅ)前記比較解析データを目視可能に出力するステップを実施させる、作曲支援プログラム。
【請求項５】
第１楽曲データの入力を受け付ける第１受付手段、
プロフェッショナルによって作曲された第２楽曲データの入力を受け付ける第２受付手段、
アマチュアによって作曲された第３楽曲データの入力を受け付ける第３受付手段、
前記第１楽曲データ，前記第２楽曲データおよび前記第３楽曲データに含まれる音程，音の持続時間および音の強さを解析して前記第１楽曲データを前記第２楽曲データおよび前記第３楽曲データと比較可能とした比較解析データを作成するデータ作成手段、および
前記データ作成手段によって作成された前記比較解析データを目視可能に出力する出力手段を備える、作曲支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、作曲支援システムおよび方法に関し、特にたとえば、楽曲を作曲し、作曲した楽曲をプロフェッショナルが作曲した楽曲およびアマチュアが作曲した楽曲と比較可能でかつ目視可能に出力し、出力された比較結果を楽曲の改善に役立てる作曲支援システムおよび方法に関する。
【背景技術】
【０００２】
作曲の支援を行うシステムおよび方法はいくつか存在する。特許文献１に開示されている技術は作曲支援システムおよび方法の一例である。この技術では、既存の楽曲に基づいて作成した、もしくは、既存の楽曲から抽出した楽曲テンプレートデータをサーバに蓄積し、サーバに蓄積された楽曲テンプレートデータを携帯端末で選択してダウンロードし、ダウンロードした楽曲テンプレートデータに基づいて既存の楽曲とは異なる新たな楽曲を作成する。
【特許文献１】特開２００２−１６９５５２号公報［Ｇ１０Ｈ  １／００  １０２］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように、従来の作曲支援システムおよび方法では、楽曲の作曲にとどまり、作曲した楽曲がプロフェッショナルが作成した楽曲や他のアマチュアが作成した楽曲と比較可能となるように楽曲の解析結果を目視可能に出力し、この解析結果を作曲した楽曲の改善に役立てるというシステムおよび方法は存在しなかった。
【０００４】
それゆえに、この発明の主たる目的は、作曲した楽曲がプロフェッショナルが作成した楽曲や他のアマチュアが作成した楽曲と比較可能となるように楽曲の解析結果を目視可能に出力し、作曲した楽曲がプロフェッショナルが作曲した楽曲もしくはアマチュアが作曲した楽曲のどちらにより近いかを知るなどし、この解析結果を作曲した楽曲の改善に役立てることができる、作曲支援システムおよび方法を提供することである。
【課題を解決するための手段】
【０００５】
請求項１の発明は、(ａ)第１楽曲データを入力するステップ、(ｂ)プロフェッショナルによって作曲された第２楽曲データを入力するステップ、(ｃ)アマチュアによって作曲された第３楽曲データを入力するステップ、(ｄ)第１楽曲データ，第２楽曲データおよび第３楽曲データに含まれる少なくとも音程，音の持続時間および音の強さを解析して第１楽曲データを第２楽曲データおよび第３楽曲データと比較可能とした比較解析データを作成するステップ、および(ｅ)比較解析データを目視可能に出力するステップを含む、作曲支援方法である。
【０００６】
請求項１の発明では、第１楽曲データ，第２楽曲データおよび第３楽曲データを解析して第１楽曲データを第２楽曲データおよび第３楽曲データと比較可能とした比較解析データを作成して表示し、あるいは印刷する。したがって、請求項１の発明によれば、比較解析データによって第１楽曲データとプロフェッショナルによって作曲された第２楽曲データおよびアマチュアによって作曲された第３楽曲データとの違いを発見したり、作曲した楽曲がプロフェッショナルが作曲した楽曲もしくはアマチュアが作曲した楽曲のどちらにより近いかを知ったりすることができるので、比較解析データを参照することによってよりプロフェッショナルが作曲した楽曲に近い楽曲を作成することができる。
【０００７】
請求項２の発明は、ステップ(ｄ)における比較解析データの作成には決定木作成アルゴリズムを使用する、請求項１記載の作曲支援方法である。
【０００８】
請求項２の発明では、比較解析データの作成にたとえばC4.5のような決定木作成アルゴリズムを使用するので、作曲した第１楽曲データとプロフェッショナルが作成した第２楽曲データおよびアマチュアが作成した第３楽曲データとの違いを木構造として視覚的に表現することができる。
【０００９】
請求項３の発明は、ステップ(ｄ)における比較解析データの作成にはアソシエーションルール作成アルゴリズムを使用する、請求項１記載の作曲支援方法である。
【００１０】
請求項３の発明では、比較解析データの作成にたとえばKey Graphのようなアソシエーションルール作成アルゴリズムを使用するので、作曲した第１楽曲データとプロフェッショナルが作成した第２楽曲データおよびアマチュアが作成した第３楽曲データとの違いを関係図として視覚的に表現することができる。
【００１１】
請求項４の発明は、作曲支援システムで実行される作曲支援プログラムであって、コンピュータに、(ａ)第１楽曲データを入力するステップ、(ｂ)プロフェッショナルによって作曲された第２楽曲データを入力するステップ、(ｃ)アマチュアによって作曲された第３楽曲データを入力するステップ、(ｄ)第１楽曲データ，第２楽曲データおよび第３楽曲データに含まれる少なくとも音程,音の持続時間および音の強さを解析して第１楽曲データを第２楽曲データおよび第３楽曲データと比較可能とした比較解析データを作成するステップ、および(ｅ)比較解析データを目視可能に出力するステップを実行する、作曲支援プログラムである。
【００１２】
請求項４の発明では、第１楽曲データ，第２楽曲データおよび第３楽曲データを解析することによって第１楽曲データを第２楽曲データおよび第３楽曲データと比較可能とした比較解析データを作成して表示し、あるいは印刷する。したがって、請求項４の発明によれば、請求項１と同様の効果が得られる。
【００１３】
請求項５の発明は、第１楽曲データの入力を受け付ける第１受付手段、プロフェッショナルによって作曲された第２楽曲データの入力を受け付ける第２受付手段、アマチュアによって作曲された第３楽曲データの入力を受け付ける第３受付手段、第１楽曲データ，第２楽曲データおよび第３楽曲データに含まれる少なくとも音程，音の持続時間および音の強さを解析して第１楽曲データを第２楽曲データおよび第３楽曲データと比較可能とした比較解析データを作成するデータ作成手段、およびデータ作成手段によって作成された比較解析データを目視可能に出力する出力手段を備える、作曲支援システムである。
【００１４】
請求項５の発明では、第１楽曲データ，第２楽曲データおよび第３楽曲データを解析して第２楽曲データおよび第３楽曲データと第１楽曲データを比較可能とした比較解析データを作成して表示し、あるいは印刷する。したがって、請求項５の発明によれば、請求項１と同様の効果が得られる。
【発明の効果】
【００１５】
この発明によれば、目視可能に出力された比較解析データを参照することによって、自身が作曲した楽曲がプロフェッショナルが作曲した楽曲あるいはアマチュアが作曲した楽曲のどちらにより近いかを知ることができ、また、自身が作曲した楽曲とプロフェッショナルが作曲した楽曲およびアマチュアが作曲した楽曲との違いを知り、どのように楽曲を改善すればよりプロフェッショナルが作成した楽曲に近づくかがわかるので、よりプロフェッショナルに近い楽曲を作曲することができる。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１７】
図１は本発明作曲支援システム１０の一実施例の全体構成を示しており、この作曲支援システム１０では、オペレータ１６が楽曲を作曲し、作曲した楽曲をプロフェッショナルが作曲した楽曲および他のアマチュアが作曲した楽曲と比較解析し、比較解析結果を出力する。オペレータ１６は出力された比較解析結果から自分の作曲した楽曲がプロフェッショナルが作曲した楽曲とアマチュアが作曲した楽曲とのどちらに近いかを知るとともに、自分の作曲した楽曲とプロフェッショナルが作曲した楽曲および他のアマチュアが作曲した楽曲との違いを知り、自身が作曲した楽曲の改善に役立てることができる。
【００１８】
図１を参照して、作曲支援システム１０はコンピュータ２４を含む。コンピュータ２４によって“楽曲の作成処理”および“楽曲の解析処理”が実行される。コンピュータ２４は具体的には、図２に示すように構成される。つまり、ＣＰＵ６０がバス８６を介して、ＲＡＭ６２，ディスプレイ６４，キーボード６６，マウス６８，映像処理回路７０，映像処理回路７２，音声処理回路７４およびＨＤＤ(Hard Disk Drive)７６に接続される。なお、ＨＤＤ７６に設けられた図示しないハードディスクには後述する解析プログラム７８が記録されている。また、ハードディスクには後述する、プロフェッショナルが作曲した楽曲データを蓄積したプロフェッショナル作曲データベース８０，アマチュアが作曲した楽曲データを蓄積したアマチュア作曲データベース８２およびオペレータ１６が作曲した楽曲データ，プロフェッショナルが作曲した楽曲データおよびアマチュアが作曲した楽曲データを解析した結果を蓄積する解析結果データベースが構築されている。
【００１９】
まず、楽曲作成について説明する。図１を参照して、作曲支援システム１０はカメラ１２をも含み、このカメラ１２はたとえばテーブル１４の上方に、テーブル１４の上面を全体的に撮影できるように設置される。そして、オペレータ１６は、カード１８を手で持って、このテーブル１４上にそのカード１８を置いたり、その位置を変化させたりすることができる。
【００２０】
図３にカード１８の一例を示す。このカード１８は、その表面に形成されたたとえば矩形形状のマーカ２０と、そのマーカ２０内に表示される記号２２とを含む。マーカ２０および記号２２は、コンピュータ２４およびオペレータ１６によって読み取り可能な意味を持っている。すなわち、マーカ２０は、この中に識別するべき記号２２が記載されていることを意味し、その記号２２は、その模様により、予め決められた音楽的表現もしくはその音楽的表現に対する予め決められた操作という意味を持っている。ただし、マーカ２０および記号２２の図３の形状は単なる一例であり、他の任意の形状が選定されてもよい。
【００２１】
カメラ１２は、テーブル１４と、その上でオペレータ１６によって配置されるカード１８を撮影して、カメラ映像信号を図１に示すコンピュータ２４に与える。コンピュータ２４は、後に詳細に説明するように、カメラ１２から入力されるカメラ映像信号に基づいて、カード１８の位置や姿勢もしくは配置情報を取り込むとともに、さらにカード１８上に記載された記号２２の意味を特定し、音楽的表現を決定ないし特定する。
【００２２】
なお、カード１８上の記号２２が音符を意味する場合、以下では、このカードを特に音符カード１８と呼ぶことにする。カードが音符カード１８である場合は、そのカード上の音符記号２２は、その音符を意味する記号(模様)の種類に応じて、予め定められた所定の楽器の音色、高さ(音程)、大きさおよび継続時間を持つ音を意味する。図３はカードが音符カード１８である場合を示している。オペレータ１６はこのような音符カード１８をテーブル１４上に置くことによって、音楽フレーズを作成する。
【００２３】
オペレータ１６は、コンピュータ２４に対し、図４に示すような座標系を予め定めておく。すなわち、オペレータ１６は、オペレータ１６に正対するテーブル１４上で、たとえばオペレータ１６の左側でかつオペレータ１６に近い側の１点を原点として設定する。さらに、オペレータ１６は、このテーブル１４の平面内で、この原点を通るオペレータ１６の左右方向にＸ軸を設定し、オペレータ１６の右手側をそのＸ軸の正の方向と指定する。また、オペレータ１６は、このテーブル１４の平面内で、Ｘ軸に垂直でかつ原点を通る軸をＹ軸として設定するとともに、オペレータ１６から遠ざかる方向にそのＹ軸の正の方向を指定する。さらに、オペレータ１６は、原点を通ってテーブル１４の平面に垂直な方向にＺ軸をとり、上方をその正の方向に指定する。
【００２４】
このような座標系を予め設定しているテーブル１４上にオペレータ１６が音符カード１８を置くと、コンピュータ２４は、カメラ１２から入力されるカメラ映像信号に基づいて、音符カード１８上のマーカ２０および記号２２を識別してそれが音符記号であることを知る。また、音符カード１８のテーブル１４の上記座標系上での２次元情報を検出する。この音符カード１８の２次元情報とは、図４の座標系における、たとえば音符カード１８の中心のＸ座標とＹ座標と、ここでは図示しないが、そのカードの中心を通ってＺ軸に平行な軸(以後この軸をＺ´軸と記す)まわりのカードの回転角度である。そして、Ｘ軸が時間軸を表し、Ｘ座標が大きいほど後の時刻を表すという意味を予め与えておく。同様に、Ｙ軸が音の高さを表し、Ｙ座標が大きいほど高い音を表すという意味を予め与えておく。さらに、Ｚ´軸周りの回転角度が音の大きさ表し、その回転角度が大きいほど大きい音を表すという意味を予め与えておく。
【００２５】
コンピュータ２４はこれらの情報に基づいて、識別した音符記号２２に予め対応付けられた所定の楽器の音色でかつ所定の継続時間の音を、検出した音符カード１８のＹ座標に対応した高さでかつ検出したＺ´軸周りの回転角度に対応した大きさで演奏できるＭＩＤＩデータのような音楽データに変換して、その音楽データ(ＭＩＤＩデータ)を出力する。音楽データとしては、実施例ではＭＩＤＩデータを用いるが、実施例とは異なる電子楽器が用いられる場合には、他の同様の音楽データが用いられてもよい。
【００２６】
そして、コンピュータ２４は、このＭＩＤＩデータを、たとえば２秒間の無音期間を挟んで繰り返して出力する。コンピュータ２４から出力されるＭＩＤＩデータは電子楽器２６に与えられる。電子楽器２６は、この実施例では、ＭＩＤＩ音源(ＭＩＤＩデータを受信して音を出す音源であり、鍵盤付のキーボードタイプ、鍵盤なしのモジュールタイプ、コンピュータスロットに装着するボードタイプもしくはカードタイプがある)を含む。つまり、電子楽器２６は、たとえばシンセサイザ(音色を自由に合成できる楽器)、サンプラ(実際の音をサンプリングしてそれを元に音階演奏可能な楽器)等のように、たとえば音階、テンポ、音色等の音楽表現要素を電子的に制御することが可能な楽器である。電子楽器２６は、コンピュータ２４によってイネーブルされたとき、受信したＭＩＤＩデータに従って、指定の楽器音(音色)、指定の高さ、および指定の大きさで、指定の時間だけ継続する音に相当する音楽信号を出力する。電子楽器２６からの音楽信号はアンプ２８を介してスピーカ３０から音として出力される。コンピュータ２４からのＭＩＤＩデータはたとえば２秒間の無音期間を挟んで繰り返して出力されるため、これに基づく音も一定周期ごとに繰り返される。
【００２７】
コンピュータ２４はさらに、カメラ１２から受け取ったカメラ映像信号(テーブル１４上のカードの配置状態を示すカメラ映像信号)を、ビデオプロジェクタ３２が表示可能な映像信号に変換して、さらに後に説明するように、必要に応じてコンピュータ２４が作り出したコンピュータグラフィックス映像も、上記カメラ映像信号に重畳して、ビデオプロジェクタ３２に与える。ビデオプロジェクタ３２はスクリーン３４上に、テーブル１４上のカード配置状態を示す映像、場合によっては、それにＣＧが重畳された映像を表示する。このビデオプロジェクタ３２およびスクリーン３４が大画面ディスプレイを構成する。
【００２８】
次に、オペレータ１６は、たとえば上記音符カード１８と同じ種類の別の音符カード１８を持って、Ｘ軸に沿って、先に置いた音符カード１８よりもたとえば右側のどこかにその別の音符カード１８を置く。このとき、コンピュータ２４は、カメラ１２から受け取ったカメラ映像信号に基づいて、今回置かれた音符カード１８(の中心：以下略)のＹ座標とＺ´軸周りの回転角度とを検出し、演奏する音の高さと大きさとを決める。また、今回置かれた音符カード１８のＸ座標と先に置かれた音符カード１８のＸ座標との差分によって、先に置かれた音符カード１８に対応して演奏する音の継続時間を決める。ただし、後続する音符カード１８がない場合には、今回置かれた音符カード１８に対応する音の継続時間は、予めその音符記号に割り当てられている(デフォルトの)継続時間とする。もし、図５に例示するように、今回の音符カード１８が先に置かれた音符カード１８と同じＸ座標位置で、異なったＹ座標位置に置かれたならば、これら２つの音符カード１８によって、異なる高さの２つの音が同時に演奏されることになる。この場合も、もしこれらのカードの後ろ(右側)に後続のカードがなければ、これら２つの音の継続時間はデフォルトのものとなる。
【００２９】
このようにして、オペレータ１６は、テーブル上に配置した音符カード１８の配置を視覚的に確認しつつ、同時にそれらの音符カード１８の配置を示すカメラ映像信号に基づいて電子楽器２６によって演奏される音を繰り返し聞くことができる。もし、オペレータ１６がそれらの音の流れが気に入らなければ、どれかのカードの位置を変更すればよい。すると、演奏される音もそれに合わせて変更される。さらに、オペレータ１６が、続けて複数枚の音符カード１８をテーブル１４上に並べて行くと、コンピュータ２４は、それぞれの音符カード１８とそれらの配置をカメラ映像信号から識別して、リアルタイムに対応するメロディを演奏する。この演奏も、たとえば２秒間の無音期間を挟んで繰り返される。オペレータ１６は、テーブル上の音符カード１８の位置や配置を変更しながら、同時にリアルタイムでその変更された配置に対応する電子楽器２６の演奏音を聞きながら、この一連の音の流れが気に入るフレーズになるまで、カード配置作業を続けることができる。このような音符カード１８からなる配列パターンは、一連の音符のイベント情報を有していると考えられる。その意味で、このような音符カード１８の配列を、以下では音符イベントパターンと呼ぶこともある。図５のカード配置がそのような音符イベントパターンの一例である。
【００３０】
オペレータ１６は、こうして出来上がったフレーズを、自分の著作物として、コンピュータ２４のＨＤＤ７６に設けられた図示しないハードディスク内に記録するとともに、このフレーズを意味するフレーズカード３６を作成することができる。図５の音符イベントパターンに対応するフレーズカード３６の例を図６に示す。このフレーズカード３６も、音符カード１８と同様に、マーカ３８と、そのマーカ３８内に記述される記号４０とを含む。物理的にフレーズカード３６を作成するには、たとえばコンピュータ２４とそれに接続されたプリンタ４２(図１)を用いて、たとえば葉書のような紙に、マーカ３８と対応するフレーズ記号４０とを印刷すればよい。もちろん、音符カード１８についても、予めこの方法で作成しておいてもよい。
【００３１】
図５に示すような音符イベントパターンを図６に示すようなフレーズカード３６に一旦記録してしまうと、その音符イベントパターンすなわちフレーズが固定されるため、オペレータ１６は、テーブル１４上の音符カード１８を取り去ることができる。こうして、オペレータ１６は、次のフレーズカード３６の作成、すなわち次のフレーズの作曲に移ることができる。
【００３２】
このようにして自分のフレーズがいくつか出来上がると、オペレータ１６はフレーズ内編集を行う。オペレータ１６は、まず、メニュー画面にて、フレーズ演奏モードを起動させる。次に、オペレータ１６が、操作したい１枚のフレーズカード３６をテーブル１４の上に置くと、コンピュータ２４は、スクリーン３４上にそのフレーズカード３６が保持する音符イベントパターンを楽譜としてグラフィックス表示する。図７にグラフィックス表示された楽譜の例を示す。スクリーン３４上には、テーブル１４の上面とテーブル１４上に置かれたフレーズカード３６もビデオ映像として表示されており、この楽譜グラフィックスはテーブル上の対応するフレーズカード３６の映像上に重ね合わせて表示される。また、コンピュータ２４はこの音符イベントパターンを繰り返し演奏する。
【００３３】
ここで、オペレータ１６が、このフレーズの内部に変更を与えたい、すなわちフレーズ内編集を行おうとする場合は、オペレータ１６は、メニュー画面からフレーズ内編集モードを起動させる。続いて、オペレータ１６は、テーブル１４上に、図８に示すような音符変更カード４４と呼ばれるカードを持ち出す。この音符変更カード４４上には、マーカ４６内の記号４８として、たとえば音符とスパナとが並んで描かれている。
【００３４】
コンピュータ２４は、カメラ映像信号から音符変更カード４４の特有の記号４８を識別すると、まず、スクリーン３４上で、テーブル１４上に置かれたフレーズカード３６の映像表示に代えて、対応する音符イベントパターン(図５：一連の音符カード１８が配置されたもの)をグラフィックス表示する。また、図７のような楽譜のグラフィックスも表示する。コンピュータ２４は、現在の音符変更カード４４の位置に合わせて、スクリーン上にスパナをコンピュータグラフィックス(以下、ＣＧ)表示する。また、この表示は、音符イベントのグラフィックス表示の上に重畳して表示される。
【００３５】
続いて、オペレータ１６が、この音符変更カード４４を、変更したいどれか１つの音符カード１８(以下では、この音符カード１８は、グラフィックス表示されているのでこれをＣＧ音符カードと呼ぶ。)の上に持って行くと、そのＣＧ音符カードの中心と右上角にハンドルと呼ばれる小さな点が現れる。もし、オペレータ１６がこのＣＧ音符カード１８の音の高さを変更したければ、音符変更カード４４の位置を調整して、ＣＧ表示されたスパナ(以下、ＣＧスパナ)の６角形部分をこのＣＧ音符カードの中心のハンドルに合わせて、そこで、たとえば２秒間(以下同様)静止させる。これにより、コンピュータ２４の所定の処理によって、ＣＧスパナはＣＧ音符カードの中心を掴むことができる。続いて、オペレータ１６は、音符変更カード４４を高さ軸の方向に必要分だけ移動させて、その位置で再び２秒間静止させる。この結果、ハンドルはＣＧスパナから開放される。このようにして、オペレータ１６は、ＣＧ音符カードの高さ軸の位置を変えることができる。ＣＧ音符カードを時間軸方向に移動させる場合も同様である。
【００３６】
また、音の大きさを変えたいときは、ＣＧスパナの６角形部分をＣＧ音符カードの右上角のハンドルに合わせて、２秒間静止させることにより、そのハンドルを掴み、続いて、音符変更カード４４を必要角度分だけ回転させて、その位置で２秒間静止させることにより、ハンドルはＣＧスパナから開放される。このようにして、オペレータ１６は、ＣＧ音符カードを必要角度分だけ回転させることができる。オペレータ１６は、ここでメニュー画面からＣＧフレーズ定義モードを走らせ、続いて、ＣＧフレーズ演奏を起動させると、とりあえず、今定義したＣＧフレーズのメロディやリズムを音として繰り返し聞くことができる。以上の操作は気に入るＣＧフレーズができるまで何度でも繰り返すことができる。
【００３７】
オペレータ１６は、このようにしてフレーズ内の音符カード１８の必要な変更を終了すると、音符変更カード４４をテーブル１４上から取り除いた後、メニュー画面にてフレーズの記号生成とカード保存モードを起動させる。
【００３８】
これにより、コンピュータ２４は、オペレータ１６に、最後の音符イベントパターンを表す新しいフレーズカード３６用の記号の入力を要求する。この場合コンピュータ２４は、コンピュータ画面上に予め用意してあるフレーズカード３６用の記号で未使用なものを候補として表示し、オペレータ１６に選ばせるというような方法が考えられる。オペレータ１６が、新しいフレーズカード３６用の記号を指定すると、コンピュータ２４は、この新しいフレーズカード３６を記憶するとともに、フレーズカード３６としてプリントアウトする。また、スクリーン３４上に、音符イベントパターンのグラフィックス表示に代えて、今新しく定義されたフレーズカード３６をグラフィックス表示する。
【００３９】
ここで、オペレータ１６は、新しいフレーズカード３６をテーブル１４上に置いて、メニュー画面からフレーズ演奏モードを起動すると、この新しいフレーズカード３６のメロディやリズムを聞くことができる。
【００４０】
以上のようにして出来上がった各フレーズカード３６は、物理的実体として(たとえば前述のように葉書のような用紙に印刷したカード)として揃っている。オペレータ１６は、続いてフレーズ演奏段階に進む。そのために、オペレータ１６は、少なくとも１枚のフレーズカード３６をテーブル１４の上に置いた後、メニュー画面にて、フレーズ演奏モードを起動する。
【００４１】
フレーズ演奏モードにおいては、オペレータ１６が、テーブル１４上で、２枚のフレーズカード３６を時間軸に沿って隣に置けば、コンピュータ２４は、これらのフレーズカード３６を時間的に順番に演奏する。このとき、１枚目のフレーズカード３６の最後の音の継続時間は、２枚目のフレーズカード３６の置かれた時間軸上の位置によって決められる。この場合の演奏も、たとえば２秒程度の無音期間を挟んで、繰り返し演奏される。オペレータ１６は、これらのフレーズカード３６の組み合わせによるメロディ、リズムをリアルタイムに聞きながら、その良し悪しを判断することができ、そのようなフレーズの組み合わせでよければ、これらをまとめて、より大きくて新しいフレーズカード３６とすることができる。このような操作もコンピュータ２４の画面上に表示されたメニュー画面上のフレーズカード３６の記号生成とカード保存のモードを起動することによりなされる。フレーズカード３６が、時間軸方向には同じ位置で、高さ軸方向には隣り合って置かれると、これらのフレーズは同時に鳴らされる。これらのフレーズは、オペレータ１６からコンピュータ２４への指示により、１つの楽器にて演奏させることもできるし、異なった楽器の異なったトラック(パート)として演奏させることもできる。このような指示もコンピュータ２４の画面上に表示されたメニュー画面上のフレーズカード３６の記号生成とカード保存のモードを起動することによりなされる。
【００４２】
このようにして、このシステムを用いることにより、より大きいフレーズを作曲してゆくことができ、最終的には１つの楽曲を作曲できる。１つの楽曲として完成された楽曲データ(ＭＩＤＩデータ)はＨＤＤ７６に設けられたハードディスクに記録される。
【００４３】
ハードディスクに記録される楽曲データ(ＭＩＤＩデータ)は図９に示す構成となっている。“loop”から始まる１行のデータは１つの音符カード１８に対応しており、図９に示すように、１行のデータには、“loop”，“card”，“pitch”，“position”，“on_off”，“velocity”および“duration”の項目が含まれている。“loop”の項目は、フレーズを示すためのものであり、同一の番号のものが１つのフレーズを構成する。“card”の項目は、その番号によって音符カードの種類を表す。“pitch”の項目は、音程(調子を示す)を示すものであり、値が大きいほど音が高い。“position”の項目は、その番号によって演奏する順番を示す。“on_off”の項目はカードがカメラに写っているかどうかを示す。この項目の値は０または１２７であり、値が０の場合にはカードがカメラに写っていない(カードが存在しない)ことを示し、値が１２７の場合にはカードがカメラに写っている(カードが存在する)ことを示す。この値が“０”の場合には音は発生しないが、値が０のデータは準備データとして意味を持っている。“velocity”の項目は、音の強さを示し、値が大きいほど強い音である。そして、“duration”の項目は、音の持続時間を示し、値が大きいほど長い時間を示す。
【００４４】
これらの項目(“on_off”を除く)の値は、たとえば０から１２７の間の連続値を設定するようにしているが、これらは離散的な値であってもよい。たとえば、“duration”の項目であれば、音の持続時間を表す値として、四分音符(休符)の長さを示す“Ａ”，二分音符(休符)の長さを示す“Ｂ”といった離散値を用いることが考えられる。
【００４５】
作曲が終了すると、オペレータ１６はメニュー画面から解析ルーチンを起動し、作曲した楽曲とプロフェッショナルが作曲した楽曲および他のアマチュアが作曲した楽曲との比較解析を行う。比較解析には、Quinlan J. Rによって開発されたC4.5という決定木作成アルゴリズムを用いた解析プログラム７８(図２)を使用する。C4.5を用いると、離散的に連続するデータを解析してデータ間に存在する論理的な関係を得ることができる。
【００４６】
解析プログラム７８にはＭＩＤＩデータが直接入力されるのではなく、C4.5というアルゴリズムを用いた解析プログラム７８によって解析がしやすいように所定のフィルタによって変換された楽曲データが入力される。プロフェッショナル作曲データベース８０およびアマチュア作曲データベース８２には、オペレータ１６によって作曲された楽曲と比較解析されるＭＩＤＩデータが蓄積されている。プロフェッショナル作曲データベース８０には、作曲のプロフェッショナルによって作曲された複数の楽曲データが蓄積されており、アマチュア作曲データベース８２にはオペレータ１６以外のアマチュアによって作曲された複数の楽曲データが蓄積されている。
【００４７】
オペレータ１６によって作曲された楽曲データ，プロフェッショナル作曲データベース８０に蓄積された複数の楽曲データおよびアマチュア作曲データベース８２に蓄積された複数の楽曲データが上述のフィルタによって変換され順次解析プログラム７８に入力され解析される。
【００４８】
コンピュータ２４は、これらの楽曲データを解析プログラム７８を用いて解析し、図１０に示すような解析結果をディスプレイ６４に表示する。この解析結果はプリンタ４２を用いてプリントアウトすることもできる。図１０において、“Ｐ”はプロフェッショナルグループを示し、“Ａ”はアマチュアグループを示している。そして、“Ａ１”はオペレータ１６を示している。つまり、解析プログラム７８による解析によって、プロフェッショナル達が作曲した楽曲の特徴およびアマチュア達が作曲した楽曲の特徴が示されるとともに、オペレータ１６の作曲した楽曲がプロフェッショナル達が作曲した楽曲およびアマチュア達が作曲した楽曲と比較してどのような関係にあるのかが明確になる。
【００４９】
図１０の解析結果では、データの項目およびその値によって、プロフェッショナル(Ｐ)であるか、アマチュア(Ａ)であるかが場合わけされている。つまり、“pitch”が５１以下である場合に、“duration(音の持続時間)”が５８以上であればアマチュアである。そして、“duration(音の持続時間)”が５８より大きい場合には、“loop”が２８以下である場合において“on_off(音符カード１８の有り無し)”が０であればプロフェッショナルである。さらに、“on_off(音符カード１８の有り無し)”が１２７である場合に、“velocity(音の強さ)”が５９以下であればアマチュアである。また、“velocity(音の強さ)”が５９より大きくて、かつ、１１４以下であればプロフェッショナルである。そして、“velocity(音の強さ)”が１１４よりも大きいのがオペレータ１６が作曲した楽曲である。
【００５０】
したがって、“velocity(音の強さ)”を１１４以下になるように修正すればオペレータ１６の作曲した楽曲がプロフェッショナルが作曲した楽曲のグループに含まれるので、オペレータ１６が作曲した楽曲は、アマチュアが作曲した楽曲よりもプロフェッショナルが作曲した楽曲に近いことがわかる。
【００５１】
このように、作曲支援システム１０によれば、自身の作曲した楽曲がアマチュアに近いのかもしくはプロフェッショナルに近いのかがわかるとともに、楽曲をどのように改善すればよいのかがわかる。
【００５２】
以下には、上で概説した図１実施例におけるコンピュータ２４のＣＰＵ６０の動作を、それぞれ該当のフロー図を参照することによって、詳しく説明する。
【００５３】
図１１はメニュー画面から起動される各モードを示し、メニュー画面を表示した後、オペレータ１６がたとえばマウス６８をクリックするなどして、希望のモードをリクエストする。ただし、次のリクエストが入力されない限り、前回のモードで動作する。そして、新しいリクエストが入力されると、これまでのモードがリセットされ、新しいモードが設定される。
【００５４】
なお、この図１１で示す「座標系生成」ルーチンは、上で説明したテーブル１４上の座標系(Ｘ，Ｙ，Ｚ)を設定ないし形成するためのモードであるが、詳しい説明は省略する。同様に、音符カード１８の作成や保存あるいはフレーズカード３６の作成や保存あるいはＣＧフレーズ定義についても、詳しい説明は省略する。
【００５５】
フレーズ作曲モードの詳細が図１２に示される。図１２の最初のステップＳ１では、コンピュータ２４(図１)は、カメラ１４からのカメラ映像信号を取り込む。具体的には、カメラ映像信号がディジタル変換され、カラー映像データとしてコンピュータ２４内に保存される。そして、そのカラー映像データを処理して、先に設定した座標系をテーブル１４の上面映像上に配置する。
【００５６】
そして、次のステップＳ２において、コンピュータ２４は、２次元座標系Ｘ１，Ｙ１およびＸ２，Ｙ２をそれぞれ、Ｘ１＝０、Ｙ１＝０、Ｘ２＝ΔＸ、Ｙ２＝ΔＹとして設定する。ただし、ΔＸおよびΔＹは、それぞれ、範囲を変更する際の増分量を示し、たとえば、各々音符カード１８の幅オペレータ１６高さ程度の値が用いられる。次のステップＳ３において、Ｘ軸の範囲内(Ｘ＝Ｘ１〜Ｘ２)およびＹ軸の範囲内(Ｙ＝Ｙ１〜Ｙ２)に図２に示すような音符カード１８が置かれているかどうか判断する。
【００５７】
ステップＳ３で“ＹＥＳ”が判断されると、次のステップＳ４において、コンピュータ２４は、その音符カード１８の位置および／または配置情報に従ってＭＩＤＩデータを作成して、出力データエリアにセットするか、もしくは追加する。すなわち、音符カード１８の記号２２を識別することによって音色(楽器の種類)を設定し、Ｘ座標を検出して継続時間を設定し、Ｙ座標を検出して高さ(音程)を設定し、そしてＺ´軸廻りの回転角度を検出して大きさを設定する。ただし、継続時間は、上で述べたように、直前の測定値との差を直前の音符の継続時間として設定するが、直前の音符がなければ、直前の音としては無音を選び、Ｘ座標に従った無音継続時間を設けた後、今回の継続時間はデフォルトとする。
【００５８】
先のステップＳ３で“ＮＯ”を判断した後、もしくはステップＳ４の後、コンピュータ２４は、ステップＳ５において、Ｙ座標位置を更新する(Ｙ１＋ΔＹ→Ｙ１、Ｙ２＋ΔＹ→Ｙ２)。そして、ステップＳ６において、座標位置Ｙ２がたとえばテーブル全体の(所定の)範囲内かどうか判断する。
【００５９】
Ｙ２が所定の範囲内である場合、ステップＳ６で“ＹＥＳ”となり、次のステップＳ７に進む。ステップＳ７において、コンピュータ２４は、Ｘ軸の範囲内(Ｘ＝Ｘ１〜Ｘ２)およびＹ軸の範囲内(Ｙ＝Ｙ１〜Ｙ２)に音符カード１８が置かれているかどうか判断する。“ＮＯ”なら先のステップＳ５に戻る。“ＹＥＳ”なら、先のステップＳ４と同様にして、その音符カード１８の位置および／または配置情報に従ってＭＩＤＩデータを作成して、出力データエリアにセットするか、もしくは追加する。
【００６０】
ただし、ステップＳ６で“ＮＯ”が判断されたときには、コンピュータ２４は、続くステップＳ９において、Ｘ座標位置を更新する(Ｘ１＋ΔＸ→Ｘ１、Ｘ２＋ΔＸ→Ｘ２)。そして、ステップＳ１０において、座標位置Ｘ２がたとえばテーブル全体の(所定の)範囲内かどうか判断する。“ＹＥＳ”の場合にはプロセスはステップＳ３に戻り、“ＮＯ”の場合には、ステップＳ１１に進んで、２秒間の無音のＭＩＤＩデータを出力データエリアに設定し、もしくは追加する。
【００６１】
このようにして、ステップＳ５およびＳ９で座標を更新することによって、図１２に示すフロー図に従って「フレーズ作曲」モードが実行され、コンピュータ２４はステップＳ４，Ｓ８またはＳ１１でＭＩＤＩデータを出力データエリアにセットし、ステップＳ１２においてそれらのＭＩＤＩデータを出力し、電子楽器２６(図１)に与える。なお、ＭＩＤＩデータはこの図１２のルーチンの周期毎に電子楽器２６に送られるが、電子(ＭＩＤＩ)楽器２６では、一定数のＭＩＤＩデータを蓄積した後、オーバフローしたＭＩＤＩデータは捨てる。
【００６２】
フレーズ演奏モードの詳細が図１３に示される。図１３の最初のステップＳ２１では、コンピュータ２４は、先のステップＳ１と同様にしてカメラ１４からのカメラ映像信号を取り込む。そして、次のステップＳ２２において、先のステップＳ２と同様にして、２次元座標Ｘ１，Ｙ１およびＸ２，Ｙ２をそれぞれ設定する。次のステップＳ２３において、Ｘ軸の範囲内(Ｘ＝Ｘ１〜Ｘ２)およびＹ軸の範囲内(Ｙ＝Ｙ１〜Ｙ２)に図６に示すようなフレーズカード３６が置かれているかどうか判断する。
【００６３】
ステップＳ２３で“ＹＥＳ”が判断されると、次のステップＳ２４において、コンピュータ２４は、そのフレーズカード３６に示されている音符イベントパターンを解析し、その音符イベントパターンをスクリーン３４(図１)上にグラフィクス表示する。ただし、そのＣＧ表示は、カメラ映像信号によるフレーズカード３６の実写映像の上に重畳して表示される。それとともに、ステップＳ２５において、音符イベントパターンに含まれる音符イベントに対応するＭＩＤＩを出力データエリアにセットする。
【００６４】
先のステップＳ２３で“ＮＯ”を判断した後、もしくはステップＳ２５の後、コンピュータ２４は、ステップＳ２６において、図１２のステップＳ５と同様に、Ｙ座標位置を更新する。そして、ステップＳ２７において、座標位置Ｙ２が所定の範囲内かどうか判断する。
【００６５】
Ｙ２が所定の範囲内である場合、ステップＳ２７で“ＹＥＳ”となり、次のステップＳ２８において、コンピュータ２４は、Ｘ軸の範囲内(Ｘ＝Ｘ１〜Ｘ２)およびＹ軸の範囲内(Ｙ＝Ｙ１〜Ｙ２)にフレーズカード３６が置かれているかどうか判断する。“ＮＯ”なら先のステップＳ２６に戻る。“ＹＥＳ”なら、先のステップＳ２４およびＳ２５と同様にして、ステップＳ２９およびＳ３０において、そのフレーズカード３６に示されている音符イベントパターンをスクリーン３４上にグラフィクス表示するとともに、音符イベントパターンに含まれる音符イベントに対応するＭＩＤＩを出力データエリアにセットする。
【００６６】
ただし、ステップＳ２７で“ＮＯ”が判断されたときには、コンピュータ２４は、続くステップＳ３１において、図１２のステップＳ９と同様に、Ｘ座標位置を更新する。そして、ステップＳ３２において、座標位置Ｘ２が所定の範囲内かどうか判断する。“ＹＥＳ”の場合にはプロセスはステップＳ２３に戻り、“ＮＯ”の場合には、ステップＳ３３に進んで、２秒間の無音のＭＩＤＩデータを出力データエリアに追加する。
【００６７】
このようにして、ステップＳ２６およびＳ３１で座標を更新することによって、図１３に示すフロー図に従って「フレーズ演奏」モードが実行される。コンピュータ２４はステップＳ２５，Ｓ３０またはＳ３３でＭＩＤＩデータを出力データエリアにセットし、ステップＳ３４においてそれらのＭＩＤＩデータを出力し、電子楽器２６(図１)に与える。
【００６８】
図１４に示す「ＣＧフレーズ演奏」モードは、たとえば、フレーズ内編集モードやフレーズ全体操作でフレーズカード３６を変更し、それを保存する前に、メロディを聞くために実行される。最初のステップＳ５１では、コンピュータ２４は、スクリーン３４上でＣＧフレーズカード３６が既に指定されているかどうか判断する。“ＹＥＳ”なら、ステップＳ５２において、そのＣＧフレーズカード３６に含まれる音符イベントパターンをＣＧ表示するとともに、ステップＳ５３でその音符イベントに対応するＭＩＤＩデータを出力データエリアに設定し、ステップＳ５５でそのＭＩＤＩデータを電子楽器２６に出力する。したがって、この図１４のフロー図を実行することによって、フレーズカード３６を変更したときに、その変更点をその都度、音として確認することができる。
【００６９】
音符変更カード４４(図８)を用いるフレーズ内編集モードが、図１５−図１７に詳細に示される。フレーズ内編集モードの最初のステップＳ６１では、図１２のステップＳ１と同様にし、カメラ１２からのカメラ映像信号を取り込む。そして、コンピュータ２４は、次のステップＳ６２で、そのカメラ映像信号に基づいて、フレーズカード３６が１枚テーブル１４上に置かれたかどうか判断する。同様にカメラ映像信号によって、ステップＳ６３で音符変更カード４４がテーブル上に載置されているかどうか、判断する。ステップＳ６２および／またはＳ６３で“ＮＯ”が判断されたときには、フレーズ内編集ができないので、警告表示の後、図１１の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００７０】
ステップＳ６２およびＳ６３でともに“ＹＥＳ”が判断されると、次のステップＳ６４において、コンピュータ２４は、テーブル１４上の音符変更カードは１枚だけかどうか判断する。２枚以上の音符変更カードは同時には使えないので、もし、２枚以上の音符変更カードが同時にテーブル上に存在するときには、警告の後、図１１の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００７１】
ステップＳ６４においても“ＹＥＳ”が判断されたとき、すなわち、テーブル１４上に、１枚のフレーズカード３６と、１枚の音符変更カード４４とが同時に存在するときには、コンピュータ２４は、続くステップＳ６５において、フレーズカード３６の音符イベントパターンをＣＧ表示するとともに、たとえば図７に示すようなその音符イベントパターンに対応する楽譜をＣＧ表示する。そして、ステップＳ６６において、音符変更カードの座標上の位置Ｘ，Ｙを検出するとともに、その音符変更カードが存在する位置にＣＧスパナを表示する。続くステップＳ６７で、ＣＧスパナがＣＧ音符カードに重なって表示されているかどうか判断する。
【００７２】
ステップＳ６７で“ＮＯ”が判断されるときには、ステップＳ６５に戻るが、“ＹＥＳ”の場合には、次のステップＳ６８において、コンピュータ２４は、ＣＧ音符カードにハンドルを表示し、ステップＳ６９で、そのハンドルがＣＧスパナの６角形部によって挟まれているかどうか判断する。“ＮＯ”ならステップＳ６８に戻る。“ＹＥＳ”なら、次のステップＳ７０において、ＣＧ音符カード上のハンドルはＣＧ音符カードの中心かどうか判断する。“ＮＯ”ならステップＳ７１で、ＣＧ音符カード上のハンドルはＣＧ音符カードの右上の角かどうか判断する。ステップＳ７１で“ＮＯ”なら、ステップＳ６８に戻る。
【００７３】
ステップＳ７０で“ＹＥＳ”が判断されると、オペレータ１６は音符カード１８の音の高さ(音程)を変更したいので、図１６のステップＳ７２に進む。そして、ステップＳ７２において、コンピュータ２４は、カウンタｉを０に初期化する。このステップＳ７２からステップＳ７８までは、ＣＧスパナの６角形部が０．２秒間ずつ連続１０回に渡って、ほぼ静止していたかどうかを判別するルーチンであり、カウンタｉはその１０回のカウントに用いる。ステップＳ７２の後、ステップＳ７３において、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ(ｉ)を測定する。具体的には、音符変更カード４４のＹ位置Ｙ(ｉ)を測定することを意味する(以下同様)。次に、ステップＳ７４において、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ７５にて、カウンタｉを「１」だけカウントアップする。次に、ステップＳ７６において、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ(ｉ)を測定する。そして、ステップＳ７７で、今回の測定値Ｙ(ｉ)と前回の測定値Ｙ(ｉ−１)との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ１」以下であったかどうかを調べる。もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ７２に戻り、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００７４】
ステップＳ７７で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ７８において、コンピュータ２４はカウンタｉが「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ７４に戻り、次の０.２秒間について調べる動作に入る。
【００７５】
もし、ステップＳ７８にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ７９に進む。ステップＳ７９では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、ＣＧ音符カードのＹ位置をそれに合わせて表示する。
【００７６】
このステップＳ７９からステップＳ８６は、再び０.２秒間の静止が連続１０回続いたかどうかを調べることにより、２回目の２秒間の静止があったかどうかを判断するとともに、０.２秒間の静止状態がなかったと判断した場合は、０．２秒毎に計測したＣＧスパナのＹ位置に合わせてＣＧ音符カードを表示するルーチンである。このルーチンにより、音符変更カード４４の移動に合わせて、ＣＧ音符カードの表示位置がＹ座標に沿って移動してゆくため、オペレータ１６は、あたかもＣＧスパナによってＣＧ音符カードの中心のハンドルを握ってＣＧ音符カードを移動させているような操作感覚を得ることができる。
【００７７】
ステップＳ７９の続きの動作の説明に戻って、次のステップＳ８０において、コンピュータ２４は、カウンタｉを０に初期化する。つづいて、ステップＳ８１にて、カウンタ値がｉのときの、ＣＧスパナの６角形部のＹ位置Ｙ(ｉ)を測定する。次に、ステップＳ８２において、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ８３にて、カウンタｉを「１」だけカウントアップする。次に、ステップＳ８４にて、新しいカウント値のときの、ＣＧスパナの６角形部のＹ位置Ｙ(ｉ)を測定する。そして、ステップＳ８５にて、今回の測定値Ｙ(ｉ)と前回の測定値Ｙ(ｉ−１)との差の絶対値が、ほぼ静止中とみなすことのできる小さな値「Δ１」以下であったかどうかを調べる。
【００７８】
もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ７９に戻り、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、移動中のＣＧ音符カードのＹ位置をそれに合わせて表示し、つづいてステップＳ８０において、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００７９】
ステップＳ８５で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ８６にてカウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ８２に戻り、次の０.２秒間について調べる動作に入る。もし、ステップＳ７８にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ８６−１に進む。ステップＳ８６−１では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＹ位置を測定し、ＣＧ音符カードのＹ位置をそれに合わせて表示した後、図１１の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００８０】
また、ステップＳ７１で“ＹＥＳ”が判断されると、オペレータ１６はその音符イベントの音の大きさを変更したいので、図１７のステップＳ８７に進む。そして、ステップＳ８７で、コンピュータ２４は、カウンタｉを０に初期化する。このステップＳ８７からステップＳ９３までは、ＣＧスパナの６角形部が０．２秒間づつ連続１０回に渡って、ほぼ静止していたかどうかを判別するルーチンであり、カウンタｉはその１０回のカウントに用いる。ステップＳ８７の後、ステップＳ８８において、カウンタ値がｉのときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ(ｉ)、Ｙ(ｉ)を測定する。次に、ステップＳ８９にて、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ９０において、カウンタｉを「１」だけカウントアップする。次に、ステップＳ９１にて、新しいカウント値のときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ(ｉ)，Ｙ(ｉ)を測定する。そして、ステップＳ９２にて、今回の測定値Ｘ(ｉ)と前回の測定値Ｘ(ｉ−１)との差の絶対値が、小さな値「Δ２」以下であり、かつ今回の測定値Ｙ(ｉ)と前回の測定値Ｙ(ｉ−１)との差の絶対値も、小さな値「Δ３」以下であったかどうかを調べる。
【００８１】
もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ８７に戻り、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００８２】
ステップＳ９２で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ９３にてカウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ８９に戻り、次の０.２秒間について調べる動作に入る。もしステップＳ９２にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ９４に進む。ステップＳ９４では、コンピュータ２４は、そのときのＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示する。
【００８３】
このステップＳ９４からステップＳ１０１は、再び０.２秒間の静止が連続１０回続いたかどうかを調べることにより、２回目の２秒間の静止があったかどうかを判断するとともに、０.２秒間の静止状態がなかったと判断した場合は、０．２秒毎に計測したＣＧスパナのＸ，Ｙ位置から算出した回転角度に合わせてＣＧ音符カードを表示すルーチンである。このルーチンにより、音符変更カードの移動に合わせて、ＣＧ音符カードの表示がＺ´軸まわりに回転してゆくため、オペレータ１６は、あたかもＣＧスパナによってＣＧ音符カードの右上角のハンドルを握ってＣＧ音符カードを回転させているような操作感覚を得ることができる。
【００８４】
ステップＳ９４の続きの動作の説明に戻って、次のステップＳ９５において、コンピュータ２４は、カウンタｉを０に初期化する。つづいて、ステップＳ９６にて、カウンタ値がｉのときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ(ｉ)，Ｙ(ｉ)を測定する。次にステップＳ９７にて、０．２秒間ウエイトする。０．２秒が経てば、ステップＳ９８にて、カウンタｉを「１」だけカウントアップする。次に、ステップＳ９９にて、新しいカウント値のときの、ＣＧスパナの６角形部のＸ，Ｙ位置Ｘ(ｉ)，Ｙ(ｉ)を測定する。そして、ステップＳ１００にて、今回の測定値Ｘ(ｉ)と前回の測定値Ｘ(ｉ)との差の絶対値が、小さな値「Δ２」以下であり、かつ今回の測定値Ｙ(ｉ)と前回の測定値Ｙ(ｉ−１)との差の絶対値も、小さな値「Δ３」以下であったかどうかを調べる。もし“ＮＯ”であれば、ＣＧスパナはオペレータ１６により、移動させられている最中と判断して、ステップＳ９４に戻り、そのときの(移動中の)ＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示する。つづいて、ステップＳ９５にて、連続的静止状態検出回数を示すカウンタｉを０に初期化して、再び上記判断を繰り返す。
【００８５】
ステップＳ１００で、もし“ＹＥＳ”であれば、この回の０.２秒間は静止していたと判断して、次のステップＳ１０１において、コンピュータ２４は、カウンタｉは「１０」に達したかどうかを調べる。もし“ＮＯ”であれば、ステップＳ９７に戻り、次の０.２秒間について調べる動作に入る。もしステップＳ１０１にて“ＹＥＳ”であれば、０.２秒間づつ連続１０回すなわち合計２秒間は、ＣＧスパナの６角形部は静止していたと判断し、次のステップＳ１０２に進む。ステップＳ１０１−１では、そのときのＣＧスパナの６角形部のＸ，Ｙ位置を測定した上で、ＣＧスパナの６角形部の回転角度を算出し、さらにＣＧ音符カードを、そのＣＧ音符カードのＺ´軸まわりにその回転角度だけ回転させて表示した後、図１１の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００８６】
以上の各モードを経て楽曲を作成すると、図９に示すような楽曲データ(ＭＩＤＩデータ)がハードディスク上に作成される。この楽曲データにおいて、１行のデータが１つの音符カード１８に対応している。そして、１行のデータには、“loop”，“card”，“pitch”，“position”，“on_off”，“velocity”および“duration”の７つの項目が含まれる。
【００８７】
このような楽曲データが作成されると、次に、解析ルーチンが実行される。この解析ルーチンによってオペレータ１６が作曲した楽曲，プロフェッショナルによって作曲された楽曲およびアマチュアによって作曲された楽曲が比較解析され、オペレータ１６が作曲した楽曲がプロフェッショナルによって作曲された楽曲およびアマチュアによって作曲された楽曲と比較可能な解析データが作成されてコンピュータ２４のディスプレイ６４に表示される。解析ルーチンが図１８に詳細に示される。
【００８８】
解析ルーチンの最初のステップＳ１０３では、オペレータ１６が作曲した楽曲のＭＩＤＩデータ，プロフェッショナル作曲データベース８０に蓄積されたＭＩＤＩデータおよびアマチュア作曲データベース８２に蓄積されたＭＩＤＩデータのそれぞれに、所定のフィルタ処置が施される。このフィルタ処理によって各ＭＩＤＩデータから解析プログラム７８に必要なデータが抽出される。
【００８９】
ステップＳ１０４では、解析プログラム７８が起動され、ステップＳ１０５において、ステップＳ１０３でフィルタ処理が施された、オペレータ１６によって作曲された楽曲データ，プロフェッショナルによって作曲された楽曲データおよびアマチュアによって作曲された楽曲データの解析プログラム７８への取り込みが開始される。オペレータ１６によって作曲された楽曲データ，プロフェッショナルによって作曲された楽曲データおよびアマチュアによって作曲された楽曲データのそれぞれには、オペレータ１６によって作曲された旨を示すラベル，プロフェッショナルによって作曲された旨を示すラベルおよびアマチュアによって作曲された旨を示すラベルが添付されており、解析プログラム７８はこれらのラベルによってそれぞれの楽曲データを識別する。ステップＳ１０６では、取り込まれた楽曲データの解析を開始する。
【００９０】
すべての楽曲データの取り込みと解析とが終了すると、ステップＳ１０７においてＹＥＳと判断される。ステップＳ１０９では、解析によって得られた解析結果を解析結果データベース８４に記録する。ステップＳ１１０では、解析結果データベース８４に記録された、図１０に示したような解析結果をコンピュータ２４のディスプレイ６４に表示する。そして、ステップＳ１１１では解析プログラム７８を終了し、図１１の「リクエスト有り」のチェックに戻り、改めてリクエストの判別をし直すことから始める処理を再スタートする。
【００９１】
オペレータ１６は、ディスプレイ６４に表示された解析結果を参照して、作曲した楽曲がプロフェッショナルによって作曲された楽曲とアマチュアによって作曲された楽曲とのどちらにより近いかを知るとともに、作曲した楽曲をどのように変更すればプロフェッショナルが作曲した楽曲に近づくことができるかを学ぶ。そして、作曲した楽曲をハードディスクから読み出して修正を加えたり、解析結果を踏まえた新たな楽曲作りを行ったりすることができる。
【００９２】
上述の実施例では、楽曲データの解析にC4.5という決定木作成アルゴリズムを利用した解析プログラム７８を使用したが、解析プログラム７８は、C4.5のアルゴリズムを利用したものに限らず他のものでもよく、たとえば、Ohsawa Y．，Benson N.E.そしてYachida M.によって開発されたKey Graphというアソシエーションルール作成アルゴリズムを利用した解析プログラム７８を使用することもできる。このアルゴリズムを利用した解析プログラム７８を用いると入力した項目の相互の関係をグラフとして得ることができる。つまり、図９に示したような楽曲データ(ＭＩＤＩデータ)を入力すると、“card”，“pitch”，“position”，“on_off”，“velocity”，“duration”の各項目間に存在する互いの関係を知ることができる。
【００９３】
プロフェッショナルによって作曲された楽曲データをKey Graphのアルゴリズムを利用して解析した結果が図１９に示され、アマチュアによって作曲された楽曲データをKey Graphのアルゴリズムを利用して解析した結果が図２０に示される。
【００９４】
図１９および図２０において、斜線付丸および２重丸は楽曲データの各項目を示している。２重丸の項目は斜線付丸に比べて音楽構造の要の要素であることを示している。また、破線および実線は各項目の関係を示しており、破線および実線で結ばれた項目は互いに密接な関係を持ってデータ上に現れていることを示している。つまり、破線および実線で結ばれた項目は同時にデータ上に出現する確立が高い。そして、破線で結ばれた項目よりも実線で結ばれた項目の方がより関係が密であることを示す。
【００９５】
図１９および図２０からわかるように、プロフェッショナルによって作曲された楽曲はアマチュアによって作曲された楽曲に比べて各項目が互いに関係しており集中度が高い。逆に、アマチュアによって作曲された楽曲は各項目の関係が薄く分散的である。
【００９６】
また、プロフェッショナルによって作曲された楽曲においては、“duration”の値が１の項目や“position”の値が２の項目の出現率が高く楽曲の構成上重要な位置を占めており、アマチュアによって作曲された楽曲においては、“velocity”の値が１００の項目や“duration”の値が２０の項目が中心的な役割を担っていることもわかる。
【００９７】
これら図１９および図２０の解析結果をオペレータ１６が作曲した楽曲のKey Graphのアルゴリズムを利用した解析プログラム７８による解析結果(図示せず)と比較することによって、オペレータ１６が作曲した楽曲の特徴が知れるとともに、オペレータ１６の作曲した楽曲がプロフェッショナルとアマチュアとのどちらに近く、どのように改善することによりプロフェッショナルが作曲した楽曲により近づけることができるかを知ることができる。
【００９８】
なお上述の例では、音符カード１８やフレーズカード３６を使った方法で図９に示すような楽曲データを作成し、この楽曲データを楽曲の解析に利用するようにしたため７つのデータ項目が存在するが、楽曲を解析するには少なくとも音程(“pitch”)，音の持続時間(“duration”)および音の強さ(“velocity”)の３つのデータが存在すればよいので、他の方法で作成された他の形式のデータであってもよい。
【００９９】
また、楽曲データの解析プログラム７８として、C4.5を用いたものやKey Graphを用いたが、解析プログラム７８もこれらに限るものではなく、オペレータ１６の作曲した楽曲をプロフェッショナルによって作曲された楽曲およびアマチュアによって作成された楽曲と比較可能に解析して目視可能に出力できるようなデータを生成するものであればよい。
【図面の簡単な説明】
【０１００】
【図１】この発明の一実施例の全体構成を示す図解図である。
【図２】コンピュータの構成の一例を示すブロック図である。
【図３】音符カード１８の一例を示す図解図である。
【図４】テーブル上の軸設定を説明する図解図である。
【図５】テーブル上に音符カード１８が置かれた様子を示す図解図である。
【図６】フレーズカード３６の一例を示す図解図である。
【図７】グラフィックス表示された楽譜の例を示す図解図である。
【図８】音符変更カードの一例を示す図解図である。
【図９】楽曲データのデータ構成を示す図解図である。
【図１０】C4.5による解析結果の一例を示す図解図である。
【図１１】図１の実施例におけるＣＰＵの一連の動作を示すフロー図である。
【図１２】図１１のフロー図に含まれるフレーズ作曲ルーチンの詳細を示すフロー図である。
【図１３】図１１のフロー図に含まれるフレーズ演奏ルーチンの詳細を示すフロー図である。
【図１４】図１１のフロー図に含まれるＣＧフレーズ演奏ルーチンの詳細を示すフロー図である。
【図１５】図１１のフロー図に含まれるフレーズ内編集ルーチンの詳細を示すフロー図である。
【図１６】図１５のフロー図に続くフロー図である。
【図１７】図１５のフロー図に続くフロー図である。
【図１８】図１１のフロー図に含まれる比較解析ルーチンの詳細を示すフロー図である。
【図１９】Key Graphによってプロフェッショナルが作曲した楽曲を解析した結果を示す図解図である。
【図２０】Key Graphによってアマチュアが作曲した楽曲を解析した結果を示す図解図である。
【符号の説明】
【０１０１】
１０  …作曲支援システム
１２  …カメラ
１８  …音符カード１８
２４  …コンピュータ
３６  …フレーズカード３６
４４  …音符変更カード
７８  …解析プログラム
８０  …プロフェッショナル作曲データベース
８２  …アマチュア作曲データベース
８４  …解析結果データベース
【図１】
2005078047.tif 000003
【図２】
2005078047.tif 000004
【図３】
2005078047.tif 000005
【図４】
2005078047.tif 000006
【図５】
2005078047.tif 000007
【図６】
2005078047.tif 000008
【図７】
2005078047.tif 000009
【図８】
2005078047.tif 000010
【図９】
2005078047.tif 000011
【図１０】
2005078047.tif 000012
【図１１】
2005078047.tif 000013
【図１２】
2005078047.tif 000014
【図１３】
2005078047.tif 000015
【図１４】
2005078047.tif 000016
【図１５】
2005078047.tif 000017
【図１６】
2005078047.tif 000018
【図１７】
2005078047.tif 000019
【図１８】
2005078047.tif 000020
【図１９】
2005078047.tif 000021
【図２０】
2005078047.tif 000022