(57)【特許請求の範囲】
【請求項１】
楽音を生成する発音チャンネルを複数有する楽音生成手段と、
同一音高の楽音を連続的に生成するための楽音生成情報を取得する取得手段と、
前記楽音生成情報の取得に応じて、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルと、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを、前記複数の発音チャンネルのうちのいずれかに割り当てる割り当て手段と、
前記各発音チャンネルそれぞれで生成された定常音の楽音波形と非定常音の楽音波形とを混合して出力する混合出力手段と
を備え、
前記割り当て手段は、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを前記楽音生成情報の取得の度に新規に割り当てる一方で、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルを同音連打開始時に最初に割り当てられた発音チャンネルに継続させ、
前記楽音生成手段は、前記定常音の楽音生成を行う発音チャンネルにおいて、該定常音の波形データの少なくとも一部範囲を繰り返して再生することにより該定常音の楽音生成を行い、かつ、先行する定常音の音量と後続する定常音のベロシティデータに応じて該後続する定常音のアタックの音量レベルを制御することを特徴とする楽音生成装置。
【請求項２】
減衰が相対的に緩やかである減衰の遅い低速減衰成分の定常音波形データと、減衰が相対的に急激である減衰の速い高速減衰成分の非定常音波形データとを特定する波形特定手段を更に備えてなり、
前記割り当て手段は、前記定常音の楽音生成を行うために前記特定された定常音波形データを発音チャンネルに割り当てる一方で、前記非定常音の楽音生成を行うために前記特定された非定常音波形データを前記発音チャンネルとは異なる発音チャンネルに割り当て、
前記楽音生成手段は、前記定常音の楽音生成を行う発音チャンネルにおいて、前記特定された定常音波形データの少なくとも一部範囲を繰り返し読み出すことを特徴とする請求項１に記載の楽音生成装置。
【請求項３】
前記楽音生成手段は、前記定常音の楽音生成を行う発音チャンネルにおいて、前記楽音生成情報の取得の度に異なる波形制御を行って前記後続する定常音の楽音波形に変調を加えることを特徴とする請求項２に記載の楽音生成装置。
【請求項４】
発音中の楽音のサステイン状態を維持して緩やかに楽音を減衰させるサステインオン状態に切り替える切り替え手段をさらに備えてなり、
前記割り当て手段は、前記サステインオン状態である場合には、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを前記楽音生成情報の取得の度に新規に割り当て、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルを同音連打開始時に最初に割り当てられた発音チャンネルに継続させる一方で、前記サステインオン状態でない場合には、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルと減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルとを共に前記楽音生成情報の取得の度に新規に割り当てることを特徴とする請求項１乃至３のいずれかに記載の楽音生成装置。
【請求項５】
コンピュータに、
同一音高の楽音を連続的に生成するための楽音生成情報を取得する手順と、
前記楽音生成情報の取得に応じて、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルと、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを、楽音を生成する複数の発音チャンネルのうちのいずれかに割り当てる手順であって、当該手順は減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを前記楽音生成情報の取得の度に新規に割り当てる一方で、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルを同音連打開始時に最初に割り当てられた発音チャンネルに継続させるものと、
前記定常音の楽音生成を行う発音チャンネルにおいて、該定常音の波形データの少なくとも一部範囲を繰り返して再生することにより該定常音の楽音生成を行い、かつ、先行する定常音の音量と後続する定常音のベロシティデータに応じて該後続する定常音のアタックの音量レベルを制御する手順と、
前記各発音チャンネルそれぞれで生成された定常音の楽音波形と非定常音の楽音波形とを混合して出力する手順と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、減衰音が相対的に長く持続された楽音を生成することのできる楽音生成装置及びプログラムに関する。特に、数に制限ある発音チャンネルを有効に利用して、短時間内に同一音高が連打される同音連打操作に応じた同一音高の楽音を連続的に生成する技術に関する。
【背景技術】
【０００２】
従来から、例えば自然楽器のピアノのダンパーペダルと同様の効果を実現するサステインペダルなどの操作子がオン状態すなわちサステインオン状態にあるときに、発音中の楽音について演奏操作子（例えば鍵盤を模した鍵など）の離鍵操作に応じて楽音のレベルを急激に減衰させて楽音を消音（所謂リリース制御）することなく、楽音のレベルを前記リリース制御に比較してよりなだらかに減衰させることで減衰音を相対的に長く持続させてから楽音を消音することによって、余韻のある楽音を生成できるようにした楽音生成装置が知られている。こうした装置の一例を挙げると、例えば下記に示す特許文献１又は特許文献２に記載の装置などがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭62−091997号公報
【特許文献２】特開2006−153919号公報
【特許文献３】特開2010−217476号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、楽音生成装置において楽音を生成するには一般的に押鍵操作に応じて１つの発音チャンネルを割り当てる必要があり、押下された鍵に従って割り当てられた発音チャンネル毎に波形処理が行われて当該鍵に予め対応付けられた音高の楽音が生成されるようになっている。このことは、同音連打操作が行われた場合であっても変わらないので、同音連打操作が行われた場合には連続する押鍵操作毎に次々と割り当てられる多数の発音チャンネルで同時に波形処理されることになる。すなわち、複数の発音チャンネルのうち割り当て済みでない空きチャンネルを次々に利用して、前記操作に応じて同一音高の楽音を連続的に生成することのできるようにしている。なお、本明細書において、楽音という場合、音楽的な音に限るものではなく音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
【０００５】
しかし、上記したようなサステインオン状態にあるときに同音連打操作が行われた場合には問題が生じ得る。すなわち、サステインオン状態にあるときは、楽音のレベルをリリース制御よりもなだらかに減衰させて減衰音が相対的に長く持続された楽音を生成することから、そのような状態において同音連打操作に応じて次々と新たな発音チャンネルが割り当てられてしまうと、先に生成開始された楽音が消音される前に次の楽音の生成が開始されることとなり、場合によってはそれぞれの発音チャンネルで生成処理中の楽音波形の位相が揃ってしまい、楽音の音量が不自然に大きくなってしまう恐れがある。また、楽音のレベルをなだらかに減衰させるということは発音チャンネルを占有する時間が長くなることにつながり、特に同音連打操作が行われた場合には多数の発音チャンネルが長い時間にわたって占有されることとなって都合が悪い。
【０００６】
この点、上述した特許文献２に記載の装置では、サステインオン状態にあるときに先に生成開始した楽音を迅速に消音してから次の楽音の生成を開始することによって、上記したような音量が不自然に大きくなったり多数の発音チャンネルが長い時間にわたって占有されたりするなどの不都合を解決するようにしている。しかし、この場合には先に生成開始された楽音が殆ど消えてから次の楽音の生成が開始されることから同音連打としての楽音の連続感が失われやすく、また殆ど同じ音質の楽音が連続して生成されることから単調な印象を受けやすいといった新たな問題が生じ得る。
【０００７】
また、上述の特許文献３に記載されている装置のように、元の楽音波形を分析して定常音の波形データと非定常音の波形データとに分けておき、それぞれの波形データに基づき低速減衰成分の楽音波形と高速減衰成分の楽音波形とを独立に生成させ、これらを混合して楽音を生成できるようにしたものもある。しかし、この場合には、定常音の波形データと非定常音の波形データとに基づく楽音生成処理が別々に割り当てられる２つの発音チャンネルによって行われることから、特に同音連打操作が行われた場合にはより多くの発音チャンネルが占有されてしまうことになり都合が悪い。
【０００８】
なお、こうした問題は、サステインペダルなどのオン操作に従って減衰音が相対的に長く持続される楽音を生成するものに限らず、サステインペダルなどのオン操作に関わらずに元から減衰音が相対的に長く持続された楽音の波形データを用いて単一音高の楽音を生成するような場合（例えばシンバル音など）であっても同様に生じ得る。
【０００９】
本発明は上述の点に鑑みてなされたもので、同音連打操作に応じて減衰音が相対的に長く持続される同一音高の楽音を連続的に生成する際に、数に制限ある発音チャンネルを有効に利用して同音連打による連続感を再現した楽音を生成することのできるようにした楽音生成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る楽音生成装置は、楽音を生成する発音チャンネルを複数有する楽音生成手段と、同一音高の楽音を連続的に生成するための楽音生成情報を取得する取得手段と、前記楽音生成情報の取得に応じて、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルと、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを、前記複数の発音チャンネルのうちのいずれかに割り当てる割り当て手段と、前記各発音チャンネルそれぞれで生成された定常音の楽音波形と非定常音の楽音波形とを混合して出力する混合出力手段とを備え、前記割り当て手段は、減衰が相対的に急激である減衰の速い非定常音の楽音生成を行う発音チャンネルを前記楽音生成情報の取得の度に新規に割り当てる一方で、減衰が相対的に緩やかである減衰の遅い定常音の楽音生成を行う発音チャンネルを同音連打開始時に最初に割り当てられた発音チャンネルに継続させ、前記楽音生成手段は、前記定常音の楽音生成を行う発音チャンネルにおいて、該定常音の波形データの少なくとも一部範囲を繰り返して再生することにより該定常音の楽音生成を行い、かつ、先行する定常音の音量と後続する定常音のベロシティデータに応じて該後続する定常音のアタックの音量レベルを制御することを特徴とする。
【００１１】
本発明によると、同一音高の楽音を短時間内に連続的に生成する際における楽音生成のための発音チャンネルの割り当てに関して、減衰が相対的に急激である減衰の速い非定常音については楽音生成情報の取得の度に新規に発音チャンネルを割り当てて楽音生成を行わせる一方で、減衰が相対的に緩やかである減衰の遅い定常音については楽音生成情報の取得の度に新規に発音チャンネルを割り当てることなく同音連打開始時に最初に割り当てられた発音チャンネルに継続させて楽音生成を行わせる。このようにすると、定常音が生成され続けている状態で、定常音とは独立して非定常音のみを楽音生成情報の取得にあわせて生成することから、多数の発音チャンネルを長い時間にわたって占有することなく発音チャンネルを有効に利用して楽音を生成することができるようになる。また、音量が不自然に大きくなったり楽音の連続感が失われたりするなどの不都合なく、同音連打による連続感を再現した楽音を生成することができる。また、定常音の楽音生成を行う発音チャンネルにおいて、該定常音の波形データの少なくとも一部範囲を繰り返して再生することにより該定常音の楽音生成を行い、かつ、先行する定常音の音量と後続する定常音のベロシティデータに応じて該後続する定常音のアタックの音量レベルを制御するので、例えば実物の生ピアノでサステインペダルを踏んで同音の鍵を連打した場合のように、先行して十分大きな音で発音されている状態で弱く後続の押鍵を行ったとしても、先行の音量を引きずり大きな音量で楽音生成され、また、先行して十分小さな音で発音されている状態で強く後続の押鍵を行うと、後続のベロシティに応じた大きな音量で楽音生成されることとなり、同じ発音チャンネルを継続してチャンネル使用を節約しながらも、生ピアノの演奏フィーリングを出すことができる。
【００１２】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１３】
この発明によれば、非定常音については楽音生成情報の取得の度に新規に発音チャンネルを割り当てて楽音生成を行わせる一方で、定常音については最初に割り当てられた発音チャンネルに継続させて楽音生成を行わせることから、数に制限ある発音チャンネルを有効に利用して同音連打操作に応じた同一音高の楽音を連続的に生成することができるようになる、という効果を得る。また、上述したように、生ピアノの演奏フィーリングを出すことができる。
【図面の簡単な説明】
【００１４】
【図１】この発明に係る楽音生成装置の全体構成を示したハード構成ブロック図である。
【図２】ボイスデータのデータ構成の一実施例を示す概念図である。
【図３】発音中ノート情報のデータ構成の一実施例を示す概念図である。
【図４】ノートオン処理の一実施例を示すフローチャートである。
【図５】ノートオフ処理の一実施例を示すフローチャートである。
【図６】サステインペダルの操作に応じた処理の一実施例を示したフローチャートであり、図６（Ａ）はサステインペダルのオン操作に応じたペダルオン処理、図６（Ｂ）はサステインペダルのオフ操作に応じたペダルオフ処理を示す。
【図７】所定の時間間隔毎に起動される周期処理の一実施例を示したフローチャートである。
【図８】定常音の楽音生成について説明するための概念図である。
【図９】非定常音の楽音生成について説明するための概念図である。
【図１０】定常音と非定常音とがミキシングされて最終的に出力される楽音波形を示す概念図である。
【発明を実施するための形態】
【００１５】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１６】
図１は、この発明に係る楽音生成装置の全体構成を示したハード構成ブロック図である。本実施例に示す楽音生成装置は例えば電子楽器であって、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この楽音生成装置全体の動作を制御するものである。このＣＰＵ１に対して、通信バス（データ及びアドレスバス）１Ｄを介してＲＯＭ２、ＲＡＭ３、表示器４、設定操作子５、演奏操作子６、音源／効果回路７、記憶装置９、通信インタフェース（Ｉ／Ｆ）１０がそれぞれ接続されている。
【００１７】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラムや各種データを格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。この実施形態では、例えばＲＯＭ２にボイスデータ（図２参照）や波形データ（図示せず）、ＲＡＭ３に発音中ノート情報（図３参照）やサステインオン／オフ状態（例えば１又は０）を表すフラグなどが記憶される。
【００１８】
表示器４は、ボイスデータや波形データを選択するための図示を省略した選択画面などの各種画面、例えばＲＯＭ２に構成された波形メモリＨに記憶済みである波形データの一覧やＣＰＵ１の制御状態などの各種情報を、ユーザ指定に応じて適宜に表示することが可能な例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイである。設定操作子５は、例えば楽音生成の際に使用するボイスデータを選択する選択ボタン、効果付与などの楽音制御に関する設定情報（楽音制御パラメータなど）の設定を行うスイッチ類などの各種の操作子を含んで構成される。具体的には、発音中の楽音のレベルを急激に減衰させて消音する楽音制御（リリース制御）と、楽音のレベルを前記リリース制御に比較してよりなだらかに減衰させ減衰音を比較的に長く持続させてから消音する楽音制御とのいずれかに切り替えることができるサステインスイッチを含んでいてよい。勿論、設定操作子５は上記した以外にも音高、音色、効果等を選択・設定・制御するための数値データ入力用のテンキーや文字データ入力用のキーボード等の各種操作子を含んでいてもよい。
【００１９】
演奏操作子６は楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子６（鍵盤等）はユーザ自身の手弾きによるマニュアル演奏のために使用できるのは勿論のこと、ボイスデータの選択や楽音制御パラメータの設定などに使用することもできる。また、自然楽器のピアノのダンパーペダルと同様に例えば踏み付けられた状態にあるペダルオン時には（つまりサステインオン状態）、発音中の楽音について離鍵操作に応じて楽音のレベルをリリース制御時よりもなだらかに減衰させて減衰音を比較的に長く持続させてから消音する楽音制御が行われるサステインペダルを含んでいてもよい。なお、少なくとも上記したサステインスイッチ又はサステインペダルのいずれか一方を備えていればよい。
【００２０】
音源／効果回路７は複数の発音チャンネル（具体的には後述の発音チャンネル処理部Ｃ）で楽音信号の同時生成が可能であり、波形メモリＨから読み出した波形データに基づいて楽音を生成する。勿論、これに限らず、所定の発振器から発信される正弦波などを加工して得られた波形データに基づいて楽音を生成するものであってもよい。音源／効果回路７から発生された楽音は、アンプやスピーカなどを含むサウンドシステム８から発音される。音源／効果回路７は、複数の発音チャンネル処理部Ｃと、ミキシング信号処理部（MIX/DSP）Ｍとを含む。
【００２１】
各発音チャンネル処理部Ｃは、ユーザによる演奏操作子６の操作に応じて発生される演奏情報（あるいは予め作成済みの演奏データに基づき発生される演奏情報であってもよい）に従って特定される波形データを共通の波形メモリＨから読み出して楽音波形を生成し、該生成した楽音波形をミキシング信号処理部（MIX/DSP）Ｍに送る処理を並行して行うことができる。ミキシング信号処理部（MIX/DSP）Ｍは複数の各発音チャンネル処理部Ｃから受信した出力信号を累算すなわち混合し、この混合信号に対して楽音制御パラメータの設定に従って例えばコーラスやリバーブなどの効果を付与してサウンドシステム８に出力する。
【００２２】
波形メモリＨは、例えば外部から入力した楽器音などの元の楽音波形を所定周期ごとにサンプリングして得られた波形データを、アドレス情報で特定できる記憶領域に順次に並べて記憶する。ただし、この実施形態では１つの楽器音（例えばピアノ音やギター音など）に対応する元の楽音波形を分析して定常音の波形データと非定常音の波形データとに分け、これらを組み合わせた１組のデータとして波形メモリＨに記憶している。定常音の波形データとは、後述する図８（Ａ）に示すような元の減衰系の楽音波形のうち減衰が相対的に緩やかである減衰の遅い成分波形（低速減衰成分波形）であって発生楽音の強弱が異なっても殆ど変化しない特性を持つ（一般的には倍音列からなる調和成分の楽音波形である）。一方、非定常音の波形データとは、後述する図９に示すような元の減衰系の楽音波形のうち減衰が相対的に急激である減衰の速い成分波形（高速減衰成分波形）であって発生楽音の強弱に応じて変化する特性を持つ（一般的には上記調和成分以外の非調和成分の楽音波形である）。元の楽音波形を定常音の波形データと非定常音の波形データとに分ける処理については、例えば上述した特許文献３などに記載されているような周知の技術を用いればよいので、ここではその説明を省略する。
【００２３】
複数ある各発音チャンネル処理部Ｃは全て同様に構成されており、各発音チャンネル処理部ＣはＣＰＵ１からの指示に従って所定のサンプリング周期ごとにディジタルの楽音信号を生成するための処理をそれぞれ行う、ピッチジェネレータ（PG）７ａ、デコーダ（DEC）７ｂ、ディジタルコントロールフィルタ（DCF）７ｃ、ディジタルコントロールアンプ（DCA）７ｄ、アンプエンベロープジェネレータ（AEG）７ｅを備える。
【００２４】
ピッチジェネレータ（PG）７ａは、ＣＰＵ１から指示されたピッチ情報（具体的には、デコーダ（DEC）７ｂが波形メモリＨから波形データを読み出す速度など）を生成する。この際には、図示しないPEG（Pitch Envelope Generator）やLFO（Low Frequency Oscillator）の制御情報によるピッチ変調を加味してピッチ情報を生成すればよい。デコーダ（DEC）７ｂは、ＣＰＵ１から指定された波形データをPG７ａによって生成されたピッチ情報に応じて波形メモリＨから読み出し、該読み出した波形データをデコードしてディジタルコントロールフィルタ（DCF）７ｃに送る。
【００２５】
ディジタルコントロールフィルタ（DCF）７ｃは、デコーダ（DEC）７ｂからの出力信号に対してフィルタをかけることによって周波数特性を制御すなわち変調する。このときの周波数特性は、例えばＣＰＵ１から指示される予め設定された楽音制御パラメータや、図示しないFEG（Filter Envelope Generator）やLFO（Low Frequency Oscillator）の制御情報などによって決まる。また、周波数特性の制御（変調）は従来知られているように、図示を省略したLPF（Low Pass Filter）、BPF(Band Pass Filter)、HPF（High Pass Filter）などのフィルタを適宜に切り替えたり、これらの異なる複数のフィルタを適宜に組み合わせたりすることによって実現してよい。ディジタルコントロールアンプ（DCA）７ｄは、ディジタルコントロールフィルタ（DCF）７ｃからの出力信号に対し音量を制御する。このときの音量制御量は、例えばＣＰＵ１から指示される予め設定された楽音制御パラメータや、アンプエンベロープジェネレータ（AEG）７ｅやLFO（Low Frequency Oscillator）の制御情報などによって決まる。
【００２６】
なお、発音チャンネル処理部Ｃは回路などによって構成された複数の物理的な処理部を発音チャンネル毎に設けるようにして実現してもよいし、又は１つの物理的な処理部を発音チャンネル毎に時分割処理させることによって実現してもよい。また、各発音チャンネル処理部ＣはＰＣＭ方式に限らず、ＦＭ、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよい。また、音源／効果回路７は専用のハードウェアで構成してもよいし、ＣＰＵ１によるソフトウェア処理で構成してもよい。
【００２７】
記憶装置９は、例えば追加取得したボイスデータや波形データなどの各種データ、ＣＰＵ１が実行する各種制御プログラム等を記憶する。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置９（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、記憶装置９はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００２８】
通信インタフェース（Ｉ／Ｆ）１０は、当該装置と外部機器（例えば、他の電子楽器やパーソナルコンピュータあるいはサーバ装置など）との間でボイスデータや波形データさらには制御プログラムなどを送受信するためのインタフェースである。この通信インタフェース１０は、例えばMIDIインタフェース，LAN，インターネット，電話回線等であってよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００２９】
なお、上述した楽音生成装置において、表示器４、各操作子５，６さらには音源／効果回路７などを１つの装置本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信インタフェース１０を用いて各機器を接続するように構成されたものであってよいことは言うまでもない。また、本発明に係る楽音生成装置は電子楽器に限らず、パーソナルコンピュータ、携帯電話等の携帯型通信端末、あるいはカラオケ装置やゲーム装置など、どのような形態の装置・機器に適用してもよい。
【００３０】
次に、ＲＯＭ２に予め記憶されているボイスデータ及びＲＡＭ３上に随時に生成される発音中ノート情報についてそれぞれ説明する。図２は、ボイスデータのデータ構成の一実施例を示す概念図である。ボイスデータは例えば楽器音色毎に記憶されてなり、ユーザは音色選択に応じて該当するボイスデータを指定することができる。そして、ＣＰＵ１は楽音生成のためにＲＯＭ２から選択されたボイスデータに含まれる各パラメータを読み出し、各発音チャンネル処理部Ｃやミキシング信号処理部（MIX/DSP）Ｍに対して読み出した各パラメータに従う波形制御の実行を指示する。すなわち、ボイスデータは楽音生成の際に音源／効果回路７に一括指示（設定）されるパラメータ群である。
【００３１】
図２に示すように、ボイスデータのパラメータ群は、定常音の制御にも非定常音の制御にも共通に用いられる共通制御パラメータ（例えばPG７ａに指示されるピッチ情報など）、定常音の制御のみに用いられる定常音制御パラメータ（例えばDCF７cやAEG７ｅに指示される楽音制御パラメータなど）、波形メモリＨに記憶されている定常音の波形データのいずれか１つを指し示す定常音波形データ指定情報（具体的にはアドレス情報）、非定常音の制御のみに用いられる非定常音制御パラメータ、波形メモリＨに記憶されている上記定常音と組み合わされた非定常音の波形データを指し示す非定常音波形データ指定情報とを含む。ボイスデータには波形データそのものは含まれておらず、あくまでも波形メモリＨにおける記憶位置を指し示す波形指定情報（アドレス情報）を定常音と非定常音とで別々に記憶している。
【００３２】
図３は、発音中ノート情報のデータ構成の一実施例を示す概念図である。この図３に示すように、発音中ノート情報にはノート番号、ノートオン時刻、定常音発音チャンネル指定情報、非定常音発音チャンネル指定情報、ノートオフ指示を受けたか否かを表す終了指示情報が含まれる。ノート番号は、生成する楽音の音高を示す情報である。ノートオン時刻は楽音の生成を開始した時刻を示す情報であり、具体的にはノートオン指示時にタイマから取得した現在時刻である。ノート番号やノートオン時刻は、同音連打発音の条件判定の際に用いられる（後述する図４参照）。
【００３３】
定常音発音チャンネル指定情報又は非定常音発音チャンネル指定情報は、波形メモリＨから読み出される定常音の波形データ又は非定常音の波形データを用いて楽音生成処理するためにそれぞれ割り当てられる発音チャンネル処理部Ｃ（以下、発音チャンネル）を指し示す情報である。すなわち、ノートオン指示時には楽音生成のために空きチャンネルのいずれかが確保されて割り当てられるが、その割り当てられた発音チャンネルがいずれであるかを定常音と非定常音とで別々に記憶する。楽音生成が終了して発音チャンネルが解放されると、発音チャンネル指定情報もその旨更新される。終了指示情報は発音中の該当音高（ノート番号）の楽音に対してノートオフ指示が既になされたか否かを表す情報であって、ノートオフ指示がなされるとノートオフ指示を受けたことが書き込まれる。このときに、同じ音高の発音中ノート情報が複数ある場合には、該当する音高の発音中ノート情報のうちのまだノートオフ指示を受けていないものにノートオフ指示を受けたことが書き込まれる。
【００３４】
こうした発音中ノート情報は１つの楽音の発生から終了までを管理するリストデータであって、そのデータ数は生成中の楽音数に応じて変動し得る（動的である）。すなわち、ノートオン指示に応じて新規の発音中ノート情報がＲＡＭ３に追加書き込みされることから（ただし、同音連打操作時を除く）、図３に示すようにしてＲＡＭ３には楽音生成開始された順に発音中ノート情報が蓄積されていく。そして、楽音の生成終了に応じて該当する発音中ノート情報が削除されていく。ただし、発音中ノート情報の削除はノートオフ指示に応じてすぐに削除されるのではなく、定常音よりも速く減衰する非定常音は勿論のこと定常音も減衰しきって該当の発音チャンネルが共に解放された時点で削除される。
【００３５】
なお、発音中ノート情報には上記の他にその他状態変数などを記憶させておいてもよい。また、この実施例では単一音色（ボイス）の楽音を生成することを例に示しており、そのため発音中ノート情報に音色に関する情報を記憶させていない。しかし、それぞれ別々の音色が指定された複数パートの楽音を同時に生成する場合には、発音中ノート情報にどの音色の楽音を生成しているのかを表すボイス指定情報を記憶する必要があることは言うまでもない。
【００３６】
次に、当該楽音生成装置のＣＰＵ１において楽音生成のために実行される各種処理について説明する。まず、ユーザによる演奏操作子６の操作に応じて発生される演奏情報あるいは予め作成済みの演奏データに基づき発生される演奏情報がノートオンイベントデータである場合に実行されるノートオン処理について、図４を用いて説明する。図４は、ノートオン処理の一実施例を示すフローチャートである。
【００３７】
ステップＳ１は、図示を省略したタイマから現在時刻を取得する。ステップＳ２は、取得したノートオンイベントデータに含まれるノート番号とベロシティとを特定する。前記現在時刻及びノート番号は発音中ノート情報のノートオン時刻、ノート番号として保持される。ステップＳ３は、同音連打発音の条件に合致するか否かを判定する。例えば当該装置がサステインオン状態にあり、前記取得したノートオンイベントデータのノート番号が発音中ノート情報のいずれかのノート番号と同じであって、かつノート番号が同じである発音中ノート情報（ただし最も新しいもの）のノートオン時刻から前記取得した現在時刻までの時間間隔つまり相前後する直近のノートオン指示とノートオン指示との時間間隔が所定時間内（例えば0.5秒）であれば、同音連打発音の条件に合致すると判定する。あるいは、時間間隔を考慮することなく、当該装置がサステインオン状態にあり、前記取得したノートオンイベントデータのノート番号が発音中ノート情報のいずれかのノート番号と同じであれば、同音連打発音の条件に合致すると判定するようにしてもよい。
【００３８】
同音連打発音の条件に合致しないと判定した場合には（ステップＳ３のＮＯ）、通常の楽音生成のために非定常音と定常音それぞれの楽音生成用に２つの発音チャンネルを空きチャンネルの中から確保して割り当てる（ステップＳ４）。ここで割り当てられた各発音チャンネルは発音中ノート情報の追加書き込みの際に（ステップＳ８参照）、それぞれ定常音発音チャンネル指定情報、非定常音発音チャンネル指定情報として保持される。ステップＳ５は、非定常音の楽音生成用に割り当てられた発音チャンネルに対してボイスデータの共通制御パラメータ及び非定常音制御パラメータを設定する。ここで、AEG７ｅの設定にはベロシティが加味されてよい。ステップＳ６は、定常音の楽音生成用に割り当てられた発音チャンネルに対してボイスデータの共通制御パラメータ及び定常音制御パラメータを設定する。この場合にも、AEG７ｅの設定にはベロシティが加味されてよい。
【００３９】
ステップＳ７は、前記確保した２つの発音チャンネルに対して同時に発音開始指示する。この発音開始指示に応じて、前記割り当てられた２つの発音チャンネルそれぞれにおいて波形メモリＨから定常音の波形データ又は非定常音の波形データを読み出して楽音を生成する処理が開始される。ステップＳ８は、ＲＡＭ３に新規の発音中ノート情報を追加書き込みする。ここでは、終了指示情報を「ノートオフ指示を受けていない」に設定する。このようにして、同音連打発音でない場合には、従来知られているようにノートオン指示されるたびに楽音生成用に２つの発音チャンネルが割り当てられて、各発音チャンネルにおいて定常音の波形データ又は非定常音の波形データに基づく楽音生成が行われる。
【００４０】
他方、上記ステップＳ３において、同音連打発音の条件に合致すると判定した場合には（ステップＳ３のＹＥＳ）、非定常音の楽音生成用に１つの発音チャンネルを空きチャンネルの中から確保して割り当てる（ステップＳ９）。すなわち、この場合には新規に非定常音の楽音生成用の発音チャンネルの割り当てが行われるだけであり、定常音の楽音生成用の発音チャンネルの割り当ては行われない。ただし、同音連打開始時に最初に割り当てられた定常音の発音チャンネルでは、引き続いて定常音の波形データに基づく楽音生成が継続される。ステップＳ１０は、非定常音の楽音生成用に割り当てられた発音チャンネルに対してボイスデータの共通制御パラメータ及び非定常音制御パラメータを設定する。ここでも、AEG７ｅの設定にはベロシティが加味されてよい。
【００４１】
ステップＳ１１は、定常音の波形データに基づく楽音生成が続行されている定常音の発音チャンネルのAEG７ｅに対して再設定するアタックのための楽音制御パラメータを求める。例えば演奏者が実物の生ピアノでサステインペダルを踏んで同音の鍵を連打した場合を考えてみると、先行して十分大きな音でなっている状態で弱く後続の押鍵を行ったとしても、先行の音量を引きずり大きな音量で鳴る。また、先行して十分小さな音でなっている状態で強く後続の押鍵を行うと、後続の押鍵速度に応じた大きな音量で鳴る。すなわち、先行音の音量と後続のベロシティに応じて後続音のアタックの音量レベルが決まる。
【００４２】
そこで、当該処理において後続のノートオン指示に応じた定常音のAEG７ｅの楽音制御パラメータを求めるにあたり例えば次のようにするのがよい。ＣＰＵ１は、定常音の発音チャンネルに現在の音量値を問い合わせる。定常音の発音チャンネルは、DCA７ｄに備えられたレベル検出器（図示せず）により得られる実際の音量値をＣＰＵ１に返す。あるいは、定常音の発音チャンネルはAEG７ｅからDCA７ｄへの音量制御信号の値をＣＰＵ１に返してもよい。ＣＰＵ１は、先行の定常音の音量値とノートオン指示時のベロシティに基づく音量値とを比較し、その大きいほうに基づいてイニシャルレベル及びアタックレベルを決定する。比較して大きいほうではなく、それらの和あるいは積といった両値の演算によって後続のイニシャルレベル及びアタックレベルを決定するようにしてもよい。
【００４３】
ステップＳ１２は、新規に発音チャンネルが割り当てられることなく同音連打開始時に最初に割り当てられた発音チャンネルで引き続き生成される定常音が単調とならないように、定常音の発音チャンネルに対して再設定する楽音制御パラメータを求める。すなわち、同じ定常音がずっと使われると単調に聞こえるため、後続する定常音に少し変調を加えることによって単調な感じをなくす。具体的には、DCF７ｃをBPF型フィルタとして動作させ、その特性を乱数を使ったりして先行のものとランダムに変える。乱数ではなく波形メモリＨからの波形読み出しアドレスに応じて変えるようにしてもよい。こうすれば、実物の生ピアノでハンマが弦を再度叩く際に、弦の変位がハンマに向かう方向にあるか遠ざかる方向にあるか（すなわち位相）によって後続音の発音に変化が生じることに対応させることができるようになる。勿論、DCF７ｃの特性に限らず、他の制御パラメータ（例えば音量）を少し変えることによって、定常音が単調とならないように制御するようにしてもよい。
【００４４】
ステップＳ１３は、非定常音の発音チャンネルへの発音開始指示と定常音の発音チャンネルへの楽音制御パラメータの反映指示とを同時に行う。ステップＳ１４は、連打された音高のノート番号である発音中ノート情報のノートオン時刻と非定常音発音チャンネル指定情報とを更新する。また、終了指示情報を「ノートオフ指示を受けていない」に設定する。すなわち、同音連打発音である場合には、発音中ノート情報の定常音発音チャンネル指定情報は先行のものが引き続き使われるため、新たなノートオン指示に応じてノートオン時刻と非定常音発音チャンネル指定情報と終了指示情報とが更新される。
【００４５】
次に、演奏情報がノートオフイベントデータである場合に実行されるノートオフ処理について、図５を用いて説明する。図５は、ノートオフ処理の一実施例を示したフローチャートである。
【００４６】
ステップＳ２１は、取得したノートオフイベントデータに含まれるノート番号を特定する。ステップＳ２２は、特定したノート番号に合致する発音中ノート情報の終了指示情報にノートオフ指示を受け取ったことを記録する。ステップＳ２３は、サステインオン状態か否かを判定する。サステインオン状態であると判定した場合には（ステップＳ２３のＹＥＳ）、当該処理を終了する。サステインオン状態でないと判定した場合には（ステップＳ２３のＮＯ）、定常音（及び非定常音）発音チャンネル指定情報で指定される発音チャンネルに対してリリース制御を行うよう指示する（ステップＳ２４）。
【００４７】
上記リリース制御では、AEG７ｅからDCA７ｄへの音量制御値を急激に減少させる指示が送られることで、定常音（及び非定常音）のレベルを急激に減少させて楽音を消音する。すなわち、定常音の楽音生成用に割り当てられた発音チャンネルでは、サステインオフ状態でノートオフ指示があるまで定常音の波形データにおいて予め定義されている所定区間について波形のループ読み出し（繰り返し読み出し）を行うことによって定常音の生成を続行する一方で、サステインオフ状態でノートオフ指示されることに応じてAEG７ｅからDCA７ｄへの音量制御値を急激に減少させて定常音を消音する。他方、非定常音の楽音生成用に割り当てられた発音チャンネルでは、サステインオン／オフ状態及びノートオフ指示の有無に関わらず、AEG７ｅからDCA７ｄへの音量制御値を急激に減少させることなしに、非定常音の波形データに従い急激に楽音のレベルが減衰して非定常音の楽音は消音する。なお、AEG７ｅからの音量制御値の時間的変化の制御は、ＣＰＵ１がAEG７ｅに対して一度設定したらAEG７ｅ側で自動的に時間変化させることにより実現される。勿論、ＣＰＵ１がAEG７ｅの制御を補助するようにしてもよい。
【００４８】
図６は、サステインペダルの操作に応じて実行される各種処理を示したフローチャートである。図６（Ａ）はユーザによるサステインペダル（又はサステインスイッチ）のオン操作に応じて実行されるペダルオン処理を示し、図６（Ｂ）はユーザによるサステインペダル（又はサステインスイッチ）のオフ操作に応じて実行されるペダルオフ処理を示す。
【００４９】
図６（Ａ）に示すペダルオン処理では、ＲＡＭ３に記憶されるサステインオン／オフ状態を示すフラグをオン状態に更新する（ステップＳ３１）。一方、図６（Ｂ）に示すペダルオフ処理では、前記サステインオン／オフ状態を示すフラグをオフ状態に更新すると共に（ステップＳ４１）、終了指示情報にノートオフ指示を受け取ったことが既に記録されている発音中ノート情報があれば、その発音中ノート情報の定常音発音チャンネル指定情報（及び非定常音発音チャンネル指定情報）で指定される発音チャンネルに対して上記したリリース制御をすぐさま行うように指示する（ステップＳ４２）。
【００５０】
図７は、所定の時間間隔毎に起動される周期処理の一実施例を示したフローチャートである。当該処理は、例えば100ms間隔で実行される所謂割り込み処理である。ステップＳ５１は、ノートオフ指示を受けた発音中ノート情報の定常音発音チャンネル指定情報又は非定常音発音チャンネル指定情報に基づく発音チャンネルから音量レベルを取得する。ステップＳ５２は、取得した音量レベルが十分に減少された発音チャンネルに関して発音中ノート情報の定常音発音チャンネル指定情報又は非定常音発音チャンネル指定情報を削除する。ステップＳ５３は、使用していた発音チャンネルが全て削除された発音中ノート情報をＲＡＭ３から削除する。
【００５１】
上記各処理に従って行われる同音連打時の楽音生成について、図８〜図１０を用いて具体的に説明する。ここでは説明を理解しやすくするために、定常音の楽音生成と非定常音の楽音生成とについて便宜的に図を分けた。また、既にサステインオン状態にあるものとする。図８は、定常音の楽音生成について説明するための概念図である。図９は、非定常音の楽音生成について説明するための概念図である。図１０は、定常音と非定常音とがミキシングされて最終的に出力される楽音波形を示す概念図である。
【００５２】
まず、最初の押鍵操作があると（図中における最初の押鍵；ノートオン指示を受ける）、図８（Ａ）及び図９（Ａ）に示すように、定常音の楽音生成用と非定常音の楽音生成用にそれぞれ別々の発音チャンネル（ここではチャンネル１と２）が割り当てられて（ステップＳ４参照）、これらの発音チャンネル１,２によって波形メモリＨから読み出された定常音の波形データ又は非定常音の波形データに基づく楽音生成が同時に開始される（ステップＳ７参照）。このとき、発音中ノート情報がＲＡＭ３に追加書き込みされる。
【００５３】
定常音については、図８（Ａ）に示すようにして定常音の波形データの所定区間（ループ再生区間）が繰り返し読み出され、また図８（Ｂ）に示すような音量エンベロープに従う波形制御が行われることにより、図８（Ｃ）の左側に示すようなゆっくりと減衰する楽音波形が生成される（ステップＳ６，Ｓ７参照）。そして、こうした楽音生成の開始後に行われた同音連打操作に伴う最初の離鍵操作があると（図中における最初の離鍵；ノートオフ指示を受ける）、サステインオフ状態であれば図８（Ｂ）において点線で示すように音量レベルを急激に減衰させるリリース制御をすぐさま行うが（ステップＳ２４参照）、サステインオン状態である場合にはノートオフ指示を受けたことを発音中ノート情報に記録するだけで（ステップＳ２２参照）、その時点では定常音を急激に減衰させるリリース制御を行わない。
【００５４】
一方、非定常音については、図９（Ａ）に示すような非定常音の波形データを一度だけ読み出すことにより急激に減衰する楽音波形が生成される（ステップＳ５，Ｓ７参照）。すなわち、非定常音はノートオフ指示（図中における最初の離鍵）の有無に関わらず、定常音よりも時間的に早くに減衰しきってしまい消音される。楽音波形が減衰しきると、非定常音の楽音生成用に割り当てられていた発音チャンネル２が解放されて空きチャンネルとなり、発音中ノート情報の非定常音発音チャンネル指定情報がその旨更新される（ただし、定常音の楽音生成は継続されているので発音中ノート情報自体は削除されない）。このようにして、各発音チャンネル１,２でそれぞれ別々に生成される定常音の楽音波形と非定常音の楽音波形とがミキシング信号処理部（MIX/DSP）Ｍにより混合されて、最終的には図１０の左側に示すような混合音の楽音波形としてサウンドシステム８に出力され発音される。
【００５５】
同音連打操作に伴う次の押鍵操作があると（図中における次の同音押鍵）、定常音については新たに発音チャンネルを割り当てることなく最初の押鍵時（つまり同音連打開始時）に割り当て済みの発音チャンネル１に継続させて楽音生成を続行させる。すなわち、繰り返し読み出されている定常音の波形データに従って定常音の楽音波形は引き続き生成される。ただし、このときには、図８（Ｂ）に示すように、最初の押鍵によって生成される先行する楽音の音量と次の同音押鍵によって指示されるベロシティとに応じて決定されるアタックの音量レベルを有する音量エンベロープに従っての波形制御が開始される（ステップＳ１１〜Ｓ１３参照）。
【００５６】
一方、非定常音については、図９（Ｂ）に示すように新たに発音チャンネル（ここではチャンネル３）が割り当てられて、当該発音チャンネル３で図９（Ｂ）に示すような非定常音の波形データを一度だけ読み出すことにより急激に減衰する非定常音の楽音波形が生成される（ステップＳ９，Ｓ１０，Ｓ１３参照）。勿論、この非定常音の楽音波形が減衰しきると発音チャンネル３は解放されて空きチャンネルとなる。この場合には、発音中ノート情報のノートオン時刻と非定常音発音チャンネル指定情報と終了指示情報の更新が行われる（ステップＳ１４参照）。
【００５７】
上記した同音連打操作に伴う次の押鍵操作に対応する離鍵操作後にサステインオフ状態にされた場合には（図中における次の離鍵）、定常音については図８（Ｂ）に示すように音量レベルを急激に減衰させるリリース制御が行われる。すなわち、前記リリース制御が行わなければ図８（Ｂ）の一点鎖線に示すようにして定常音は発音し続けるところを、上記音量レベルを急激に減衰させるリリース制御によってすぐさま定常音は消音される（ステップＳ４２参照）。この定常音が減衰しきったところでは、定常音の楽音生成のために使われていた発音チャンネル１が解放されて空きチャンネルとなる。この場合には、定常音用に割り当てられた発音チャンネルと非定常音用に割り当てられた発音チャンネルが共に解放されるので、該当の発音中ノート情報をＲＡＭ３から削除する（ステップＳ５３参照）。また、上記した同音連打操作に伴う次の押鍵操作後にサステインオフ状態とされてから離鍵操作された場合には、当該離鍵操作に応じてリリース制御が行われて定常音は消音される（ステップＳ２４参照）。このようにして、各発音チャンネル１,３でそれぞれ別々に生成される定常音の楽音波形と非定常音の楽音波形とがミキシング信号処理部（MIX/DSP）Ｍにより混合されて、最終的には図１０の右側に示すような混合音の楽音波形としてサウンドシステム８に出力され発音される。
【００５８】
以上のように、減衰が相対的に緩やかである減衰の遅い低速減衰成分の定常音の波形データと、減衰が相対的に急激である減衰の速い高速減衰成分の非定常音の波形データとに分けて波形データを波形メモリに記憶させておき、それぞれの波形データを別々の発音チャンネルで用いて定常音と非定常音とを独立に生成できるようにしておく。そして、同一音高の楽音を短時間内に連続的に生成する同音連打操作が行われた際における発音チャンネルの割り当てに関して、非定常音については楽音生成情報の取得の度に新規に発音チャンネルを割り当てて楽音生成を行わせる一方で、定常音については楽音生成情報の取得の度に新規に発音チャンネルを割り当てることなく同音連打開始時に最初に割り当てられた発音チャンネルに継続して楽音生成を行わせる。すなわち、定常音については同じ発音チャンネルで生成され続ける一方で、非定常音については楽音生成情報の取得にあわせて適宜に割り当てられる発音チャンネルで生成される。これにより、多数の発音チャンネルが長い時間にわたって占有されることがないので、発音チャンネルを有効に利用して同音連打操作に応じた楽音を連続的に生成することができる。また、定常音については同じ発音チャンネルで生成し続けることにより、音量が不自然に大きくなったり楽音の連続感が失われたりするなどの不都合なく、同音連打による連続感を再現した楽音を生成することができる。さらには、楽音生成情報の取得にあわせて波形制御を行うことによって、単調でない変化に富んだ楽音を生成することができる。
【００５９】
なお、上述した実施例では一音の発音に定常音と非定常音との２つを同時に鳴らすものを例に示したがこれに限らず、一般的な波形読み出し音源のように、押鍵強度などによって異なる複数の波形データをセットにして記憶しておき、それらを切替えて鳴らしたりあるいは同時に鳴らしてそれらの混合比率を変えて鳴らしたりするようにしてもよい。異なる複数の波形データを持つ際、定常音と非定常音とでもつ波形データの数は異なっていてもよい。
【符号の説明】
【００６０】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…表示器、５…設定操作子、６…演奏操作子、７…音源／効果回路、７ａ…ピッチジェネレータ（PG）、７ｂ…デコーダ（DEC）、７ｃ…ディジタルコントロールフィルタ（DCF）、７ｄ…ディジタルコントロールアンプ（DCA）、７ｅ…アンプエンベロープジェネレータ（AEG）、８…サウンドシステム、９…記憶装置、１０…通信インタフェース、１Ｄ…通信バス（データ及びアドレスバス）、Ｃ…発音チャンネル処理部、Ｈ…波形メモリ、Ｍ…ミキシング信号処理部（MIX/DSP）
【図１】
0005699558.tif 000002
【図２】
0005699558.tif 000003
【図３】
0005699558.tif 000004
【図４】
0005699558.tif 000005
【図５】
0005699558.tif 000006
【図６】
0005699558.tif 000007
【図７】
0005699558.tif 000008
【図８】
0005699558.tif 000009
【図９】
0005699558.tif 000010
【図１０】
0005699558.tif 000011