(57)【特許請求の範囲】
【請求項１】
演奏データに基づいて楽曲を自動演奏する自動演奏手段と、
複数種類の楽器の演奏者のアニメーション素材を記憶した素材記憶手段と、
演奏データが指定する音色の楽器の演奏者を選出して、該演奏データの少なくとも音高に基づいてアニメーション素材を合成することにより、前記楽曲を演奏する演奏者のアニメーションを作成するアニメーション作成手段と、
を備えたことを特徴とする自動演奏装置。
【請求項２】
前記素材記憶手段は、演奏者の手指の形状情報および演奏動作情報を含むアニメーション素材を記憶し、
前記アニメーション作成手段は、演奏操作をどの指で行ったかを指示するフィンガリングデータを前記演奏データと同期して入力し、
前記演奏データの少なくとも音高及びフィンガリングデータに基づいて前記アニメーション素材を合成することにより、該演奏データが指定する音色の楽器の演奏者とその演奏者のフィンガリングを表示するアニメーションを作成することを特徴とする請求項１に記載の自動演奏装置。
【請求項３】
それぞれ複数のパートを有し、旋律が同じで和音やリズムなどの異なる複数のバージョンの演奏データを並行して読み出す読出手段と、
前記複数のバージョンから、任意のパートを選びだして選択し、選択したパートのデータのみを音源に入力する選択手段と、
読出手段の演奏データの読み出し中に選択手段に対して選択の変更を指示する選択変更データ入力する選択変更手段と、
前記選択手段が選択したパートのデータを演奏データとしてアニメーション作成手段に入力する演奏データ入力手段と、
を更に備えたことを特徴とする請求項１に記載の自動演奏装置。
【請求項４】
前記アニメーション作成手段は、選択変更手段によってパートの選択が変更されたとき、選択から外れたパートの演奏者のアニメーションに代えて新たに選択されたパートの演奏者のアニメーションを作成する手段である請求項３に記載の自動演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自動演奏にあわせて演奏者のアニメーションを表示することができる自動演奏装置、および、演奏者の指使いであるフィンガリングをアニメーションするためのフィンガリングデータを記録するフィンガリング記録装置に関する。
【０００２】
【従来の技術】
自動演奏用の演奏データを時系列に読み出し、読み出したデータで音源を駆動して楽音を発生することで楽曲を自動演奏する自動演奏装置は、従来より実用化されている。
【０００３】
【発明が解決しようとする課題】
しかし、従来の自動演奏装置は、演奏データに書き込まれているパートの楽音を自動的に発生するのみで、現在どのような楽器が演奏されているのか、どのような楽器の組み合わせのバンド（アンサンブル）であるのかが分からないという問題点があり、また、利用者がその組み合わせを自由に変更することができないという問題点があった。
【０００４】
この発明は、自動演奏に合わせて演奏パートの演奏者のアニメーションを表示することができる自動演奏装置、演奏パートを変更することができる自動演奏装置、および、アニメーションのための演奏者のフィンガリングを記録することができるフィンガリング記録装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１の発明は、演奏データに基づいて楽曲を自動演奏する自動演奏手段と、複数種類の楽器の演奏者のアニメーション素材を記憶した素材記憶手段と、演奏データが指定する音色の楽器の演奏者を選出して、該演奏データの少なくとも音高に基づいてアニメーション素材を合成することにより、前記楽曲を演奏する演奏者のアニメーションを作成するアニメーション作成手段と、を備えたことを特徴とすることを特徴とする。
【０００７】
請求項２の発明は、請求項１の発明において、前記素材記憶手段は、演奏者の手指の形状情報および演奏動作情報を含むアニメーション素材を記憶し、前記アニメーション作成手段は、演奏操作をどの指で行ったかを指示するフィンガリングデータを前記演奏データと同期して入力し、前記演奏データの少なくとも音高及びフィンガリングデータに基づいて前記アニメーション素材を合成することにより、該演奏データが指定する音色の楽器の演奏者とその演奏者のフィンガリングを表示するアニメーションを作成することを特徴とする。
【０００９】
請求項３の発明は、請求項１の発明において、それぞれ複数のパートを有し、旋律が同じで和音やリズムなどの異なる複数のバージョンの演奏データを並行して読み出す読出手段と、前記複数のバージョンから、任意のパートを選びだして選択し、選択したパートのデータのみを音源に入力する選択手段と、
読出手段の演奏データの読み出し中に選択手段に対して選択の変更を指示する選択変更データ入力する選択変更手段と、前記選択手段が選択したパートのデータを演奏データとしてアニメーション作成手段に入力する演奏データ入力手段と、を更に備えたことを特徴とする。
【００１１】
請求項４の発明は、請求項３の発明において、前記アニメーション作成手段は、選択変更手段によってパートの選択が変更されたとき、選択から外れたパートの演奏者のアニメーションに代えて新たに選択されたパートの演奏者のアニメーションを作成する手段であることを特徴とする。
【００１２】
この発明は、演奏データに基づいて自動演奏を行うとともに、この自動演奏がどのような音色の編成で演奏されているかをアニメーションで表示する。自動演奏時に発生される楽音は演奏者が演奏する楽器の楽音波形をシミュレートしたものが殆どであるため、その演奏者が演奏している姿をアニメーションで表示することにより、構成が分かりやすくなるとともに、従来は聴覚のみの自動演奏を視覚的にも楽しめるようになり、自動演奏をより盛り上げることができる。
【００１３】
演奏者のアニメーションは、演奏者の肢体や楽器の形態を表示するとともに、楽音の発音，消音に合わせて演奏動作するようにこの演奏者の肢体や楽器を動かす映像であるが、演奏データに対応させて個別のアニメーション映像データを記録する方式では、複数の演奏データのアニメーション映像データを記録しようとすれば膨大な記憶装置が必要となる。また、一般の演奏データは、複数パートで曲が演奏され、演奏データによってそのパートの組み合わせは一定でない。そこで、請求項１の発明では、予め複数パートの演奏者のアニメーション素材を記憶しておき、演奏データが指定する音色に基づいて演奏者を選択し、演奏データから入力する楽曲の音高などの情報に基づいてこのアニメーション素材を合成することによってアニメーションを作成する。これにより、カラオケ装置のように多数の楽曲を演奏する装置であっても、その都度アニメーションを作成することができるため、個別のアニメーション映像データを記憶しておく必要がない。アニメーション素材は、たとえば、演奏者や楽器の形態を描画するための図形データや演奏時の動作態様を指示するベクトルデータなどである。更に、どのようなパート構成の演奏データであってもアニメーションを作成することが可能になる。
【００１５】
また、実際の楽器の演奏においては、手指が、鍵盤を押し下げたり、フレットを押さえたり、弦を弾いたりと、最も素早く細かい動きをしており、この手指の動きであるフィンガリングを再現すれば、アニメーションが極めてリアリティの高いものになる。また、正確なフィンガリングをアニメーション化すれば音楽学習に利用することもできる。しかし、フィンガリングを決定することは熟練した演奏者でも容易なことではなく、前後の音のつながりや要求される音質などを考慮して決定されるものである。したがって、演奏データから取り込む音高に基づいてその場で正確なフィンガリングを決定することは容易なことではない。そこで、請求項２の発明では、演奏操作をどの指で行うかのフィンガリングデータを演奏データと同期して入力することにより、フィンガリングのアニメーションを作成している。これにより、正確なフィンガリングのアニメーションを容易に作成することができる。
【００１６】
また、腕や肢体のアニメーションは請求項１の発明と同様に演奏データに基づいて作成し、手指のアニメーションはフィンガリングデータに基づいて作成する。そしてこれらを合成すれば、正確なフィンガリングで演奏する演奏者のアニメーションを作成することができる。
【００１９】
また、請求項３の発明は、自動演奏のパート編成を演奏途中で変更できる自動演奏装置に関するものである。読出手段が、同じ旋律の曲（すなわち同じ曲）でアレンジ（和音やリズムなど）が異なる複数の演奏データを並行して読み出す。各演奏データは複数のパートからなっているが、選択手段はこのなかから適当な一部のパートを選択して音源に入力する。これにより、複数種類のアレンジのパートを混合して演奏することができ、いままでにないアレンジの演奏が可能になる。また、全てこの曲のために制作されたパートのデータであるため、汎用のパターンを用いたアレンジ変更のような単調さがない。
【００２０】
また、複数の演奏データが並行して読み出されているため、読出途中（演奏途中）であっても、選択を変更することによって発音するパートを変更することができ、演奏中に自由なパート編成の変更をすることができる。
【００２１】
また、上記自由な組み合わせでパートを編成した自動演奏と並行して、アニメーションを表示できるようにした。これにより、どのようなパート編成にしてもその編成が視覚的に分かりやすい。さらに、請求項４の発明では、演奏途中でパート選択の変更があったときには、アニメーションにおいても選択から外れた演奏者に代えて新たに選択された演奏者のアニメーションを作成・表示する。これにより、パート変更，バンドの編成を変更した結果が視覚的に分かりやすく表示される。このとき、アニメーションでは外れた者が退場し、新たに選択された者が登場するようなものにすればより視覚的に面白いものになる。
する。
【００２２】
【発明の実施の形態】
図面を参照してこの発明の実施形態である自動演奏装置について説明する。この自動演奏装置は、たとえばカラオケ装置など表示装置を接続したものであり、自動演奏と並行して表示装置にその演奏を行っている演奏者（プレーヤ）のアニメーションを表示する機能を備えている。
【００２３】
図１は同自動演奏装置の機能ブロック図である。曲データ記憶部１は曲（カラオケ曲など）を自動演奏するためのデータである演奏データを記憶している。演奏データは、図４（Ａ）に示すような構成になっており、曲のジャンル，曲名などの書誌情報が書き込まれたヘッダ、複数の音色（パート）の楽音を発生するための楽音トラック、バックコーラス（音声データ）の発生タイミングなどを指示するための音声制御トラック、楽音に効果を付与するエフェクタを制御するためのエフェクタ制御トラック、モニタに表示する歌詞を指示する歌詞トラックなどからなっている。
【００２４】
各トラックはＭＩＤＩフォーマットのシーケンスデータで記述されており、同図（Ｃ）に示すように、楽音の発音／消音などのイベントを指示するイベントデータがそのイベント発生タイミングを指示するタイミングデータと組み合わされて時系列に記憶されている。イベントデータとしては、楽音トラックの場合、上記楽音の発音／消音、アフタタッチ、各種コントロール情報などがある。
【００２５】
曲データ記憶部１には複数の楽曲の演奏データが記憶されている。自動演奏部２は、そのうちの１曲を選択し、タイミングデータをテンポクロックでカウントしながらイベントデータを読み出す。このイベントデータは音源３などに入力される。図１の機能ブロック図では音源３のみを記しているが、バックコーラスを再生する音声再生部、発生した楽音に効果を付与するエフェクタや歌詞を表示する表示部などもこの自動演奏部２に接続されている。
【００２６】
一方、アニメーション部４は、上記自動演奏部２の自動演奏に合わせてプレーヤのアニメーションを作成する機能部である。演奏データは上記のように種々のパート（音色）の楽音トラックを有し、音源３はそのパート分の楽音を発生するが、アニメーション部４は楽音トラックの各パートの音色の楽器を演奏するプレーヤのアニメーションを作成する。このプレーヤアニメーションでは、各プレーヤにこの演奏データの自動演奏で発音されている楽音を実際に演奏しているような動作をさせる。アニメーション部４が作成したプレーヤアニメーションは表示部５によって表示される。このプレーヤアニメーションは、例えば、図２のような態様で表示される。
【００２７】
これにより、自動演奏時にどのようなパート（音色）が発音しているかが視覚的に分かり、自動演奏であっても実際の自然楽器の演奏のような臨場感を得ることができるとともに、視覚的な楽しみを増加させることができる。
【００２８】
図１（Ｂ）はアニメーション部４の詳細図である。アニメーション部４は、プレーヤ選択・配置部１０、演奏動作演算部１１、アニメーション生成部１２、プレーヤデータベース１３、演出データベース１４および表示態様制御部１５を有している。プレーヤ選択・配置部１０および演奏動作演算部１１は、入力される楽音トラック、演出データに応じてプレーヤデータベース１３，演出データベース１４を参照して各プレーヤの形状（関数値）を決定する。アニメーション生成部１２は、決定された形状に基づいて実際のアニメーション画像をレンダリングする。
【００２９】
プレーヤデータベース１３は、図５（Ａ）に示すように、各パートのプレーヤの肢体や演奏する楽器の３Ｄポリゴンデータであるプレーヤポリゴンデータ１３０、および、演奏時にこれら肢体や楽器をどのように動かすかの動作情報である演奏動作データ１３１からなっている。パートとしては、キーボード，エレクトリックギター，エレクトリックベース，ドラムスなどロックバンド系のパートのほか、バイオリン，チェロ，フルート，ホルンなどフルオーケストラ系のパートが記憶されている。
【００３０】
プレーヤポリゴンデータ１３０は、図５（Ｂ）に示すようなプレーヤの頭、首、胴、腰、上腕、前腕、手、脚、足をそれぞれ３Ｄのポリゴン図形（関数）、演奏する楽器の形状を示す３Ｄポリゴン図形、および、これらポリゴン図形の基本的な配置データ（相対座標）からなっている。これらのポリゴン図形を３次元空間に配置してレンダリングすることにより、プレーヤのアニメーションが生成される。このレンダリングはアニメーション生成部１２が行う。
【００３１】
なお、この実施形態では各プレーヤ毎に別々のプレーヤポリゴンデータ１３０を記憶し、各パートのプレーヤが並んで演奏した場合でもそれぞれに異なる体型で変化がでるようにしているが、全てのプレーヤに共通のプレーヤポリゴンデータを１つ記憶し、全プレーヤをこのポリゴンデータに基づいて生成してもよい。この場合、ポリゴンを伸長／圧縮して各プレーヤの体型を変化させるようにしてもよい。
【００３２】
また、演奏動作データ１３１は、プレーヤが楽器を演奏するときの動作を示すデータであり、各楽器の特性に合わせて、音高，音量などの楽音の発音態様毎に記憶されている。たとえば、図示のエレクトリックギターの場合、音高は左手（指）による弦の選択とフレットの位置で決定されるため、演奏動作データは、ノートオンイベントデータの音高に対応した左手の動作を指示する。また、発音および音量の制御は右手による弦のピッキングによって行われるため、演奏動作データは、ノートオンイベントデータのベロシティに対応した右手の動作の速さや大きさを指示する。
【００３３】
なお、押さえるフレットを変えることによって、異なる弦で同じ音高の楽音を発音することができ、弦が変わると楽音の倍音構成が変わり、音質（特に明るさと音量）が変化するため、音質の指示（コントロールチェンジデータの内容）によって弦を選択するようにしてもよい。
【００３４】
さらに、弦のブリッジ近いところをピッキングすると倍音の多い硬い楽音となり、ブリッジから遠いところをピッキングすると基音のしっかりした丸い楽音となるため、音質の指示によって弦のピッキング位置を変化させるようにしてもよい。
【００３５】
また、ビブラートやチョーキングなどのエレクトリックギター特有の演奏手法をアニメーションで表現してもよい。ビブラートは弦を押さえている左手（指）を細かく振動させることによって、楽音のピッチを振動させる演奏手法であり、チョーキングは弦を押さえている左手（指）で弦を横に押すことによって弦の張力を大きくしてピッチを上昇させる演奏手法である。ビブラートは、コントロールチェンジデータのうちＬＦＯと関連付けられているコントローラのデータに応じてアニメーションし、チョーキングは、ピッチベンダのコントロールチェンジデータに応じてアニメーションすればよい。
【００３６】
以上のような演奏手法をアニメーションするための動作ベクトルおよび動作位置に関する情報が演奏動作データとして記憶されている。
【００３７】
図６（Ａ），（Ｂ），（Ｃ）に、上記プレーヤポリゴンデータ１３０と演奏動作データ１３１に基づいてレンダリングされたプレーヤアニメーションのフレーム（動作の一瞬を切り取った静止画）の例を示す。この図は、エレクトリックギターのプレーヤの例を示している。同図（Ａ），（Ｂ），（Ｃ）では、それぞれギターを保持する姿勢が異なっているが、同じエレクトリックギターでも、ジャンルによってギターを演奏するスタイルが異なっているため、アニメーションをリアルにするためには、ジャンルに応じてギターの持ち方を異ならせる。同図（Ａ）はたとえばロックバンド系、同図（Ｂ）はたとえばグループサウンズ系、同図（Ｃ）はたとえばソロミュージシャン系などである。このような持ち方のバリエーションは後述の演奏データに記憶しておいてもよく、ジャンル毎に別々のプレーヤデータベースを持つようにしてもよい。
【００３８】
図６（Ａ）〜（Ｃ）に示したアニメーションは、図５（Ｂ）に示した基本姿勢から、演奏データに基づいて両腕のみを動かした動作を示しているが、実際には、図６（Ｄ），（Ｅ）に示すように体全体を動かして演奏するものである。しかし、どのように体を動かせば曲の雰囲気にマッチするかは曲毎にまちまちである。そこで、各カラオケ曲に個別に対応させて、図４（Ｂ）に示すような演出データを記憶し、この演出データを用いてプレーヤの体の動きなどを制御する。この演出データも曲データ記憶部１に記憶されている。
【００３９】
演出データは上記演奏データと同じようにヘッダと各種トラックで構成されている。ヘッダはこのデータの属性を書き込んだエリアであり、このヘッダに書き込まれている曲番号により演奏データと対応づけられている。トラックは、プレーヤ動作トラック，カメラワーク制御トラック，ライティング制御トラックを有している。プレーヤ動作トラックは、各パートのプレーヤがどのような演奏動作をするかを指示するトラックであり、各プレーヤに対する「大人しく」、「派手に」、「スタンドプレー」などの演奏態様の指示がイベントデータとして書き込まれている。この演奏態様に応じて、各プレーヤが実際にどのように体全体を動かすかは、自動演奏装置の演出データベース１４に記憶されている。
【００４０】
また、ヘッダまたはプレーヤ動作トラックの先頭には、各プレーヤの衣装やメイクを指示するデータも書き込まれており、この衣装・メイクの指示に対応する具体的な衣装の形状・柄やメイクのパターンなどは演出データベース１４に記憶されている。
【００４１】
また、カメラワーク制御トラックは、プレーヤアニメーションの視点をカメラワークとして指示するトラックである。イベントデータとしては、カメラ位置、カメラアングル（方向）、ズーミング、パンニングなどを指示する。アニメーション生成部１２は、このカメラワークで撮影されているような角度および大きさで各プレーヤの３Ｄアニメーションをレンダリングする。
【００４２】
また、ライティング制御トラックは、ステージ全体のライティングの色や特定のプレーヤを照らすピンスポット方向や色などを指示するトラックである。アニメーション生成部１２は、このライティングの指示に応じてレンダリングするアニメーションにハイライト部やシャドー部を形成する。また、このライティング制御トラックに、スモークや吹雪などの舞台演出のデータを書き込んでおいてもよい。またこのような舞台演出用のトラックを別に設けてもよい。
【００４３】
上記のようにこの実施形態では、図４（Ａ），（Ｂ）に示すように、演奏データと演出データを別のデータとして記憶し、曲番号などのコードで両者を対応づけるようにしている。このようにすることにより、それぞれを別々にダウンロードしたり、更新したりすることができ、メンテナンスが容易になる。一方、演出データを演奏データの一部として一体に記憶してもよい。こうすることにより、ファイル数が減少し管理が容易になる。
【００４４】
また、演出データがない場合には、演奏データの楽音トラックや効果制御トラックの内容に基づいて演出内容（演出データ）を生成するようにしてもよい。
【００４５】
上記のようなデータベースを備えたアニメーション部４において、曲が演奏されるときは以下のような動作を実行する。
【００４６】
プレーヤ選択・配置部１０には、演奏データのヘッダや楽音トラックの先頭部分が入力される。キャラクタ選択・配置部１０は、このデータから曲のジャンルやパート編成を割り出し、プレーヤを選択するとともに、そのジャンルの演奏スタイルに応じたレイアウトを決定する。選択したプレーヤのポリゴンデータをプレーヤデータベース１３から読み出し、決定したレイアウトで配置する。また、演出データベースから衣装データやメイクデータを読み出してこれに合わせてポリゴンデータを変形する。この衣装やメイクは演出データに基づいて決定するが、ジャンルデータに基づいて決定するようにしてもよい。
【００４７】
演奏動作演算部１１は、プレーヤの基本的な形状データやレイアウトデータをプレーヤ選択・配置部１０から入力し、楽音トラックのデータや演出データに基づいて各プレーヤを演奏動作に合わせて動かす演算を行う。上記エレクトリックギターのプレーヤの場合、楽音トラックのデータに合わせて両腕を動かし、演出データに合わせて上半身，下半身，頭などを動かす。両腕の具体的な運動はプレーヤデータベースの演奏動作データに記述されており、上半身，下半身，頭などの運動は演出データベース１４に記述されている。演奏動作演算部１１は上記演算により、各フレーム（ＮＴＳＣの場合１／３０秒）毎に各プレーヤの形状（姿勢）を表現する関数データをアニメーション生成部１２に出力する。
【００４８】
表示態様制御部１５は、演出データのカメラワーク制御トラックおよびライティング制御トラックのデータに基づいて画面の視点の方向や光の方向・色などを演算してアニメーション生成部１２に出力する。
【００４９】
アニメーション生成部１２は、演奏動作演算部１１から入力した関数データおよび表示態様制御部１５から入力した画面の視点の方向や光の方向・色などのデータに基づき、各フレーム毎に各プレーヤのアニメーション画像をレンダリングする。この画像データは表示部５に出力され、利用者に対して表示される。表示態様制御部１２は、ＤＳＰを内蔵した高速の描画装置を用いればよく、各プレーヤ毎に描画装置を並列に設けてもよい。
【００５０】
図２は、この自動演奏装置によって生成されたアニメーションの一例を示す図である。このように複数のプレーヤがステージ上に配置され、それぞれの楽器を演奏しているアニメーションが画面に表示される。
【００５１】
また、図３は、上記アニメーション部４をオブジェクト指向でソフト的に構成した場合の構成例を示す。この構成では、各プレーヤモジュールは、自分の楽器の奏法を知っており、ノートを受信するとそのノートを演奏するためのアニメーションをポリゴンで生成する。また、視覚効果を高める演奏法をステージマネージャより指示を受ける。演出家は、曲開始時、曲に演出データがなければ曲データより演出を作り、タイムテーブルを作成しステージマネージャに渡す。ステージマネージャは舞台上にプレーヤを音色情報によって配置し、曲のジャンルなどに基づいて舞台設備を指示する。曲がスタートするとタイムテーブルよりライト／カメラスタッフにライティング、カメラワークの指示をする。
【００５２】
衣装／メイクスタッフは、曲のジャンルなどに基づいて各プレーヤの衣装／メイクを決定し、各プレーヤモジュールに衣装やメイクを付加する。ライト／カメラスタッフと舞台設備スタッフは、ステージマネージャの指示により、曲の効果的に演出する照明やスモークなどをステージ上に行う。
【００５３】
なお、実際の自然楽器の演奏ではそれぞれの指が極めて細かく動いているが、複数のプレーヤが一緒に演奏するバンド（アンサンブル）の場合には、各プレーヤが小さく表示されるうえ、複数プレーヤの３Ｄアニメーションのレンダリング処理の演算量が膨大であるため、指の動作は省略している。
【００５４】
次に、上記自動演奏装置においてソロ演奏を行う場合のプレーヤアニメーションについて説明する。ソロの場合には、プレーヤが１人であるため、そのプレーヤが大きく表示され、ときには手指がクローズアップで表示される。したがって、ソロの場合には、指の細かい動きまで再現しなければリアルなアニメーションを生成することができない。そこで、ソロ演奏の場合には、上記のバンド演奏の場合と異なり、実際の楽器の演奏者と同じように指を動かすフィンガリングアニメーションを伴うプレーヤアニメーションを生成する。なお、このフィンガリングアニメーションは、指使いがリアルに再現されるため、ピアノやギターの学習用に用いることも可能である。
【００５５】
なお、ソロ演奏のアニメーションは、図７（Ａ）のように手指のアニメーション（フィンガリングアニメーション）のみでもよく、また、同図（Ｂ）のようにプレーヤ全身のアニメーションでフィンガリングを伴うものであってもよい。全身のアニメーションの場合、手首までのアニメーションは図５（Ａ）に示すプレーヤデータベースのデータを用い、楽音トラックのデータに基づいて生成すればよい。図７にはピアニストの例を示したが、これ以外にギター，管楽器などどのような楽器であってもフィンガリングアニメーションを行うことができる。
【００５６】
フィンガリングアニメーションを行うためのデータも、図８（Ａ）に示すように、フィンガリングデータベースとしてプレーヤデータベース１３に記憶しておく。フィンガリングデータベースも通常のプレーヤデータベースと同様に各パートのプレーヤ毎に記述されており、手指の形状を表すフィンガポリゴンデータおよび演奏時の各指の動きを指示する演奏動作データからなっている。フィンガポリゴンデータは、同図（Ｂ）に示すように、掌および第１指〜第５指の形状を表すポリゴンデータの集合である。なお、この実施形態では各プレーヤ毎に独自の手指の形状（フィンガポリゴンデータ）を記憶しているが、フィンガポリゴンデータを全てのプレーヤに共通に１つのみ記憶するようにしてもよい。
【００５７】
自動演奏される曲がソロの曲の場合には、その楽器のプレーヤデータベース１３からプレーヤの肢体のポリゴンデータ１３０を読み出すとともに、フィンガリングデータベース１３５からフィンガポリゴンデータ１３６を読み出す。そして、バンド演奏の場合と同じように、ジャンルに応じて衣装などを決定し、曲に合わせて演奏動作のアニメーションを生成する。
【００５８】
このアニメーションがカラオケなどの演出用のものである場合は、図７（Ｂ）のようにプレーヤ全身を主として表示するようにし、このアニメーションがピアノやギターなどの学習用として用いられる場合は、図７（Ａ）のように指使いを平面的に見ることができるようなアニメーションにする。この区別は、その曲の演出データに書き込んでおいてもよく、ユーザがいずれかを選択できるようにしてもよい。
【００５９】
なお、学習用で指使いのみを表示する場合には、プレーヤの全身のアニメーションは無くてもよく、その場合には、フィンガポリゴンデータとフィンガリング動作データのみに基づいてフィンガリングアニメーションのみを生成する。
【００６０】
ここで、フィンガリングデータは、図８（Ｃ）に示すように、各曲（ソロ演奏曲）毎に個別に記憶される。このフィンガリングデータは曲データ記憶部１に演奏データと対応付けて記憶されている。このフィンガリングデータを得る方法としては、実際の演奏のフィンガリングを記録する方法、音符（楽音トラックのシーケンスデータ）に基づき、熟練した演奏者のルールを用いてフィンガリングを生成する方法などがある。
【００６１】
図９は、実際の演奏者の演奏時にフィンガリングデータ記録するフィンガリングデータ記録装置を示す図である。このフィンガリングデータ記録装置は、いわゆる演奏データを記録する演奏記録装置も兼ねている。キーボード２０はキーオン／キーオンを検出するキースイッチやタッチ強度を検出するタッチ強度スイッチを備えているとともに、各キーの表面に設けられたタッチ接点２０ａと、各タッチ接点にパルス信号を入力するためのパルススイッチ２２を有している。演奏者がこのキーボードを演奏するとその演奏データ（ノートオンデータ，ノートオフデータ，タッチ強度データ）がノートセンサ２１によって検出され指判定部２４に入力される。指判定部２４は、ノートオフデータ，タッチ強度データが入力されたときは、そのデータをそのまま記録部２７に入力するが、ノートオンデータが入力されたときは以下の動作を実行する。
【００６２】
指判定部２４はノートオンが検出されるとそのキーのタッチ接点にパルス信号を入力するためそのキーに対応するパルススイッチをオンする。そうすると、パルス発生器２３が発生したパルス信号がパルススイッチを介してオンされたキーの表面に形成されているタッチ接点に流れ込み、そのときキーを押し下げている指にそのパルス信号が伝達する。
【００６３】
図示のように演奏者の各指には指端子２５が接続されており、どの指端子からパルス信号を受信するかをセンサ２６が検出する。センサ２６は検出した指番号（Ｒ１〜Ｒ５、Ｌ１〜Ｌ５）を指判定部２４に入力する。指判定部は上記ノートオンデータとこの指番号データを対応させて記録部２７に入力する。
【００６４】
記録部２７は、入力された演奏データおよび指番号データをタイマ２８によるタイミングデータとともに記録する。記録されたデータをタイミングデータに従って読み出すことにより、この演奏を再現することができる。
この装置を用いて演奏データを記録することにより、実際にその曲を演奏したプレーヤの指使い（フィンガリング）をデータとして記録することができる。
【００６５】
一方、通常の演奏記録装置でソロ演奏を記録した演奏データやステップ・バイ・ステップでイベントデータを入力したいわゆる打ち込みの演奏データもあり、このような演奏データには対応するフィンガリングデータが存在しない。したがって、このような演奏データの自動演奏時にフィンガリングアニメーションを行うためには、何らかの方法でフィンガリングデータを生成する必要がある。以下、ルールに基づく推論によってフィンガリングデータを生成する方法について説明する。
【００６６】
図１０は、演奏データに基づいてフィンガリングデータを生成するフィンガリングデータ推論装置のブロック図である。この装置は鍵盤楽器の演奏のフィンガリングデータを推論する装置である。ソロ演奏の演奏データ（ノートオン／オフデータ）３０は、推論部３１に入力される。推論部３１にはルール記憶部３２およびフィンガリングテーブル３３が接続されている。ノートオン（鍵オン）データが入力されると、ルールまたはテーブルに基づき、そのときオンされている鍵および直前までオンされていた鍵を考慮してその鍵をどの指でオンすべきかを推論する。この推論ルールは熟練したキーボード奏者（ピアニスト）のフィンガリング決定のルールをシミュレートしたものにすればよい。また、フィンガリングテーブル３３には、基本的なフィンガリングパターンが記憶されており、単純なフィンガリング決定の再には推論の手間を省くようにしている。この推論によって割り出されたフィンガリングデータはフィンガリングデータ記録部３５に記録される。このフィンガリングデータを上記演奏データと対応づけることにより、上記演奏データの自動演奏時にフィンガリングアニメーションを表示することができる。
【００６７】
推論部３１が用いる推論ルールとしては、以下のようなものがある。
【００６８】
Ａルール：今オンされている鍵が無く、且つ直前にオフされた鍵が無い場合、今回オンされた鍵番号に基づき、左右どの手のどの指でオンするかをテーブルで判断する。
【００６９】
Ｂルール：既にオンされている鍵がある、または直前にオフされた鍵がある場合、そのときの鍵オンパターンに基づいて以下のように押鍵指を決定する。
【００７０】
Ｂ−１：その音が一番高い場合、その鍵を右手の指でオンすることにし、そのとき右手の指でオンしている全ての鍵を低いものからソートして、順番にＲ１（右親指）、Ｒ２（右人指し指）、Ｒ３（右中指）、Ｒ４（右薬指）、Ｒ５（右小指）の指番号をフィンガリングデータとして出力する。
【００７１】
Ｂ−２：その音が一番低い場合、その鍵を左手の指でオンすることにし、そのとき左手の指でオンしている全ての鍵を高いものからソートして、順番にＬ１（左親指）、Ｌ２（左人指し指）、Ｌ３（左中指）、Ｌ４（左薬指）、Ｌ５（左小指）の指番号をフィンガリングデータとして出力する。
【００７２】
Ｂ−３：その音が一番高い音から１オクターブ以内である場合、その音を右手の指でオンすることにし、空いている指を割り当てる。空いている指がない場合、または、空いている指では届かない場合には再度ソートして指の割当を変更する。
【００７３】
Ｂ−４：その音が一番低い音から１オクターブ以内である場合、その音を左手の指でオンすることにし、空いている指を割り当てる。空いている指がない場合、または、空いている指では届かない場合には再度ソートして指の割当を変更する。
【００７４】
なお、上記ソート時に、指番号を順番に割り当てるのみでなく、音高の間隔が離れているものに着目し、その間隔を跨ぐことができるように指番号を飛ばして割り当ててもよい。
【００７５】
このフィンガリングデータの生成はいつ行ってもよい。たとえば、その曲の演奏中にリアルタイムに生成するようにしてもよく、曲がリクエスト（演奏指示）されたとき、まずこのフィンガリングデータの生成を行ってから自動演奏をスタートしてもよい。また、演奏とは無関係に事前に行っておいてもよい。
【００７６】
また、一度生成したフィンガリングデータは、演奏データに対応づけてそのまま保存しておけば、以後そのデータを用いて即座に自動演奏およびフィンガリングアニメーションを表示することができる。ただし、曲データ記憶部１の記憶容量に限界がある場合には、演奏毎にフィンガリングデータを破棄し、演奏の都度再生成するようにしてもよい。
【００７７】
図１１は同自動演奏装置の動作を示すフローチャートである。自動演奏の指示（カラオケ装置であればリクエスト）があったときこの動作が実行される。まず、指示された曲の演奏データを読み出し（ｓ１）、そのヘッダや楽音トラックの構成に基づいてその曲がバンド（アンサンブル）演奏の曲であるかソロ演奏の曲であるかを判断する（ｓ２）。バンド演奏の曲の場合には、楽音トラックの音色に基づいて演奏パートを読み出し（ｓ３）、そのパートのプレーヤのポリゴンデータをプレーヤデータベースから読み出し（ｓ４）、そのレイアウトを決定してステージ上に配置する（ｓ５）。このとき同時にプレーヤの衣装・メイクやステージの演出などが行われる。
【００７８】
このようにして演奏の準備が整うと、自動演奏をスタートし（ｓ６）、曲の演奏と並行して入力されるノートデータなどに応じてプレーヤアニメーションを表示する（ｓ７）。
【００７９】
一方、ソロ演奏データの場合には、フィンガリングデータが既にあるかを判断する（ｓ１０）。このフィンガリングデータは、図９のフィンガリングデータ記録装置で演奏時に記録されたものでもよく、図１０のフィンガリングデータ推論装置で決定されたものであってもよい。フィンガリングデータがある場合には、それを読み出すとともに（ｓ１１）、プレーヤを選択して（ｓ４）、ステージ上に表示したのち（ｓ５）、演奏をスタートして（ｓ６）、ソロ演奏のアニメーションを表示する（ｓ７）。この場合、フィンガリングアニメーションが表示される。
【００８０】
一方、フィンガリングアニメーションがない場合には、自動演奏に先立って楽音トラックのデータを図１０の推論装置に流し、フィンガリングデータを生成したのちｓ４に進む。
【００８１】
このように、フィンガリングアニメーションを行う場合、大まかな体の動きはノートオン／オフデータに基づいて行い、細かい指の動きはノートオン／オフデータ以外にフィンガリングデータを割り出しておくことにより正確にアニメーションすることができるとともに、リアルタイムの処理が容易になる。
【００８２】
なお、特定のパートのプレーヤアニメーションやフィンガリングアニメーションについてはロボットを準備しておき、このパートが（演奏データで）指定された場合には、このロボットを動かして演奏の動作をさせるようにしてもよい。
【００８３】
以下上記アニメーション機能を備えたカラオケ装置について説明する。図１２は同カラオケ装置のブロック図である。このカラオケ装置は、カラオケ曲の演奏時に上記自動演奏装置の同様に、プレーヤのアニメーションを映像信号として出力する。また、このカラオケ装置は２系統の自動演奏機能（シーケンサ）および１または２系統の音源を備えており、同じ曲でアレンジ（ゴージャス，テクノなど）の異なる２つの演奏データを同期させて並行して読み出し、両方の演奏データから選択されたパートを音源に入力することによって、異なるアレンジの演奏パートを混ぜ合わせて（モーフィングして）曲を演奏することができる。このモーフィングの変更は、曲の演奏中に自由に行うことができる。そして、プレーヤアニメーションは、モーフィングによって発音されることになったパートのプレーヤを登場させ、発音されなくなったパートのプレーヤを退場させるなど演奏態様に合わせたものになっている。
【００８４】
図１２において、演奏クロック信号を共有する２つのシーケンサ４１，４２が、同じ曲でそれぞれ異なるアレンジの曲である曲データバージョン１，曲データバージョン２を並行して読み出す。曲データバージョン１，曲データバージョン２は、それぞれ複数パート（音色）のトラックを有しており、各トラックのデータが演奏クロックに従って並行して読み出される。シーケンサ４１，シーケンサ４２が読み出した各トラックのデータはミュートコントローラ４５に入力される。ミュートコントローラは、２つの演奏データのトラックのうち遮断するトラックと通過させるトラックとを選別し、通過させるトラックのデータのみ音源４６に入力する。
【００８５】
どちらの演奏データのどのパートを通過させるかは、モーフィング制御部５０がミュートコントローラ４５に指示する。モーフィング制御部５０は、モーフィングシーケンスデータ５１をシーケンサ４１，４２の自動演奏と並行して読み出し、これに基づいてミュートするパートをコントロールする。モーフィングシーケンスデータ５１は、記憶部４０に曲データバージョン１および曲データバージョン２と対応づけて記憶されている。また、モーフィングシーケンスデータ５１がない場合には、モーフィング操作部５２から入力される（利用者の操作によって発生する）操作データに基づいてミュートするパートをコントロールする。
【００８６】
図１３にモーフィングの一態様を示す。この例では、バージョン１の曲データはパート１〜パート７の７パートからなっており、バージョン２の曲データもパート１〜パート７の７パートからなっている。各パートは、たとえば、「メロディ，ベース，リズム，オブリガート，アレンジキー，コード，その他」などの機能を示すパートでもよく、「Ｅギター１，Ｅギター２，キーボード，Ｅベース，ドラムセット，ブラス１，ブラス２」などの楽器（音色）で区分されたパートでもよい。そして、モーフィングシーケンスデータには、同図下段のように刻々変化するモーフィングパラメータがイベントデータとして書き込まれている。
【００８７】
この例では、演奏スタート時には、バージョン１のパートが全て音源４６に入力され、バージョン２のパートが全てミュートされている（モーフィングパラメータ＝０）。そして、モーフィング制御部５０がモーフィングシーケンスデータ５１のイベントデータを読み出し、モーフィングパラメータが０で無くなると、その数値に応じてバージョン１のパートがミュートされ、バージョン２のパートが音源４６に入力される。
【００８８】
この例では、パート１からパート７に順番にバージョンが切り換えられるようになっているが、この順番はこれ以外でもよい。また、同種のパート同士で切り換えるのでなく、異種のパート間（たとえばバージョン１のパート１とバージョン２のパート７など）で切り換えるようにしてもよい。
【００８９】
一方、アニメーション生成部５２は、記憶部４０に記憶されているアニメーションデータ５３を入力している。このアニメーションデータ５３は、上記アニメーションデータベース，演出データベースを含むものである。アニメーション生成部５２は、このアニメーションデータ５３に基づいて、バージョン１の曲のプレーヤおよびバージョン２の曲のプレーヤの両方のアニメーションを作成可能であるが、モーフィング制御部５０から入力される制御情報に基づき、音源４６が発音するパートのプレーヤのアニメーションのみを生成して映像信号として出力する。この映像信号はモニタで表示される。
【００９０】
なお、この実施形態では、モーフィングシーケンスデータ５１またはモーフィング操作部５２の操作でモーフィングパラメータを変動させるようにしているが、マイク（図示せず）から入力される歌唱者の歌唱状況に応じてモーフィングパラメータを変動させるようにしてもよい。また、特定のアルゴリズムによって自動でモーフィングパラメータを変動させるようにしてもよい。
【００９１】
また、プレーヤアニメーションにおけるパートのモーフィングは、プレーヤの退場／登場による交替のほか、演奏中のプレーヤが徐々に変形してゆき交替した新たなパートのプレーヤになるというアニメーションのモーフィングで交替させるようにしてもよい。
【００９２】
たとえば、演奏のアレンジが、フルオーケストラからバンドにモーフィングされる場合のアニメーションモーフィングを以下のようにすることができる。
１．フルオーケストラによる演奏
２．コントラバスがエレキベースにモーフィングで替わる
３．打楽器がドラムセットにモーフィングで替わる
４．間奏でラッパ隊が退場し、ギタープレーヤが登場する
５．弦楽器プレーヤが退席し、代わってキーボードプレーヤが現れる。
【００９３】
また、演奏パートの交替は、カットイン・カットアウトで行う方法以外に、フェードイン・フェードアウトで行うようにしてもよい。この場合には、ミュートコントローラ４５は、フェードアウトするトラックのデータを突然遮断するのではなく、そのベロシティを徐々に小さく書き直して音源４６に出力するようにし、最後にベロシティ＝０になったところでそのデータを出力をストップする。また、逆にフェードインするトラックのデータはベロシティ＝０から徐々に大きくしながら音源４６に出力し、１００パーセント（曲データに元々書き込まれていたベロシティ）まで大きくする。
【００９４】
この場合に、フェードイン・フェードアウトと並行して楽音のパン制御を行い、フェードアウトするプレーヤは右（左）方向に消えてゆき、フェードインするプレーヤは左（右）方向から登場するというアニメーションを表示してもよい。
【００９５】
また、予め定められたシナリオ（モーフィングシーケンスデータ）にしたがって、バージョン１の演奏からバージョン２の演奏に完全に移行する場合には、以下のような演出でパートの移行をすることも可能である。
新たなアレンジの楽音をリバーブ音として発生させ、フェードインさせるとともに段々ドライ音に換えていって前のアレンジの楽音を圧倒して移行が完了する。
音像空間エフェクタを使用して音場制御して差し換える。
いずれにしても、これらのパート移行方式の場合、それに対応した方法でアニメーションの移行も行うようにする。
【００９６】
【発明の効果】
以上のようにこの発明によれば、演奏データに基づいてアニメーション素材を合成することによって演奏者（プレーヤ）のアニメーションを作成することにより、事前に映像データを準備することなくアニメーションを表示することが可能になる。
【００９７】
また、演奏者のフィンガリングに関しては正しいフィンガリングを記述したフィンガリングデータを事前に準備しておくことにより、正確でリアリティのあるアニメーションを作成・表示することができる。
【００９８】
また、演奏データの記録と並行してフィンガリングデータを記録することができるため、これをそのまま自動演奏装置に用いて自動演奏とフィンガリングアニメーションの表示を行わせることができる。
【００９９】
また、異なるアレンジの演奏データのパートをミックスして自動演奏することができ、さらにそのパートの選択を自動演奏の途中で切り換えることができるため、演奏途中で別のアレンジに切り換えることができるのは勿論、今までにない新たなアレンジの演奏が可能になる。
【０１００】
そのとき、パート選択に応じたアニメーションを表示するため、利用者には現在どのようなパート選択で自動演奏しているかが視覚的に分かりやすいという利点がある。
【図面の簡単な説明】
【図１】この発明の実施形態である自動演奏装置のブロック図
【図２】同自動演奏装置が表示するプレーヤアニメーションの例を示す図
【図３】同自動演奏装置のアニメーション部の機能を説明する図
【図４】同自動演奏装置で用いられるカラオケ用演奏データ、演出データの例を示す図
【図５】同自動演奏装置で用いられるプレーヤデータベースの例を示す図
【図６】同自動演奏装置が作成するプレーヤのアニメーションの例を示す図
【図７】フィンガリングアニメーションの例を示す図
【図８】フィンガリングデータベースの例を示す図
【図９】この発明の実施形態であるフィンガリング記録装置の構成図
【図１０】フィンガリング推論装置の構成図
【図１１】上記自動演奏装置の動作を示すフローチャート
【図１２】この発明の実施形態である自動演奏装置のブロック図
【図１３】同自動演奏装置のパートモーフィングの例を示す図
【符号の説明】
１…曲データ記憶部、２…自動演奏部、３…音源、４…アニメーション部、５…表示部、１０…プレーヤ選択・配置部、１１…演奏動作演算部、１２…アニメーション生成部、１３…プレーヤデータベース、１３０…プレーヤポリゴンデータ、１３１…演奏動作データ、１３５…フィンガリングデータベース、１３６…フィンガポリゴンデータ、１３７…演奏動作データ、１４…演出データベース、１５…表示態様制御部、
２０…キーボード、２０ａ…タッチ接点、２１…ノートセンサ、２２…パルススイッチ、２３…パルス発生器、２４…指判定部、２５…指端子、２６…センサ、２７…記録部、２８…タイマ、
３０…曲データ記憶部、３１…推論部、３２…推論ルール記憶部、３３…フィンガリングテーブル、３５…フィンガリングデータ記憶部、
４０…記憶部、４１，４２…シーケンサ、４３，４４…演奏データ、４５…ミュートコントローラ、４６…音源、５０…モーフィング制御部、５１…モーフィングシーケンスデータ、５２…モーフィング操作部、５３…アニメーション生成部、５４…アニメーションデータ
【図１】
0003921817.tif 000002
【図２】
0003921817.tif 000003
【図３】
0003921817.tif 000004
【図４】
0003921817.tif 000005
【図５】
0003921817.tif 000006
【図６】
0003921817.tif 000007
【図７】
0003921817.tif 000008
【図８】
0003921817.tif 000009
【図９】
0003921817.tif 000010
【図１０】
0003921817.tif 000011
【図１１】
0003921817.tif 000012
【図１２】
0003921817.tif 000013
【図１３】
0003921817.tif 000014