(57)【要約】【課題】  短い音が演奏された際にその後の音の発音が遅れないようにする。【解決手段】  後音４２のノートオンイベントが、ミスタッチ音４１のノートオフイベントの時刻ｔ５より前の時刻ｔ４で受信された際に、ミスタッチ音４１の楽音波形の合成を終了し、後音４２の楽音波形を新たな合成チャンネルにおいて時刻ｔ４から合成させるNon-Joint奏法を行う。これにより、ミスタッチ音４１のように短い音に続く後音４２の発音が遅れることを防止することができる。【選択図】  図６
2006350101.tif 000002
【特許請求の範囲】
【請求項１】
演奏進行に応じて演奏イベント情報を取得する取得手段と、
該演奏イベントに基づいて楽音波形を合成する楽音合成手段と、
発音させようとする楽音と前音との２つの楽音の重なりを供給された演奏イベント情報に基づいて検出する重なり検出手段と、
前音の音長を供給された演奏イベント情報に基づいて求める音長測定手段と、
前記重なり検出手段において重なりが検出された際に、前記音長測定手段で求められた前音の音長が所定の音長を超えないと判定された場合は、前記楽音合成手段が前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにし、前記音長測定手段で求められた前音の音長が所定の音長を超えると判定された場合は、前記楽音合成手段が前音の楽音に発音させようとする楽音をつなげるように、前音および発音させようとする楽音の楽音波形の合成を行うようにしたことを特徴とする楽音波形合成装置。
【請求項２】
前記重なり検出手段において重なりが検出された際に、前記音長測定手段で求められた前音の音長が所定の音長を超えないと判定された場合は、前記楽音合成手段が前音の楽音波形の合成をフェードアウトさせて終了させるようにしたことを特徴とする請求項１記載の楽音波形合成装置。
【請求項３】
前記楽音合成手段は、楽音波形における開始波形部分、持続波形部分、終了波形部分と、２つの楽音をつなぐ部分とされる接続波形部分とされる波形データパーツを組み合わせて楽音波形を合成しており、
前記重なり検出手段において重なりが検出されると共に、前記音長測定手段で求められた前音の音長が所定の音長を超えないと判定された場合には、前記楽音合成手段が発音させようとする楽音の楽音波形を開始波形部分から合成するようにしたことを特徴とする請求項１記載の楽音波形合成装置。
【請求項４】
前記重なり検出手段において重なりが検出された際に、前記音長測定手段で求められた前音の音長が所定の音長を超えると判定された場合には、前音と発音させようとする楽音との楽音波形を接続波形部分を用いて合成するようにしたことを特徴とする請求項１記載の楽音波形合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、短い音があっても遅れることなく楽音波形を合成することのできる楽音波形合成装置に関する。
【背景技術】
【０００２】
楽音波形は、波形の性質から少なくとも開始波形と持続波形と終了波形に分割することができる。また、レガート演奏等の２つの楽音がなめらかにつながる演奏を行うと、楽音波形には２つの楽音における音程が遷移していく接続波形が存在するようになる。
従来、楽音波形における開始波形部分（ヘッド）、持続波形部分（ボディ）、終了波形部分（テイル）と、２つの楽音における音程の遷移部分を表現する部分とされる接続波形部分（ジョイント）との波形データパーツの複数種類を記憶手段に記憶しておき、演奏イベント情報に基づいて波形データパーツを記憶手段から読み出してつなぎ合わせることにより楽音波形を合成するようにした楽音波形合成装置が提案されている。この楽音波形合成装置では、演奏イベント情報に基づいて奏法（アーティキュレーション）を識別し、識別された奏法の特徴を示す楽音波形を合成するために、奏法に対応する開始波形部分（ヘッド）、持続波形部分（ボディ）、終了波形部分（テイル）と、２つの楽音における音程の遷移部分を表現する部分とされる接続波形部分（ジョイント）とを組み合わせて時間軸上に配置することで、楽音波形を再生時間軸に沿って合成するようにしている。
【特許文献１】特開２００１−９２４６３号公報
【特許文献２】特開２００３−２７１１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の楽音波形合成装置における楽音波形合成の基本について図１１ないし図１３を参照して説明する。ただし、図１１（ａ）ないし図１３（ａ）はピアノロール譜で記譜された楽譜を示しており、図１１（ｂ）ないし図１３（ｂ）は記譜された楽譜を演奏した際に合成される楽音波形を示している。
図１１（ａ）に示す楽譜を演奏すると、時刻ｔ１に楽音２００のノートオン（Note On）イベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻ｔ１において図１１（ｂ）に示すように開始波形部分（ヘッド：Head）から楽音２００の楽音波形の合成を開始する。そして、ヘッド（Head）の合成が終了してもノートオフ（Note Off）イベントが受信されないことから図１１（ｂ）に示すようにヘッド（Head）から持続波形部分（ボディ：Body）に遷移されて楽音波形が合成されていくようになる。ここで、時刻ｔ２においてノートオフイベントが楽音波形合成装置において受信されるとボディ（Body）から終了波形部分（テイル：Tail）に遷移されて楽音波形が合成されるようになる。そして、テイル（Tail）の合成が終了すると楽音２００の楽音波形の合成が終了する。このように、楽音２００の楽音波形はノートオンイベントの時刻ｔ１からヘッド（Head）−ボディ（Body）−テイル（Tail）の順に図１１（ｂ）に示すように時間軸上に配置されて合成される。
【０００４】
図１１（ｂ）に示すように、ヘッド（Head）はアタックを表す１ショット波形１００の終端にループ波形１０１が接続された部分波形とされており、立ち上がりの楽音波形部分に相当している。また、ボディ（Body）は音色の異なる複数のループ波形１０２，１０３，・・・，１０７が順次接続された部分波形とされており、楽音の持続（サスティン）部分の楽音波形部分に相当している。さらに、テイル（Tail）はリリースを表す１ショット波形１０９の始端にループ波形１０８が接続された部分波形とされ、立ち下がりの楽音波形部分に相当している。なお、隣り合うループ波形同士はクロスフェードで接続されることにより部分波形あるいはループ波形が遷移していきながら楽音が合成される。
【０００５】
例えば、ループ波形１０１とループ波形１０２とを位相を合わせてクロスフェードで接続されることにより、ヘッド（Head）とボディ（Body）との波形部分が滑らかにつなぎ合わされて遷移されるようになる。また、ループ波形１０２とループ波形１０３とが位相を合わせてクロスフェードで接続されることにより、ボディ（Body）においてループ波形１０２の音色からループ波形１０３の音色に移行していくようになる。このように、ボディ（Body）において複数のループ波形１０２〜１０７を用いてループ波形同士をクロスフェードで接続していくことにより、ビブラートやピッチの時間変化にあわせた音色変化を楽音に与えられるようになる。さらに、ループ波形１０７とループ波形１０８とを位相を合わせてクロスフェードで接続されることにより、ボディ（Body）とテイル（Tail）との波形部分が滑らかにつなぎ合わされて遷移されるようになる。なお、ボディ（Body）は複数のループ波形１０２〜１０７をクロスフェードで接続して合成していることから任意の位置でテイル（Tail）などに遷移できる。また、ヘッド（Head）とテイル（Tail）は１ショット波形がメインの波形とされているが、１ショット波形であることから特にリアルタイム合成中は次の波形部分に遷移することはできない。
【０００６】
次に、図１２（ａ）（ｂ）にはモノフォニック音の楽器（管楽器音など）でレガート演奏した場合の２音が接続される楽音波形合成が示されている。
図１２（ａ）に示す楽譜を演奏すると、時刻ｔ１に楽音２１０のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻ｔ１において図１２（ｂ）に示すように１ショット波形１１０であるヘッド（Head）から楽音２１０の楽音波形の合成を開始する。そして、ヘッド（Head）の合成が終了してもノートオフイベントが受信されないことから図１２（ｂ）に示すようにヘッド（Head）からボディ（Body）１に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ２になると楽音２１１のノートオンイベントが受信されるが、楽音２１０のノートオフイベントがまだ受信されていないことから楽音波形合成装置ではレガート奏法がされたと判断されて、ボディ（Body）１から楽音２１０から楽音２１１への遷移部分を表現する１ショット波形１１６である波形接続波形部分（ジョイント）に遷移されて楽音波形が合成されていく。時刻ｔ３で楽音２１０のノートオフイベントが受信され、次いで、ジョイント（Joint）の合成が終了しても楽音２１１のノートオフイベントが受信されないことからジョイント（Joint）からボディ（Body）２に遷移されて楽音波形が合成されていくようになる。その後、時刻ｔ４になると楽音波形２１１のノートオフイベントが受信されボディ（Body）２からテイル（Tail）に遷移されて楽音波形が合成されていき、１ショット波形１２２であるテイル（Tail）の合成が終了することにより楽音波形の合成は終了する。このように、ノートオンイベントの時刻ｔ１からヘッド（Head）−ボディ（Body）１−ジョイント（Joint）−ボディ（Body）２−テイル（Tail）の順に図１２（ｂ）に示すように時間軸上に配置されて楽音２１０と楽音２１１の楽音波形が合成される。各波形の接続は図１１の例と同様である。
【０００７】
次に、図１３（ａ）（ｂ）に短く演奏された際の楽音波形合成が示されている。
図１３（ａ）に示す楽譜を演奏すると、時刻ｔ１に楽音２２０のノートオンイベントが発生され楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻ｔ１において図１３（ｂ）に示すように楽音２２０の１ショット波形１２５であるヘッド（Head）の楽音波形の合成を開始する。そして、ヘッド（Head）の合成が終了する前の時刻ｔ２においてノートオフイベントが発生されて楽音波形合成装置で受信されることから、ヘッド（Head）の合成が終了すると、ヘッド（Head）から１ショット波形１２８であるテイル（Tail）に遷移されて楽音波形が合成されていくようになる。テイル（Tail）の合成が終了すると楽音２２０の楽音波形の合成は終了する。このように、短く演奏された場合はノートオンイベントの時刻ｔ１からヘッド（Head）−テイル（Tail）の順に図１３（ｂ）に示すように時間軸上に配置される楽音波形が合成される。
【０００８】
ところでテイル（Tail）は、本来ならばノートオフイベントが受信された時点から合成が開始されるのであるが、図１３（ｂ）を参照すると、楽音２２０のノートオフイベントが受信された時刻ｔ２より遅れて合成されていると共に、合成された楽音波形の長さは楽音２２０の長さよりかなり長くされている。これは、図１１で前述したようにヘッド（Head）は１ショット波形１２５の終端にループ波形１２６が接続された部分波形とされて、１ショット波形１２５を合成中はテイル（Tail）に遷移することができないと共に、テイル（Tail）の１ショット波形１２８の合成が終了するまで楽音波形が終了しないからである。このように、ヘッド（Head）とテイル（Tail）の長さの総和よりも短い音を合成しようとしても、ヘッド（Head）とテイル（Tail）の長さの総和よりも短い楽音波形を合成することはできない。しかしながら、実際の自然楽器の音の短さにもある程度の限界がある。例えば、管楽器において短く吹いても楽音は管の音響的反応の長さだけは鳴るようになり所定の長さより短くはならない。このように、ヘッド（Head）とテイル（Tail）の長さの総和よりも短い楽音波形を合成することができないことは自然楽器にも見られることなのである。図１２のレガート奏法の場合も、ジョイント（Joint）が１ショット波形なので、これらの波形合成中は次の波形部分に遷移することができない。このためレガート奏法された場合にはヘッド（Head）とジョイント（Joint）とテイル（Tail）の長さの総和よりも短い楽音波形を合成することはできない。
【０００９】
このように、早弾きなどにより短い音のレガート演奏を自然楽器で行った場合には、本来は２音目の楽音のノートオンの時刻から音程の遷移が開始されなければならず、自然楽器に比べ反応が遅れるという問題点があった。前述したように、自然楽器には音響的な反応の長さがあり、この音響的な反応の長さによりレガート演奏の際には音程の遷移が急激な変化ではなく曖昧な遷移とはなるものの、音程の遷移の開始が遅れることはない。そして、イベントの発生に対する反応が遅れるために、早弾きやミスタッチ時などの短い音の楽音波形の音長が長く合成されてしまうようになり、遅れが発生したりミスタッチが目立ったりしてしまうという問題点が生じるようになる。ここで、ミスタッチとは、演奏者の熟練度が低い場合などに、発音させたい音以外の音の演奏イベントを短時間ではあるが発生してしまうような行為である。例えば、鍵盤楽器では、押鍵したい鍵盤といっしょに隣の鍵盤を同時に押してしまったりする場合などに発生する。また、同様の短い音は、ウィンドコントローラ（管楽器を模倣したMIDIコントローラ）において、音程を決定するために複数同時に押す必要があるキーを押すタイミングがキーによりばらついていたり、キーの操作とブレスの動作がずれていた場合などに発生する。
【００１０】
次に、主にミスタッチで発生する短い音のパターンの例をピアノロール譜で図１４（ａ）、図１５（ａ）に示す。
図１４（ａ）に示すパターンでは、前音２５０と後音２５２との間にミスタッチ音２５１が生じており、ミスタッチ音２５１は前音２５０と後音２５２との両方に重なっている。すなわち、前音２５０は時刻ｔ１でノートオンされ時刻ｔ３でノートオフされる。ミスタッチ音２５１は時刻ｔ２でノートオンされ時刻ｔ５でノートオフされる。後音２５２は時刻ｔ４でノートオンされ時刻ｔ６でノートオフされる。このように、ミスタッチ音２５１は時刻ｔ２の時点から前音２５０に重なっていると共に、ミスタッチ音２５１は時刻ｔ４の時点から後音２５２に重なっている。
【００１１】
図１５（ａ）に示すパターンでは、前音２６０と後音２６２との間にミスタッチ音２６１が生じており、ミスタッチ音２６１は前音２６０には重なっていないが後音２６２には重なっている。すなわち、前音２６０は時刻ｔ１でノートオンされ時刻ｔ２でノートオフされる。ミスタッチ音２６１は時刻ｔ３でノートオンされ時刻ｔ５でノートオフされる。後音２６２は時刻ｔ４でノートオンされ時刻ｔ６でノートオフされる。このように、ミスタッチ音２６１のノートオンイベント時（ｔ３）には既に前音２６０の発音期間は終了しているが、ミスタッチ音２６１は時刻ｔ４の時点から後音２６２に重なっている。
【００１２】
次に、図１４（ａ）に示す楽譜通りに演奏された楽音を合成する場合の楽音合成が図１４（ｂ）に示されている。
図１４（ａ）に示す楽譜通りに演奏されると、時刻ｔ１で前音２５０のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻ｔ１において図１４（ｂ）に示すようにヘッド（Head）１から前音２５０の楽音波形の合成を開始する。そして、ヘッド（Head）１の合成が終了してもノートオフイベントが受信されないことから図１４（ｂ）に示すようにヘッド（Head）１からボディ（Body）１に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ２になるとミスタッチ音２５１のノートオンイベントが受信されるが、前音２５０のノートオフイベントがまだ受信されていないことから楽音波形合成装置ではミスタッチ音２５１が前音２５０に重なっていると判断されて、ボディ（Body）１から前音２５０からミスタッチ音２５１への音程の遷移部分を表現するジョイント（Joint）１に遷移されて楽音波形が合成されていく。時刻ｔ３で前音２５０のノートオフイベントが受信され、次いで、ジョイント（Joint）１の合成が終了する前であってミスタッチ音２５１のノートオフイベントが受信される前の時刻ｔ４において後音２５２のノートオンイベントが受信される。そこで、ジョイント（Joint）１の合成が終了するとジョイント（Joint）１からミスタッチ音２５１から後音２５２への音程の遷移部分を表現するジョイント（Joint）２に遷移されて楽音波形が合成されていく。
【００１３】
そして、ジョイント（Joint）２の合成が終了しても後音２５２のノートオフイベントが受信されないことから図１４（ｂ）に示すようにジョイント（Joint）２からボディ（Body）２に遷移されて楽音波形が合成されていくようになる。次いで、時刻ｔ６になると後音２５２のノートオフイベントが受信されて、ボディ（Body）２からテイル（Tail）２に遷移されて楽音波形が合成されていき、テイル（Tail）２の合成が終了することにより前音２５０、ミスタッチ音２５１および後音２５２の楽音波形の合成は終了する。
【００１４】
このように、前音２５０のノートオンイベントの時刻ｔ１からヘッド（Head）１−ボディ（Body）１の順で合成され、ミスタッチ音２５１のノートオンイベントの時刻ｔ２においてボディ（Body）１からジョイント（Joint）１に遷移される。このジョイント（Joint）１により前音２５０からミスタッチ音２５１への音程の遷移部分が表現される。続いて、ジョイント（Joint）１からジョイント（Joint）２に遷移される。このジョイント（Joint）２によりミスタッチ音２５１から後音２５２への音程の遷移部分が表現される。そして、ジョイント（Joint）２−ボディ（Body）２の順で合成されていき、ノートオフイベントの時刻ｔ６においてボディ（Body）２からテイル（Tail）２に遷移されてテイル（Tail）２が合成されることにより、後音２５２の楽音波形が図１４（ｂ）に示すように合成される。
【００１５】
上記したように図１４（ａ）に示す楽譜通りに演奏した場合は図１４（ｂ）に示すように、前音２５０とミスタッチ音２５１と後音２５２の楽音波形がジョイント（Joint）１とジョイント（Joint）２で接続されて合成されていくことから、ミスタッチ音２５１が必要以上に長く発音されるようになってしまう。このため、正規の演奏音である後音２５２の発音が遅れてしまうようになる。このように、図１４（ａ）に示すパターンで演奏された場合は発音遅れを伴うことから聴取された楽音に与える問題の影響度が高く、ミスタッチ音２５１の存在が大きく目立ってしまうと云う問題点が生じるようになる。
【００１６】
次に、図１５（ａ）に示す楽譜通りに演奏された楽音を合成する場合の楽音合成が図１５（ｂ）に示されている。
図１５（ａ）に示す楽譜通りに演奏されると、時刻ｔ１で前音２６０のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻ｔ１において図１５（ｂ）に示すようにヘッド（Head）１から前音２６０の楽音波形の合成を開始する。そして、ヘッド（Head）１の合成が終了してもノートオフイベントが受信されないことから図１５（ｂ）に示すようにヘッド（Head）１からボディ（Body）１に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ２において前音２６０のノートオフイベントが受信されるとボディ（Body）１からテイル（Tail）１に遷移されて楽音波形が合成されるようになる。テイル（Tail）１の合成が終了すると前音２６０の楽音波形の合成は終了する。
【００１７】
次いで、時刻ｔ３にミスタッチ音２６１のノートオンイベントが受信され、楽音波形合成装置は時刻ｔ３において図１５（ｂ）に示すようにヘッド（Head）２からミスタッチ音２４１の楽音波形の合成を開始する。次いで、ヘッド（Head）２の合成が終了する前の時刻ｔ４において後音２６２のノートオンイベントが受信されるが、ミスタッチ音２６１のノートオフイベントがまだ受信されていないことから楽音波形合成装置では後音２６２がミスタッチ音２６１に重なっていると判断されて、ヘッド（Head）２の合成が終了すると、ヘッド（Head）２からミスタッチ音２６１から後音２６２への音程の遷移部分を表現するジョイント（Joint）２に遷移されて楽音波形が合成されていくようになる。ジョイント（Joint）２の合成が終了しても、後音２６２のノートオフイベントが受信されないことから図１５（ｂ）に示すようにジョイント（Joint）２からボディ（Body）２に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ６になると後音２６２のノートオフイベントが受信されて、ボディ（Body）２からテイル（Tail）２に遷移されて楽音波形が合成されていき、テイル（Tail）２の合成が終了することにより前音２６０、ミスタッチ音２６１および後音２６２の楽音波形の合成は終了する。
【００１８】
このように、前音２６０のノートオンイベントの時刻ｔ１からヘッド（Head）１−ボディ（Body）１の順で合成され、そのノートオフイベントの時刻ｔ２においてボディ（Body）１からテイル（Tail）１に遷移されてテイル（Tail）１が合成されることにより、前音２６０の楽音波形が図１５（ｂ）に示すように合成される。また、ミスタッチ音２６１のノートオンイベントの時刻ｔ３からヘッド（Head）２が合成されてジョイント（Joint）２に遷移することによりミスタッチ音２６１の楽音波形が図１５（ｂ）に示すように合成されるようになる。このジョイント（Joint）２によりミスタッチ音２６１から後音２６２への音程の遷移部分が表現される。そして、ジョイント（Joint）２からボディ（Body）２に遷移されて合成されていき、後音２６２のノートオフイベントの時刻ｔ６においてボディ（Body）２からテイル（Tail）２に遷移されてテイル（Tail）２が合成されることにより、後音２６２の楽音波形が図１５（ｂ）に示すように合成される。
【００１９】
図１５（ａ）に示す楽譜通りに演奏した場合は図１５（ｂ）に示すように、前音２６０にかかるヘッド（Head）１−ボディ（Body）１−テイル（Tail）１の楽音波形と、ミスタッチ音２６１と後音２６２にかかるヘッド（Head）２−ジョイント（Joint）２−ボディ（Body）２−テイル（Tail）２の楽音波形は、異なるチャンネルで合成されるようになる。この場合、ミスタッチ音２６１と後音２６２とがジョイント（Joint）２で接続されることから、ミスタッチ音２６１が必要以上に長く発音されると共に、正規の演奏音である後音２６２の発音が遅れてしまう。このように、図１５（ａ）に示すパターンで演奏された場合は発音遅れを伴うことから聴取された楽音に与える問題の影響度が高く、ミスタッチ音２６１の存在が大きく目立ってしまうと云う問題点が生じるようになる。
【００２０】
上記したように、従来の楽音波形合成装置においては、早弾きやミスタッチにより短い音が演奏された際にその後の音の発音が遅れるという問題点があった。
【００２１】
そこで、本発明は短い音が演奏された際にその後の音の発音が遅れることのない楽音波形合成装置を提供することを目的としている。
【課題を解決するための手段】
【００２２】
上記目的を達成するために、本発明の楽音波形合成装置は、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことを最も主要な特徴としている。
【発明の効果】
【００２３】
本発明によれば、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことから、短い音が演奏された際にその後の音の発音が遅れることがないようにすることができる。
【発明を実施するための最良の形態】
【００２４】
本発明は、短い音が演奏された際にその後の音の発音が遅れることのない楽音波形合成装置を提供するという目的を、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことで実現した。
【００２５】
図１は、本発明の実施例の楽音波形合成装置におけるハードウェア構成の一例を示すブロック図である。図１に示されたハードウエア構成はいわゆるパーソナルコンピュータとほぼ同様の構成とされており、楽音波形合成プログラムを実行することにより楽音波形合成装置が実現されている。
図１に示す楽音波形合成装置１において、ＣＰＵ（Central Processing Unit）１０は楽音波形合成装置１の全体の動作を制御すると共に、楽音波形合成プログラム等の動作ソフトウェアを実行している。ＲＯＭ（Read Only Memory）１１には、ＣＰＵ１０が実行する楽音波形合成プログラム等の動作ソフトウェアや楽音合成に使用する波形データパーツが格納されており、ＲＡＭ（Random Access Memory）１２には、ＣＰＵ１０のワークエリアや各種データの記憶エリアが設定されている。このＲＯＭ１１をフラッシュメモリ等の書き換え可能なＲＯＭとすることで、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。また、ＲＯＭ１１に格納されている波形データパーツの更新を行うことができる。
【００２６】
操作子１３は、鍵盤やコントローラ等の演奏操作子およびパネルに設けられている種々の操作を行うためのパネル操作子から構成されている。検出回路１４は、演奏操作子およびパネル操作子からなる操作子１３を走査することによって操作子１３のイベントを検出して、イベントのあった操作子１３に対応するイベント出力を出力している。表示回路１６は液晶等の表示部１５を備え、この表示部１５にパネル操作子により入力された各種設定の画面やサンプリングされた波形データ等が表示される。各種設定の画面では、ＧＵＩ（Graphical User Interface）を利用してユーザが各種の指示を行える画面とされている。波形取込部１７はＡ／Ｄ変換器を内蔵し、マイクロフォン等から入力された外部波形であるアナログ楽音信号をサンプリングしてディジタルデータに変換し、ＲＡＭ１２あるいはハードディスク（ＨＤＤ）２０に波形データパーツとして取り込むことができる。ＣＰＵ１０によって実行される楽音波形合成処理においては、ＲＡＭ１２あるいはＨＤＤ２０に格納されている波形データパーツを使用して楽音波形データを合成している。合成された楽音波形データは通信バス２３を介して波形出力部１８に供給されて、そのバッファに記憶される。
【００２７】
波形出力部１８ではバッファ記憶された楽音波形データを所定の出力サンプリング周波数にしたがって出力し、Ｄ／Ａ変換してサウンドシステム１９に送出する。これにより、波形出力部１８から出力された楽音波形データに基づく楽音が、サウンドシステム１９を介して放音される。サウンドシステム１９では、音量制御や音質制御を行うことが可能とされている。ＲＯＭ１１あるいはハードディスク２０には、奏法を確定するために用いる奏法判定用パラメータや奏法に応じた波形データパーツを特定するための奏法テーブルが格納されていると共に、奏法に対応する複数種類の波形データパーツが記憶されている。なお、波形データパーツの種類としては楽音波形における開始波形部分（ヘッド）、持続波形部分（ボディ）、終了波形部分（テイル）と、２つの楽音の音程の遷移部分を表現する部分とされる接続波形部分（ジョイント）がある。通信インタフェース（Ｉ／Ｆ）２１は、楽音波形合成装置１をＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線等の通信ネットワークに接続するインタフェースであり、該通信ネットワークを介して、外部機器２２と接続することができる。これらの各部は通信バス２３に接続されている。これにより、外部機器２２から各種プログラムや波形データパーツ等をダウンロードすることができるようになる。ダウンロードされたプログラムや波形データパーツ等は、ＲＡＭ１２やＨＤＤ２０等に格納されるようになる。
【００２８】
このように構成された本発明にかかる楽音波形合成装置１における楽音波形合成の概要を説明する。
楽音波形は立ち上がりを表す開始波形と持続部分を表す持続波形と立ち下がりを表す終了波形に分割することができる。また、レガート演奏等の２つの楽音がなめらかにつながる演奏を行うと、楽音波形には２つの楽音における音程が遷移していく接続波形が存在するようになる。そこで、本発明の楽音波形合成装置１においては、開始波形部分（以下、「ヘッド（Head）」という）、持続波形部分（以下、「ボディ（Body）」という）、終了波形部分（以下、「テイル（Tail）」という）と、２つの楽音の音程の遷移部分を表現する部分とされる接続波形部分（以下、「ジョイント（Joint）」という）との波形データパーツの複数種類をＲＯＭ１１やＨＤＤ２０に記憶しておき、これらの波形データパーツを順次つなげていくことで楽音波形を合成するようにしている。楽音波形を合成する際の波形データパーツの特定やその組み合わせは、指定された奏法あるいは確定された奏法に応じてリアルタイムで決定される。
【００２９】
ＲＯＭ１１やＨＤＤ２０に記憶される波形データパーツの典型的な例を図２（ａ）〜（ｄ）に示す。図２（ａ）に示す波形データパーツはヘッド（Head）の波形データであり楽音波形の立ち上がり（アタック）を表す１ショット波形ＳＨと次の部分波形に接続するためのループ波形ＬＰから構成されている。図２（ｂ）に示す波形データパーツはボディ（Body）の波形データであり楽音波形の持続部分（サスティン）を表す複数のループ波形ＬＰ１〜ＬＰ６から構成されている。ループ波形ＬＰ１〜ＬＰ６同士はクロスフェードにより順次接続されて合成され、ループ波形の数はボディ（Body）の長さに応じた数が使われる。なお、ＬＰ１〜ＬＰ６の組み合わせは任意である。図２（ｃ）に示す波形データパーツはテイル（Tail）の波形データであり楽音波形の立ち下がり（リリース）を表す１ショット波形ＳＨと前の部分波形に接続するためのループ波形ＬＰから構成されている。図２（ｄ）に示す波形データパーツはジョイント（Joint）の波形データであり２つの楽音の音程の遷移部分を表す１ショット波形ＳＨと前の部分波形に接続するためのループ波形ＬＰａと次の部分波形に接続するためのループ波形ＬＰｂとから構成されている。これらの波形データパーツにおいては終端および／あるいは始端にループ波形を有していることから、波形データパーツを接続する際にその間は、ループ波形同士をクロスフェードすることにより波形データパーツ間を接続することができる。
【００３０】
ここで、楽音波形合成装置１において操作子１３における演奏操作子（鍵盤／コントローラ等）が操作されて演奏されると、演奏の進行に伴って演奏イベントが順次に供給されるようになる。演奏された各音の奏法は、奏法指定スイッチで指示されている場合はその奏法に、指示されていない場合は供給された演奏イベント情報から奏法を確定する。奏法が確定されることにより、その際に合成される楽音波形を合成する波形データパーツが決定される。次いで、決定されたヘッド（Head）、ボディ（Body）、ジョイント（Joint）、テイル（Tail）のいずれかの波形データパーツが奏法テーブルを参照して特定され、その波形データパーツが配置される時間軸上の時刻が指示される。そして、ＲＯＭ１１あるいはＨＤＤ２０から特定された波形データパーツが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
【００３１】
図１２（ａ）に示すピアノロール譜のようにレガート演奏で２音を接続するよう演奏された場合は、楽音２１０のノートオフイベントが受信される前に楽音２１１のノートオンイベントが受信されることから、レガート演奏がされたと検出される。また時刻ｔ２から時刻ｔ１を差し引くことにより楽音２１０の音長が求められる。この音長は奏法パラメータで定められた所定の長さと対比されるが、この場合は、楽音２１０の音長が所定の長さを超える長さと判定される。これにより、レガート奏法と確定されて楽音２１０と楽音２１１とがジョイント（Joint）を用いて合成されるようになり、図１２（ｂ）に示すようにノートオンイベントの時刻ｔ１からヘッド（Head）−ボディ（Body）１−ジョイント（Joint）−ボディ（Body）２−テイル（Tail）の順に時間軸上に配置されて楽音波形が合成されることになる。なお、ヘッド（Head）、ボディ（Body）１、ジョイント（Joint）、ボディ（Body）２、テイル（Tail）にそれぞれ使用する波形データパーツは奏法テーブルを参照して特定され、それぞれの波形データパーツが配置される時間軸上の時刻が指示される。そして、ＲＯＭ１１あるいはＨＤＤ２０から特定された波形データパーツが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
【００３２】
ところで、前述したようにミスタッチなどで発生する短い音のパターンの例が図１４、図１５に示されている。従来の楽音波形合成装置においては、短い音のパターンでは短い音に続く後音の発音が遅れるよう楽音波形が合成されてしまうようになる。そこで、本発明にかかる楽音波形合成装置１では、後述するがミスタッチや早弾きなどで発生する短い音が入力されたことを音長から検出する。そして、ミスタッチや早弾きなどで発生する短い音の入力が検出された際には、短い音に後音が重なっていても後音のノートオンイベントが入力されたタイミングで後音の楽音波形合成を開始するようにしている。これにより、本発明にかかる楽音波形合成装置１では、短い音のパターンで演奏されても後音の発音が遅れることなく楽音波形が合成されるようになる。この具体的な説明は後述する。
【００３３】
次に、本発明にかかる楽音波形合成装置１において楽音波形合成処理を実行する機能を示すブロック図を図３に示す。
図３に示す機能ブロック図において、鍵盤／コントローラ３０は操作子１３における演奏操作子であり、鍵盤／コントローラ３０を操作することにより検出された演奏イベントが楽音波形合成部に供給されている。楽音波形合成部は、ＣＰＵ１が楽音波形合成プログラムを実行することにより実現されており、演奏（ＭＩＤＩ）受信処理部３１、演奏解釈処理部（プレイヤー）３２、演奏合成処理部（アーティキュレータ）３３、波形合成処理部３４を備えている。奏法判定用パラメータ３５、奏法テーブル３６および波形データパーツをベクタデータで記憶しているベクタデータ記憶手段３７の記憶領域はＲＯＭ１１あるいはＨＤＤ２０に設定されている。
【００３４】
図３において、鍵盤／コントローラ３０が操作されることにより検出された演奏イベントは、リアルタイム入力されたノートデータ＋奏法指定データのＭＩＤＩ形式で構成されて楽音波形合成部に入力される。この場合、奏法指定データは無くてもよい。また、演奏イベントにはノートデータ以外に、ボリューム等の各種音源コントロールデータが付加されていてもよい。鍵盤／コントローラ３０から入力された演奏イベントは、楽音波形合成部の演奏（MIDI）受信処理部３１で受信され、演奏イベントが演奏解釈処理部（プレイヤー）３２で解釈される。演奏解釈処理部（プレイヤー）３２では、入力された演奏イベントに基づいて、奏法判定用パラメータ３５を用いて奏法を判別する。奏法判定用パラメータ３５は、早弾きやミスタッチ等で発生される短い音を判別するための奏法判定時間のパラメータとされる。そして、入力された演奏イベントから音長が求められ、その音長が奏法判定時間と対比されることによりジョイント（Joint）を用いるJoint系奏法かジョイント（Joint）を用いないNon-Joint奏法かが決定される。このように、奏法が確定されることにより、奏法に応じて用いられる波形データパーツが決定されるようになる。
【００３５】
演奏合成処理部（アーティキュレータ）３３では、演奏解釈処理部（プレイヤー）３２で解釈された奏法をもとに決定された波形データパーツが奏法テーブル３６を参照して特定され、その波形データパーツが配置される時間軸上の時刻が指示される。そして、波形合成処理部３４においてＲＯＭ１１あるいはＨＤＤ２０とされるベクタデータ記憶手段３７から特定された波形データパーツのベクタデータが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
なお、演奏合成処理部（アーティキュレータ）３３では、受信されたイベント情報により確定された奏法、あるいは、奏法指定スイッチで指定された奏法指定データの奏法により用いる波形データパーツを決定している。
【００３６】
次に、演奏解釈処理（プレイヤー）３２において実行される本発明の楽音波形合成装置１において特徴的な奏法決定処理のフローチャートを図４に示す。
図４に示す奏法決定処理は、ノートオンイベントが受信されて楽音波形合成処理が実行されている際に、続いてノートオンが受信されたことにより発音が重なっていることが検出された（Ｓ１）場合に起動する。ノートオンが前音の発音と重なっていることは、演奏（ＭＩＤＩ）受信処理部３１が前音のノートオフイベントを受信する前に当該ノートオンイベントを受信したことで検出することができる。そして、ノートオンが前音の発音期間と重なっていると検出されると、ステップＳ２にて現在の時刻から前回記憶されたノートオンイベントが受信された時刻（前音のノートオン時刻）を差し引くことにより前音の音長を求める。次いで、ステップＳ３にて求められた前音の音長が、奏法判定時間のパラメータとして記憶されている「ミスタッチ音判定時間」よりも長いか否かが判定される。ここで、前音の音長がミスタッチ音判定時間よりも長いと判定された場合は、ステップＳ４に進みジョイント（Joint）を用いて楽音波形の合成を行うJoint系奏法と決定される。そして、前音の音長がミスタッチ音判定時間以下の短い長さと判定された場合は、ステップＳ５に進み前音を終了させると共に、ジョイント（Joint）を用いることなく新たに異なる合成チャンネルでヘッド（Head）から当該音の楽音波形の合成を開始するNon-Joint奏法と決定される。ステップＳ４あるいはステップＳ５において奏法が確定されると、入力されたノートオンイベントの時刻が記憶されて奏法決定処理は終了し、楽音波形合成処理にリターンされる。
【００３７】
次に、Non-Joint奏法により楽音波形を合成すると確定された際に、演奏合成処理部（アーティキュレータ）３３において実行されるNon-Joint奏法処理のフローチャートの一例を図５に示す。
Non-Joint奏法処理が起動されるとステップＳ１０にて演奏イベント情報を元に奏法テーブル３６を検索して使用すべき波形データパーツのベクタデータを選択し、選択されたベクタデータを構成している要素データを演奏イベント情報に基づいて補正する。要素データは、調和成分の波形（Timbre）要素とピッチ（Pitch）要素と振幅（Amplitude）要素、および、調和外成分の波形（Timbre）要素と振幅（Amplitude）要素とされ、これらの要素データで構成されるベクタデータから各波形データパーツが構成されている。なお、要素データは時間の進行に伴い変化することができるデータである。
【００３８】
次いで、ステップＳ１１にてこれまで使用していた合成チャンネルで合成中の楽音波形を終了させるための指示を波形合成処理３４に与える。この場合、楽音波形を波形データパーツの合成途中で終了させると不自然な音になるので、指示された波形合成処理３４では合成中の波形データパーツが最後まで合成されるのを待って終了させることになる。すなわち、ヘッド（Head）、ジョイント（Joint）やテイル（Tail）の１ショットの楽音波形を合成している場合はその１ショットの楽音波形の最後まで合成することになる。なお、演奏合成処理３３と波形合成処理３４はＣＰＵ１０においてマルチタスク的に動作しており、波形合成処理３４が合成を終了している間に演奏合成処理３３は次のステップＳ１２に進む。そして、ステップＳ１２にて受信されたノートオンイベントに対する楽音波形を合成するために新たに使用する合成チャンネルを新たに決定する。次いでステップＳ１３にて、決定された合成チャンネルに対して、使用する波形データパーツのベクタデータ番号、要素データ値、時刻とを指定することにより楽音波形を合成する準備を整える。これにより、Non-Joint奏法処理は終了し、楽音波形合成処理にリターンされこれまで使用していた合成チャンネルでの合成が終了されるとともに、決定された合成チャンネルにおいて受信されたノートオンイベント対する楽音波形が合成されるようになる。
【００３９】
次に、図４に示す奏法決定処理を含む奏法決定処理が演奏解釈処理部（プレイヤー）３２において実行されて奏法が確定され、楽音波形合成に使用される波形データパーツが決定されると共に、演奏合成処理部（アーティキュレータ）３３および波形合成処理部３４において楽音波形が合成される例を以下に説明する。この例では、図４に示す奏法決定処理が実行されてJoint系奏法かNon-Joint奏法かが決定される例が上げられている。
まず、図１４（ａ）に示す楽譜通りに演奏された楽音波形を楽音波形合成装置１で合成する場合の楽音波形合成の例を図６に示している。
図１４（ａ）に示すピアノロール譜が図６（ａ）に示され、操作子１３における鍵盤／コントローラ３０が操作されてその楽譜通りに演奏されると、時刻ｔ１で前音４０のノートオンイベントが演奏（MIDI）受信処理部３１で受信される。これにより、楽音波形合成装置は時刻ｔ１において図６（ｂ）に示すようにヘッド（Head）１から前音４０の楽音波形の合成を開始する。そして、ヘッド（Head）１の合成が終了しても前音４０のノートオフイベントが受信されないことから図６（ｂ）に示すようにヘッド（Head）１からボディ（Body）１に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ２になるとミスタッチ音４１のノートオンイベントが受信されるが、前音４０のノートオフイベントがまだ受信されていないことから楽音波形合成装置１ではミスタッチ音４１が前音４０に重なっていると判断されて、図４に示す奏法決定処理が起動されて前音４０の音長が求められる。そして、求められた前音４０の音長は奏法判定用パラメータ３５における「ミスタッチ音判定時間」パラメータと対比されるが、ここでは、前音４０の音長の方が長いことからJoint系奏法と決定される。これにより、時刻ｔ２においてボディ（Body）１から前音４０からミスタッチ音４１への音程の遷移部分を表現するジョイント（Joint）１に遷移されて楽音波形が合成されていく。
【００４０】
次いで、時刻ｔ３で前音４０のノートオフイベントが受信され、さらに、ジョイント（Joint）１の合成が終了する前の時刻ｔ４において後音４２のノートオンイベントが受信されるが、ミスタッチ音４１のノートオフイベントがまだ受信されていないことから楽音波形合成装置１では後音４２がミスタッチ音４１に重なっていると判断されて、図４に示す奏法決定処理が起動されてミスタッチ音４１の音長ｔａが求められる。そして、求められたミスタッチ音４１の音長ｔａが奏法判定用パラメータ３５における「ミスタッチ音判定時間」パラメータと対比されるが、求められたミスタッチ音４１の音長ｔａが短いことからNon-Joint奏法と決定される。これにより、ミスタッチ音４１はジョイント(Joint)２を使用することなくジョイント(Joint)１の合成が終了すると終了され、時刻ｔ４において後音４２の楽音波形合成がヘッド（Head）２から開始されるようになる。そして、時刻ｔ５でミスタッチ音４１のノートオフイベントが受信され、次いで、ヘッド（Head）２の合成が終了しても後音４２のノートオフイベントが受信されないことから図６（ｂ）に示すようにヘッド（Head）２からボディ（Body）２に遷移されて後音４２の楽音波形が合成されていくようになる。そして、時刻ｔ６になると後音４２のノートオフイベントが受信されて、ボディ（Body）２からテイル（Tail）２に遷移されて楽音波形が合成されていき、テイル（Tail）２の合成が終了することにより前音４０、ミスタッチ音４１よび後音４２の楽音波形の合成は終了する。
【００４１】
このように、前音４０とミスタッチ音４１とをつなぐ際にはジョイント（Joint）を使用するJoint系奏法処理が実行され、ミスタッチ音４１と後音４２とをつなぐ際には図５に示すNon-Joint奏法処理が実行される。従って、前音４０とミスタッチ音４１との楽音波形はヘッド（Head）１、ボディ（Body）１、ジョイント（Joint）１により合成され、後音４２の楽音波形はヘッド（Head）２、ボディ（Body）２、テイル（Tail）２の組み合わせで合成される。そして、演奏合成処理部（アーティキュレータ）３３において、演奏解釈処理部（プレイヤー）３２で確定された奏法をもとに決定された波形データパーツに使用する波形データパーツのベクタデータ番号と要素データ値が奏法テーブル３６を参照して指定されると共に、それぞれの波形データパーツが配置される時間軸上の時刻が指定される。すなわち、第１の合成チャンネルにヘッド（Head）１が時刻ｔ１から開始するよう指示され、ヘッド（Head）１に続いてボディ（Body）１が配置され、ジョイント（Joint）１が時刻ｔ２から開始するよう指示される。さらに、第２の合成チャンネルにヘッド（Head）２が時刻ｔ４から開始するよう指示され、ヘッド（Head）２に続いてボディ（Body）２が配置され、テイル（Tail）２が時刻ｔ６から開始するよう指示される。そして、波形合成処理部３４においてＲＯＭ１１あるいはＨＤＤ２０とされるベクタデータ記憶手段３７から指定されたベクタデータ番号の波形データパーツのベクタデータが指示された時刻から合成されるよう読み出され、指定された要素データ値が反映されながら上記指定された時刻で合成されていく。この場合、ヘッド（Head）１−ボディ（Body）１−ジョイント（Joint）１からなる前音４０とミスタッチ音４１の楽音波形は第１の合成チャンネルで合成され、ヘッド（Head）２−ボディ（Body）２−テイル（Tail）２からなる後音４２の楽音波形は第２の合成チャンネルで合成される。
【００４２】
これにより、図６（ａ）のように演奏された際には、図６（ｂ）に示すように楽音波形が合成されるようになる。具体的には波形合成処理部３４では、第１の合成チャンネルにおいて時刻ｔ１において指定されたベクタデータ番号のヘッド（Head）用ベクタデータがベクタデータ記憶手段３７から読み出されてヘッド（Head）１が合成されていくようになる。このヘッド（Head）用ベクタデータは、前音４０のアタックを表しており１ショット波形ａ１の終端にループ波形ａ２が接続されて構成されている。このヘッド（Head）１の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ（Body）用ベクタデータがベクタデータ記憶手段３７から読み出されて、ボディ（Body）１の楽音波形が合成されていくようになる。指定された前音４０用のボディ（Body）用ベクタデータは音色の異なる複数のループ波形ａ３、ａ４、ａ５、ａ６、ａ７からなり、ループ波形ａ２とループ波形ａ３とがクロスフェードされることによりヘッド（Head）１からボディ（Body）１に遷移される。ボディ（Body）１の合成においては、複数のループ波形ａ３、ａ４、ａ５、ａ６、ａ７同士がクロスフェードで接続されて音色が変化しつつボディ（Body）１の楽音波形が合成されていくようになる。
【００４３】
そして、時刻ｔ２になると指定されたベクタデータ番号のジョイント（Joint）用ベクタデータがベクタデータ記憶手段３７から読み出されてジョイント（Joint）１が合成されていくようになる。指定されたジョイント（Joint）用ベクタデータは前音４０からミスタッチ音４１への音程の遷移部分を表現しており、１ショット波形ａ９の始端にループ波形ａ８が接続され終端にループ波形ａ９が接続されて構成されている。そして、ループ波形ａ７とループ波形ａ８とがクロスフェードされることによりボディ（Body）１からジョイント（Joint）１に遷移される。このジョイント（Joint）１が合成されていくことにより前音４０からミスタッチ音４１の楽音波形に移行して行くようになり、このジョイント（Joint）１の楽音波形の合成が終了すると第１の合成チャンネルの楽音波形合成は終了する。
【００４４】
ここで、時刻ｔ４になると指定されたベクタデータ番号のヘッド（Head）用ベクタデータがベクタデータ記憶手段３７から読み出されてヘッド（Head）２が第２の合成チャンネルにおいて合成されていくようになる。指定されたヘッド（Head）用ベクタデータは、後音４２のアタックを表しており１ショット波形ｂ１の終端にループ波形ｂ２が接続されて構成されている。このヘッド（Head）２の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ（Body）用ベクタデータがベクタデータ記憶手段３７から読み出されて、ボディ（Body）２の楽音波形が合成されていくようになる。指定された後音４２用のボディ（Body）用ベクタデータは音色の異なる複数のループ波形ｂ３、ｂ４、ｂ５、ｂ６、ｂ７、ｂ８、ｂ９、ｂ１０からなり、ループ波形ｂ２とループ波形ｂ３とがクロスフェードされることによりヘッド（Head）２からボディ（Body）２に遷移される。ボディ（Body）２の合成においては、複数のループ波形ｂ３、ｂ４、ｂ５、ｂ６、ｂ７、ｂ８、ｂ９、ｂ１０同士がクロスフェードで接続されて音色が変化しつつボディ（Body）２の楽音波形が合成されていくようになる。
【００４５】
そして、時刻ｔ６になると指定されたベクタデータ番号のテイル（Tail）用ベクタデータがベクタデータ記憶手段３７から読み出されてテイル（Tail）２が合成されていくようになる。指定されたベクタデータ番号のテイル（Tail）用ベクタデータは、後音４２のリリースを表しており１ショット波形ｂ１２の始端にループ波形ｂ１１が接続されて構成されている。そして、ループ波形ｂ１０とループ波形ｂ１１とがクロスフェードされることにより、ボディ（Body）２からテイル（Tail）２に遷移される。テイル（Tail）２の楽音波形の合成が終了することにより、前音４０ないし後音４２にかかる楽音波形の合成は終了する。
図６（ｂ）に示されているように、音長の短いミスタッチ音４１が前音４０に重なっていると共に、後音４２に音長の短いミスタッチ音４１が重なっていると、前音４０からミスタッチ音４１への楽音波形を合成する際にはJoint奏法処理が行われ、ミスタッチ音４１から後音４２への楽音波形を合成する際には、図５に示すNon-Joint奏法処理が行われる。これにより、ミスタッチ音４１の楽音波形はジョイント（Joint）１で終了されるようになり、破線で示すジョイント（Joint）２の楽音波形は合成されないようになる。このため、ミスタッチ音４１の楽音波形が短くなってミスタッチ音４１が目立たないようになる。さらに、後音４２のノートオンイベントの時刻ｔ４で後音４２の楽音波形が新たな合成チャンネルで合成されるようになるため、ミスタッチ音４１があっても後音４２の発音が遅れることを防止することができるようになる。
【００４６】
次に、図１５（ａ）に示す楽譜通りに演奏された楽音波形を楽音波形合成装置１で合成する場合の楽音波形合成の例を図７示す。
図１５（ａ）に示すピアノロール譜が図７（ａ）に示され、操作子１３における鍵盤／コントローラ３０が操作されてその楽譜通りに演奏されると、時刻ｔ１で前音４３のノートオンイベントが演奏（MIDI）受信処理部３１で受信される。これにより、楽音波形合成装置は時刻ｔ１において図７（ｂ）に示すようにヘッド（Head）１から前音４３の楽音波形の合成を開始する。そして、ヘッド（Head）１の合成が終了しても前音４３のノートオフイベントが受信されないことから図７（ｂ）に示すようにヘッド（Head）１からボディ（Body）１に遷移されて楽音波形が合成されていくようになる。そして、時刻ｔ２になると前音４３のノートオフイベントが受信されて、ボディ（Body）１からテイル（Tail）１に遷移されて楽音波形が合成されていき、テイル（Tail）１の合成が終了することにより前音４３の楽音波形の合成は終了する。時刻ｔ２の直後の時刻ｔ３においてミスタッチ音４４のノートオンイベントが演奏（MIDI）受信処理部３１で受信され、楽音波形合成装置は時刻ｔ３において図７（ｂ）に示すようにヘッド（Head）２からミスタッチ音４４の楽音波形の合成を開始する。
【００４７】
ここで、ヘッド（Head）２の合成が終了する前の時刻ｔ４において後音４５のノートオンイベントが受信されるが、ミスタッチ音４４のノートオフイベントがまだ受信されていないことから楽音波形合成装置１では後音４５がミスタッチ音４４に重なっていると判断されて、図４に示す奏法決定処理が起動されてミスタッチ音４４の音長ｔｂが求められる。そして、求められたミスタッチ音４４の音長ｔｂが奏法判定用パラメータ３５における「ミスタッチ音判定時間」パラメータと対比されるが、求められたミスタッチ音４４の音長ｔｂが短いことからNon-Joint奏法と決定される。これにより、ミスタッチ音４４はジョイント(Joint)を使用することなくヘッド（Head）２の合成が終了すると終了され、時刻ｔ４において後音４５の楽音波形合成がヘッド（Head）３から開始されるようになる。そして、時刻ｔ５でミスタッチ音４４のノートオフイベントが受信され、次いで、ヘッド（Head）３の合成が終了しても後音４５のノートオフイベントが受信されないことから図７（ｂ）に示すようにヘッド（Head）３からボディ（Body）３に遷移されて後音４５の楽音波形が合成されていくようになる。そして、時刻ｔ６になると後音４５のノートオフイベントが受信されて、ボディ（Body）３からテイル（Tail）３に遷移されて楽音波形が合成されていき、テイル（Tail）３の合成が終了することにより前音４３、ミスタッチ音４４よび後音４５の楽音波形の合成は終了する。
【００４８】
このように、前音４３の楽音波形はそのノートオンイベントが受信された時刻ｔ１において第１の合成チャンネルで合成されるようになる。すなわち、前音４３の楽音波形はヘッド（Head）１、ボディ（Body）１、テイル（Tail）１の組み合わせにより合成される。また、ミスタッチ音４４の楽音波形はそのノートオンイベントの時刻ｔ３から第２の合成チャンネルで合成される。ミスタッチ音４４と後音４５とをつなぐ際には図５に示すNon-Joint奏法処理が実行される。これにより、ミスタッチ音４４の楽音波形は、Non-Joint奏法処理が実行されてミスタッチ音４４はヘッド（Head）２だけにより合成され、後音４５の楽音波形は第３の合成チャンネルでヘッド（Head）３、ボディ（Body）３、テイル（Tail）３の組み合わせで合成されるようになる。このように、ミスタッチ音４４の楽音波形はヘッド（Head）２で終了するようになる。
【００４９】
そして、演奏合成処理部（アーティキュレータ）３３において、演奏解釈処理部（プレイヤー）３２で解釈された奏法をもとに決定された波形データパーツのベクタデータ番号と要素データ値が奏法テーブル３６を参照して指定されると共に、波形データパーツが配置される時間軸上の時刻が指定される。すなわち、第１の合成チャンネルにヘッド（Head）１が時刻ｔ１から開始するよう指示され、ヘッド（Head）１に続いてボディ（Body）１が配置され、テイル（Tail）１が時刻ｔ２から開始するよう指示される。さらに、第２の合成チャンネルにヘッド（Head）２が時刻ｔ３から開始するよう指示され、第３の合成チャンネルにおいてヘッド（Head）３が時刻ｔ４から開始するよう指示され、ヘッド（Head）３に続いてボディ（Body）３が配置され、テイル（Tail）３が時刻ｔ６から開始するよう指示される。そして、波形合成処理部３４においてＲＯＭ１１あるいはＨＤＤ２０とされるベクタデータ記憶手段３７から指定されたベクタデータ番号の波形データパーツのベクタデータが読み出され、指定された要素データ値が反映されながら上記指定された時刻で合成されていく。この場合、ヘッド（Head）１−ボディ（Body）１−テイル（Tail）１からなる前音４３の楽音波形は第１の合成チャンネルで合成され、ヘッド（Head）２からなるミスタッチ音４４は第２の合成チャンネルで合成され、ヘッド（Head）３−ボディ（Body）３−テイル（Tail）３からなる後音４５の楽音波形は第３のチャンネルで合成される。
【００５０】
これにより、図７（ａ）のように演奏された際には、図７（ｂ）に示すように楽音波形が合成されるようになる。具体的には波形合成処理部３４では、第１の合成チャンネルにおいて時刻ｔ１において指定されたベクタデータ番号のヘッド（Head）用ベクタデータがベクタデータ記憶手段３７から読み出されてヘッド（Head）１が合成されていくようになる。このヘッド（Head）用ベクタデータは、前音４３のアタックを表しており１ショット波形ｄ１の終端にループ波形ｄ２が接続されて構成されている。このヘッド（Head）１の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ（Body）用ベクタデータがベクタデータ記憶手段３７から読み出されて、ボディ（Body）１の楽音波形が合成されていくようになる。指定された前音４３用のボディ（Body）用ベクタデータは音色の異なる複数のループ波形ｄ３、ｄ４、ｄ５、ｄ６からなり、ループ波形ｄ２とループ波形ｄ３とがクロスフェードされることによりヘッド（Head）１からボディ（Body）１に遷移される。ボディ（Body）１の合成においては、複数のループ波形ｄ３、ｄ４、ｄ５、ｄ６同士がクロスフェードで接続されて音色が変化しつつボディ（Body）１の楽音波形が合成されていくようになる。
【００５１】
そして、時刻ｔ２になると指定されたベクタデータ番号のテイル（Tail）用ベクタデータがベクタデータ記憶手段３７から読み出されてテイル（Tail）１が合成されていくようになる。指定されたベクタデータ番号のテイル（Tail）用ベクタデータは、前音４３のリリースを表しており１ショット波形ｄ８の始端にループ波形ｄ７が接続されて構成されている。そして、ループ波形ｄ６とループ波形ｄ７とがクロスフェードされることにより、ボディ（Body）１からテイル（Tail）１に遷移される。テイル（Tail）１の楽音波形の合成が終了することにより、第１の合成チャンネルにおける前音４３にかかる楽音波形の合成は終了する。
また、時刻ｔ３になると第２の合成チャンネルにおいて指定されたベクタデータ番号のヘッド（Head）用ベクタデータがベクタデータ記憶手段３７から読み出されてヘッド（Head）２が合成されていくようになる。このヘッド（Head）用ベクタデータは、ミスタッチ音４４のアタックを表しており１ショット波形ｅ１の終端にループ波形ｅ２が接続されて構成されている。このヘッド（Head）２の楽音波形合成が終了すると、ジョイント（Joint）が合成されることなく第２の合成チャンネルにおけるミスタッチ音４４にかかる楽音波形合成は終了する。
【００５２】
次いで、時刻ｔ４になると指定されたベクタデータ番号のヘッド（Head）用ベクタデータがベクタデータ記憶手段３７から読み出されてヘッド（Head）３が第３の合成チャンネルにおいて合成されていくようになる。指定されたヘッド（Head）用ベクタデータは、後音４５のアタックを表しており１ショット波形ｆ１の終端にループ波形ｆ２が接続されて構成されている。このヘッド（Head）３の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ（Body）用ベクタデータがベクタデータ記憶手段３７から読み出されて、ボディ（Body）３の楽音波形が合成されていくようになる。指定された後音４５用のボディ（Body）用ベクタデータは音色の異なる複数のループ波形ｆ３、ｆ４、ｆ５、ｆ６、ｆ７、ｆ８、ｆ９、ｆ１０からなり、ループ波形ｆ２とループ波形ｆ３とがクロスフェードされることによりヘッド（Head）３からボディ（Body）３に遷移される。ボディ（Body）３の合成においては、複数のループ波形ｆ３、ｆ４、ｆ５、ｆ６、ｆ７、ｆ８、ｆ９、ｆ１０同士がクロスフェードで接続されて音色が変化しつつボディ（Body）３の楽音波形が合成されていくようになる。
【００５３】
そして、時刻ｔ６になると指定されたベクタデータ番号のテイル（Tail）用ベクタデータがベクタデータ記憶手段３７から読み出されてテイル（Tail）３が合成されていくようになる。指定されたベクタデータ番号のテイル（Tail）用ベクタデータは、後音４５のリリースを表しており１ショット波形ｆ１２の始端にループ波形ｆ１１が接続されて構成されている。そして、ループ波形ｆ１０とループ波形ｆ１１とがクロスフェードされることにより、ボディ（Body）３からテイル（Tail）３に遷移される。テイル（Tail）３の楽音波形の合成が終了することにより、前音４３ないし後音４５にかかる楽音波形の合成は終了する。
図７（ｂ）に示されているように、ミスタッチ音４４に後音４５が重なっていてもNon-Joint奏法処理が行われることから、後音４５のノートオンイベントの時刻ｔ４で後音４５の楽音波形が新たな合成チャンネルで合成されるようになるため、ミスタッチ音４４があっても後音４５の発音が遅れることを防止することができるようになる。
【００５４】
次に、Non-Joint奏法を使用すると決定された際に、演奏合成処理部（アーティキュレータ）３３において実行されるNon-Joint奏法処理のフローチャートの他の例を図８に示す。
図８に示すNon-Joint奏法処理が起動されるとステップＳ２０にて演奏イベント情報を元に奏法テーブル３６を検索して使用すべき波形データパーツのベクタデータを選択し、選択されたベクタデータを構成している要素データを演奏イベント情報に基づいて補正する。次いで、ステップＳ２１にてこれまで使用していた合成チャンネルで合成中の楽音波形をフェードアウトさせることにより終了させるための指示を波形合成処理３４に与える。そして、ステップＳ２２にて受信されたノートオンイベント対する楽音波形を合成するために新たに使用する合成チャンネルを選択して決定する。次いでステップＳ２３にて、選択された合成チャンネルに各波形データパーツにおいて選択されたベクタデータ番号、要素データ値、時刻を指定し楽音波形を合成する準備が整えられる。これにより、Non-Joint奏法処理は終了し、楽音波形合成処理にリターンされる。このように、Non-Joint奏法処理の他の例においては合成中の楽音波形をフェードアウトさせて終了させることにより、その楽音を聴取した際に自然に聞こえるようにしている。
【００５５】
図８に示すNon-Joint奏法処理が実行される際に波形合成処理部３４において合成される楽音波形の例を図９および図１０を参照して説明する。
図９（ａ）に示すピアノロール譜は図６（ａ）に示すピアノロール譜と同様とされており、その楽譜通りに演奏された際に合成される図９（ｂ）に示す楽音波形は、図６（ｂ）に示す楽音波形においてジョイント（Joint）１がフェードアウトされていることだけで異なっている。そこで、このフェードアウトについてのみ説明すると、上述したように前音４０とミスタッチ音４１とをつなぐ際にはJoint系奏法処理が行われるが、ミスタッチ音４１と後音４２とをつなぐ際には図８に示すNon-Joint奏法処理が行われるようになる。これにより、前音４０とミスタッチ音４１との楽音波形がヘッド（Head）１、ボディ（Body）１、ジョイント（Joint）１の組み合わせにより合成されるようになり、後音４２の楽音波形がヘッド（Head）２、ボディ（Body）２、テイル（Tail）２の組み合わせで合成されることが決定される。この場合、前述したようにミスタッチ音４１の楽音波形はジョイント（Joint）２を合成することなくジョイント（Joint）１で終了するようになるが、終了するに際してジョイント（Joint）１がフェードアウトされて終了されるようになる。具体的には、時刻ｔ４になるとフェードアウト波形ｇ１により合成中のジョイント（Joint）１の振幅が制御されてフェードアウトされるようになる。他の楽音波形の波形合成処理については図６（ｂ）における波形合成処理と同様とされているのでその説明は省略する。
【００５６】
また、図１０（ａ）に示すピアノロール譜は図７（ａ）に示すピアノロール譜と同様とされており、その楽譜通りに演奏された際に合成される図１０（ｂ）に示す楽音波形は、図７（ｂ）に示す楽音波形においてヘッド（Head）２がフェードアウトされていることだけで異なっている。そこで、このフェードアウトについてのみ説明すると、上述したようにミスタッチ音４４と後音４５とをつなぐ際には図８に示すNon-Joint奏法処理が行われるようになる。これにより、ミスタッチ音４４の楽音波形がヘッド（Head）２により合成されるようになり、後音４５の楽音波形がヘッド（Head）３、ボディ（Body）３、テイル（Tail）３の組み合わせで合成されることが決定される。この場合、ミスタッチ音４４の楽音波形はジョイント（Joint）を合成することなくヘッド（Head）２で終了するようになるが、終了するに際してヘッド（Head）２がフェードアウトされて終了されるようになる。具体的には、時刻ｔ４になるとフェードアウト波形ｇ２により合成中のヘッド（Head）２の振幅が制御されてフェードアウトされるようになる。他の楽音波形の波形合成処理については図７（ｂ）における波形合成処理と同様とされているのでその説明は省略する。
このように、図８に示すNon-Joint奏法処理が実行されると、楽音波形の合成が終了されるチャンネルにおいてフェードアウトされて終了されることから、そのチャンネルの楽音が自然な音で聞こえるようになる。
【産業上の利用可能性】
【００５７】
以上説明した本発明にかかる楽音波形合成装置は電子楽器に適用することができ、この場合、電子楽器は鍵盤楽器に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの楽器にも適用することができる。また、本発明にかかる楽音波形合成装置においては、楽音波形合成プログラムをＣＰＵが実行することにより楽音波形合成部としたが、楽音波形合成部をハードウェアで構成してもよい。さらに、本発明にかかる楽音波形合成装置を自動演奏ピアノのような自動演奏装置などにも適用してよい。
以上の説明では、本発明にかかる楽音波形合成装置における波形データパーツには他の波形データパーツに接続するためのループ波形が付属されていたが、波形データパーツにループ波形を付属しないようにしても良い。この場合には、波形データパーツ同士をクロスフェードで接続すればよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施例の楽音波形合成装置におけるハードウェア構成の一例を示すブロック図である。
【図２】本発明の楽音波形合成装置における波形データパーツの典型的な例を示す図である。
【図３】本発明の楽音波形合成装置において楽音波形合成処理を実行する機能を示すブロック図である。
【図４】本発明の楽音波形合成装置において実行される奏法決定処理のフローチャートである。
【図５】本発明の楽音波形合成装置における演奏合成処理部（アーティキュレータ）において実行されるNon-Joint奏法処理のフローチャートの一例である。
【図６】本発明の楽音波形合成装置において合成される楽音波形の一例を演奏される楽譜と対比して示す図である。
【図７】本発明の楽音波形合成装置において合成される楽音波形の他の例を演奏される楽譜と対比して示す図である。
【図８】本発明の楽音波形合成装置における演奏合成処理部（アーティキュレータ）において実行されるNon-Joint奏法処理のフローチャートの他の例である。
【図９】本発明の楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。
【図１０】本発明の楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。
【図１１】楽音波形合成装置において合成される楽音波形の一例を演奏される楽譜と対比して示す図である。
【図１２】楽音波形合成装置において合成される楽音波形の他の例を演奏される楽譜と対比して示す図である。
【図１３】楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。
【図１４】従来の楽音波形合成装置において（ａ）に示す楽譜で演奏された際に合成される楽音波形を（ｂ）に示す図である。
【図１５】従来の楽音波形合成装置において（ａ）に示す楽譜で演奏された際に合成される楽音波形を（ｂ）に示す図である。
【符号の説明】
【００５９】
１  楽音波形合成装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１３  操作子、１４  検出回路、１５  表示部、１６  表示回路、１７  波形取込部、１８  波形出力部、１９  サウンドシステム、２０  ハードディスク、２１  通信インタフェース、２２  外部機器、２３  通信バス、３０  鍵盤／コントローラ、３１  受信処理部、３２  演奏解釈処理部（プレイヤー）、３３  演奏合成処理部（アーティキュレータ）、３４  波形合成処理部、３５  奏法判定用パラメータ、３６  奏法テーブル、３７  ベクタデータ記憶手段
【図１】
2006350101.tif 000003
【図２】
2006350101.tif 000004
【図３】
2006350101.tif 000005
【図４】
2006350101.tif 000006
【図５】
2006350101.tif 000007
【図６】
2006350101.tif 000008
【図７】
2006350101.tif 000009
【図８】
2006350101.tif 000010
【図９】
2006350101.tif 000011
【図１０】
2006350101.tif 000012
【図１１】
2006350101.tif 000013
【図１２】
2006350101.tif 000014
【図１３】
2006350101.tif 000015
【図１４】
2006350101.tif 000016
【図１５】
2006350101.tif 000017