(57)【特許請求の範囲】
【請求項１】
所定の楽曲の演奏音を録音して成る入力波形データの周波数成分を解析し、これら周波数成分によって形成される軌跡のうち所定の条件を満たす軌跡を抽出する過程と、
これら軌跡の抽出結果に基づいて、少なくとも音高と操作タイミングとを含む抽出操作イベントを決定する過程と、
前記楽曲に係る基準演奏情報と、前記各抽出操作イベントとを比較し、前記基準演奏情報に含まれるノートオンイベントのうち対応する抽出操作イベントが存在しない未検出ノートオンイベントを抽出する過程と、
前記未検出ノートオンイベントに対して、他のノートオンイベントおよびこれらに対応する抽出操作イベントに基づいて、対応する操作イベントである推定操作イベントを決定する推定操作イベント決定過程と、
これら抽出操作イベントおよび推定操作イベントに基づいて出力演奏情報を生成する過程と
を有し、前記推定操作イベント決定過程は、
前記基準演奏情報におけるノートオンタイミングと前記抽出された複数の抽出操作イベントにおける操作タイミングとの関係を表す近似特性を決定する過程と、
前記近似特性と、前記未検出ノートオンイベントとに基づいて、前記推定操作イベントにおける操作タイミングを決定する過程と
を有することを特徴とする演奏情報生成方法。
【請求項２】
請求項１に記載の演奏情報生成方法を実行することを特徴とする演奏情報生成装置。
【請求項３】
請求項１に記載の演奏情報生成方法を処理装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、録音波形に基づく演奏情報の生成に用いて好適な演奏情報生成方法、演奏情報生成装置およびプログラムに関する。
【０００２】
【従来の技術】
楽音合成の一つの方法として、元々の楽音波形の周波数成分を分析し、得られた各周波数成分の信号を発生させてこれらを加算することにより、楽音波形を合成する分析・（再）合成（Analysis &amp (Re)Synthesis）方式が知られている。この楽音波形分析合成方式においては、まず、元々の楽音波形のスペクトルが解析され、その楽音に含まれている基音周波数およびその倍音周波数に対応する線スペクトル成分が抽出される。通常、このスペクトル解析は、時間窓（ウインドウ）を用いたフーリエ変換による短時間スペクトル解析を用いて行われている。
【０００３】
まず、分析対象となる波形データの複数のサンプリング点によって「フレーム」が構成される。このフレームに所定の窓関数を施すると、該フレームの中心のサンプリング点に対するＦＦＴ（高速フーリエ変換：Fast Fourier Transform）処理結果が得られる。次に、このＦＦＴ処理結果に基づいて、ピークを成す全ての周波数位置が検索される。次に、このフレーム位置を移動しながら同様の処理を実行すると、各フレームにおける各周波数位置が順次得られることになる。かかる処理を短時間フーリエ変換（ＳＦＦＴ：Short-time Fast Fourier Transform）と呼ぶ。
【０００４】
次に、各フレームにおいて得られたピークのうち、軌跡を成すものが追跡される。このようにスペクトルの軌跡を求める処理をここではＳＴＦ(Spectrum Trajetory Finder)処理と呼ぶ。また、各スペクトルの軌跡について、各窓関数を施した時刻（フレームタイム）と、各フレームタイムにおいて検出されたピーク位置とを合わせたデータをＳＴＦデータと呼ぶ。
【０００５】
次に、ＳＴＦ処理によって得られた軌跡の中から所望の軌跡を選択し、その個々の軌跡に基づいて正弦波を合成し、加算することによりもとの楽音波形のうち決定論的に得られる波形すなわち決定論的波形（Deterministic Wave）を合成することができる。そして、元々の波形データから決定論的波形を減算することにより残差波形（Residual Wave）が得られる。なお、以上のように波形データを解析する技術は、例えば特開平１２−１０５６７号公報等に開示されている。
【０００６】
【発明が解決しようとする課題】
ところで、波形データ、例えば実際の演奏音の波形データをＳＴＦ解析し、その結果のみに基づいて演奏情報を抽出できれば便利である。しかし、非常にレベルの低い（弱い演奏に対する）周波数成分を抽出することは困難である。また、演奏者のミスにより、本来演奏すべき音が欠落することも考えられる。一方、種々の楽曲においては、元々楽譜が既知である場合が多い。楽譜が既知であれば、その内容を参照することによって、信頼性の高い演奏情報を得ることが可能であると考えられる。
この発明は上述した事情に鑑みてなされたものであり、信頼性の高い演奏情報を得ることができる演奏情報生成方法、演奏情報生成装置およびプログラムを提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の演奏情報生成方法にあっては、所定の楽曲の演奏音を録音して成る入力波形データの周波数成分を解析し、これら周波数成分によって形成される軌跡のうち所定の条件を満たす軌跡を抽出する過程（ステップＳＰ２〜６）と、これら軌跡の抽出結果に基づいて、少なくとも音高（ＭＩＤＩＫＣ）と操作タイミング（押鍵タイミング）とを含む抽出操作イベント（抽出押鍵イベント）を決定する過程（ステップＳＰ６）と、前記楽曲に係る基準演奏情報と、前記各抽出操作イベントとを比較し、前記基準演奏情報に含まれるノートオンイベントのうち対応する抽出操作イベントが存在しない未検出ノートオンイベントを抽出する過程（ステップＳＰ８）と、前記未検出ノートオンイベントに対して、他のノートオンイベントおよびこれらに対応する抽出操作イベントに基づいて、対応する操作イベントである推定操作イベントを決定する推定操作イベント決定過程（ステップＳＰ１０）と、これら抽出操作イベントおよび推定操作イベントに基づいて出力演奏情報を生成する過程（ステップＳＰ１２）とを有し、前記推定操作イベント決定過程は、前記基準演奏情報におけるノートオンタイミングと前記抽出された複数の抽出操作イベントにおける操作タイミングとの関係を表す近似特性を決定する過程と、前記近似特性と、前記未検出ノートオンイベントとに基づいて、前記推定操作イベントにおける操作タイミングを決定する過程とを有することを特徴とする。
また、請求項２記載の演奏情報生成装置にあっては、請求項１に記載の演奏情報生成方法を実行することを特徴とする。
また、請求項３記載のプログラムにあっては、請求項１に記載の演奏情報生成方法を処理装置に実行させることを特徴とする。
【０００８】
【発明の実施の形態】
1．実施形態の構成
以下、この発明の一実施形態の演奏情報生成装置の構成を図１を参照し説明する。
なお、本実施形態の演奏情報生成装置は、汎用パーソナルコンピュータと、該パーソナルコンピュータ上で動作するアプリケーションプログラムとによって構成されている。図において、２は通信インタフェースであり、ローカルエリアネットワークを介して他の機器との間で波形データのやりとりを行う。４は入力装置であり、文字入力用キーボードおよびマウス等から構成されている。６は演奏操作子であり、演奏用キーボード等から構成されている。
【０００９】
８はディスプレイであり、ユーザに対して各種情報を表示する。１０はＣＰＵであり、後述するプログラムに基づいて、バス１６を介して他の構成要素を制御する。１２はＲＯＭであり、イニシャルプログラムローダ等が記憶されている。１８はリムーバルディスクドライブ装置であり、ＣＤ−ＲＯＭ、ＭＯ等のリムーバルディスク２０に対して読出し／書込みを行う。２２は波形取込インタフェースであり、外部から入力されたアナログ信号をデジタル信号に変換する。
【００１０】
２４はハードディスクであり、オペレーティングシステム、楽音解析アプリケーションプログラム、波形データ等が格納される。２６は波形出力インタフェースであり、バス１６を介して供給されたデジタルの楽音信号をアナログ信号に変換する。２８はサウンドシステムであり、該楽音信号を発音する。３０はＲＡＭであり、ＣＰＵ１０のワークメモリとして用いられる。
【００１１】
2．実施形態の動作
次に、本実施形態の動作を説明する。まず、ユーザが楽音解析アプリケーションプログラムが立ち上げ、入力装置４において所定の操作を行うと、解析対象となる波形データファイルと、基準演奏情報ファイルとが指定される。これらのファイルは、リムーバルディスク２０あるいはハードディスク２４等に記憶されている。なお、解析対象の波形データがコンピュータ上のファイル形式ではない場合には、波形取込インタフェース２２を介して、ファイル形式に変換される。
【００１２】
ここで、上記波形データファイルは、所定の楽曲の演奏音を記録したものである。また、基準演奏情報ファイルは、その楽曲の楽譜に基づいて生成された演奏情報を記録したものである。ここで、基準演奏情報ファイルに係る楽譜の一例を図３に示す。また、この楽譜に基づいて実際にピアノ演奏を行って得られた波形データ、すなわち解析対象の波形データを図４に示す。
【００１３】
次に、ユーザが入力装置４において所定の解析指令操作を実行すると、図２に示すプログラムが起動される。図において処理がステップＳＰ２に進むと、波形データの各フレームに対してＦＦＴ処理が実行され、このＦＦＴ処理結果に基づいて、ピークを成す全ての周波数位置が検索される。次に、処理がステップＳＰ４に進むと、各フレームにおいて得られたピークのうち、軌跡を成すものが追跡される。すなわちＳＴＦ処理が実行される。
【００１４】
ここで、図４の波形データに対してＳＴＦ処理を施した結果を図５に示す。同図において縦軸は周波数、横軸は発音開始時点（０）からの経過時間すなわちフレームタイムを表わす。図２に戻り、次に処理がステップＳＰ６に進むと、図５の軌跡の中から、所定の抽出条件を満たすものが抽出される。ここで、抽出条件とは、「レベルが所定の閾値よりも高くなるタイミングが存在し、かつ、周波数が所定時間以上安定している」というものである。
【００１５】
ここで、該抽出条件を満たす軌跡のみを抽出した結果を図６に示す。また、図６の縦軸を「周波数＋レベル」に変換した結果を図７に示す。かかる抽出条件を満たす軌跡は、各音の基音成分を構成する。そこで、図７および図５においては、抽出条件を満たす軌跡に対して対応する音名（Ｆ２，Ｃ３等）を付記している。また、抽出された各軌跡が上記所定の閾値よりも高くなるタイミングを押鍵タイミングという。この押鍵タイミングと対応する音名とを合わせた情報を「抽出押鍵イベント」と呼ぶ。
【００１６】
この押鍵タイミングは、楽譜上の音符が存在するタイミング、換言すれば基準演奏情報におけるノートオンに対応するタイミングに他ならない。ここで、上述した処理によって抽出された抽出押鍵イベントの一覧を図８に示す。図において「ＭＩＤＩ  ＫＣ」の欄は、各軌跡の周波数に基づいて求められたキーコードおよびそのＭＩＤＩデータである。「Ｎｏ．」の欄は、各抽出押鍵イベントのシリアルナンバである。
【００１７】
次に、「絶対位置」とは、抽出された押鍵タイミングの時間軸上の位置を、波形データの開始位置を基準として表わしたものであり、「小節」「拍」および「ユニット」から成る。まず、「１拍」の長さはその楽曲における４分音符の長さであり、基準演奏情報によって指定された「テンポ」に応じて一意に決定される。例えば、テンポが「１１８」であれば、「１拍」の長さは「６０／１１８＝０.５０８４７４６秒」である。また、「１ユニット」は「１拍／４８０」であり、テンポが「１１８」であれば「１ユニット＝０.０１０５９３２２」になる。
【００１８】
また、「１小節」の長さは、基準演奏情報によって指定された「拍子」および「テンポ」に応じて一意に決定される。例えば、「４／４拍子」であれば、「１小節＝４拍」である。図８に示す「絶対位置」は、波形データの開始位置から各押鍵タイミングまでの時間を「１ユニット」で除算してユニット数を求め、このユニット数を「４８０」毎に繰り上げることによって拍数を求め、この拍数を「４」毎に繰り上げて小節数を求めて成るものである。なお、基準演奏情報によってテンポおよび拍子が指定されていない場合は、これらの値はユーザによって指定される。
【００１９】
また、図８において「相対位置」とは、最初に発生した（シリアルナンバ００００の）押鍵タイミングにおける「小節」および「拍」を「１」、「ユニット」を「０００１」とし、他の押鍵タイミングもこれに応じてシフトした結果である。また、「相対ユニット」は、拍および小節への繰り上げを行わず、最初の押鍵タイミングからの経過時間（図示の相対時間）を単純に「ユニット」に変換して成る値である。
【００２０】
図２に戻り、処理がステップＳＰ８に進むと、各抽出押鍵イベントと、基準演奏情報の各ノートオンイベントとが比較され、採譜されなかった音符が抽出される。その詳細を図９を参照し説明する。この図において「ＭＩＤＩ  ＫＣ」の欄は、基準演奏情報において各ノートオンイベントに含まれるキーコードである。また、「楽譜上の位置」の欄は、各ノートオンイベントの発生タイミングを小節、拍およびユニットの単位に変換したものである。
【００２１】
また、「楽譜上の相対ユニット」の欄は、拍および小節への繰り上げを行わず、基準演奏情報の最初のノートオンイベントからの経過時間を「ユニット」に変換して成る値である。また、「Ｎｏ．」の欄は、抽出押鍵イベントのシリアルナンバである。ここで、シリアルナンバ「０００４」と「０００５」との間に存在するノートオンイベント（キーコード：Ｇ＃３）については、シリアルナンバが付されていない。
【００２２】
これは、基準演奏情報には当該ノートオンイベントが存在するが、対応する抽出押鍵イベントが存在しないことを意味する。このようなノートオンイベントを未検出ノートオンイベントと呼ぶ。該未検出ノートオンイベントは、図３に示す楽譜の高音部の２番目の音符（Ｇ＃３の１６分音符）に対応する。この音符は短い装飾音的な音符ゆえ、波形データから対応する軌跡を抽出できなかったのである。このように、ステップＳＰ８においては、基準演奏情報のノートオンイベントの中から、未検出ノートオンイベントが全て検索される。
【００２３】
図２において次に処理がステップＳＰ１０に進むと、最終的に出力される演奏情報（出力演奏情報）のノートオンタイミングが決定される。ここで、出力演奏情報の各ノートオンイベントは基準演奏情報の各ノートオンイベントに対応している。そして、各ノートオンイベントに対して対応する抽出押鍵イベントが存在する場合には、その押鍵タイミングが出力演奏情報のノートオンイベントのノートオンタイミングに設定される。
【００２４】
出力演奏情報における各ノートオンタイミングを「ユニット」に換算した値を図９の「最終相対ユニット」の欄に、また「秒」に換算した値を「最終相対時間」の欄に示す。これらの値は、図８における「相対ユニット」および「相対時間」の欄に示した値と一致している。
【００２５】
次に、基準演奏情報中のノートオンイベントと、抽出押鍵イベントとの関係が決定される。その詳細を図１０を参照し説明する。図１０は、抽出押鍵イベントの「相対ユニット」を縦軸とし、これに対応する基準演奏情報の「楽譜上の相対ユニット」を横軸とし、各抽出押鍵イベントの押鍵タイミングをグラフ上に配置したものである。
【００２６】
図中の折れ線状の特性は、各押鍵タイミングに基づいて求められた近似特性である。この近似特性は、前後の数個程度の抽出押鍵イベントのサンプルに基づいて最小二乗法による直線近似または曲線近似により求めると良い。また、各サンプルをシリアルナンバ順に単純に直線で結んだものを近似特性にしてもよい。さて、未検出ノートオンイベントに対しては、そのイベントタイミングを近似特性上の横軸の値とし、その横軸の値に対応する縦軸の値が押鍵タイミングの推定値に設定される。
【００２７】
上記Ｇ＃３の１６分音符の例において、かかる推定を行った結果を図１０上の破線によって示しておく。この場合、押鍵タイミングの推定値は、「９５６ユニット」であり、その値を図９内の「最終相対ユニット」の欄に括弧付きで示しておく。このように押鍵タイミングが推定された押鍵イベントを「推定押鍵イベント」と呼ぶ。
【００２８】
図２において次に処理がステップＳＰ１２に進むと、抽出押鍵イベントと、推定押鍵イベントとがマージされ、これによって出力演奏情報における全ノートオンイベントのイベントタイミングが確定される。ところで、基準演奏情報においては、全てのノートオンイベントに対して、対応するノートオフイベントが存在し、両者のタイミング間隔は既知である。そこで、出力演奏情報においては、この基準演奏情報におけるタイミング間隔と等しい間隔で各ノートオフイベントが発生するように、出力演奏情報におけるノートオフイベントのタイミングが決定される。以上の処理により、出力演奏情報に係るＭＩＤＩデータファイルが生成される。
【００２９】
3．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記各実施形態においては、パーソナルコンピュータ上で動作するアプリケーションプログラムによってＭＩＤＩデータファイルを生成したが、このアプリケーションプログラムのみをＣＤ−ＲＯＭ、フロッピーディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００３０】
(2)上記実施形態においては、ピアノ音の波形データおよび基準演奏情報に基づいて出力演奏情報を取得したが、本発明の波形データはピアノ音に限定されるものではなく、種々の楽音の波形データに適用できることは言うまでもない。
【００３１】
【発明の効果】
以上説明したように本発明によれば、基準演奏情報に含まれるノートオンイベントのうち対応する抽出操作イベントが存在しない未検出ノートオンイベントに対して、他のノートオンイベントおよびこれらに対応する抽出操作イベントに基づいて、推定操作イベントを決定するから、イベントの欠落等を未然に防止しつつ実演奏に対して忠実な出力演奏情報を得ることができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態の演奏情報生成装置のブロック図である。
【図２】  演奏情報生成装置上で起動される処理プログラムのフローチャートである。
【図３】  基準演奏情報を楽譜表示した一例を示す図である。
【図４】  解析対象の波形データの一例を示す図である。
【図５】  図４の波形データに対してＳＴＦ処理を施し、軌跡を求めた結果を示す図である。
【図６】  図５の軌跡のうち抽出条件を満たす軌跡のみを抽出した結果を示す図である。
【図７】  図６の縦軸を「周波数＋レベル」に変換した結果を示す図である。
【図８】  抽出押鍵イベントの一覧を示す図である。
【図９】  基準演奏情報におけるノートオンタイミングと抽出押鍵イベントとの関係を示す図である。
【図１０】  推定押鍵イベントの押鍵タイミングを求める動作の動作説明図である。
【符号の説明】
２…通信インタフェース、４…入力装置、６…演奏操作子、８…ディスプレイ、１０…ＣＰＵ、１２…ＲＯＭ、１６…バス、１８…リムーバルディスクドライブ装置、２０…リムーバルディスク、２２…波形取込インタフェース、２４…ハードディスク、２６…波形出力インタフェース、２８…サウンドシステム、３０…ＲＡＭ。
【図１】
0003801029.tif 000002
【図２】
0003801029.tif 000003
【図３】
0003801029.tif 000004
【図４】
0003801029.tif 000005
【図５】
0003801029.tif 000006
【図６】
0003801029.tif 000007
【図７】
0003801029.tif 000008
【図８】
0003801029.tif 000009
【図９】
0003801029.tif 000010
【図１０】
0003801029.tif 000011