(57)【要約】【課題】  奏法モジュールを用いた楽音合成時における発音遅れの軽減。【解決手段】  取得した演奏情報に応じてクロスフェード特性を変更するか否かを判定し、該判定に従って演奏情報を取得した時点で既に開始済みであるクロスフェード合成におけるクロスフェード特性を自動的に変更する。クロスフェード合成の途中でクロスフェード特性を自動的に変更するので、該クロスフェード合成の開始時に比べてクロスフェード合成に係る時間長を伸縮することができ、これに従い、前記取得した演奏情報に応じて時系列的に組み合さられる後続する奏法モジュールは前記伸縮した時間分だけずらした時間的な配置位置に配置される。このようにすると、クロスフェード合成の途中であっても該クロスフェード合成を早く完了するように制御でき、これにより演奏者が意識することなく後続する奏法モジュールへの波形遷移を素早く行い、発音遅れなどを軽減することができる。【選択図】        図７
2006330532.tif 000002
【特許請求の範囲】
【請求項１】
奏法に関する波形特性を楽音の部位毎に定義した奏法モジュールを時系列的に組み合わせ、該組み合わせに従って少なくとも２以上のチャンネルを用いて複数の波形を順次にクロスフェード合成することで一連の楽音波形を出力する楽音合成装置であって、
演奏情報を取得する取得手段と、
前記取得した演奏情報に応じて、クロスフェード特性を変更するか否かを判定する判定手段と、
前記判定に従って、前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成におけるクロスフェード特性を自動的に変更する変更手段と
を具えてなり、
前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成のクロスフェード特性を自動的に変更することで、前記取得した演奏情報に応じて時系列的に組み合さられる後続する奏法モジュールの時間的な配置位置を制御することを特徴とする楽音合成装置。
【請求項２】
前記判定手段は、前記取得した演奏情報に応じて時系列的に組み合さられる奏法モジュールがリリース部又はジョイント部いずれかの部位を定義した奏法モジュールである場合に、クロスフェード特性を自動的に変更するように判定することを特徴とする請求項１に記載の楽音合成装置。
【請求項３】
前記変更手段は、既に開始済みであるクロスフェード合成の完了時刻を新たに算出し、該算出した完了時刻までに当該クロスフェード合成を完了するよう、前記完了時刻に基づいて各チャンネルにおけるフェードイン又はフェードアウトの度合いを早めるよう、クロスフェード特性を自動的に変更することを特徴とする請求項１又は２に記載の楽音合成装置。
【請求項４】
コンピュータに、
演奏情報を取得する手順と、
前記取得した演奏情報に応じて、クロスフェード特性を変更するか否かを判定する手順と、
奏法に関する波形特性を楽音の部位毎に定義した奏法モジュールを時系列的に組み合わせ、該組み合わせに従って少なくとも２以上のチャンネルを用いて複数の波形を順次にクロスフェード合成することで一連の楽音波形を出力する際に、前記判定に従って、前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成におけるクロスフェード特性を自動的に変更することで、前記取得した演奏情報に応じて時系列的に組み合さられる後続する奏法モジュールの時間的な配置位置を制御する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリ等からの波形データの読み出し等に基づき、音色や奏法（若しくはアーティキュレーション）を適宜に変化させながら、楽音あるいは音声若しくはその他任意の音の波形を生成する楽音合成装置及びプログラムに関する。特に、リアルタイム演奏時などにおいて生じうる発音遅れなどを軽減する制御を行う楽音合成装置及びプログラムに関する。
【背景技術】
【０００２】
最近では、自然楽器固有の各種奏法（若しくはアーティキュレーション）のリアルな再現とその制御を目的とした、ＳＡＥＭ（Sound Articulation Element Modeling）と称する楽音波形制御技術が知られている。これに関連するものとして、例えば下記に示す特許文献１に記載の装置などが従来から知られている。この特許文献１に記載の装置などの、ＳＡＥＭ技術を用いた音源を具えた従来の装置においては、アタック波形を定義したアタック系奏法モジュール、リリース波形を定義したリリース系奏法モジュール、１音の定常部分であるボディ波形（中間波形）を定義したボディ系奏法モジュール、音と音とを繋ぐジョイント波形を定義したジョイント系奏法モジュールなど、各区間毎に予め用意された奏法モジュールを時系列的に複数組み合わせることで、一連の楽音波形を生成することのできるようにしている。例えば、１音の立ち上がり区間であるアタック部にアタック系奏法モジュールを、１音の定常区間であるボディ部に１乃至複数個のボディ系奏法モジュールを、１音の立ち下がり区間であるリリース部にリリース系奏法モジュールをそれぞれ用い、これらの奏法モジュールにより定義される各区間毎の波形をクロスフェード合成することによって１音全体の楽音波形を生成することができる。また、リリース系奏法モジュールの代わりにジョイント系奏法モジュールを用いることで、音と音との間（又は音部分と音部分の間）を任意の奏法でつないだ複数音が連続した一連の楽音波形を生成することができるようにもしている。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味あいで用いるものとする。
また、演奏者がリアルタイムに使用すべき奏法を選択指示することのできる装置として、例えば下記に示す特許文献２に記載の装置などが従来から知られている。
【特許文献１】特開平11−167382号公報
【特許文献２】特開2004−78095号公報
【０００３】
ところで、上述した特許文献１又は２に記載された装置などのように、ＳＡＥＭ合成方式に代表される、複数の波形を順次にクロスフェード合成しながら音色や奏法（若しくはアーティキュレーション）を変化させていく音源を具えた装置においては、１音の合成につき少なくとも２つの発音チャンネルを用い、これら各発音チャンネルの出力音量をこまめにフェードアウト・フェードインさせながら、それぞれの発音チャンネルに割り当てられた波形を加算合成していくことで、１音全体についての楽音波形を出力するようにしている。こうした楽音合成の一例について、図９にその概要を示す。図９は、第１及び第２の２つの発音チャンネルを用いて１音の合成を行う場合における従来知られた楽音合成の概要を示す概念図である。ここでは、横軸に時刻を、縦軸に各発音チャンネルの出力音量をそれぞれ示している。また、説明を理解し易くするために、各発音チャンネルの出力音量について、便宜的に各クロスフェード時間内において０〜１００％間でリニア制御するものを例示している。この図９において、時刻ｔ２、ｔ３、ｔ５、ｔ６は、それぞれ使用する奏法モジュールの切り替え完了の時点を表している。これらの切り替え時点、つまり各奏法モジュールの時間配置は、演奏者による演奏操作や奏法を指定する操作子（例えば奏法スイッチ）などの操作に応じて指定される奏法モジュール固有のデータ長や奏法モジュールの開始時刻（各クロスフェード合成の完了時刻に相当し、時間経過に応じて適宜に変化するタイムベクトル値などに従って変更されうる）などに基づき、前記操作にあわせて予め該操作に対応する各奏法モジュール毎にそれぞれ決められる。
【０００４】
図９に示すように、まず時刻ｔ０において演奏者による演奏操作にあわせてノートオンが指示されると（詳しくはノートオンイベントデータが受信される）、アタック部に相当するノンループ波形からなる楽音波形の合成を第１チャンネルで開始する。このアタック部のノンループ波形の合成に引き続き、アタック波形の一部を構成する定常的な波形である楽音波形Ａ（繰り返し読み出しされるループ波形であって、図中ではこうしたループ波形を実線の長方形で示している）の合成を開始する。そして、前記楽音波形Ａの合成を開始した時点から（時刻ｔ１）、第１チャンネルの出力音量を１００％から０％に向かって徐々に小さくしていくことで楽音波形Ａをフェードアウトさせる。このフェードアウト動作と同時に、第２チャンネルの出力音量を０％から１００％に向かって徐々に大きくしていくことでボディ部に相当する楽音波形Ｂ（ループ波形）をフェードインさせる。こうしたフェードアウト・フェードイン制御と共に、前記第１チャンネルと第２チャンネル両者の波形を加算合成して１つのループ再生波形を合成する。クロスフェード合成されたループ再生波形は、楽音波形Ａから楽音波形Ｂへと滑らかに変化する。
【０００５】
第１チャンネルの出力音量が０％、第２チャンネルの出力音量が１００％になった時点で（時刻ｔ２）、ボディ部を構成する別の楽音波形Ｃ（ループ波形）を第１チャンネルでフェードインさせながら合成を開始すると同時に、第２チャンネルの楽音波形Ｂのフェードアウトを開始する。さらに、第１チャンネルの出力音量が１００％、第２チャンネルの出力音量が０％になった時点で（時刻ｔ３）、ボディ部を構成するさらに別の楽音波形Ｄ（ループ波形）を第２チャンネルでフェードインさせながら合成を開始すると同時に、第１チャンネルの楽音波形Ｃのフェードアウトを開始する。このように、ボディ部が続く限りにおいては、使用する楽音波形を変えながら第１チャンネル及び第２チャンネルで交互にフェードイン・フェードアウトを繰り返しながら楽音を合成する。時刻ｔ４において演奏者による演奏操作にあわせてノートオフが指示されると（詳しくはノートオフイベントデータが受信される）、第１チャンネルの楽音波形Ｃと第２チャンネルの楽音波形Ｄとのクロスフェードが完了するのを待ってから（つまりノートオフが指示された時刻ｔ４からΔｔ分だけ経過した時刻ｔ５から）、リリース波形の一部を構成する定常的な波形である楽音波形Ｅ（ループ波形）を介してノンループ波形からなるリリース波形への遷移を開始する。このようにして、複数連結された上記各奏法モジュールにより定義される各波形の接続は、ループ波形同士のクロスフェード合成によって滑らかに行われ、全体として、一連の音の波形が形成されるようになっている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、ＳＡＥＭ技術を用いた音源を具えた従来知られた装置では、演奏者によるリアルタイムの演奏操作及び選択指示操作などにあわせて各奏法モジュールをその開始時刻に応じて時間軸上に予め配置しておき、こうして配置された連続する各奏法モジュール間において各波形をクロスフェード合成することで一連の楽音波形を生成するようにしている。言いかえれば、予め決められたクロスフェード時間長に従って楽音合成は行われる。しかし、従来のようにクロスフェード時間長を予め事前に決定すると、特にリアルタイム演奏時における例えばノートオフ操作や、発音中のノートオン操作などのような突発的な演奏指示に対応することができない。すなわち、突発的な演奏指示が行われた場合には、その時点で行われていたクロスフェード合成が完了するのを待ってからリリース波形（又はジョイント波形）への遷移を行うようにしているので、前音が完全に消音されるまでにクロスフェード合成が完了するのを待った分だけの時間遅れが発生し、その分だけ次音の発音開始に遅れが生じてしまうこととなり都合が悪い、という問題点があった。
【０００７】
本発明は上述の点に鑑みてなされたもので、アタック部、ボディ部、リリース部又はジョイント部などの通常の１乃至複数音を構成する楽音の部位毎の波形をクロスフェード合成して一連の楽音波形を生成する際に、突発的な演奏指示がなされた際の発音遅れを軽減することのできるようにした楽音合成装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明の請求項１に係る楽音合成装置は、奏法に関する波形特性を楽音の部位毎に定義した奏法モジュールを時系列的に組み合わせ、該組み合わせに従って少なくとも２以上のチャンネルを用いて複数の波形を順次にクロスフェード合成することで一連の楽音波形を出力する楽音合成装置であって、演奏情報を取得する取得手段と、前記取得した演奏情報に応じて、クロスフェード特性を変更するか否かを判定する判定手段と、前記判定に従って、前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成におけるクロスフェード特性を自動的に変更する変更手段とを具えてなり、前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成のクロスフェード特性を自動的に変更することで、前記取得した演奏情報に応じて時系列的に組み合さられる後続する奏法モジュールの時間的な配置位置を制御することを特徴とする。
【０００９】
本発明によると、奏法に関する波形特性を楽音の部位毎に定義した奏法モジュールを時系列的に組み合わせ、該組み合わせに従って少なくとも２以上のチャンネルを用いて複数の波形を順次にクロスフェード合成することで一連の楽音波形を出力する場合において、取得した演奏情報に応じてクロスフェード特性を変更するか否かを判定し、前記判定に従って前記演奏情報を取得した時点で既に開始済みであるクロスフェード合成におけるクロスフェード特性を自動的に変更する。クロスフェード合成の途中でクロスフェード特性を自動的に変更するので、該クロスフェード合成の開始時に比べてクロスフェード合成に係る時間長を伸縮することができ、これに従い、前記取得した演奏情報に応じて時系列的に組み合さられる後続する奏法モジュールは前記伸縮した時間分だけずらした時間的な配置位置に配置される。このように、既に開始済みであるクロスフェード合成の途中であっても該クロスフェード合成を早く（又は遅く）完了するように自動的に制御することで、演奏者が意識することなく後続する奏法モジュールへの波形遷移を早く（又は遅く）行わせることができるようになる。
【００１０】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１１】
この発明によれば、演奏指示がなされた時点で既に処理中のクロスフェード合成の途中に、該クロスフェード合成におけるクロスフェード特性を自動的に変更することで、該クロスフェード合成の開始時に比べてクロスフェード合成に係る時間長を伸縮することができることから、演奏者が意識することなく波形遷移を早く（又は遅く）行わせることができるようになる、という効果を得る。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１３】
図１は、この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示された電子楽器はコンピュータを用いて構成されており、そこにおいて、ＳＡＥＭ合成方式に代表される、複数の波形を順次にクロスフェード合成することで音色や奏法（若しくはアーティキュレーション）を変化させながら一連の楽音波形を出力する楽音合成処理は、コンピュータがこの発明に係る楽音合成処理を実現する所定のプログラム（ソフトウエア）を実行することにより実施される。勿論、この楽音合成処理はコンピュータソフトウエアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。また、この楽音合成装置を適用する機器は、電子楽器、シーケンサなどの自動演奏装置、あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。すなわち、本発明に従う所定のプログラム又はハードウエアを用いることによって、鍵盤などの演奏操作子５又は奏法スイッチなどのパネル操作子６等の操作に伴って発生されるノートオンやノートオフなどの通常の演奏情報又はスイッチ出力情報等に応じて、ユーザ所望の音色や奏法（若しくはアーティキュレーション）が付加された楽音を発生するように構成したものであればどのようなものであってもよい。なお、この実施例に示す電子楽器はこれら以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
【００１４】
本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えば、データ及びアドレスバスなど）を介してＲＯＭ２、ＲＡＭ３、外部記憶装置４、演奏操作子５、パネル操作子６、表示器７、音源８、インタフェース９がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。すなわち、タイマ１Ａは時間間隔を計数したり、所定の演奏情報に従って演奏される楽曲の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、パネル操作子６の中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ１ＡからのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられる。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１５】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラムや各種データを格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置４は、様々な楽器毎の特有な奏法に対応した楽音を生成するための奏法モジュールなどの各種データ、ＣＰＵ１により実行あるいは参照される各種制御プログラム等を記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置４はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００１６】
演奏操作子５は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５は楽音演奏のための演奏情報を発生する。例えば、演奏操作子５は演奏者によるオン・オフ操作に応じて、ノートオン・ノートオフなどのイベントデータやコントロールチェンジなどの各種コントロールデータなどを含む演奏情報（例えばＭＩＤＩ情報）を発生する。なお、演奏操作子５は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック形態のものなど、どのような形態のものであってもよい。パネル操作子６は、例えば楽音演奏する際に用いる音高、音色、効果等を設定する設定スイッチ、楽音に付加する各部位の奏法毎にその奏法種類（内容）を演奏者が適宜に指定する奏法スイッチ等、各種の操作子を含んで構成される。勿論、パネル操作子６はこれら以外にも、数値データ入力用のテンキーや文字データ入力用のキーボードあるいはマウスなどの各種操作子を含んでいてよい。なお、演奏操作子５を設定スイッチや奏法スイッチなどの入力手段として使用できるようにしてもよい。表示器７は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、予め記憶済みの奏法モジュールの一覧や個々の奏法モジュールの内容、あるいはＣＰＵ１の制御状態などを表示する。
【００１７】
音源８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。すなわち、演奏情報に対応する奏法モジュールがＲＯＭ２や外部記憶装置４などから読み出されると、該読み出された奏法モジュールにより定義される波形データは通信バス１Ｄを介して音源８に与えられて適宜バッファ記憶される。そして、音源８ではバッファ記憶された波形データを所定の出力サンプリング周波数にしたがって出力する。この音源８から発生された楽音信号は、図示しない効果回路（例えばＤＳＰ（Digital Signal Processor））などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はアンプやスピーカ等を含んでなるサウンドシステム８Ａに与えられて発音される。
【００１８】
インタフェース９は該電子楽器と外部のＭＩＤＩ機器（図示せず）などとの間で各種ＭＩＤＩ情報を送受するための、例えばＭＩＤＩインタフェースや通信インタフェースなどである。ＭＩＤＩインタフェースは、外部のＭＩＤＩ機器等からＭＩＤＩ規格の演奏情報（ＭＩＤＩ情報）を当該電子楽器へ入力したり、あるいは当該電子楽器からＭＩＤＩ情報を他のＭＩＤＩ機器等へ出力するためのインタフェースである。他のＭＩＤＩ機器はユーザによる操作に応じてＭＩＤＩ情報を発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。なお、ＭＩＤＩインタフェースは専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、ＭＩＤＩデータ以外のデータをも同時に送受信するようにしてもよい。ＭＩＤＩインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のＭＩＤＩ機器はＭＩＤＩ情報以外のデータも送受信できるようにしてよい。他方、通信インタフェースは、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワーク（図示せず）に接続されており、概通信ネットワークを介して外部のサーバコンピュータ等と接続され、当該サーバコンピュータから制御プログラムやＭＩＤＩ情報などの各種情報を該電子楽器に取り込むためのインタフェースである。こうした通信インタフェースは、有線あるいは無線のものいずれかでなく双方を具えていてもよい。
【００１９】
ここで、ＲＯＭ２や外部記憶装置４あるいはＲＡＭ３などに記憶されており、様々な楽器毎の音色や特有な奏法（若しくはアーティキュレーション）等に対応した楽音を生成するために用いられる、従来知られた奏法モジュールの概要について図２を用いて説明する。図２は、従来知られた部位毎の奏法モジュールの一実施例を示す概念図である。
【００２０】
従来知られているように、奏法モジュールは、複数の多種多様な奏法モジュールをデータベース化した「奏法テーブル」としてＲＯＭ２や外部記憶装置４あるいはＲＡＭ３などに記憶されている。奏法モジュールは、多種多様な奏法に対応する波形を再生するためのオリジナルの波形データとそれに関連するデータ群からなる。１つの「奏法モジュール」とは、奏法波形合成システムにおいて１つのかたまりとして処理できる奏法波形の単位である。別の言い方をすると、「奏法モジュール」とは１つのイベントとして処理できる奏法波形の単位である。図２に示すように、例えば種々有る奏法モジュールの中には大きく分けて、演奏音の時間的部位又は区間（これを部位と呼ぶ）等に応じて、１音のうちのアタック部やボディ部あるいはリリース部等の部位毎の波形データを定義したアタック系、ボディ系、リリース系などの奏法モジュールもあれば、スラー奏法のような音と音とのつなぎの区間であるジョイント部の波形データを定義したジョイント系の奏法モジュールがある。
【００２１】
こうした奏法モジュールは、上記したような演奏音の部位毎だけでなく、個々の奏法の特徴に基づいてさらに細かくいくつかの奏法種類に分類することができる。例えば、音の立ち上がり直後にベンドアップが行われるアタック系奏法モジュール「ベンドアップ・アタック」、音の立ち上がり直後にグリスアップが行われるアタック系奏法モジュール「グリスアップ・アタック」、ビブラートのかかった、音の立ち上がり以降から立ち下がり以前までのボディ系奏法モジュール「ビブラート・ボディ」、音の立ち下がり直前にベンドダウンが行われるリリース系奏法モジュール「ベンドダウン・リリース」、音の立ち下がり直後にグリスダウンが行われるリリース系奏法モジュール「グリスダウン・リリース」、グリスアップ又はグリスダウンしながら２つの音を接続するジョイント系奏法モジュール「グリス・ジョイント」、ベンドアップ又はベンドダウンしながら２つの音を接続するジョイント系奏法モジュール「ベンド・ジョイント」などに分類することができる。こうした奏法種類については、上述したように奏法スイッチの操作に応じて演奏者が任意に選択することが可能であるが、これについては公知であることからこの明細書では説明を省略する。なお、奏法モジュールは、楽器種類等のオリジナル音源別にも分類されるのは勿論である。また、奏法種類の選択については奏法スイッチの操作に限らない。
【００２２】
この実施例において、１つの奏法モジュールに対応する１つの波形データはそのままデータベースに記憶されているのではなく、複数の波形構成要素の集合からなるものとしてデータベースに記憶されている。この波形構成要素を、以下、「ベクトル」（又はベクタとも呼ぶ）という。１つの奏法モジュールに対応するベクトルの種類には、一例として下記のようなものがある。なお、調和成分及び調和外成分とは、対象たるオリジナル奏法波形を正弦波、加算合成可能な調和成分からなる波形とそれ以外の残りの波形成分とに分離することで定義されるものである。
１．調和成分の波形（Timbre）ベクトル：  調和成分の波形構成要素のうち、ピッチと振幅をノーマライズした波形形状のみの特徴を抽出したもの。
２．調和成分の振幅（Amplitude）ベクトル：  調和成分の波形構成要素のうち、振幅エンベロープ特性を抽出したもの。
３．調和成分のピッチ（Pitch）ベクトル：  調和成分の波形構成要素のうち、ピッチ特性を抽出したもの（例えば或る基準ピッチを基準にした時間的ピッチ変動特性を示すもの）。
４．調和外成分の波形（Timbre）ベクトル：  調和外成分の波形構成要素のうち、振幅をノーマライズした波形形状（ノイズ的波形）のみの特徴を抽出したもの。
５．調和外成分の振幅（Amplitude）ベクトル：  調和外成分の波形構成要素のうち、振幅エンベロープ特性を抽出したもの。
上記のほかに、更に別の種類のベクトル（例えば、波形の時間軸の進行を示す時間ベクトル）が含まれていてもよいが、便宜上、本実施例ではその説明を省略する。
【００２３】
楽音合成に際してはこれらのベクトルデータ（ベクタデータとも呼ぶ）に対して適宜に加工処理を施すことによってデータ値を補正し、こうした各ベクトルデータを時間軸上に配置することで、奏法波形の各構成要素に対応する波形若しくはエンベロープを演奏音の再生時間軸に沿ってそれぞれ構築し、前記時間軸上に配置された各ベクトルデータに基づいて所定の波形合成処理を行うことで、奏法波形を生成する。例えば、調和波形ベクトルに調和ピッチベクトルに応じたピッチ及びその時間変化特性を付与すると共に調和振幅ベクトルに応じた振幅及びその時間変化特性を付与することで調和成分の波形を合成し、調和外波形ベクトルに調和外振幅ベクトルに応じた振幅及びその時間変化特性を付与することで調和外成分の波形を合成し、調和成分の波形と調和外成分の波形とを加算合成することで、最終的な所定の奏法的特徴を示す演奏音波形つまり奏法波形を生成する。このようにして、最終的に発生させる楽音を生成するようになっている。こうした処理については公知であることから、ここではその詳しい説明を省略する。
【００２４】
各奏法モジュールは、上述したような波形データと共に奏法パラメータを含む。奏法パラメータは、当該奏法モジュールに係る波形の時間やレベルなどを制御するためのパラメータである。奏法パラメータには、各奏法モジュールの性格に応じて適宜異なる１又は複数種類のパラメータが含まれていてよい。例えば「ベンドアップ・アタック」の場合には、ベンドアップアタック終了時の絶対音高、ベンドアップアタック時のベンド深さの初期値、ベンドアップアタック開始から終了までの時間、アタック直後の音量、あるいはベンドアップアタック中のデフォルトのカーブの時間的な伸縮などの種類の奏法パラメータが含まれていてよい。この「奏法パラメータ」は予め記憶されていてもよいし、ユーザが適宜に入力したもの、あるいは既存のパラメータをユーザが適宜に変更したものであってもよい。また、奏法波形の再生に際して、奏法パラメータが与えられなかったような場合には標準的な奏法パラメータを自動的に付加するようにしてもよい。さらに、処理の過程で、適宜のパラメータが自動的に生成されて付加されるようになっていてもよい。
【００２５】
なお、上述の実施例では説明を理解しやすくするために、１つの奏法モジュールが調和成分の各要素（波形、ピッチ、振幅）及び調和外成分の各要素（波形、振幅）の全てを具備している例について説明したが、これに限らず、奏法モジュールが調和成分の各要素（波形、ピッチ、振幅）や調和外成分の各要素（波形、振幅）の１つからなっていてもよいのは勿論である。例えば、奏法モジュールが調和成分の波形（Timbre）要素、調和成分のピッチ（Pitch）要素、調和成分の振幅（Amplitude）要素、調和外成分の波形（Timbre）要素、調和外成分の振幅（Amplitude）要素のいずれか１つの要素からなっていてもよい。こうすると、各成分毎に奏法モジュールを適宜に組み合わせて使用することができることになり好ましい。
【００２６】
図１に示した電子楽器で実行する楽音合成処理の概要について、図３を用いて簡単に説明する。図３は、楽音合成処理の概要を示す機能ブロック図である。この図３において、図中の矢印は処理の流れを表す。
【００２７】
演奏受信部１００は、演奏受信処理つまり演奏者による操作にあわせて発生された演奏情報（例えばＭＩＤＩ情報）をリアルタイムに受信する処理を実行する。すなわち、鍵盤等の演奏操作子５からは演奏者によるその操作に応じて、ノートオン、ノートオフ、コントロールチェンジなどのＭＩＤＩ情報がリアルタイムに出力される。また、奏法スイッチからはその操作に応じて、予め奏法種類が割り当てられているスイッチのいずれのスイッチが押されたか又は離されたかを表す奏法スイッチ出力情報などがＭＩＤＩ情報のコントロールチェンジデータとしてリアルタイムに出力される。演奏受信部１００では、こうした演奏操作子５や奏法スイッチなどの操作に応じて適宜に出力されるＭＩＤＩ情報をリアルタイムに受信するよう常に監視を行っており、ＭＩＤＩ情報を受信した場合には該受信したＭＩＤＩ情報を演奏解釈部１０１に対して出力する。
【００２８】
演奏解釈部１０１（プレーヤー）は、受信したＭＩＤＩ情報に基づき演奏解釈処理を実行する。この演奏解釈処理では、受信したＭＩＤＩ情報を分析して奏法指定情報（奏法ＩＤと奏法パラメータ）を生成し、該生成した奏法指定情報を付加した奏法付き演奏情報を奏法合成部１０２に対して出力する。具体的には、受信したＭＩＤＩ情報の時系列的流れのうち各奏法に対応する必要な演奏時点において、付加すべき対象とする部位毎の奏法モジュールを決定する。こうした演奏解釈部１０１で実行する演奏解釈処理について、一例を図４に示す。図４は、演奏解釈処理の一実施例を示すフローチャートである。ただし、この図４ではノートオンイベントデータを受信した場合とノートオフイベントデータを受信した場合とにそれぞれ図を分けて説明する。
【００２９】
まず図４（ａ）に、演奏解釈部１０１がノートオンイベントデータを受信した場合には、まず該ノートオンイベントデータに従って発音すべき音が既に発音済みの前音と重なっているか否かを判定する（ステップＳ１１）。具体的には、ノートオンイベントデータを受信したタイミングが、既に発音済みの音に対するノートオフイベントデータの受信前又は受信後のいずれであるかにより、音が重なっているか否かを判定する。既に発音済みの前音と重なっていると判定した場合、つまり既に発音済みの音に対するノートオフイベントデータを受信していないにも関わらずノートオンイベントデータを新たに受信した場合には（ステップＳ１１のＹＥＳ）、ジョイント系奏法を付加するように奏法合成部１０２に対して指示する（ステップＳ１２）。一方、既に発音済みの前音と重なっていないと判定した場合、つまり既に発音済みの音に対するノートオフイベントデータを受信してからノートオンイベントデータを新たに受信した場合には（ステップＳ１１のＮＯ）、アタック系奏法を付加するように奏法合成部１０２に対して指示する（ステップＳ１３）。このようにして、ノートオンイベントデータを受信した場合には、前音と重なっていればジョイント系奏法を、前音と重なっていなければアタック系奏法を指定する奏法指定情報を付加した奏法付き演奏情報を奏法合成部１０２に対して出力する。
【００３０】
他方、図４（ｂ）に示すように、演奏解釈部１０１がノートオフイベントデータを受信した場合には、該ノートオフイベントデータで制御される対象の音（ノート）が既にジョイント処理された音に対するものであるか否かを判定する（ステップＳ２１）。既にジョイント処理された音（ノート）に対するものではないと判定した場合には（ステップＳ２１のＮＯ）、リリース系奏法を付加するように奏法合成部１０２に対して指示する（ステップＳ２２）。このようにして、ノートオフイベントデータを受信した場合には、既に次のノートオンイベントデータを受信済みであり、ジョイント系奏法を付加するように指示された後であるならば、当該ノートオフイベントデータを無視して、奏法付き演奏情報を奏法合成部１０２に対して出力しない一方で、ジョイント系奏法を付加するように指示されていないならば、リリース系奏法を指定する奏法指定情報を付加した奏法付き演奏情報を奏法合成部１０２に対して出力する。
【００３１】
なお、上記した演奏解釈処理において、奏法合成部１０２に対して付加するよう指示する各奏法の種類（奏法種類）については、受信したＭＩＤＩ情報のうちの各奏法スイッチの操作に応じて出力されるコントロールチェンジデータに応じて決定する。また、こうしたコントロールチェンジデータがない場合には、デフォルトの所定種類の奏法が付加されるようにしておくとよい。
【００３２】
図３の説明に戻って、奏法合成部１０２（アーティキュレーター）は奏法合成処理を実行する。この奏法合成処理は、上記演奏解釈部１０１により生成された奏法付き演奏情報における奏法指定情報（奏法ＩＤ＋奏法パラメータ）に基づいて、予め外部記憶装置４などに記憶されている奏法テーブルを参照して、奏法指定情報に応じたパケットストリーム（あるいはベクトルストリームとも呼ぶ）及び該ストリームに関するベクトルパラメータを生成して波形合成部１０３へ供給する。パケットストリームとして波形合成部１０３に供給されるデータは、ピッチ（Pitch）要素及び振幅（Amplitude）要素に関してはパケットの時刻情報、ベクトルＩＤ（ベクタデータ番号とも呼ぶ）、代表点値列などであり、波形（Timbre）要素に関してはベクトルＩＤ（ベクタデータ番号）、時刻情報などである。パケットストリームを生成する際には、時刻情報に応じて各位置の開始時刻を算出する。すなわち、各奏法モジュールを時刻情報に基づいて絶対的な時間位置に配置する。具体的には時刻情報に基づいて、各相対的な時間位置を示す要素データから対応する絶対時間を算出する。こうして、各奏法モジュールの開始時刻を決定するようにしている。こうした奏法合成部１０２で実行する奏法合成処理について、一例を図５に示す。図５は、奏法合成処理の一実施例を示すフローチャートである。
【００３３】
ステップＳ３１は、入力された情報つまり奏法付きの演奏情報を元にして奏法テーブルを検索することで使用すべきベクトルデータ（ベクタデータ）の選択を行い、また奏法付きの演奏情報に基づきデータ値を補正する。例えば、どのデータを用いるかのベクトルデータの選択、ピッチ（Pitch）要素及び振幅（Amplitude）要素をどのように制御するかのベクトルデータの修飾に関する指定、どの時刻に使用するかの開始時刻の算出などを実行する。ステップＳ３２は、ジョイント系奏法もしくはリリース系奏法を付加するように指示されているか否かを判定する。ジョイント系奏法もしくはリリース系奏法を付加するように指示されていると判定した場合には（ステップＳ３２のＹＥＳ）、後述する加速処理（図６参照）を行うように波形合成部１０３に対して指示する（ステップＳ３３）。ステップＳ３４は、波形合成部１０３に対して、ベクトルＩＤ（ベクタデータ番号）、データ値、開始時刻を指定する。なお、ここで波形合成部１０３に対して指定する開始時刻としては、上記ステップＳ３１で決定された開始時刻、又は上記ステップＳ３３の加速処理により算出される当初時刻よりも早められたクロスフェード完了時刻（後述する図６参照）に変更した時刻である。当初時刻よりも早められたクロスフェード完了時刻を開始時刻として指定した場合には、波形合成部１０３に対して加速クロスフェード合成を行うよう指示することになる。
【００３４】
図３に戻って、波形合成部１０３では、パケットストリームに応じて「奏法テーブル」からベクトルデータを取り出し、該ベクトルデータをベクトルパラメータに応じて変形し、変形したベクトルデータに基づいて波形を合成する、波形合成処理を実行する。この際に、奏法合成部１０２からの指示（上記図５のステップＳ３３参照）に応じて、クロスフェード合成の完了時刻を当初時刻よりも早められることで、現在処理中のクロスフェード合成を素早く完了させる加速クロスフェード合成を実行する。ここで、このクロスフェード合成の完了時刻を当初時刻よりも早める加速処理（図５のステップＳ３３参照）について、図６を用いて説明する。図６は、加速処理の一実施例を示すフローチャートである。
【００３５】
ステップＳ４１は、現在クロスフェード合成の処理中であるか否かを判定する。クロスフェード合成の処理中であると判定した場合には（ステップＳ４１のＹＥＳ）、予め奏法合成部１０２により指示された開始時刻（図５のステップＳ３１参照）に基づき、クロスフェード合成が完了するまでの残り時間が所定の加速時間（例えば１０ｍｓなど）よりも短いか否かを判定する（ステップＳ４２）。クロスフェード合成が完了するまでの残り時間が所定の加速時間よりも短くないと判定した場合には（ステップＳ４２のＮＯ）、新たにクロスフェード完了時刻を算出してセットする（ステップＳ４３）。ここでは一例として、新たなクロスフェード完了時刻に「現在時刻＋加速時間」をセットする。
【００３６】
次に、上記加速処理に基づき算出された新たなクロスフェード完了時刻にあわせるようにして、現在処理中のクロスフェード合成を素早く完了させる加速クロスフェード合成について、具体例を用いて説明する。図７は加速クロスフェード合成をリリース部に適用して楽音合成を行う場合の概要を示す概念図であり、図８は加速クロスフェード合成をジョイント部に適用して楽音合成を行う場合の概要を示す概念図である。ただし、ここでも既に説明済みの図９に示した従来例と同様に、第１及び第２の２つの発音チャンネルを用いて１音の合成を行う場合における楽音合成を例に説明する。なお、時刻ｔ０〜時刻ｔ３までにおける楽音合成については既に説明済みの図９に示した従来例と同様であることから、その説明を省略する。
【００３７】
図７から理解できるように、第１チャンネルの出力音量が１００％、第２チャンネルの出力音量が０％になった時点から（時刻ｔ３）、ボディ部を構成するさらに別の楽音波形Ｄ（ループ波形）を第２チャンネルでフェードインさせながら合成が開始されると同時に、第１チャンネルの楽音波形Ｃのフェードアウトが開始される。このクロスフェード合成の処理中において、時刻ｔ４において演奏者による演奏操作にあわせてノートオフが指示されると、上記した加速処理（図６参照）が行われてクロスフェード完了時刻が時刻ｔ５に変更される。そして、このクロスフェード完了時刻ｔ５までに既に処理中のクロスフェード合成が完了するように、各々のチャンネルのフェードイン・フェードアウトの速度を上げる加速クロスフェード合成（図中太線で示すような時刻ｔ３から時刻ｔ４までの傾きとは異なる傾きをもつ時刻ｔ４から時刻ｔ５までに示すようなクロスフェードカーブに従う加速フェードアウトや加速フェードインによるクロスフェード合成）を自動的に行うことで、ボディ部（楽音波形Ｄ）からリリース部（楽音波形Ｅ）への波形遷移を従来よりも素早く行えるようにする。一般的に、ボディ部におけるループ波形同士の遷移中（例えば楽音波形Ｂ、楽音波形Ｃ、楽音波形Ｄへの遷移など）においては、急激な音色・奏法変化などは不自然に聞こえるため、ある程度長め（例えば５０ｍｓなど）のクロスフェード時間を必要とするが、ボディ部からリリース部への遷移については音を消すという過渡状態の楽音波形への接続になるために、クロスフェード時間を短くしても音が不自然に聞こえるようなことが明確には現れない。したがって、図９に示した従来例のように、ノートオフが指示された時点で処理中の楽音波形Ｃと楽音波形Ｄとのクロスフェード合成が予め決められた完了時刻に完了するのを待つことなく、ノートオフが指示された時刻ｔ４に加速時間に相当するΔｔ分だけ加算した時刻ｔ５からリリース波形への遷移を開始するように、既に処理中のクロスフェード合成を前記完了時刻までに完了するようにクロスフェード合成を加速する。言いかえれば、クロスフェード合成の途中でクロスフェード特性を変更することで、リリース波形の開始時刻を変更する。このように、ノートオフ指示がなされた時点で既に行われているクロスフェード合成の途中に、該クロスフェード合成の完了時刻を予め決められた完了時刻よりも早めてクロスフェード合成を完了するように自動的に制御することで、演奏者が特に意識することなくボディ部からリリース部への波形遷移が従来に比べて素早く行われて、これによりここでは図示していない次のノートオン指示に基づく次音の発音遅れを軽減することができるようになる。
【００３８】
図８から理解できるように、第１チャンネルの出力音量が１００％、第２チャンネルの出力音量が０％になった時点から（時刻ｔ３）、ボディ部を構成するさらに別の楽音波形Ｄ（ループ波形）を第２チャンネルでフェードインさせながら合成が開始されると同時に、第１チャンネルの楽音波形Ｃのフェードアウトが開始される。このクロスフェード合成の処理中において、時刻ｔ４において演奏者による演奏操作にあわせてノートオンが指示されると、上記した加速処理（図６参照）が行われてクロスフェード完了時刻が時刻ｔ５に変更される。そして、このクロスフェード完了時刻ｔ５までに既に処理中のクロスフェード合成が完了するように、各々のチャンネルのフェードイン・フェードアウトの速度を上げる加速クロスフェード合成（図中太線で示すような時刻ｔ３から時刻ｔ４までの傾きとは異なる傾きをもつ時刻ｔ４から時刻ｔ５までに示すようなクロスフェードカーブに従うクロスフェード合成）を自動的に行うことで、ボディ部（楽音波形Ｄ）からジョイント部（楽音波形Ｆ）への波形遷移を素早く行えるようにする。すなわち、ノートオンが指示された時点で処理中の楽音波形Ｃと楽音波形Ｄとのクロスフェード合成が予め決められた完了時刻に完了するのを待つことなく、ノートオンが指示された時刻ｔ４に加速時間に相当するΔｔ分だけ加算した時刻ｔ５からジョイント波形への遷移を開始するように、既に処理中のクロスフェード合成を前記完了時刻に完了するように加速する。言いかえれば、クロスフェード合成の途中でクロスフェード特性を変更することで、ジョイント波形の開始時刻を変更する。このように、ノートオフ指示前にノートオン指示がなされた時点で既に行われているクロスフェード合成の途中であっても、該クロスフェード合成の完了時刻を予め決められた完了時刻よりも早めてクロスフェード合成を完了するように自動的に制御することで、演奏者が特に意識することなくボディ部からジョイント部への波形遷移が従来に比べて素早く行われて、これにより音が繋がっている場合における次音の発音遅れを特に知覚されることのない程度に軽減することができるようになる。
【００３９】
なお、上述した実施例ではクロスフェード合成する楽音波形をループ波形部分としたがこれに限らず、ノンループ波形（ブロック波形とも呼ぶ）部分をクロスフェード合成するようにしてもよい。
なお、クロスフェード合成におけるクロスフェード特性はリニア制御に限らず、ノンリニア制御であってもよい。また、クロスフェード合成の制御カーブ（つまりクロスフェードカーブ）の傾きは、種々のものであってよい。演奏者が適宜に所望のクロスフェード特性を選択することのできるようにしてもよい。
なお、クロスフェード合成の加速割合（クロスフェード特性）は上述したようなクロスフェード完了時刻などの絶対時間に依存することに限らず、所定のクロスフェード特性のいずれかを用いるレート依存、予め奏法モジュール毎に組み合わせられたクロスフェード特性を用いる組み合わせ依存などであってよい。
なお、上述した加速処理において、奏法合成部１０２から次のデータに関する指示がなされる前に、クロスフェード合成用に既に次のデータが自動的に準備されているような場合には、そのデータをキャンセルするとよい。こうすると、奏法合成部１０２から指示された次のデータに滑らかに繋がるようになってよい。
なお、クロスフェード合成の完了時刻を早める際に用いる加速時間は、ユーザが適宜に任意の時間を設定できるようにしてあってもよいし、奏法に応じて予め異なる時間を決めておくようにしてあってもよい。また、加速時間を長くすることで、クロスフェード完了時刻を予め決められた完了時刻よりも遅くするようにすれば、その分だけ波形遷移を遅らせることもできる。
【００４０】
なお、上述した各実施例においては演奏操作子５からのノートオンやノートオフといったＭＩＤＩ情報に基づいて楽音を合成するようにしたがこれに限らず、予め外部記憶装置４などに記憶された例えば１曲分の楽曲に関する複数のＭＩＤＩ情報を演奏順に記憶した楽曲データなどに基づいて楽音を合成するようにしたものであってもよいことは言うまでもない。すなわち、鍵盤演奏にあわせて奏法スイッチを操作して奏法付加のコントロールを行うのではなく、楽曲データに基づく楽曲演奏にあわせて適宜に奏法スイッチを操作して奏法付加のコントロールを行うようにしてもよい。さらには、奏法スイッチ操作に基づくＭＩＤＩ情報のみを予め記憶しておき、該ＭＩＤＩ情報に従って奏法付加のコントロールを自動的に行い、ユーザは鍵盤演奏だけを行うようにしてもよい。
【図面の簡単な説明】
【００４１】
【図１】この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。
【図２】部位毎の奏法モジュールを説明するための概念図である。
【図３】当該電子楽器で実行する楽音合成処理の概要を示すブロック図である。
【図４】演奏解釈処理の一実施例を示すフローチャートであり、図４（ａ）はノートオンイベントデータを受信した場合、図４（ｂ）はノートオフイベントデータを受信した場合を示す。
【図５】奏法合成処理の一実施例を示すフローチャートである。
【図６】加速処理の一実施例を示すフローチャートである。
【図７】加速クロスフェード合成をリリース部に適用して楽音合成を行う場合の概要を示す概念図である。
【図８】加速クロスフェード合成をジョイント部に適用して楽音合成を行う場合の概要を示す概念図である。
【図９】第１及び第２の２つの発音チャンネルを用いて１音の合成を行う場合における従来知られた楽音合成の概要を示す概念図である。
【符号の説明】
【００４２】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…外部記憶装置、５…演奏操作子、６…操作子、７…表示器、８…音源、８Ａ…サウンドシステム、９…インタフェース、１Ｄ…通信バス、１００…演奏受信部、１０１…演奏解釈部、１０２…奏法合成部、１０３…波形合成部
【図１】
2006330532.tif 000003
【図２】
2006330532.tif 000004
【図３】
2006330532.tif 000005
【図４】
2006330532.tif 000006
【図５】
2006330532.tif 000007
【図６】
2006330532.tif 000008
【図７】
2006330532.tif 000009
【図８】
2006330532.tif 000010
【図９】
2006330532.tif 000011