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