(57)【特許請求の範囲】
【請求項１】
持続音用の波形データをダイナミクス値に対応付けて記憶する記憶手段と、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する取得手段と、
前記取得したダイナミクス値に対応する波形データを前記記憶手段から特定する特定手段と、
前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する決定手段と、
前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する楽音合成手段と
を具えた楽音合成装置。
【請求項２】
異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶する記憶手段と、
発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する取得手段と、
前記取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する特定手段と、
前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する決定手段と、
前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する楽音合成手段と
を具えた楽音合成装置。
【請求項３】
同一のユニット内に含まれる波形データに基づく波形切り替えであるか否かを判定する判定手段をさらに備えてなり、
前記決定手段は、前記判定に従って同一のユニット内に含まれる波形データに基づく波形切り替えである場合と、同一のユニット内に含まれる波形データに基づく波形切り替えでない場合とで、波形切り替え時間を異ならせることを特徴とする請求項２に記載の楽音合成装置。
【請求項４】
前記決定手段は、前記ダイナミクス変化量又はピッチ変化量が所定値よりも大きい場合に、波形切り替え時間を基準時間よりも短い時間に決定し、前記ダイナミクス変化量又はピッチ変化量が所定値よりも小さい場合に、波形切り替え時間を基準時間よりも長い時間に決定することを特徴とする請求項１乃至３のいずれかに記載の楽音合成装置。
【請求項５】
持続音用の波形データをダイナミクス値に対応付けて記憶するメモリを使用して、コンピュータに、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
前記取得したダイナミクス値に対応する波形データを前記メモリから特定する手順と、
前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する手順と、
前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する手順と
を実行させるためのプログラム。
【請求項６】
異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶するメモリを使用して、コンピュータに、
発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する手順と、
前記取得したダイナミクス値に対応するユニットを前記メモリから選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する手順と、
前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する手順と、
前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する手順と
を実行させるためのプログラム。
【請求項７】
同一のユニット内に含まれる波形データに基づく波形切り替えであるか否かを判定する手順をさらに備えてなり、
前記波形切り替え時間を決定する手順は、前記判定に従って同一のユニット内に含まれる波形データに基づく波形切り替えである場合と、同一のユニット内に含まれる波形データに基づく波形切り替えでない場合とで、波形切り替え時間を異ならせることを特徴とする請求項６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形メモリ等に記憶した波形サンプルデータに基づいて、楽音あるいは音声若しくはその他任意の音を合成する楽音合成装置及びプログラムに関する。特に、音が持続的に続く持続音部での楽音波形を、波形切り替え時間（所謂クロスフェード期間）を可変制御しながら合成する楽音合成装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、実際の自然楽器の演奏に基づいてサンプリングした、ビブラート変調（ピッチ変調）のかかった連続的波形のビブラート１周期の範囲の中から、分散的に複数の波形を取り出し、該取り出した複数波形それぞれをテンプレート波形として記憶しておき、楽音再生時にはこれらのテンプレート波形を、所定のシーケンス順に従って順々に切り替えながら繰り返し読み出すことによって、複数ビブラート周期にわたるビブラート奏法波形を高品質に合成する楽音合成装置が知られている。例えば、下記に示す特許文献１に記載されている発明がその一例である。この特許文献１に示されたような従来の装置において、テンプレート波形を切り替える際には、隣り合うテンプレート波形同士を、予め設定されている所定の波形切り替え時間（所謂クロスフェード期間）に従ってクロスフェード合成することで、波形の遷移が滑らかに行われるようにしている。
【特許文献１】特許第3669177号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１に示されたような高品質な楽音合成を可能にする従来の装置においては、所定のシーケンス順に従ってテンプレート波形を読み出すのみであり、楽音合成の最中に随時に入力されるダイナミクス情報（楽音音量レベル情報）やピッチベンド情報（ピッチ変調情報）などに応じて、その楽音特性を随時任意に変更できるようになってはいない。また、クロスフェード合成の際に用いるクロスフェード期間には、経験的に所定の基準時間（例えば５０ｍｓ（ミリ秒））が音色変化を反映したバランスのとれた時間として用いられており、楽音合成の最中に随時に入力されるダイナミクス情報やピッチベンド情報などの音色変化を伴う波形切り替えの契機（トリガ）となる情報に従って、個々の波形切り替えに最適なクロスフェード期間を設定できるようになっていない。そのため、例えば「スフォルツァンド（sforzando）」から「ピアノ（piano）」などのように入力ダイナミクス値が急激に変化したような場合には、波形の切り替えが時間的に遅れる、つまり入力ダイナミクス値の変化に音色変化が時間的に十分に追従しないことが生じてしまい都合が悪い。反対に、入力ダイナミクス値が時間的にゆっくりと変化したような場合には、波形の切り替えが本来よりも早い時間に完了してしまうことによって、当該箇所において階段状の音色変化が現れることとなり、こうした階段状の音色変化はユーザの耳につきやすく耳障りである、という不都合があった。
【０００４】
本発明は上述の点に鑑みてなされたもので、楽音の持続音部における時間的な音色変動を含む奏法に従う楽音波形を高品質に合成する際に、入力ダイナミクス情報や入力ピッチベンド情報に応じてその楽音特性を可変制御しうるとともに、個々の波形遷移に最適な波形切り替え時間を動的に設定することができる楽音合成装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る楽音合成装置は、持続音用の波形データをダイナミクス値に対応付けて記憶する記憶手段と、持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する取得手段と、前記取得したダイナミクス値に対応する波形データを前記記憶手段から特定する特定手段と、前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する決定手段と、前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する楽音合成手段とを具える。
【０００６】
本発明によると、ダイナミクス値を所定の時間間隔で間欠的に取得し、記憶手段から該取得したダイナミクス値に対応する持続音用の波形データを特定する。記憶手段は、持続音用の波形データをダイナミクス値に対応付けて複数記憶している。また、特定した波形データへと波形を切り替えながら楽音波形を生成する際には、前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき波形切り替え時間の決定を行い、該決定した波形切り替え時間を用いて適宜に波形合成を実行する。このように、予め記憶しておいた複数の波形データから音色変化を実現するために使用すべき波形データを、所定の時間間隔で間欠的に取得されるダイナミクス値に応じて特定するとともに、ダイナミクス変化量に基づき波形切り替え時間を適宜に決定し動的に変更さながら楽音を合成するようにしたことから、適宜に入力されるダイナミクス値に応じて楽音特性を可変制御しうることができるだけでなく、そうした制御を行う際において、音色変化の反応（追従性）が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる。
【０００７】
本発明の請求項２に係る楽音合成装置は、異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶する記憶手段と、発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する取得手段と、前記取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する特定手段と、前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する決定手段と、前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する楽音合成手段とを具える。このように、予め記憶しておいた複数の波形データから音色変化を実現するために使用すべき波形データを、所定の時間間隔で間欠的に取得されるダイナミクス値及びピッチ情報に応じて特定するとともに、それらダイナミクス変化量又はピッチ変化量に基づき音色変化にかける波形切り替え時間を適宜に決定し動的に変更さながら楽音を合成するようにしたことから、適宜に入力されるダイナミクス値やピッチ情報に応じて楽音特性をより細やかに可変制御しうることができるだけでなく、そうした制御を行う際において、音色変化の反応（追従性）が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる。
【０００８】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００９】
本発明によれば、楽音合成に使用すべき持続音用の波形データを、間欠的に取得されるダイナミクス値に基き特定するとともに、該特定した波形データへと波形を切り替える際に用いる波形切り替え時間を、前記ダイナミクス値の取得時におけるダイナミクス変化量に応じて動的に変更できるようにしたことから、音色変化の反応（追従性）が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる、という効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１１】
図１は、この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示す電子楽器は、演奏者による演奏操作子５の操作に伴い演奏進行に応じて供給される演奏情報（ノートオンイベントやノートオフイベントなどの演奏イベントデータ、ダイナミクス情報やピッチ情報などの各種コントロールデータを含む）に基づいて電子的に楽音を発生させたり、あるいは演奏進行順に順次に供給される予め作成済みの演奏情報に基づいて、自動的に楽音を発生する楽音合成機能を有する。また、前記楽音合成機能の実行時においては、１音のうち音が連続する部分である楽音の持続音部（ボディ部とも呼ばれる）について、演奏情報に含まれるダイナミクス値及びピッチベンド値（ピッチ情報）に基づき、新たに使用すべきオリジナルの波形サンプルデータ（以下、単に波形データと呼ぶ）の選択を行い、該選択された波形データに従って楽音を合成することにより、前記持続音部の楽音として、特にビブラート奏法やピッチベンド奏法などの少なくとも時間的な音色変動及びピッチ変化を含む奏法の楽音を高品質に再現することのできるようにしている。こうした楽音の持続音部に関する楽音合成処理の詳細な説明については、後述する。
【００１２】
なお、この実施例に示す電子楽器はここに示す以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。また、音源としては、例えば様々な楽器毎の特有な奏法に対応する波形データとして、アタック部、リリース部、持続音部あるいはジョイント部などの１音についての一部区間において所定の奏法に対応した波形全体を記憶しておき（所謂奏法モジュール）、これらを時系列的に複数組み合わせることで１音又は連続する複数音の楽音を形成することにより、自然楽器固有の各種奏法若しくはアーティキュレーションによる音色変化を忠実に表現した奏法などのリアルな再現とその制御を目的としたAEM（Articulation Element Modeling）と称する楽音波形制御技術を用いた音源（所謂AEM音源）を用いた場合を例にして説明する。
【００１３】
図１に示した電子楽器はコンピュータを用いて構成されており、そこにおいて、上記したような楽音合成機能を実現する各種の楽音合成処理（後述する図４に示す「持続音部合成処理」など）は、コンピュータが各々の処理を実現する所定のプログラム（ソフトウエア）を実行することにより実施される。勿論、これらの各処理はコンピュータソフトウエアの形態に限らず、DSP（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
【００１４】
本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えば、データ及びアドレスバスなど）を介してＲＯＭ２、ＲＡＭ３、外部記憶装置４、演奏操作子５、パネル操作子６、表示器７、音源８、インタフェース９がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。すなわち、タイマ１Ａは時間間隔を計数したり、所定の演奏情報に従って楽曲を演奏する際の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、パネル操作子６の中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ１ＡからのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられる。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１５】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラム、あるいは波形メモリとして様々な楽器毎の特有な奏法（特に、時間的なピッチ変動及び音色変動を伴うビブラート奏法やピッチベンド奏法など）に対応する波形データ等の各種データを格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置４は、自動演奏の元となる演奏情報や奏法に対応する波形データなどの各種データや、ＣＰＵ１により実行あるいは参照される「持続音部合成処理」（図４参照）などの各種制御プログラム等を記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置４はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００１６】
演奏操作子５は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５は演奏者自身の手弾きによる楽音のマニュアル演奏のために使用できるのは勿論のこと、自動演奏対象とする予め用意されている演奏情報を選択するなどの入力手段として使用することもできる。勿論、演奏操作子５は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよいことは言うまでもない。パネル操作子（スイッチ等）６は、例えば自動演奏対象とする演奏情報を選択するための演奏情報選択スイッチ、演奏の際に使用する音色・効果などの各種演奏パラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器７に表示された各種画面の位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。表示器７は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、上記スイッチ操作に応じた各種画面を表示するのは勿論のこと、演奏情報や波形データなどの各種情報あるいはＣＰＵ１の制御状態などを表示することもできる。演奏者は該表示器７に表示されるこれらの各種情報を参照することで、演奏の際に使用する各種演奏パラメータの設定や自動演奏曲の選択などを容易に行うことができる。
【００１７】
音源８は例として複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。ここに示す電子楽器においては、演奏情報内のダイナミクス情報及びピッチベンド情報に対応する波形データがＲＯＭ２や外部記憶装置４などから読み出されると、該読み出された波形データはバスラインを介して音源８に与えられて適宜バッファ記憶される。そして、音源８ではバッファ記憶された波形データを所定の出力サンプリング周波数に従い出力する。この音源８から発生された楽音信号は、図示しない効果回路（例えばDSP（Digital Signal Processor））などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はサウンドシステム８Ａに与えられて発音される。
【００１８】
インタフェース９は該電子楽器と外部の演奏情報生成機器（図示せず）などとの間で各種情報を送受するための、例えばMIDIインタフェースや通信インタフェースなどである。MIDIインタフェースは、外部の演奏情報生成機器（この場合には、他のMIDI機器等）からMIDI規格の演奏情報を当該電子楽器へ供給したり、あるいは当該電子楽器からMIDI規格の演奏情報を他のMIDI機器等へ出力するためのインタフェースである。他のMIDI機器はユーザによる操作に応じてMIDI形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。通信インタフェースは、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワーク（図示せず）に接続されており、概通信ネットワークを介して、外部の演奏情報生成機器（この場合には、サーバコンピュータ等）と接続され、当該サーバコンピュータから制御プログラムや演奏情報などの各種情報を該電子楽器に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置４等に制御プログラムや演奏情報などの各種情報が記憶されていない場合に、サーバコンピュータから各種情報をダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース及び通信ネットワークを介してサーバコンピュータへと制御プログラムや演奏情報などの各種情報のダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された各種情報を通信ネットワークを介して本電子楽器へと配信し、本電子楽器が通信インタフェースを介して各種情報を受信して外部記憶装置４等に蓄積することにより、ダウンロードが完了する。
【００１９】
なお、上記インタフェース９をMIDIインタフェースで構成した場合、該MIDIインタフェースは専用のMIDIインタフェースを用いるものに限らず、RS232-C、USB（ユニバーサル・シリアル・バス）、IEEE1394（アイトリプルイー1394）等の汎用のインタフェースを用いてMIDIインタフェースを構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のMIDI機器はMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏情報に関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェースと他のMIDI機器はそれにあった構成とする。
【００２０】
図１に示した電子楽器においては、演奏者による演奏操作子の操作に伴い発生される演奏情報、あるいは予め用意されたSMF（Standard MIDI File）形式等の演奏情報に基づいて楽音を連続的に発生させることのできる楽音合成機能を有すると共に、該楽音合成機能の実行時において、演奏者による演奏操作子５の操作に伴う演奏進行に応じて供給される演奏情報（あるいは、シーケンサーなどから演奏進行順に順次に供給される演奏情報）に含まれるダイナミクス情報及びピッチベンド情報に基づいて、持続音部について新たに使用すべき波形データの選択を行い、該選択された波形データに従って楽音を合成するようにしている。そこで、こうした楽音合成機能の概要について、図２を用いて説明する。図２は、当該電子楽器が有する楽音合成機能を説明するための機能ブロック図である。図２において、図中の矢印はデータの流れを表すものである。
【００２１】
楽音合成機能の開始に伴い、まず奏法合成部Ｊ３に対して入力部Ｊ２から演奏情報が演奏進行順に順次に供給される。入力部Ｊ２としては、演奏者による演奏操作に応じて適宜に演奏情報を発生する演奏操作子５や、予めＲＯＭ２等に記憶した演奏情報を演奏進行順に供給するシーケンサー（図示せず）などの入力装置がある。こうした入力部Ｊ２から供給される演奏情報は、ノートオンイベントやノートオフイベント（これらを総称してノート情報と呼ぶ）などの演奏イベントデータと、ダイナミクスやピッチベンドなどのコントロールデータとを少なくとも含む。すなわち、入力部Ｊ２を介して入力されるダイナミクス情報やピッチベンド情報には、演奏操作子５の演奏操作に基づきリアルタイムに発生されるもの（例えば、鍵押圧時のアフタータッチセンサ出力データ、ピッチベンドホイール等のピッチ操作手段操作時のピッチベンドチェンジデータなど）もあれば、予め記憶又はプログラムされた自動演奏情報に基づくものもある。
【００２２】
奏法合成部Ｊ３では演奏イベントデータやコントロールデータなどを受け取ると、例えばノート情報に対応する１音をアタック部、持続音部（ボディ部）、リリース部などの一部区間毎に区分したり、持続音部はどの時間から始まるかを特定したり、あるいはコントロールデータとして受け取った情報を用いてゲインやピッチの情報を生成したりするなどして、楽音を合成するために必要とされる各種情報を含む「奏法情報」を生成する。この実施例において、持続音部の楽音を合成するための「奏法情報」を生成する際には、奏法合成部Ｊ３はデータベースＪ１（波形メモリ）にあるデータテーブルなどを参照して、持続音部に適用するための多数のユニット（後述する図３参照）の中から入力されたダイナミクス情報に対応する１組のユニットを選択し、さらに該選択した１組のユニット内に定義されている複数の波形データの中から、入力されたピッチベンド情報に対応する波形データを１つ選択する。
【００２３】
そして、奏法合成部Ｊ３は上記したような波形データの選択にあわせて、選択した波形データと時間的に先行する１つ前の波形データとを滑らかに接続するクロスフェード合成を行う際に用いる「波形切り替え時間」（クロスフェード期間）を、入力されたダイナミクス情報やピッチベンド情報などに応じて適宜に変更しながら設定する。こうして、選択した波形データに付されている固有の波形番号（ID）や前記設定した「波形切り替え時間」などを含む「奏法情報」を生成する。こうした持続音部に係る楽音合成処理については、後述する。楽音合成部Ｊ４では奏法合成部Ｊ３が生成した前記「奏法情報」に基づき、データベースＪ１から使用する波形データなどを適宜に読み出して楽音合成を行う。この際に、楽音合成部Ｊ４では、「奏法情報」に従って波形切り替え時間を適宜に変更しながら波形データの切り替えを行うことで、持続音部の楽音を合成していく。このようにして、時間的な音色変動を含む奏法に従う楽音を出力する。
【００２４】
ここで、上述したデータベースＪ１（波形メモリ）に記憶されるデータのうち、持続音部に適用する波形データのデータ構造について、図３を用いて説明する。図３は、データベースにおける持続音部に適用する波形データのデータ構造を示す概念図である。縦軸はピッチシフトなし（０ｃｅｎｔ）を基準とするピッチシフト量を表すピッチベンド値を、横軸は楽音音量レベルを表すダイナミクス値を示す。なお、図中において楕円で表す範囲の各ユニット下部には、便宜的に各ユニット固有のユニット番号「Ｕ１〜Ｕ５」を付してあり、またこれらの各ユニットＵ１〜Ｕ５に含まれる（定義されている）１乃至複数の波形データを、楕円内に黒く塗りつぶした丸で表している。すなわち、この図３に示す実施例は、ユニットＵ１〜Ｕ５のそれぞれが５つの波形データを含むものを例示している。
【００２５】
データベースＪ１においては、持続音部に適用する波形データとそれに関連するデータ群とを「ユニット」として記憶している。図３に示すように、各ユニットＵ１〜Ｕ５はダイナミクス値にそれぞれ対応付けられており、こうしたダイナミクス値に対応付けられたユニットを、各音高（図では便宜上Ｃ３、Ｄ３、Ｅ３のみ示している）毎に１乃至複数個記憶している。例えば、１つの名目的な音色（ピアノやギター等の楽器音色、つまり音色情報で選択可能な１つの音色）について、３５種の音高（音階音）のそれぞれにダイナミクス値に対応付けられた５組のユニットを記憶するものとすると、データベースＪ１全体では当該名目的な音色について１７５組（３５×５）のユニットを記憶することになる。
【００２６】
１つのダイナミクス値に対応する１組のユニットＵ１〜Ｕ５には、ピッチシフト量（例えばセント単位）に対応する複数個の異なる音色の波形データが含まれる。この１組のユニットＵ１〜Ｕ５に含まれる個々の波形データは、同じ音高であっても各ダイナミクス値に対応する各ユニットのそれぞれで異なる音色上の特徴を持つ楽音波形（つまり波形形状が異なる楽音波形）からなる。波形データを記憶する際には、例えばそれぞれのダイナミクスで演奏されたビブラート１周期にわたる複数波形周期からなる波形データ（ビブラート付与された波形データ）のうち、多様に音色変化する複数の一部波形を適宜に選んで取り出し、該取り出した波形を１組の「ユニット」として使用する（記憶する）。具体的な一例としては、或る名目的な音色（例えばサックス）の或る１つの音高（ノート）に対応する或る１つのダイナミクス値に対応して、ピッチシフトなし（０セント）の波形データを含む−２０セント乃至＋２０セントの範囲の複数ステップ（例えば１０セントきざみ）のピッチシフトに対応し、かつ音色が異なる一部範囲の波形データを選び、該選んだ波形データを１組の「ユニット」として使用する（記憶する）。したがって、図３に示すように、この実施例では音高（音階音）毎に複数の異なる音色の波形データを、ダイナミクスとピッチ（ピッチシフト量）とで管理することのできるように、データベースＪ１（外部記憶装置４など）の記憶領域において、２次元のマトリックス状にデータマッピングするようにしている。こうした場合には、上記データベースＪ１において、各ユニットＵ１〜Ｕ５毎に波形データと共に付加的に記憶されるデータ群として、例えばその記憶している波形データに付属して基準とするダイナミクス情報及びピッチベンド情報（ピッチシフト量）を持たせる。こうすることにより、記憶済みの波形データの中から、指示された入力ダイナミクス値及び入力ピッチベンド値に対応する波形データを検索／選択することができるようになる。また、こうしたデータ群は、「データテーブル」として一括管理することができるようにしている。
【００２７】
なお、上記各ユニットＵ１〜Ｕ５に含まれる波形データは、１周期の波形を記憶するものに限らず、２又はそれ以上の複数周期の波形を記憶するものであってもよいし、あるいは、公知のように１／２周期等の１周期未満の波形を記憶するものであってもよい。
なお、図３においては、各ユニットＵ１〜Ｕ５に含まれる波形データがダイナミクス方向において均等の間隔毎に並ぶようにデータマッピングされていない例を示したが、各ユニットＵ１〜Ｕ５に含まれる波形データがダイナミクス方向において均等の間隔毎に並ぶようにデータマッピングしてあってよい。また、各ユニットＵ１〜Ｕ５に含まれる波形データがピッチ方向において均等の間隔毎に並ぶようにデータマッピングされている例を示したが、各ユニットＵ１〜Ｕ５に含まれる波形データがピッチ方向において均等の間隔毎に並ばないようにデータマッピングするようにしてあってよい。そうなるように、複数周期からなる波形データのうち、多様に音色変化する複数の一部波形を適宜に選んで記憶する。例えば、ユニットＵ１は１０セントきざみ、ユニットＵ２は５セントきざみなどのようにして、各ユニットＵ１〜Ｕ５毎に、ピッチシフトなし（０セント）を基準とした所定範囲の複数ステップのセントきざみの大きさを変えて波形データを選び、これを記憶するようにするとよい。なお、その際の基準とするピッチシフト量を、ピッチシフトなし（０セント）以外の任意のピッチシフト量に設定できるようにしてもよい。
なお、個別の音高（音階音）毎にこのようなユニットをそれぞれ記憶することなく、２又はそれ以上の音高（例えばＣ３とＣ＃３など）のグループに対応して上記したユニットを記憶するようにしてもよい。
【００２８】
次に、持続音部の楽音波形を合成する「持続音部合成処理」を実現する具体的な処理動作について、図を用いて説明する。図４は、「持続音部合成処理」の一実施例を示したフローチャートである。当該処理は、演奏開始と共にカウントが開始されるタイマ１Ａに応じて、該電子楽器におけるＣＰＵ１により例えば１ｍｓ（ミリ秒）毎に実行される割り込み処理である。この「持続音部合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、例えばビブラート奏法あるいはピッチベンド奏法などによって１つの楽音の発音中にそのピッチ及び音色が微妙に又は複雑に時間的に変化する特性で、楽音の持続音部を合成するために実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、こうしたアタック部の波形合成処理に引き続いて、ここに示す「持続音部合成処理」が行われる。また、この「持続音部合成処理」においては、ノート情報によって発生すべき楽音の音高（ノート）が指定され、かつ、ピッチベンドホイール等のピッチ操作手段の操作に応じて、ピッチベンド情報がリアルタイムで入力される。なお、ノート情報は当該音のノートオン時にＲＡＭ３に記憶された情報を用い、ダイナミクス情報及びピッチベンド情報は、当該操作子から入力がされた際に奏法合成部Ｊ３において最新値としてＲＡＭ３に記憶された情報を用いる。
【００２９】
ステップＳ１は、現在合成中の波形（アタック部波形）がアタック部の終端に到来したか否か、又はその後において所定の時間間隔（例えば１０ｍｓ間隔）の境目のタイミングが到来したか否かを判定する。アタック部の終端に到達していない、又はその後における所定の時間間隔（１０ｍｓ毎）の境目のタイミングが到来していないと判定した場合には（ステップＳ１のＮＯ）、当該処理を終了し、次の割り込みまでこの図４の処理は行われない。つまり、アタック部の終端のタイミングまでの間においては、アタック部の波形データに基づきアタック部の楽音合成が行われて、この「持続音部合成処理」はまだ実質的には行われることがない。また、アタック部以降における１０ｍｓ間隔の境目のタイミングでない持続音部においても、後述するような新たな波形データを特定する処理（ステップＳ４参照）を行うことなく、次の割り込み時刻（１ｍｓ後）まで待つ。したがって、その間については、入力ダイナミクス値及び入力ピッチベンド値に応じた波形データの切り替えが行われることがない。
【００３０】
他方、アタック部の終端が到来した、又は所定の時間間隔（１０ｍｓ毎）の境目のタイミングが到来したと判定した場合には（ステップＳ１のＹＥＳ）、記憶されている最新の入力ダイナミクス値及び入力ピッチベンド値を取得する（ステップＳ２）。ステップＳ３は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースＪ１から該当するユニットを１つ選択する。この入力ダイナミクス値に基くユニットの選択については、後述する（図８参照）。ステップＳ４は、前記選択されたユニットから、前記取得した入力ピッチベンド値に従って波形データを１つ特定する。
【００３１】
ステップＳ５は、波形の切り替え処理中であるか否かを判定する。すなわち、現在実行中の楽音合成が隣り合う２つの波形データのクロスフェード合成によるものであるか否かを判定する。波形の切り替え中であると判定した場合には（ステップＳ５のＹＥＳ）、当該処理を終了する。すなわち、既に波形の切り替えを行いながら楽音を合成している最中である場合には、以下に示すような入力ダイナミクス値及び入力ピッチベンド値に応じた波形データへの切り替えを行わない。他方、波形の切り替え中でないと判定した場合、つまり１つの波形データを繰り返し読み出しながら楽音を合成している場合には（ステップＳ５のＹＥＳ）、前記ステップＳ４において特定した波形データの音色が、現在合成中の波形データの音色と異なるか否かを判定する（ステップＳ６）。なお、ステップＳ５の処理はステップＳ２の直前に行ってもよい。特定した波形データの音色が現在合成中の波形データの音色と同じ音色であると判定した場合には（ステップＳ６のＮＯ）、ステップＳ８の処理へジャンプする。特定した波形データの音色が現在合成中の波形データの音色と異なる音色であると判定した場合には（ステップＳ６のＹＥＳ）、「波形切り替え時間制御処理」を実行する（ステップＳ７）。この「波形切り替え時間制御処理」については、後述する（後述の図５参照）。
【００３２】
ステップＳ８は、選択された波形データを加工するための奏法情報を生成する。すなわち、選択された波形データの時間的な配置位置などを決定すると共に、入力されたピッチベンド情報などに基づき波形データを加工するための奏法情報を生成する。ここで、加工とはピッチ調整処理を含む。例えば、入力されたピッチベンド情報に対応する波形データが、前記ピッチベンド情報が指示するピッチシフト量に一致していないような場合に、該選択した波形データの生成ピッチを調整することで、ピッチベンド情報が指示するピッチシフトが得られるように調整するための情報を生成する。こうして必要な奏法情報が生成され、ステップＳ９は、該生成された奏法情報に従って持続音部の楽音を合成する。この際に、波形切り替え前後の波形をクロスフェード合成することにより、滑らかに波形が切り替わるようにする。
【００３３】
次に、上述した「持続音部合成処理」（図４参照）において実行する「波形切り替え時間制御処理」について、図５を用いて説明する。図５は、「波形切り替え時間制御処理」の一実施例を示すフローチャートである。
【００３４】
ステップＳ１１は、同じユニット内にある他の波形データ（音色は異なる）への波形切り替えであるか否かを判定する。すなわち、上記特定した波形データと現在合成中の波形データとが共に、同一のユニットに含まれる波形データであるか否かを判定する。現在の楽音合成中にダイナミクス値が変化しておらず、上記特定した波形データが同じユニット内にある他の波形データへの切り替えであると判定した場合には（ステップＳ１１のＹＥＳ）、特定した波形データと時間的に先行する１つ前の波形データとを滑らかに接続するクロスフェード合成を行う際に用いる「波形切り替え時間」（クロスフェード期間）を５０ｍｓに決定し、該決定した「波形切り替え時間」（ここでは基準時間である５０ｍｓ）を奏法情報に設定する（ステップＳ１４）。他方、現在の楽音合成中にダイナミクス値が変化しており、上記特定した波形データが同じユニット内にある波形データへの切り替えでないと判定した場合、つまり波形データを選択したユニットそのものが変更されている場合には（ステップＳ１１のＮＯ）、一例として現在時点よりも１００ｍｓ前の時点において記録された１００ｍｓ前の入力ダイナミクス値と、上記図４のステップＳ２において現在時点で取得された現在の入力ダイナミクス値との差の絶対値を計算する（ステップＳ１２）。そして、後述する図６に示すようなテーブル等を参照することにより、該計算した絶対値に応じた「波形切り替え時間」を決定し、該決定した「波形切り替え時間」を奏法情報に設定する（ステップＳ１３）。
【００３５】
ここで、上記「波形切り替え時間制御処理」（図５参照）において、１００ｍｓ前の時点における入力ダイナミクス値と現在時点で取得された入力ダイナミクス値との差の絶対値（つまりダイナミクス変化量）に基いて、「波形切り替え時間」を決定する際に参照するテーブルについて、図６を用いて説明する。図６は、ダイナミクス変化量（前記絶対値（ΔＤ））に基き波形切り替え時間を決定する際に参照するテーブルの一実施例である。図６に示すテーブルにおいては、左側にダイナミクス変化量（ここでは一例として、１００ｍｓ前の入力ダイナミクス値と取得された入力ダイナミクス値との差の絶対値（ΔＤ））を示し、右側に前記絶対値毎に適用すべき波形切り替え時間を示している。
【００３６】
図６に示すテーブルにおいては、１００ｍｓ前のダイナミクス値と取得された入力ダイナミクス値との差の絶対値（ΔＤ）が「１〜５ｄＢ（デシベル）」である場合に、波形切り替え時間を「５０ｍｓ」に対応付ける。この「５０ｍｓ」という時間は従来知られた通常の波形切り替え時間、すなわち通常演奏時において音色変化の反応が良いことに加えて音色の階段感を目立たせることなく、バランス良く波形切り替えを行うのに最も適した波形切り替え時間であることから、この実施例ではこの「５０ｍｓ」を基準時間としている。ここで、通常演奏とは、時間的に急激にダイナミクスを変化させたり、時間的にゆっくりと徐々にダイナミクスを変化させたりすることのない演奏である。これに対して、前記絶対値（ΔＤ）が「５ｄＢ以上」である場合、つまり短い時間内に急激にダイナミクスが大きく変化する演奏が行われた場合には、波形切り替え時間を「１０ｍｓ」に対応付ける。この「１０ｍｓ」という規定時間は前記通常演奏の場合に比較して基準時間よりも短縮された時間であり、こうして波形切り替え時間を短縮すると通常演奏時よりも音色変化の切り替えが早く完了されるので、ダイナミクス変化に対する音色変化の追従性がよくなる。一方、前記絶対値（ΔＤ）が「１ｄＢ未満」である場合、つまり長い時間をかけてゆっくりと徐々にダイナミクスが変化する演奏が行われた場合には、波形切り替え時間を「２００ｍｓ」に対応付ける。この「２００ｍｓ」という規定時間は前記通常演奏の場合に比較して基準時間よりも伸張された時間であり、こうして波形切り替え時間を伸張すると通常演奏時よりも音色変化の切り替えがゆっくりと進行されるので、音色の階段感が軽減される。
【００３７】
勿論、上記テーブルを参照して、前記絶対値（ΔＤ）に応じて図示した「１０ｍｓ」、「５０ｍｓ」、「２００ｍｓ」のように、段階的に波形切り替え時間を対応付けることに限らず、前記絶対値（ΔＤ）に応じて連続的に波形切り替え時間を対応付けるようにしてもよい。そうした場合の一例を示すと、図７のようになる。図７は、波形切り替え時間とダイナミクス変化量（絶対値（ΔＤ））との連続的な相関関係を模式的に示す概念図である。この図７に示すように、前記絶対値（ΔＤ）が「１ｄＢ未満」である場合には波形切り替え時間を「２００ｍｓ」に対応付け、前記絶対値（ΔＤ）が「５ｄＢ以上」である場合には波形切り替え時間を「１０ｍｓ」に対応付けている。これは図６に示した場合と同様である。これに対して、前記絶対値（ΔＤ）が「１〜５ｄＢ」である場合には、波形切り替え時間を２００ｍｓ〜１０ｍｓの間で連続的にリニア（又は図示していないが所望の曲線）状に変化させるようにして、前記絶対値（ΔＤ）に対応付ける。こうすると、前記絶対値（ΔＤ）に段階的に波形切り替え時間を対応付けた場合よりも、入力ダイナミクス値の変化に応じた音色変化のタイミングをより細やかに制御することができる。なお、ここに示した波形切り替え時間は一例であり、これに限らない。
【００３８】
なお、上述した実施例では波形切り替え時間を決定する際に、１００ｍｓ前の時点におけるダイナミクス値と現在時点において取得されたダイナミクス値との差を計算し、この計算値の絶対値（ΔＤ）を用いる例を示したがこれに限らず、前記計算値の符号付きを用いるようにして、前記絶対値（ΔＤ）が同じ値であっても前記符号付きの計算値が正値（つまり、１００ｍｓ前に比べてダイナミクスが増加）である場合と、前記符号付の計算値が負値（つまり、１００ｍｓ前に比べてダイナミクスが減少）である場合とで、波形切り替え時間を異ならせるようにしてあってもよい。また、計算値を求める際に用いるダイナミクス値は、通常演奏時において音色変化の反応が良く、また音色の階段感が目立たない、バランスのとれたクロスフェード期間として経験的に用いられる基準時間「５０ｍｓ」の２倍である「１００ｍｓ」前のダイナミクス値を用いるのが適当であるが、これに限られるものでないことは言うまでもない。
【００３９】
なお、ダイナミクス値の差を求める際に、１００ｍｓ前の時点における値との差に限らず、任意の一定時間前の時点における値でもよく、また一定時間でなく任意の時間前の値でもよい。
なお、ここではダイナミクス値の変化量（上記絶対値（ΔＤ）など）に応じて波形切り替え時間を決定する例を示したがこれに限らず、ダイナミクス値の変化量に基く場合と同様にして、例えば１００ｍｓ前の時点におけるピッチと現在時点におけるピッチとの変化量（つまりピッチ変化量）に応じて、波形切り替え時間を決定するようにしてもよい。前記ピッチは、演奏情報に含まれるノート（音高）情報とピッチベンド値とにより求まる。
【００４０】
なお、データベースに記憶したユニット毎に代表的なダイナミクス値（例えば、該ユニット内に含まれる波形データの平均ダイナミクス値など）を１つデータテーブルに記憶しておき、波形切り替え時において、波形切り替え前のユニットの前記ダイナミクス値と、特定された波形切り替え後のユニットの前記ダイナミクス値との差を計算し、該計算値に基き適用すべき波形切り替え時間を決定するようにしてもよい。
なお、図６に示したテーブルなどの代わりに、データベースに記憶したユニット毎に付与されるユニット番号（Ｕ１、Ｕ２、…など）差と波形切り替え時間とを対応付けたテーブルを用意しておき、波形切り替え時に、波形切り替え前のユニットに付されているユニット番号と、特定された波形切り替え後のユニットに付されているユニット番号との差を計算し、該計算値に基き前記テーブルを参照して適用すべき波形切り替え時間を決定するようにしてもよい。
【００４１】
次に、上記「持続音部合成処理」（図４参照）による持続音部における楽音合成手順について、図８及び図９を参照しながら説明する。図８は、「持続音部合成処理」による楽音合成手順のうち、ユニット選択及び波形データ選択（図４のステップＳ３及びステップＳ４参照）について模式的に説明するための概要図である。ここで、図８（ａ）は入力ダイナミクス値の時間変化を例示した図であり、縦軸は入力ダイナミクス値、横軸は時間を示す。図８（ｂ）は、入力ダイナミクス値及び入力ピッチベンド値に対応して、データベース内に記憶されている波形データの選択について説明するための図である。図９は、入力ダイナミクス値及び入力ピッチベンド値に応じて選択される、各波形データの時系列的組み合わせを例示したものである。図９（ａ）は、１波構成の波形データを用いた場合の時系列的組み合わせを図示したものである。図９（ｂ）は、複数波構成の波形データを用いた場合の時系列的組み合わせを図示したものである。ここで、図９（ｂ）では便宜的に隣り合う波形データを上下２段に分けて別々に図示することで、隣り合う波形データそれぞれのフェードイン／フェードアウトが重なり合うことのないように図示している。なお、以下の説明では、音高「Ｃ３」に対応する楽音を生成するものとし、波形生成前に当該発生すべき音高「Ｃ３」に対応する楽音に関してのノート情報を取得済みであるものとする。また、時刻ａよりも前の時点では、ユニットＵ１の波形データ「１」を用いた楽音合成が繰り返しなされているものとする。なお、ここでは図中に示すようにして、ユニット番号（Ｕ１〜Ｕ５など）と波形番号（１〜５など）との組み合わせからなる「Ｕ１−１」の表示により、波形データを表記する。
【００４２】
まず、図８（ａ）に示す時刻ａがアタック部の終端、又はその後の所定の時間間隔（１０ｍｓ間隔）の境目と一致するタイミングであるような場合には、その時点で最新の入力ダイナミクス値及び入力ピッチベンド値を取得する。そして、既に取得済みの音高「Ｃ３」に関するノート情報と前記取得した入力ダイナミクス値とに基づき、データベースに記憶された該当音高「Ｃ３」に対応付けられたユニットＵ１〜ユニットＵ５の中から、ユニットを１つ選択する。図８（ｂ）に示す例では、取得した入力ダイナミクス値が閾値「ｄ１未満」であるならばユニットＵ１、入力ダイナミクス値が閾値「ｄ１以上ｄ２未満」であるならばユニットＵ２、入力ダイナミクス値が閾値「ｄ２以上ｄ３未満」であるならばユニットＵ３、入力ダイナミクス値が閾値「ｄ３以上ｄ４未満」であるならばユニットＵ４、入力ダイナミクス値が閾値「ｄ４以上」であるならばユニットＵ５がそれぞれ選択されるようになっている。ここでは、時刻ａの時点で取得した入力ダイナミクス値が「ｄ１以上ｄ２未満」であることから、時刻ａの時点ではユニットＵ２が選択される。
【００４３】
上記ユニットＵ２の選択後、時刻ａの時点で取得した入力ピッチベンド値に基き、前記選択したユニットＵ２内に含まれる複数の波形データ（波形１〜波形５）の中から、波形データを１つ特定する。図８（ｂ）に示す例では、取得した入力ピッチベンド値が閾値「ｐ１未満」であるならば波形１、入力ピッチベンド値が閾値「ｐ１以上ｐ２未満」であるならば波形２、入力ピッチベンド値が閾値「ｐ２以上ｐ３未満」であるならば波形３、入力ピッチベンド値が閾値「ｐ３以上ｐ４未満」であるならば波形４、入力ピッチベンド値が閾値「ｐ４以上」であるならば波形５のデータがそれぞれ選択されるようになっている。ここで、時刻ａの時点で取得された入力ピッチベンド値が一例として「ｐ１未満」であるとすると、前記選択されたユニットＵ２から波形１（Ｕ２−１）を特定する。
【００４４】
現在の楽音合成が波形切り替え中でない、つまり同じ波形データ（ここでは便宜的にユニットＵ１の波形１とする）を繰り返し読み出すことによる楽音合成であり、また前記選択されたユニットＵ２の波形１の音色が先行する波形（Ｕ１−１）の音色と異なる場合には、波形切り替え時間の設定を行う。この際に、先行する波形（Ｕ１−１）と前記特定された波形（Ｕ２−１）とが同じユニットに含まれる波形データへの切り替えでなく、また、時刻ａから１００ｍｓ前のダイナミクス値と、時刻ａの時点において取得された入力ダイナミクス値との差の絶対値が一例として「５ｄＢ」以上であるような場合には、上記図６に示したテーブルを参照して、波形切り替え時間を「１０ｍｓ」に設定する。そして、ユニットＵ２の波形１（Ｕ２−１）を繰り返し読み出し、持続音部の楽音波形を生成する。その際には、先行するユニットＵ１の波形１（Ｕ１−１）と後続する前記選択したユニットＵ２の波形１（Ｕ２−１）とを、前記設定した１０ｍｓだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音を合成していく。ここで、１波構成（１周期分）の波形データを用いた場合には該波形データをループ読み出しするクロスフェード期間として、複数波構成の波形データを用いた場合には隣り合う波形データ同士のクロスフェード期間として、前記設定した波形切り替え時間がそれぞれ適用される。
【００４５】
前記時刻ａから１０ｍｓ後にあたる時刻ｂの時点において、それまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻ｂの時点で取得した入力ダイナミクス値が「ｄ１以上ｄ２未満」であることから、時刻ｂの時点ではユニットＵ２が選択される。また時刻ｂの時点で取得した入力ピッチベンド値に基き、該選択したユニットから対応する波形データを１つ特定する。取得された入力ピッチベンド値が一例として「ｐ１以上ｐ２未満」であるとすると、前記選択されたユニットＵ２から波形２（Ｕ２−２）を特定する。この場合における波形切り替え時間の設定では、先行する波形（Ｕ２−１）と前記特定された波形（Ｕ２−２）とが同じユニット（ここではＵ２）に含まれる波形データへの切り替えであることから、図６に示したテーブルを参照することなく波形切り替え時間を「５０ｍｓ」に設定する（図５のステップＳ１４参照）。したがって、先行するユニットＵ２の波形１（Ｕ２−１）と後続する前記選択したユニットＵ２の波形２（Ｕ２−２）とを、前記設定した５０ｍｓだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
【００４６】
前記時刻ｂの時点から１０ｍｓの時間が経過した時点（図示を省略）において、それまでの間に更新された新たな入力ダイナミクス値及び入力ピッチベンド値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択し、該選択したユニットから該取得した入力ピッチベンド値に対応する波形データを１つ特定する処理を行わない。これは、前記時刻ｂにおいて設定された波形Ｕ２−１から波形Ｕ２−２への波形切り替え時に用いられる波形切り替え時間として「５０ｍｓ」が設定されており、時刻ｂの時点から１０ｍｓの時間が経過した時点においては未だ前記波形間の波形切り替え中であることから、波形切り替えに係る上記処理を実行しない（図４のステップＳ５のＹＥＳ参照）。前記時刻ｂの時点から２０ｍｓ、３０ｍｓ、４０ｍｓの時間が経過したそれぞれの時点（図示を省略）においても、上記１０ｍｓ経過時点と同様であり、波形切り替えに係る上記処理を実行しない。
【００４７】
時刻ｂから５０ｍｓ後の時刻ｃにおいては、前記時刻ｂにおいて設定された波形Ｕ２−１から波形Ｕ２−２への波形切り替えが完了する。そこで、時刻ｃの時点でそれまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻ｃの時点で取得した入力ダイナミクス値が「ｄ３以上ｄ４未満」であることから、時刻ｃの時点ではユニットＵ４が選択される。また時刻ｃの時点で取得した入力ピッチベンド値が一例として「ｐ１未満」であるとすると、前記選択されたユニットＵ４から波形１（Ｕ４−１）を特定する。この場合における波形切り替え時間の設定では、先行する波形（Ｕ２−２）と前記特定された波形（Ｕ４−１）とが同じユニットに含まれる波形データへの切り替えでないことから、図６に示したテーブルを参照して波形切り替え時間を一例として「５０ｍｓ」に設定する。そして、先行するユニットＵ２の波形２（Ｕ２−２）と後続する前記選択したユニットＵ４の波形１（Ｕ４−１）とを、前記設定した５０ｍｓだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
【００４８】
アタック部終端から所定の時間間隔（１０ｍｓ間隔）の境目と一致するタイミングであり、前記先行する波形（Ｕ２−２）から後続する波形（Ｕ４−１）への切り替えが完了する時点となる、前記時刻ｃから５０ｍｓ後にあたる時刻ｄの時点において、それまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻ｄの時点で取得した入力ダイナミクス値が「ｄ２以上ｄ３未満」であることから、時刻ｄの時点ではユニットＵ３が選択される。また時刻ｄの時点で取得した入力ピッチベンド値が一例として「ｐ１未満」であるとすると、前記選択されたユニットＵ３から波形１（Ｕ３−１）を特定する。この際に、先行する波形（Ｕ４−１）と前記特定された波形（Ｕ３−１）とが同じユニットに含まれる波形データへの切り替えでなく、また、時刻ａから１００ｍｓ前のダイナミクス値と、時刻ａの時点において取得された入力ダイナミクス値との差の絶対値が一例として「１ｄＢ」未満であるような場合には、上記図６に示したテーブルを参照して、波形切り替え時間を「２００ｍｓ」に設定する。そして、先行するユニットＵ４の波形１（Ｕ４−１）と後続する前記特定したユニットＵ３の波形１（Ｕ３−１）とを、前記設定した２００ｍｓだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
【００４９】
以上のようにして、持続音部に対する奏法情報の生成を、アタック部終了後から開始される持続音部の楽音合成中に一定周期間隔（１０ｍｓ）で行い、その際には取得した最新の入力ダイナミクス値に対応するユニットに含まれる複数の音色の異なる波形データの中から、取得したピッチベンド値に対応する波形データを特定し、これに基づき生成した奏法情報に従って楽音を合成する。また、先行する波形データと後続する前記特定された波形データとをクロスフェード合成する場合に、ダイナミクス値の変化量、先行する波形データと後続する特定された波形データとの関係に基き、クロスフェード合成を行う際に用いる波形切り替え時間（クロスフェード期間）を適宜の時間に調整して、これに基き楽音を合成するようにしている。こうすることにより、ダイナミクスが短い時間内に急激に変化した場合における音色変化の反応（追従性）を良くすることができ、またダイナミクスが長い時間をかけてゆっくりと変化した場合における音色変化の階段感をなくすことができることから、従って音が持続する持続音部での時間的な音色変動を含む奏法を忠実に再現した楽音を高品質に合成することができるようになる。
【００５０】
なお、上記「持続音部合成処理」（図４参照）において、波形選択した際に波形切り替え中であった場合には、「波形切り替え時間制御処理」を処理しないようにしたが（図４のステップＳ５のＹＥＳ）、そうした場合には現在実行中の波形切り替えに係るクロスフェード合成を加速させて、本来設定されていた波形切り替え時間よりも早い時間に波形の切り替えが完了するようにしてもよい（所謂加速フェード処理）。これによると、ダイナミクス変化に対する音色変化の追従性がさらに上がるという利点がある。なお、加速フェード処理については公知であることから、ここでの説明を省略する。
なお、上記実施例では、波形切り替えが必要か否かに応じて、波形切り替えに係る波形切り替え時間を変更する処理を行うようにしたがこれに限らない。例えば、１０ｍｓ間隔毎にダイナミクス変化量を求め、その値に応じて波形切り替え時間を変更するようにしてもよい。こうすることによっても、ダイナミクス変化に対する音色変化の追従性を上げることができる。
なお、上述した実施例では、ダイナミクス値に対応付けられたユニットの中から、ピッチ情報に対応付けられた異なるピッチの波形データを特定するようにしたがこれに限らず、持続音用の波形データをダイナミクス値に対応付けて記憶しておき、取得したダイナミクス値に応じて波形データを直接特定できるようにしてもよい。ただし、上記実施例のようにすると、ダイナミクス値及びピッチ情報により波形データが特定されて、ダイナミクス変化量又はピッチ変化量に基いて、音色変化にかける波形切り替え時間を適宜に変更設定して楽音を合成することから、ダイナミクス値のみに対応付けることに比べて楽音特性をより細やかに可変制御しうるので有利である。
【００５１】
なお、本発明において使用する波形データは、上述したような各種奏法に対応して「奏法モジュール」化されたものに限らず、その他のタイプのものであってもよい。また、各ユニットの波形データは、メモリに記憶したＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのような適宜の符号化形式からなる波形サンプルデータを単純に読み出すことで生成されるようなものであってもよいし、あるいは、高調波合成演算やＦＭ演算、ＡＭ演算、フィルタ演算、フォルマント合成演算、物理モデル音源など、各種の公知の楽音波形合成方式を適宜採用したものであってもよいことは言うまでもない。すなわち、音源８における楽音信号発生方式は、いかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式等の公知の方式を適宜採用してよい。このように、音源回路８の方式は波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源８を構成するものに限らず、ＤＳＰとマイクロプログラム、あるいはＣＰＵとソフトウェアを用いて音源回路８を構成するようにしてもよい。さらに、共通の回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、各発音チャンネルがそれぞれ専用回路で構成されるようなものであってもよい。
【００５２】
なお、上述した各楽音合成処理における楽音合成の方式としては、既存の演奏情報を本来の演奏時間到来前に先行取得しておき、これを解析して楽音を合成する所謂プレイバック方式であってもよいし、リアルタイムに供給された演奏情報に基づき楽音を合成するリアルタイム方式のどちらであってもよい。
なお、この楽音合成装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、演奏操作子、表示器、音源等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各機器を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバコンピュータ側に持たせ、端末とサーバコンピュータとからなるシステム全体として所定の機能を実現するようにしてもよい。すなわち、本発明に従う所定のソフトウエア又はハードウエアを用いることによって、入力ダイナミクス値、入力ピッチベンド値等に基づいて、データベースに記憶されたユニットの中から適宜に用いるユニット、さらには該ユニットに含まれる波形データを切り替えながら、楽音を合成することのできるようにしたものであればどのようなものであってもよい。
【図面の簡単な説明】
【００５３】
【図１】この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。
【図２】楽音合成機能を説明するための機能ブロック図である。
【図３】データベースにおける持続音部に適用する波形データのデータ構造を示す概念図である。
【図４】持続音部合成処理の一実施例を示したフローチャートである。
【図５】波形切り替え時間制御処理の一実施例を示すフローチャートである。
【図６】ダイナミクス変化量に基き波形切り替え時間を決定する際に参照するテーブルの一実施例である。
【図７】波形切り替え時間とダイナミクス変化量との連続的な相関関係を模式的に示す概念図である。
【図８】ユニット選択及び波形データ選択について模式的に説明するための概要図であり、図８（ａ）は入力ダイナミクス値の時間変化を示す図であり、図８（ｂ）は波形データの選択について説明するための図である。
【図９】入力ダイナミクス値及び入力ピッチベンド値に応じて選択される、各波形データの時系列的組み合わせを例示した図であり、図９（ａ）は１波構成の波形データを用いた場合、図９（ｂ）は複数波構成の波形データを用いた場合である。
【符号の説明】
【００５４】
１…ＣＰＵ、１Ａ…タイマ、２…ＲＯＭ、３…ＲＡＭ、４…外部記憶装置、５…演奏操作子（鍵盤等）、６…パネル操作子、７…表示器、８…音源、８Ａ…サウンドシステム、９…インタフェース、１Ｄ…通信バス、Ｊ１…データベース、Ｊ２…入力部、Ｊ３…奏法合成部、Ｊ４…楽音合成部
【図１】
0004702160.tif 000002
【図２】
0004702160.tif 000003
【図３】
0004702160.tif 000004
【図４】
0004702160.tif 000005
【図５】
0004702160.tif 000006
【図６】
0004702160.tif 000007
【図７】
0004702160.tif 000008
【図８】
0004702160.tif 000009
【図９】
0004702160.tif 000010