(57)【特許請求の範囲】
【請求項１】
楽曲の演奏音データと前記楽曲に対応し楽器演奏の単位操作列を表わす単位操作データとからなる演奏情報が入力され、
演奏者の演奏動作を描画表現するための基本データを演奏動作での動作パターンごとに保持する基本データ記憶手段と、
前記入力された演奏情報に基づいて実際の指の動作パターンを決定する動き決定手段と、
前記動き決定手段で決定された動作パターンに対応する単位操作ごとの前記基本データを前記基本データ記憶手段から抽出する基本データ抽出手段と、
前記基本データ抽出手段で抽出された基本データに基づいて演奏音の順に演奏者の演奏動作を表現する出力画像データを生成して出力する画像データ生成手段と、を有する演奏再現装置。
【請求項２】
前記画像データ生成手段が、前記演奏音データから抽出された個々の演奏音に対するタイミング情報と前記出力画像データの出力タイミングが一致するように前記出力画像データの出力タイミングを決定する請求項１に記載の演奏再現装置。
【請求項３】
前記演奏音データを演奏音の順に応じて一時的に蓄積するバッファ手段と、
前記バッファ手段より出力された演奏音データに基づいて音声出力データを出力する音声出力手段と、
前記バッファ手段を制御するバッファ制御手段と、
前記出力画像データにおいて所定の動作があったかどうかを検出する動作データ検出手段と、をさらに有し、
前記バッファ制御手段は、前記動作データ検出手段で所定の動作を検出したときに、前記バッファ手段に記憶された前記演奏音データを前記音声出力手段に出力する請求項１に記載の演奏再現装置。
【請求項４】
前記演奏音データに、前記画像データ生成手段で前記出力画像データを生成するのに要した時間に対応した所定の遅延を与えて出力する遅延手段と、
前記遅延手段より出力された演奏音データに基づいて音声出力データを出力する音声出力手段と、をさらに有する請求項１に記載の演奏再現装置。
【請求項５】
クロック信号を生成するクロック信号発生手段を有し、前記クロック信号と前記タイミング情報とに応じて前記出力画像データの出力タイミングを決定する請求項２に記載の演奏再現装置。
【請求項６】
描画用のデータを格納する描画データ格納手段をさらに有し、前記画像データ生成手段は、前記描画データ格納手段から前記描画用のデータを読出しつつ、前記基本データ抽出手段で抽出された基本データに基づいて描画を行い、前記出力画像データを生成する請求項１乃至３いずれか１項に記載の演奏再現装置。
【請求項７】
前記基本データ抽出手段が、演奏音ごとに、その演奏音の前後の演奏音に対する演奏情報に応じて当該演奏音に対する動作パターンを決定する動き決定手段と、決定した動作パターンに応じて前記基本データ記憶手段から基本データを抽出する読み出し手段とから構成されている請求項１乃至３いずれか１項に記載の演奏再現装置。
【請求項８】
前記基本データは、動作パターンごとに時間の経過に応じた複数のデータからなる請求項１乃至７のいずれか１項に記載の演奏再現装置。
【請求項９】
前記画像データ生成手段は、前記基本データ抽出手段で抽出された基本データを時間的に補間する手段をさらに備え、該補間された基本データに基づいて描画を行い、前記出力画像データを生成する請求項１乃至８のいずれか１項に記載の演奏再現装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽器演奏の練習などに使用される演奏再現装置に関し、特に、入力する演奏情報に応じてその楽器の演奏時の身体の動きなどを描画再現する演奏再現装置に関する。
【０００２】
【従来の技術】
ピアノやバイオリンなどの楽器演奏の練習用教材として、さまざまな形態の装置が提案されている。例えば、記憶媒体等から模範となる演奏情報を読み出し、それによって自動的にハンマーアクションが駆動されて演奏する自動演奏ピアノがあるが、この自動演奏ピアノではハンマーアクションの駆動とともに鍵盤上の対応する鍵が沈み込むため、練習者は、実際の演奏を聴きながら、押えるべき鍵の位置を目で確認することができる。また、電子ピアノの中には、発光ダイオードなどの発光素子を鍵盤近傍に配置し、その点滅によって次に押す鍵の位置を練習者に教えるものもあり、この種の電子ピアノには、さらにリズム発音機能を有して練習者に音によって情報を伝達できるようにしたものもある。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述したような練習用教材は、どの鍵を押すかを指示する程度のものに留まっていて、実際の運指方法の模範となるものを示すものではない。初級程度の教則本であれば、譜面上の各音符ごとにどの指で鍵を押すかが逐一指示されているが、上述した自動演奏ピアノや電子ピアノでは、どの指であるかの指示はなされていない。
【０００４】
また、技量を向上させ表現力を養うためには、鍵などを押えるときの指の動きや形、キータッチなども重要であり、教習課程の早い時期から正しい動きや形を習得させておく必要がある。しかしながら、これまでは、指の動きや形などはレッスンによって教師から学ぶしかなく、独習時やレッスンの復習時に生徒が正しい動きや形を理解することが難しかった。ビデオテープやビデオディスクを用いて指の動きや形を理解させることも行われているが、ビデオテープなどの場合には音声のデータと画像のデータが一体となっているため、音の高さはそのままにして任意のテンポで動きを再生したりすることができず、また、任意の視点から見た動きを再生することもできない。
【０００５】
指の動きや形などが重要であるのは、ピアノなどの鍵盤楽器に限ったものではなく、バイオリンなどの弦楽器、フルートなどの管楽器でも重要である。弦楽器の場合には、弦を押えるための指の動きの他に、弓を動かす運弓方法も重要である。また、管楽器であれば、口（唇）の形や口と吹口の位置関係も重要である。
【０００６】
本発明の目的は、上述した問題点を解決し、どの指で鍵を押えるかや指の動きや形などの楽器の演奏状況を演奏音に合わせて視覚的に表示でき、楽器演奏の練習などを助けることができる演奏再現装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の演奏再現装置は、楽曲の演奏音データと楽曲に対応し楽器演奏の単位操作列を表わす単位操作データとからなる演奏情報が入力され、演奏者の演奏動作を描画表現するための基本データを演奏動作での動作パターンごとに保持する基本データ記憶手段と、入力された演奏情報に基づいて実際の指の動作パターンを決定する動き決定手段と、動き決定手段で決定された動作パターンに対応する単位操作ごとの基本データを基本データ記憶手段から抽出する基本データ抽出手段と、基本データ抽出手段で抽出された基本データに基づいて演奏音の順に演奏者の演奏動作を表現する出力画像データを生成して出力する画像データ生成手段と、を有する。
【０００８】
ここで演奏音データとは、その楽曲をパートごとの音列とみた場合に各音の高さや強さ、長さを表わすデータのことであり、大まかには、記譜法にしたがって書かれた楽譜を機械可読形式のデータに変換したものであるということができる。一方、楽器演奏の単位操作とは、ある１つの音を鳴らすという操作のことであるが、例えばピアノであれば、左右いずれの手のいずれの指を用いてもある音の鍵を押すことが原理的に可能であるから、手や指、押えるときの強さまでが指定されたものとして、単位操作を考える。足ペダルの操作も単位操作に含まれる。初級程度の教則本において譜面に一般的に併記されているような内容が、単位操作と考えてよい。各音ごとの単位操作を示すデータを音の順にまとめたものが単位操作データである。弦楽器の場合であれば、開放弦も含めてどの指でどの弦を押えるかのほかに、ボーイング（運弓）の指示も単位操作データに含まれる。
【０００９】
動作パターンとは、楽器演奏時の指の形状や動きなどをパターン化したものであり、後述するように同じ音を同じ指で打鍵する場合であっても前後の音の関係によって指の動きなどは異なるから、複数の動作パターンを用意しておく。そして、それぞれの動作パターンでの動きを基本データとして基本データ記憶手段に格納しておく。つまり基本データとは、各動作パターンごとに、その動作パターンの単位操作において、指などの形状がどのように変化するかを表わすデータであり、例えば、指の各関節の位置や向きの変化などを表わすデータである。
【００１０】
本発明の演奏再現装置では、シンセサイザなどの音源を用いて演奏音データを最終的には音声信号に変換するのが一般的であるが、その際、音声信号と出力画像データとの間では時間的な同期が確立していることが強く望まれる。しかしながら、画像データ生成手段での処理には、コンピュータグラフィクスによる描画処理が含まれているので、かなりの時間がかかることが予想される。そこで、同期のために、演奏音データに所定の遅延を与えて出力する遅延手段を設けることが考えられる。また、演奏音データから個々の演奏音に対するタイミング情報を抽出し、このタイミング情報と出力画像データの出力タイミングが一致するように、画像データ生成手段での出力画像データの出力タイミングを決定するようにしてもよい。その際、クロック信号を生成するクロック信号発生手段を設け、クロック信号とタイミング情報とに応じて出力画像データの出力タイミングを決定するようにしてもよい。同期を確実にするための別の構成として、演奏音データを演奏音の順に応じて一時的に蓄積するバッファ手段と、出力画像データにおいて所定の動作があったかどうかを検出する動作データ検出手段とを設け、所定の動作を検出したときに演奏音データが出力されるようにしてもよい。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について、図面を参照して説明する。図１は本発明の実施の一形態の演奏再現装置の構成を示すブロック図である。ここでは、ピアノなどの鍵盤楽器を前提として、演奏すべき楽曲の音を出力するとともに、指の動きや形などをコンピュータ・グラフィクス（ＣＧ）を用いて再現、表示する演奏再現装置について説明する。
【００１２】
図１に示す演奏再現装置には、ＭＩＤＩ(Musical Instrument Digital Interface)データと運指データとが入力されるシーケンサ部１と、音源であってシーケンサ部１に接続されＭＩＤＩデータに基づいて音声信号を出力する音声エンジン部２と、シーケンサ部１で決定されたモーションデータに基づいてコンピュータグラフィクスにより描画を行って出力画像データとして出力する描画エンジン部３と、シーケンサ部１に接続されモーションデータを格納するモーションデータ格納部４と、描画エンジン部３での描画に使用される形状データを蓄積する形状データ格納部５によって構成されている。モーションデータ格納部４は基本データ記憶手段に該当し、描画エンジン部３は画像データ生成手段に該当し、形状データ格納部５は描画データ格納部に該当する。
【００１３】
ここでＭＩＤＩデータは、楽曲の演奏音のデータであって、ＭＩＤＩ規格に基づいて表わされている。ＭＩＤＩ規格は、電子楽器を外部から制御して演奏させるためのデータの規格であり、楽曲を構成する各音についてのデータを時系列にしたがって、電子楽器等に入力するように定められている。ＭＩＤＩデータでは、楽曲の先頭から順次出現する音に対し、パートや手の区別に概ね対応するチャネルごとに、その音の音程や大きさ、長さ、その音の開始時点から次の音の開始時点までの間隔などの情報を与えている。
【００１４】
図２は、運指データの一例を示す図である。運指データは、ある楽曲をある楽器（この例ではピアノ）で演奏する場合に、その楽曲の各音をどの手のどの指でどの程度の強さで弾く（その音の鍵を押す）かを示すデータであり、各音に対する単位操作を表わすデータ（単位操作データ）である。ここでは運指データは、音の順番を表わす「順序番号」、ＭＩＤＩデータでの対応するチャネルを示す「チャネル番号」、右手、左手、右足、左足などの区別を表わす「部位」、どの指を使うのかの「運指番号」、その音の音程（音名）を示す「対象音名」、打鍵時の強さを示す「ＯＮ強さ」、鍵から指を離すときの強さを示す「ＯＦＦ強さ」の各項目で構成されている。「部位」に対して右足、左足が選択できるようになっているのは、ペダル操作のため、あるいはパイプオルガン用の運指データ（パイプオルガンには足鍵盤がある）に流用するためである。「運指番号」については、ピアノの場合の慣例にしたがって、"１"を親指とし、"５"を小指として、５本の指に番号を順に割り振っている。後述するようにＭＩＤＩデータと運指データとが同期しているかどうかを音名によって判断しているので、運指データにも「対象音名」の項目が設けられている。ここではピアノ用の運指データを説明したが、対象とする楽器に応じて、運指データの項目は適宜に変更する。例えば、弦楽器の場合であれば、開放弦であるとかピッチカートであるといった情報や運弓に関する情報を運指データに入れるようにするとよい。
【００１５】
この実施の形態では、演奏音データであるＭＩＤＩデータと単位操作データである運指データとを別々のデータとしてシーケンサ部１に入力させているが、ＭＩＤＩデータと単位操作データとを統合したデータを作成してこの統合データをシーケンサ部１に入力させるようにしてもよい。しかしながら、ＭＩＤＩデータは概ね作曲者の作曲の結果を反映したものであって同じ楽曲に対してはほぼ同じであると考えられるのに対し、運指方法は、同じ楽曲に対しても、解釈や、演奏者の技量や手の大きさなどに応じて変化し得るものであり、本実施の形態で例示した図１のブロック図のように運指データをＭＩＤＩデータから分けておけば、１つの楽曲のＭＩＤＩデータに対し異なる解釈のそれぞれに応じて演奏を再現することが可能になる。市販されているいわゆる原典版と呼ばれる楽譜であっても、運指やペダルの指定は校訂者によって異なっていることが多い。
【００１６】
なお、本実施の形態では１つの指に対して１つの音名を割り当てているが、本願発明の装置はこれに限られるものではなく、例えば図２の対象音名に２つの音を指定することにより１つの指に対して複数の音名を割り当てることもできる。
【００１７】
図３は、シーケンサ部１の内部構成を明らかにするための図である。シーケンサ部１は、入力するＭＩＤＩデータ及び運指データのヘッダ部分を解析するヘッダ解析部１１,１２と、ＭＩＤＩデータと運指データとの同期がとれているかどうかを判断する同期判定部１３と、ＭＩＤＩデータを解釈して各演奏音の音階（音名）や長さを調べるＭＩＤＩ解析部１４と、運指データとＭＩＤＩ解析部１４での解析結果とに基づいて実際の指の動きを決定する動き決定部１５と、実際の指の動きを決定する際のルールを記述したルールベース１６と、モーションデータ格納部４内を検索し、動き決定部１５で決定された動きに対応するモーションデータを読み出し、描画エンジン部３にこのモーションデータを渡すモーションデータ読み出し部１７と、遅延手段であってＭＩＤＩデータを一定の時間遅らせて音声エンジン部２に出力するデータ遅延部１８とによって構成されている。ＭＩＤＩ解析部１４での解析結果は、描画エンジン部３にも出力されている。動き決定部１５は動き決定手段であり、モーションデータ読み出し部１７は読み出し手段であって、これらによって基本データ抽出手段が構成されている。
【００１８】
ここで、演奏動作の描画表現を行うための基本データであるモーションデータについて説明する。運指データとＭＩＤＩデータとを解析することにより、鍵盤上のある鍵をどのタイミングで打鍵すればよいかが分かる。しかしながら、実際の指の動きや形状は、打鍵対象が黒鍵であるか白鍵であるか、また、直前直後にどの指がどの鍵を弾くかなどに応じて変化する。
【００１９】
例えばピアノでハ長調の曲を右手で弾く場合、図４(A)に示す譜例１と図４(B)に示す譜例２とでは、最初のＣ(ド)音からＥ(ミ)音までは指使いが同じであるが、Ｆ(ファ)音を弾く指が異なる。図において、指使いは上述した運指番号で示されている。譜例１ではＦ音を薬指で弾き、譜例２では親指で弾いている。すなわち、譜例２の場合、中指でＥ音を弾いた後、ただちに親指でＦ音を打鍵する必要があり、この場合、親指は、人差し指と中指の下をくぐるような動きを示すようになる。一方、図４(C)に示す譜例３では、中指、次いで親指という順序で打鍵しているが、親指のくぐるような動作は必要ない。
【００２０】
本発明では、同じ指で打鍵する場合であっても状況に応じてこのように指の動きや形状の違いが生じることを的確に再現することを目的としている。しかしながら、例示したような運指データから直接はこのような動きの違いを判別することはできない。そこでこの実施の形態では、打鍵時の指の動きや形状の変化をパターン化して動作パターンとし、指ごとに複数の動作パターンを予め用意している。そして、楽曲の各音ごとに、動き決定部１５により、ルールベース１６を用いてそのときの指の動きや形状などを最もよく表わす動作パターンを決定し、この動作パターンに対応するモーションデータをモーションデータ読み出し部１７によってモーションデータ格納部４から読み出している。例えば、右手の場合、上り音階であって前の音よりも指番号が小さいときには指がくぐる動作があると考えられるので、指がくぐる動作に対応する動作パターンを選択する。また、上り音階で３度離れた音（例えば、Ｃ音とＥ音）を続けて弾く場合と、５度離れた音（例えば、Ｃ音と１オクターブ上のＥ音）を続けて弾く場合とでは、当然に、指の動かし方が異なるから、前後の音と何度離れているかに応じて動作パターンが選択されるようにする必要がある。上述したように黒鍵か白鍵かでも動作パターンが異なるようにする。鍵を強く叩くときと弱く押さえるときとでは、鍵に対して指を上げるときの高さが異なるので、強弱も反映して動作パターンが選択されるようにする。ルールベース１６には、このような条件分けに応じてどの動作パターンを選択するかのルールを格納しておけばよい。
【００２１】
図５はモーションデータの構成例を説明する図である。本実施の形態では、モーションデータは、指ごとの動作パターンごとに、指の各関節の角度（向き）が時間の経過とともにどう変化するかを表わすデータである。図中、「関節の角度」では、指の第１関節、第２関節及び第３関節の角度が、それぞれ、(ｘ1,ｙ1,ｚ1),(ｘ2,ｙ2,ｚ2),(ｘ3,ｙ3,ｚ3)で表わされており、「指番号」は運指番号で特定される指を示し、「パターン番号」は動作パターンを特定するためのものである。また「時間」は、時間の経過を示す指標であって、時間の"０"は例えば鍵盤に向って指を下ろし始めるタイミングを示し、時間の"１"は下ろしている途中のタイミングを示す、時間の"２"は下ろし終えたタイミングを示している。ここでいう時間は、相対的な時間であり、楽曲のテンポやスローモーション再生であるかどうかに応じて、任意の尺度で進み方を調節できるようになっている。コンピュータグラフィックで描画する際には、角度だけでなく位置情報も必要であるが、指の大きさは既知であり、また、指先の位置はこれから打鍵しようとする鍵の上にあることは明らかなので、モーションデータには角度情報だけを持たせておいても、描画を行うことが可能となっている。図５の例では、例えば親指の１番目の動作パターンに対して、時間"０"から時間"２"までの各タイミングで各関節の角度がどのようになっているかが示されており、これら各タイミング間を種々の手法を用いさらに細かくデータ補間することによって、動きを滑らかに再生することが可能になっている。
【００２２】
次に、この演奏再現装置の動作について説明する。図６は、データが入力してからモーションデータを決定するまでの過程を示すフローチャートである。
【００２３】
ある楽曲のＭＩＤＩデータとこの楽曲に対応する運指データとがシーケンサ部１にそれぞれシリアルに入力され、各データのヘッダ部分はヘッダ解析部１１,１２で解析される（ステップ１０１）。そして、同期判定部１３において、ＭＩＤＩデータと運指データとがチャネル及び音程（音名）で一致しているかを判定する（ステップ１０２）。ＭＩＤＩデータと運指データとが対応していれば、それぞれのデータを先頭から読んでいった場合に、各音ごとにチャネルと音程が両方のデータで一致しているはずであるが、途中から再生したばあいなどに何らかの理由でずれることがあるので、このチェックを行っている。一致していない場合、すなわちずれている場合にはステップ１０１に戻り、一致している場合には、モーションデータ探索のために、その音についてＭＩＤＩデータに含まれる各種のデータと運指データとを指ごとにまとめて統合データとする（ステップ１０３）。この統合データは、指ごとに用意され例えばプログラム言語Ｃにおける構造体のようなデータ構造のものであって、音程（音名）、強さ、音の長さ、次の音の発音までの間隔、チャネル、運指番号などのデータを含んでいる。
【００２４】
次に、音が和音であるかどうか、和音であればその和音を構成する音のデータが全部揃っているかどうかを判断する（ステップ１０４）。ＭＩＤＩデータでは（したがって、これに対応して運指データでも）、和音であっても和音を構成する各音のデータがシーケンシャルに入力される。引き続くデータが表わす音と和音を構成する場合であれば、ＭＩＤＩデータ中の「次の音の発音までの間隔」が０（か０に近い値）となっている。そこで、和音を検出した場合には和音を構成する音のデータが全部揃うまで待つこととする。和音でない場合、あるいは和音であって全部の音が揃っている場合にはステップ１０５に移行し、和音だが全部のデータが揃ったわけではない場合にはステップ１０１に移行する。続いて、キューに前後２音のデータが蓄積されているかを判定する（ステップ１０５）。上述したように、ある音に対する動作パターンはその音の直前直後にある音によっても変わるので、動作パターンを決定するためには少なくとも前後２音のデータが揃っている必要がある。なお、曲の先頭と最後の音の場合には、それぞれ、先行する音、後続する音が存在しないが、その場合には、弾き始め、あるいは弾き終わりというデータがあるものとすればよい。前後の音のデータが揃っていない場合にはステップ１０１に戻り、揃っている場合には、ステップ１０６に移行し、動き決定部１５で動作パターンを決定し、モーションデータ読み出し部１７によってモーションデータを読み出す。
【００２５】
このとき、ＭＩＤＩデータは、同期判定部１３からＭＩＤＩ解析部１４に入力しており、動作パターン決定に必要なデータが動き決定部１５に送られる。また、ＭＩＤＩデータは、データ遅延部１８を介して音声エンジン部２に出力される。音声エンジン部２はＭＩＤＩデータに応じて音声信号を生成し、外部に出力する。データ遅延部１８は、音声と画像とを同期させるために設けられている。描画エンジン部３でのコンピュータ・グラフィクスによる描画にはかなりの処理時間がかかるので、データ遅延部１８を設けない場合には、音声出力と画像出力とが同期しないようになる。
【００２６】
次に、描画エンジン部３での処理について詳しく説明する。
【００２７】
描画エンジン部３には、上述したようにモーションデータが渡されるが、モーションデータ自体は単に指の各関節の向きの時間変化を示したものに過ぎない。実際の指の動きを画像データとして表現するためには、皮膚や爪の形状データを貼り付けた画像とする必要がある。また、モーションデータでの時間刻みはかなり粗いので、スムースな動画表現とするためには、モーションデータの補間処理を行う必要もある。そこで本実施の形態では、皮膚や爪、あるいは鍵盤などの形状を表わすデータを形状データ格納部５に予め蓄積しておき、必要な形状データを形状データ格納部５から読み出しつつ描画エンジン部３によって描画が行われるようにしている。描画エンジン部３は、モーションデータが渡されると、ＭＩＤＩ解析部１４からのデータによってそのモーションデータが鍵盤上のどの鍵に対するものかを知り、その鍵の位置を基準としてモーションデータの補間を行いつつモーションデータに対する描画の絶対座標を求め、形状データ格納部５から読み出した形状データを用いて、フレームごとの描画を行い、画像出力データとして出力する。また、３次元コンピュータ・グラフィクス技術を用い、空間内の任意の視点から見た画像が得られるようにすることもできる。
【００２８】
ところで、描画エンジン部３での処理に要する時間を検討すると、形状データを補間後のモーションデータと対応付けて描画する部分の処理に一番時間がかかる。モーションデータの補間までは、せいぜい数点の座標値を扱うだけであるので、描画に比べて極めて短時間に行える。また、ＭＩＤＩ解析部１４での解析や動作パターンの決定、モーションデータの読み出しに要する時間も、描画に比べてかなり小さい。本実施の形態の場合、データ遅延部１８によってＭＩＤＩデータの出力タイミングを遅らせているものの、描画に時間がかかりすぎると、音声と画像の同期がとれなくなる。そこで描画エンジン部３では、モーションデータやＭＩＤＩ解析部１４からデータを受け取った時点で、描画に要する時間を推算し、描画に時間がかかりすぎるようであれば、描画フレームを間引くようにすることが望ましい。また、装置の性能にも依存するので、装置の立ち上げ時に別の手段にて、事前に描画などに要する時間測定を行い、そのデータに基づいて描画フレーム数を決定する方法もある。
【００２９】
以上のように演奏再現装置を構成することにより、音声エンジン部２からの音声出力データを増幅してスピーカに入力し、描画エンジン部３からの画像出力データをＣＲＴや液晶ディスプレイなどの表示装置に入力することにより、楽曲の実際の演奏を聴きながら、その楽曲を演奏するための模範的な指使い、指の動かし方などを確認することができる。本実施の形態の場合、ＭＩＤＩデータを用いているので、音程を変えることなく任意のテンポでの再生が可能で、スローモーションでの演奏再現も可能である。また、コンピュータ・グラフィクス技術を用いているので、任意の視点から見ての指使いなどを確認することができる。図７はこのようにして得られた画像出力信号による表示例を示している。図７(A)は鍵を押すためにいったん人差指を上方に持ち上げている状態を示し、図７(B)は人差指の先端が鍵に接触した状態を示し、図７(C)は鍵が押し込まれる過程にある状態を示している。
【００３０】
本発明の演奏再現装置では、ＭＩＤＩデータに基づく音声と、コンピュータグラフィクスによる画像とをどのように同期させるかが、重要な点である。図８に示した実施の形態では、クロック発生手段であって基本となるシステムクロックを発生するシステムクロック部２１をシーケンサ部１内に設け、ＭＩＤＩ解析部１４から出力される音の長さや次の音までの時間間隔の情報と、システムクロックとを用いて、描画エンジン部３で描画のタイミングやフレームレートを制御している。すなわち、ＭＩＤＩデータ側のイベントの発生を基準として、「これから何秒後（あるいはシステムクロックの値がいくつになったとき）に描画を開始しあるいは描画を終えるようにせよ」という指示を描画エンジン部３に対して与えることが可能になる。上述の図３に示した装置の場合には、ＭＩＤＩデータについてみれば音声エンジン２側に垂れ流しとなっているので、ＭＩＤＩデータは実際の音発生とほぼ同じ時間間隔で入力させるのが一般的であるが、図８に示す装置の場合には、システムクロック値で後続する処理の開始時刻等を逐一指定できるので、演奏再現のテンポを自由に制御したり、あるいはＭＩＤＩデータや運指データの先読みが可能になる。
【００３１】
一方、図９に示す装置は、画像データ側でのイベント発生を基に音の発生を実行しようとするものである。すなわち、図３に示す装置のシーケンサ部１において、データ遅延部の代りにバッファ制御部２３を設け、バッファ制御部２３にはバッファ手段であってＭＩＤＩデータを先入れ先出し（ＦＩＦＯ）で一時的に格納するバッファ２２を接続し、さらに、鍵盤と指との接触あるいは衝突を検出する衝突検出部２４を設けた構成となっている。衝突検出部２４は、動作データ検出手段であって、描画エンジン部３での内部計算過程を逐次監視して、モーションデータにより指と鍵盤が接触あるいは衝突したタイミングを検出するようになっている。そして衝突検出部２４での検出結果に応じて、バッファ制御部２３が制御される。
【００３２】
この装置では、動作パラメータの決定、モーションデータの抽出、描画は、上述の場合と同様に行われる。一方、ＭＩＤＩデータは、ＭＩＤＩ解析部１４から音声エンジン部２に出力されるのではなく、バッファ制御部２３を介してバッファ２２に一時的に格納される。そして、衝突検出部２４で衝突が検出したときに、その衝突に対応する音のＭＩＤＩデータがバッファ２２から取り出されて音声エンジン部２に出力される。このように構成することにより、描画時間が長かったことに伴って本来のタイミングよりの音の発生タイミングがずれることがあるものの、音声と描画との同期を一致させつつ、スムースな描画を表示することが可能になる。
【００３３】
以上、本発明の実施の形態について、ピアノの演奏を再現する場合を中心にして説明したが、本発明はこれはピアノ練習のためのものに限定されるものでなく、例えば、バイオリンやチェロなどの弦楽器、フルートやクラリネットなどの管楽器についても、単位操作データ（運指データ）と、楽器に対応した動作パターンやルールベース、モーションデータ、形状データとを用意することによって、演奏を再現することが可能になる。
【００３４】
【発明の効果】
以上説明したように本発明は、演奏者の演奏動作を描画表現するための基本データを演奏動作での動作パターンごとに基本データ記憶手段内に保持し、演奏音データと単位操作データとから対応する基本データを抽出し、抽出された基本データに基づいて描画を行うことにより、どの指で鍵を押えるかや指の動きや形などの楽器の演奏状況を演奏音に合わせて視覚的に表示できるようになり、また、任意のテンポでの演奏の再現を表示できるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態の演奏再現装置の構成を示すブロック図である。
【図２】運指データの一例を示す図である。
【図３】シーケンサ部の具体的な構成を示すブロック図である。
【図４】  (A)〜(C)はそれぞれ譜例を示す図である。
【図５】モーションデータの一例を示す図である。
【図６】データが入力してからモーションデータを決定するまでの過程を示すフローチャートである。
【図７】  (A)〜(C)は、それぞれ、出力画像の例を示す図である。
【図８】図２とは別の構成のシーケンサ部を示すブロック図である。
【図９】さらに別の構成のシーケンサ部を示すブロック図である。
【符号の説明】
１    シーケンサ部
２    音声エンジン部
３    描画エンジン部
４    モーションデータ格納部
５    形状データ格納部
１１,１２     ヘッダ解析部
１３    同期判定部
１４    ＭＩＤＩ解析部
１５    動き決定部
１６    ルールベース
１７    モーションデータ読み出し部
１８    データ遅延部
２１    システムクロック部
２２    バッファ
２３    バッファ制御部
２４    衝突検出部
１０１〜１０６    ステップ
【図１】
0003753798.tif 000002
【図２】
0003753798.tif 000003
【図３】
0003753798.tif 000004
【図４】
0003753798.tif 000005
【図５】
0003753798.tif 000006
【図６】
0003753798.tif 000007
【図７】
0003753798.tif 000008
【図８】
0003753798.tif 000009
【図９】
0003753798.tif 000010