(57)【特許請求の範囲】
【請求項１】
それぞれがノートに対応した複数の異なる音高の楽音波形を、それぞれ非周期成分からなるアタック部の楽音波形と周期成分からなるディケイ部の楽音波形とに分けて、同時に生成する楽音生成手段と、
前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち周波数が近接する複数の倍音を含んでなる任意の帯域を１乃至複数特定する帯域特定手段と、
前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち、前記特定した１乃至複数の帯域それぞれに含まれる各倍音の音量レベルを減少するレベル調整手段と
を備える楽音合成装置。
【請求項２】
前記レベル調整手段は、前記特定した１乃至複数の各帯域に含まれる複数の倍音の音量レベルに応じて変動し得る減衰値を前記帯域毎に決定し、該決定した帯域毎の減衰値に基づいて該当の帯域に含まれる各倍音の音量レベルを減少することを特徴とする請求項１に記載の楽音合成装置。
【請求項３】
前記楽音生成手段は、複数ノートに対応した複数の異なる音高を含んでなる楽音波形を、前記同時に生成したそれぞれがノートに対応した複数の異なる音高の楽音波形を加算することにより生成することを特徴とする請求項１又は２に記載の楽音合成装置。
【請求項４】
前記レベル調整手段は、前記生成した複数の異なる音高のディケイ部の楽音波形毎に、前記特定した１乃至複数の帯域に含まれる複数の倍音のいずれかを抽出し、該抽出したいずれかの倍音毎に音量レベルを減少することを特徴とする請求項１又は２に記載の楽音合成装置。
【請求項５】
前記楽音生成手段は、前記複数の異なる音高のディケイ部の楽音波形それぞれを当該楽音波形を構成してなる複数の倍音ごとに分けて出力することを特徴とする請求項１又は２に記載の楽音合成装置。
【請求項６】
前記抽出した倍音の周波数を変更する周波数変更手段をさらに備えることを特徴とする請求項４に記載の楽音合成装置。
【請求項７】
コンピュータに、
それぞれがノートに対応した複数の異なる音高の楽音波形を、それぞれ非周期成分からなるアタック部の楽音波形と周期成分からなるディケイ部の楽音波形とに分けて、同時に生成する手順と、
前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち周波数が近接する複数の倍音を含んでなる任意の帯域を１乃至複数特定する手順と、
前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち、前記特定した１乃至複数の帯域それぞれに含まれる各倍音の音量レベルを減少する手順と
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、和音などの複数の異なる音高を含んでなる楽音波形を合成する楽音合成装置及びプログラムに関する。特に、ピアノやギター等の弦を有する自然楽器の楽器音を模した楽音波形を、弦の連成振動による影響を加味して合成する技術に関する。
【背景技術】
【０００２】
従来から、波形メモリにＰＣＭ（パルス符号変調）又はＤＰＣＭ（差分ＰＣＭ）又はＡＤＰＣＭ（適応差分ＰＣＭ）等の任意の符号化方式で符号化した波形サンプルデータ（以下、単に波形データと呼ぶ）を予め記憶しておき、これを所望のピッチに対応して読み出すことにより楽音波形を合成する、所謂「波形メモリ読み出し」方式による楽音合成装置が知られている。また、下記に示す特許文献１には正弦波合成方式による楽音発生装置において、例えば和音のような複数ノートに対応した複数の異なる音高の楽音を同時に発音させる場合に、前記異なる音高の各楽音の倍音構成の内、周波数が近接している倍音の周波数を基準とする所定の周波数に近づけるように修正して楽音波形を合成することが記載されている。
【０００３】
ところで、「波形メモリ読み出し」方式の従来装置において和音を発音するための楽音波形は、例えば自然楽器のピアノから１鍵ごとの操作に応じた出音にあわせてサンプリングされた多数の波形データの中から、ユーザにより打鍵された複数の和音構成音に対応する複数の波形データを同時に読み出して和音構成音毎に単音の楽音波形を合成し、さらにこれら和音構成音毎に合成された単音の楽音波形を加算することにより生成される。
【０００４】
しかしながら、こうして生成される楽音波形に基づき発音される和音は、どちらかといえば和音構成音が互いに調和しておらずそれぞれが単独でガチャガチャとやかましく響きあっているだけの印象をユーザに対し与え得るものと言え、和音構成音が互いに調和しすっきりと響きわたる印象をユーザに対し与え得る自然楽器のピアノから発せられるような美しい和音には程遠いものであった。
【０００５】
上記のように、従来装置において和音のような複数の異なる音高の楽音を含んでなる楽音波形を生成すると、自然楽器のピアノから発せられる和音とは異なる印象をユーザに与え得る楽音が発音される。この要因としては、上記楽音合成装置では、自然楽器のピアノにおいて複数の鍵が同時に打鍵された場合に生じる「連成振動」による楽音への影響を何ら加味することなく、ただ単に各鍵毎にサンプリングされた波形データから個別に合成された複数の楽音波形を加算しているに過ぎないと考えられるからである。
【０００６】
下記に示す非特許文献１には、ピアノの１つの鍵を形成している複数弦の連成振動について記述されている。これによると、自然楽器のピアノは１つの鍵の打鍵に従って複数の弦（発生する楽音のノートによって異なるが２弦乃至３弦など）が駒により同時に振動されることによって単音の楽音を発するが、ほぼ同じではあるが完全には一致していない周波数にそれぞれチューニングされたこれら複数の弦が駒を介して互いに影響し合うことで、各弦の振動に伴って発生される各周波数が互いに相寄るとともに、打弦直後から始まる弦の周期的振動部分（この明細書ではディケイ部と呼ぶ）のうち比較的に音量の大きい部分（この明細書では打音又は打音部分と呼ぶ）が早く減衰すること、所謂「連成振動」を生じることが記載されている。
【０００７】
図２０に、「連成振動」が生じている場合に見られる楽音上の特徴を反映した楽音波形の一例を示す。この図２０から「連成振動」が生じている場合の楽音波形は、「連成振動」が生じていない場合の楽音波形（図中において概形を点線で示す）と比べると楽音波形の音量レベル（振幅）が全体的に減少すること、特に波形合成開始直後からしばらく続く音量レベルが大きい打音部分が該打音部分に後続する音量レベルの小さい楽音波形の一部分（余韻部分と呼ぶ）よりも相対的により大きな割合で減少していることが理解できる。
【０００８】
本願発明人は、上記した１つの鍵において複数の弦が連成振動することによって楽音波形の打音部分が減衰することに鑑みて、更に異なる鍵に対応付けられた弦の倍音どうしも連成振動することに伴って複数の周波数が相寄ったり楽音波形のうち打音部分が早く減衰したりするので、自然楽器のピアノはすっきりと響きわたる非常に美しい和音を発音することができるとの結論を導出するに至った。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平07-319467号公報
【非特許文献】
【００１０】
【非特許文献１】ウェインリーチ,G."２．ピアノの弦の物理学・・・・・・楽器の科学.日経サイエンス社,1987,p.21-32
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、従来の装置では例えば「波形メモリ読み出し」方式において、例えば自然楽器のピアノの和音のようにすっきりと美しく響きわたり互いの音が調和している印象をユーザに与え得る、異なる鍵に対応付けられた１乃至複数の弦の倍音どうしによる連成振動を再現しての複数の音高からなる楽音波形を合成することは困難である、という問題があった。すなわち、上述の特許文献１に示された従来装置は、単に倍音の周波数のみを修正するだけのものであることから、上述したような異なる鍵に対応付けられた弦の倍音どうしが連成振動することに伴う複数の周波数が相寄ることを模すことはできるが、打音部分が早く減衰することを模すことに関しては何らの考慮もなされていないことによる。上述した特許文献１に記載された従来装置はそもそも正弦波合成方式であって「波形メモリ読み出し」方式の装置に比べると楽音合成のための構造が複雑であり、打音が早く減衰することを模すための構成を付加するのは非常に困難であること、また例えそうした構成を付加できるとしても装置が複雑かつ大型化してしまいさらに高価なものとなるので都合が悪い。
【００１２】
本発明は上述の点に鑑みてなされたもので、個々の演奏操作子（例えば鍵など）の操作に伴って発生する楽音を構成する複数の倍音の周波数が相寄ったり楽音波形の打音部分が早く減衰したりする所謂「弦の連成振動」（以下では、単に連成振動と記す）を模して、複数の異なる音高の楽音を含んでなる楽音波形を合成することのできるようにした楽音合成装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１３】
本発明に係る楽音合成装置は、それぞれがノートに対応した複数の異なる音高の楽音波形を、それぞれ非周期成分からなるアタック部の楽音波形と周期成分からなるディケイ部の楽音波形とに分けて、同時に生成する楽音生成手段と、前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち周波数が近接する複数の倍音を含んでなる任意の帯域を１乃至複数特定する帯域特定手段と、前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち、前記特定した１乃至複数の帯域それぞれに含まれる各倍音の音量レベルを減少するレベル調整手段とを備える。
【００１４】
本発明によると、複数のノート毎に各ノートに対応した音高の楽音波形を、それぞれ非周期成分からなるアタック部の楽音波形と周期成分からなるディケイ部の楽音波形とに分けて、同時に複数生成する。この各ノートに対応した複数の異なる音高のディケイ部の楽音波形それぞれにおいて、各楽音波形を構成している複数の倍音に関して互いに周波数が近接している倍音を含んでなる任意の帯域を特定する。この任意の帯域は、各楽音波形の倍音構成によって１乃至複数の帯域がある。この特定された１乃至複数の帯域に基づいて、前記生成した複数のディケイ部の楽音波形それぞれを構成する倍音のうち当該帯域それぞれに含まれる各倍音つまりはその周波数が近接している各倍音に関して、その音量レベルを減少する。すなわち、ノートに対応した複数の異なる音高の楽音波形にわたって、それらの倍音構成のうち特定の帯域に属する倍音（言い換えるならば、互いに近接した連成振動し得る周波数成分）のみに関してその音量レベルを減少する。こうすることによって、複数ノートに対応した複数の異なる音高の楽音を含んでなるディケイ部の楽音波形を合成する場合に、「連成振動」が生じている場合に見られる楽音上の特徴を反映した楽音波形つまりは「連成振動」が生じていない場合に比べて音量レベルの減少した特徴ある楽音波形を生成することができるようになる。
【００１５】
また、単に特定倍音の音量レベル制御を行うだけで「連成振動」を反映した複数ノートに対応した複数の音高の楽音を含んでなる楽音波形を合成できることから、それを実現するための構成が非常に簡易なもので済み、従って装置が複雑かつ大型化してしまうことがなくまた高価にならない、という利点もある。
【００１６】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１７】
本発明によれば、ノートに対応した複数の異なる音高のディケイ部の楽音波形にわたって、それらの倍音構成のうち周波数が近接した特定の倍音のみに関してその音量レベルを減少するようにしたことから、音量レベルが減少するといった「連成振動」が生じている場合に見られる楽音上の特徴を模した複数ノートに対応した複数の異なる音高の楽音を含んでなる楽音波形を合成することができるようになる、という効果が得られる。
また、弦楽器の楽音、特にピアノ音の楽音波形を生成する場合には「連成振動」を模すことにより実際のピアノ音のような楽音上の特徴を有した楽音波形を生成できることとなるのでこれだけでも効果的であるが、さらには弦楽器以外の音や人工的な音であっても「連成振動」を模すことによりそれらの音においても和音をすっきりと響き渡らせ得るという、従来見られなかった新しい効果が得られる。
【図面の簡単な説明】
【００１８】
【図１】楽音合成装置の全体構成の一実施例を示すハード構成ブロック図である。
【図２】楽音合成機能の第１実施例の概要を説明するための機能ブロック図である。
【図３】ノートリスト、部分音リスト、帯域リストの各データ構成の一例を示す概念図である。
【図４】倍音構造データベースのデータ構成の一例を示す概念図である。
【図５】楽音合成処理の一実施例を示すフローチャートである。
【図６】ノートオン処理の一実施例を示すフローチャートである。
【図７】ノートオフ処理の一実施例を示すフローチャートである。
【図８】アタック波形、ディケイ波形、アタック波形とディケイ波形とを加算して合成される楽音波形の一例を示す波形図である。
【図９】楽音合成機能の第２変形例を示す機能ブロック図である。
【図１０】楽音合成機能の第３変形例を示す機能ブロック図である。
【図１１】楽音合成機能の第２実施例（第４変形例）の概要を説明するための機能ブロック図である。
【図１２】レベル修正部の一例を示す機能ブロック図である。
【図１３】楽音合成機能の第５変形例を示す機能ブロック図である。
【図１４】楽音合成機能の第４及び第５変形例を実現するノートオン処理の一部を示すフローチャートである。
【図１５】楽音合成機能の第４及び第５変形例を実現するノートオフ処理の一部を示すフローチャートである。
【図１６】楽音合成機能の第６変形例を示す機能ブロック図である。
【図１７】楽音合成機能の第７変形例を示す機能ブロック図である。
【図１８】楽音合成機能の第６及び第７変形例を実現するノートオン処理の一部を示すフローチャートである。
【図１９】楽音合成機能の第６及び第７変形例を実現するノートオフ処理の一部を示すフローチャートである。
【図２０】連成振動が生じている場合に見られる楽音上の特徴を反映した楽音波形の一例を示す波形図である。
【発明を実施するための形態】
【００１９】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００２０】
図１は、この発明に係る楽音合成装置を適用した電子楽器のハードウェア構成例を示すブロック図である。ここに示す電子楽器は「波形メモリ読み出し」方式による楽音合成を行うものであって、演奏者自身による演奏操作子４の操作に伴い随時に作成される演奏情報（ノートオンイベントやノートオフイベントなどのイベントデータ、ダイナミクス情報やピッチベンド情報などの各種コントロールデータを含む）に基づいて電子的に楽音を発生する、あるいは自動演奏処理等の実行に伴い順次に供給される予め作成済みの自動演奏データ内に含まれる演奏情報に基づいて自動的かつ電子的に楽音を発生する楽音合成機能を有する。
【００２１】
この楽音合成機能は、演奏情報に基づき波形メモリに記憶された多数の波形サンプルデータ（波形データ）の中から使用すべき波形データの選択が行われて、該選択された波形データに従って楽音波形を合成するが、本実施形態では「連成振動」による影響を加味して楽音波形の合成が行われるようになっている。こうした楽音合成機能については後述する。なお、この実施例に示す電子楽器はここに示す以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
【００２２】
図１に示す電子楽器はコンピュータを用いて構成されており、そこにおいて、上記の楽音合成機能を実現する楽音合成処理（後述する図５参照）は、コンピュータが各々の処理を実現する所定のプログラム（ソフトウェア）を実行することにより実施される。勿論、この処理はコンピュータソフトウェアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。
【００２３】
本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えば、データ及びアドレスバスなど）を介してＲＯＭ２、ＲＡＭ３、演奏操作子４、表示器５、設定操作子６、音源７、記憶装置８、通信インタフェース９がそれぞれ接続されている。
【００２４】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラム、あるいは所謂波形メモリとして例えば自然楽器のピアノから一鍵ごとの出音にあわせてサンプリングされた波形データなどの様々な楽器音に対応した波形データ等を格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
【００２５】
演奏操作子４は、楽音のノートを選択するための複数の鍵を備えた例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、例えば押鍵速度あるいは離鍵速度を表わすベロシティなどを検出することができる。この演奏操作子４は、演奏者自身の手弾きによる楽音のマニュアル演奏のために使用できるのは勿論のこと、予め用意された自動演奏データを選択するなどの入力手段として使用することもできる。勿論、演奏操作子４は鍵盤等の形態に限らず、楽音のノートを選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよいことは言うまでもない。表示器５は、例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、各種画面を表示するのは勿論のこと、演奏の際に使用する音色・効果などの各種演奏パラメータの設定状態や波形データ一覧あるいは自動演奏データ一覧などの各種情報、さらにはＣＰＵ１の制御状態などを表示することもできる。演奏者は該表示器５に表示されるこれらの各種情報を参照することで、各種演奏パラメータの設定や自動演奏データの選択などを容易に行うことができる。
【００２６】
設定操作子（スイッチ等）６は、例えば自動演奏対象とする自動演奏データを選択する選択スイッチ、演奏の際に使用する音色・効果などの各種演奏パラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器５に表示された各種画面の位置を設定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。
【００２７】
音源７は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた、ユーザによる演奏操作子４の操作に応じて発生される演奏情報及び／又は任意の自動演奏データの再生に応じて発生される演奏情報に基づいて楽音波形を合成して楽音信号を生成する。ここに示す電子楽器においては、例えば波形データとして、単音の楽音波形全体を波形メモリに記憶する、又は単音の楽音波形を非周期成分からなるアタック部の楽音波形と周期成分からなるディケイ部の楽音波形とに分割してそれぞれを波形メモリに記憶しておき、演奏情報に対応する波形データが波形メモリから読み出されると、該読み出された波形データはバスラインを介して音源７に与えられて適宜バッファ記憶される。そして、音源７ではバッファ記憶された波形データを所定の出力サンプリング周波数に従い出力することで楽音波形を合成し、これに後述する連成振動を加味するための制御処理を施す。該制御処理された楽音波形は、サウンドシステム７Ａに与えられて発音される。サウンドシステム７Ａは、例えばＤＡ変換器、アンプ、スピーカ等を有してなり、ＤＡ変換器によりアナログ波形に変換された前記楽音波形をアンプにより増幅しスピーカを介して放音する。
【００２８】
記憶装置８は、上記したような波形データや自動演奏データなどの各種データ、ＣＰＵ１により実行される各種制御プログラム等を記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置８（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、記憶装置８はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００２９】
通信インタフェース（Ｉ／Ｆ）９は、本電子楽器と図示しない外部機器との間で制御プログラムや上記した各種データなどの各種情報を送受信するためのインタフェースである。この通信インタフェース９は、例えばＭＩＤＩインタフェース，ＬＡＮ，インターネット，電話回線等であってよく、また有線あるいは無線のものいずれかでなく双方を具えていてよい。
【００３０】
図１に示した電子楽器においても、従来知られている装置のように、演奏者による演奏操作子４の操作に伴い発生される演奏情報、あるいは予め用意されたＳＭＦ（Standard MIDI File）形式の自動演奏データ等に含まれる演奏情報に基づいて楽音波形を生成する楽音合成機能を有する。ただし、複数の異なる音高の楽音を含んでなる楽音波形を合成する場合には、単に波形メモリに記憶済みである複数の波形データを所定の出力サンプリング周波数に従い同時に出力しこれらを加算することにより複数の異なる音高の楽音を含んでなる楽音波形を合成することだけに留まらずに、後述の連成振動を加味するための信号処理を施すことにより連成振動を再現した複数の異なる音高の楽音を含んでなる楽音波形を合成するようにしている。以下、説明する。
【００３１】
（第１実施例）
図２は、楽音合成機能の第１実施例の概要を説明するための機能ブロック図である。図中の矢印はデータの流れを表す。鍵盤４（演奏操作子）はユーザの演奏操作に応じて、ノートオンイベントやノートオフイベントなどの演奏情報を音源部Ａ及び判定部Ｄに対し供給する。判定部Ｄは、ＣＰＵ１により実現される１つの機能である。ノートオンイベントやノートオフイベントなどの演奏情報には、ユーザが操作した鍵に予め対応付けられている音高を表すノート番号（ノートナンバ）や、押鍵速度あるいは離鍵速度を表わすベロシティ情報などが含まれている。
【００３２】
なお、ここでは演奏操作子である鍵盤４の操作に応じて演奏情報を供給する例を挙げたがこれに限らず、例えばＣＰＵ１により実現され得る自動演奏（シーケンサ）機能に応じて予め作成済みの自動演奏データ内に含まれる演奏情報を順次に供給するようにしてもよいし、あるいは外部機器（図示せず）から通信インタフェース９を経由して自動演奏データひいては演奏情報を順次に供給するようにしてもよい。また、演奏操作子の１つであるダンパーペダルを踏み込むとノートオフイベントの発生後も発音が持続し、その後ダンパーペダルの踏み込みを止めることによってノートオフイベントの発生相当の処理がなされるが、ここではこうしたダンパーペダル操作による処理については説明を省略する。
【００３３】
判定部Ｄは、鍵盤４からノートオンイベントあるいはノートオフイベントを受け取ると、ＲＡＭ３上に一時記憶されるノートリスト、部分音リスト、帯域リストを更新する。図３に、ノートリスト、部分音リスト、帯域リストそれぞれのデータ構成を示す。
【００３４】
図３（Ａ）はノートリストのデータ構成を示し、ノートリストは音源部Ａの各発音チャンネルＡ１で合成する楽音のノートをノート番号等によって記憶／管理する。このノートリストには、ノートオンイベントの受信に応じて新規に楽音波形の合成を開始する楽音のノートとしてノートオンイベントに含まれるノート番号が追加される一方で、ノートオフイベントの受信に応じて楽音波形の合成を止める楽音のノートとしてノートオフイベントに含まれるノート番号が削除される。ここでは、ノート番号「45」（ノートＡ２）、ノート番号「48」（ノートＣ３）、ノート番号「55」（ノートＧ３）それぞれに対応した３つの異なる音高の楽音を合成する場合におけるノートリストの例を示した。
【００３５】
図３（Ｂ）は部分音リストのデータ構成を示し、部分音リストは合成する楽音波形を構成する基音及び倍音の各周波数（Hz）と、それら基音及び倍音毎に予め決められている音圧割合（db）とを記憶／管理する。上述のノートリストに新規に楽音のノート（ノート番号）が追加されるたびに、追加されたノートを元に後述する倍音構造データベース（図４参照）が参照され、部分音リストに新たに合成開始する楽音波形を構成する基音及び倍音それぞれの周波数と音圧割合とが新たに追加される。
【００３６】
一方、上述のノートリストから楽音のノート（ノート番号）が削除されるたびに、削除されたノートを元に倍音構造データベースが参照されて、この部分音リストから合成を止めた楽音波形に含まれる基音及び倍音それぞれの周波数と音圧割合とが削除される。ここでは、ノート番号「45」（ノートＡ２）、ノート番号「48」（ノートＣ３）、ノート番号「55」（ノートＧ３）の３つの異なる楽音波形それぞれを構成する基音及び２次〜８次までの各倍音の周波数（Hz）と音圧割合（db）とを記憶／管理している場合の部分音リストを例に示したが、これらの基音及び倍音を周波数領域に示すとすると、図３（Ｄ）のようになる。
【００３７】
ここで、上述の部分音リストを作成する際に参照する倍音構造データベースのデータ構成を図４に示す。倍音構造データベースは、波形メモリに記憶されている例えばピアノの１つの鍵（演奏操作子）の操作に応じて発生される元の楽音波形（波形メモリに記憶済みの波形データに対応）毎に、該楽音波形を構成する基音及び倍音の各周波数と共に音圧割合を予め記憶してあるデータベースである。
【００３８】
図４に示すように、当該データベースはノート番号を検索キーとして、そのノート番号で一意に決まる波形メモリに記憶済みの波形データに対応する元の楽音波形を構成している基音を含む倍音構造を属性情報に持つ。楽音波形を構成する倍音構造として、基音及び各倍音毎に音量割合（db）と周波数（Hz）とが記憶されている。音量割合は、ノート番号で一意に決まる元の楽音波形の所定の時間区間（例えば楽音波形の最初から最後まで、あるいは倍音が十分成長して鳴っている波形位置の100msec後から1000msec後までなど）について、当該区間の楽音波形全体の音量と各倍音の音量との比をデシベル単位で表わしたものである。周波数は、ノート番号で一意に決まる元の楽音波形の所定の時間区間について、当該区間に含まれる楽音波形を構成している各倍音の周波数の平均値である。
【００３９】
なお、これら音量割合及び周波数は、自然楽器のピアノから得た元の楽音波形を周波数分析した結果に基づいて記憶すればよい。ただし、低域であれば倍音として１００個以上の倍音を含む音域もあるがこれら全ての倍音を記憶する必要はなく、データベースに記憶する属性情報としては優位な倍音すなわちある音量レベル以上の倍音に関する情報に限ってよい。例えば、図４に示した例では基音から８次倍音までの属性情報を記憶している。
なお、図４に示した例では、標準的なピアノから発生されるノート「Ａ０〜Ｃ８」に対応する８８個の異なるノートを割り当て済みの全鍵域（８８鍵）にわたって楽音波形の倍音構造を記憶した例を示したがこれに限らず、ユーザによってよく弾かれる中音域の鍵域内にある楽音波形の倍音構造だけを記憶するようにしてもよい。また、倍音がほとんど聞き取れない高音域の鍵域内にある楽音波形の倍音構造は記憶しなくともよい。
【００４０】
なお、図４に示した例では、波形メモリに対応する波形データが記憶されてなり、各鍵に対応して割り当てられる半音ずつノートの異なる元の楽音波形に関し、その倍音構造を全ての鍵の楽音波形について記憶した例を示した。が、場合によっては全ての鍵に対応し得る半音ずつノートの異なる波形データを波形メモリに記憶していないことがある。その場合、波形メモリには１オクターブ毎に一つだけサンプリングによって取得した任意の元の楽音波形に対応する波形データが記憶されている。そして、この任意の波形データの再生速度を元の0.75倍から1.5倍まで変えて再生することによって、１つの波形データを用いて１オクターブの異なるノートの複数の楽音波形を発生させることのできるようになっている。このような仕組みの音源である場合であっても、倍音構造データベースには波形データを元の再生速度で再生した場合に得られる楽音波形の倍音構造だけでなく、波形データを再生速度を変更して再生した場合に得られる楽音波形の倍音構造をも記憶しておくつまり半音ずつ倍音構造を記憶しておくとよい。
【００４１】
あるいは、波形メモリにとびとびの音高でそれぞれが何らかのノートに対応するいくつかの単音の波形データを記憶しておく一方で、倍音構造データベースにはその波形データのいずれか１つに対して１つの倍音構造を記憶しておくようにしてもよい。この場合、指定されたノートの楽音波形を合成するときには、指定されたノートに基づき元にする波形データを特定すると共に倍音構造データベースを参照して倍音構造を特定し、特定された倍音構造のうちの基音及び各倍音の周波数を前記指定ノートに対応する所定音高と前記特定された波形データの音高との差に応じて修正するようにしてよい。
【００４２】
なお、図４に示した例ではノート番号で元の楽音波形が一意に決まるものとしているが、実装によっては同じ鍵を操作して同じノート番号を発しつつも押鍵速度によって複数ある波形データのうちのいずれか１つの波形データを選択して楽音波形を合成するものもある。例えば、ノート「Ａ２」の鍵に対して、演奏者によって強く鍵が弾かれることにより発生されるf（フォルテ）の楽音波形をサンプリングした波形データと、演奏者により弱く鍵が弾かれることにより発生されるp（ピアノ）の楽音波形をサンプリングした波形データとを別々に波形メモリに記憶しておき、押鍵速度によってf（フォルテ）の楽音波形をサンプリングした波形データかp（ピアノ）の楽音波形をサンプリングした波形データかのどちらかを選択するものがある。このような場合、倍音構造データベースにはノート番号と押鍵速度とを複合キーとして、その複合キー（ノート番号と押鍵速度）で特定される元のf（フォルテ）の楽音波形とp（ピアノ）の楽音波形それぞれの倍音構造を記憶しておくとよい。
【００４３】
なお、図４に示した例では倍音構造データベースにノート番号と元の楽音波形の倍音構造とを関連付けた関係データベースとして示したが、オブジェクト指向データベースなど他の構造のデータベースであってもよい。また、データベースとして構成することなく、ノート番号と元の楽音波形の倍音構造との関連付けをモデル化して数式で表わした関数で構成してもよい。
【００４４】
図３の説明に戻って、図３（Ｃ）は帯域リストのデータ構成を示しており、この帯域リストは上記した部分音リストに記憶された多数の倍音（部分音とも呼ぶ）のうち所定の帯域条件において近接しており相互に影響を及ぼし得る、所謂「連成振動」を生じ得る帯域を前記部分音リストから抽出したものと、前記各帯域での音量レベルの最大減衰量を記憶／管理する。本実施形態では、複数の倍音が所定の周波数差以下で近接しており、かつ、それら複数の倍音の音量レベルが所定値以上であることを条件に、それら倍音がなす周波数範囲を所謂「連成振動」を生じ得る帯域として抽出して帯域リストに記憶する。例えば、ある倍音の周波数が隣接する倍音の周波数とが1.0%以内で近接しており、かつ、それら倍音の少なくとも１つの音量レベルが例えば「-70dB」（所定のスレッショルド値）以上であるような場合に、これら複数の倍音がなす周波数範囲を「連成振動」を生じ得る帯域として抽出する。ここで、ノート「Ａ２（45）」とノート「Ｃ３（48）」とノート「Ｇ３（55）」（括弧内はノート番号）に対応付けられている各鍵が押下された場合、つまりは図３（Ａ）に示すノートリストと図３（Ｂ）に示す部分音リストが生成された場合を例にして、具体的に説明する。
【００４５】
まず、倍音の周波数の近接を考慮する。例えば、図３（Ｂ）に示されるように、「Ａ２」の７次倍音と「Ｇ３」の４次倍音とは１%以内の周波数差で近接しており、また「Ｇ３」の４次倍音と「Ｃ３」の６次倍音も１%以内の周波数差で近接している。そのため、「Ａ２」の７次倍音と「Ｇ３」の４次倍音と「Ｃ３」の６次倍音とからなる図中において帯域３（図では丸付き数字で示す、以下同じ）で示される帯域が「連成振動」を生じる帯域の候補となる。同様に、「Ｇ３」の２次倍音と「Ｃ３」の３次倍音とからなる図中において帯域１で示される帯域も候補となるし、「Ｃ３」の５次倍音と「Ａ２」の６次倍音とからなる図中において帯域２で示される帯域も候補となる。
【００４６】
次に、候補とした帯域に含まれる各倍音の音量レベルを考慮する。ここでは少なくとも１つの倍音の音量レベルが「-70dB」以上であれば、当該倍音が含まれる帯域を「連成振動」を生じ得る帯域として抽出する。上記したように、倍音の周波数の近接を考慮した結果、図３（Ｂ）において帯域１〜３で示される各帯域が連成振動」を生じる帯域の候補として挙げられる。しかし、帯域１に関しては「Ｇ３」の２次倍音も「Ｃ３」の３次倍音も音量レベルが共に「-70dB」のスレッショルド値を下回っている。一方、帯域２と帯域３に関してはそれらの帯域に含まれる複数の倍音の少なくとも一つの音量レベルが「-70dB」のスレッショルド値以上である。したがって、帯域２と帯域３は上記条件を満たすので「連成振動」を生じ得る帯域として抽出される一方で、帯域１は上記条件を満たさないので「連成振動」を生じ得る帯域として抽出されない。
【００４７】
このようにして、「連成振動」を生じ得る帯域が抽出されるので、帯域リストには抽出した帯域に含まれる複数の倍音の周波数のうち最小周波数から最大周波数までを記憶する。上記例では、図３（Ｃ）に示すように「1308.2Hz〜1320.2Hz」の帯域と「1540.4Hz〜1569.9Hz」の帯域とが「連成振動」を生じ得る帯域として帯域リストに記憶される。
なお、上記した「連成振動」を生じ得る帯域の抽出方法は一例であって他の方法であってもよい。例えば、候補として挙げられた帯域１〜３で示される各帯域のうち、各帯域に含まれる複数の倍音の音量レベルを加算した合計値が所定のスレッショルド値より大きい帯域を「連成振動」を生じ得る帯域として抽出するようにしてもよい。
【００４８】
他方、帯域リストの最大減衰量は、抽出された「連成振動」を生じ得る帯域の個数とその帯域幅とによって決められる。仮に抽出された帯域に含まれる倍音の数をｍ（個）、帯域幅をｂ（Hz）、連成振動が生じる１つの条件である１%の周波数差をｄ（Hz）としたとき、最大減衰量Ｌ（dB）は以下に示す式１に従って算出される。
L=-3×(m-1)/ceil(b/d)・・・式１
【００４９】
上記式１の意味するところを説明すると、ｍ個の倍音は帯域幅ｂ（Hz）の範囲において隣接する倍音同士が周波数差ｄ（Hz）以内に散らばっていると仮定する。それら各倍音は連成振動によって、帯域幅ｂ（Hz）の範囲内において「ceil(b/d)」個の点に引き寄せられる。１個の点に隣り合う２つの倍音が引き寄せられるとすると、その倍音を発する複数の弦において振動エネルギーが交換されるものと考え、楽音波形の打音部分（発音から間もなく生成される音量レベルの大きな周期成分）は信号レベルに応じて最大「-3dB」まで減衰する。また、１個の点に３つの倍音が引き寄せられると最大「-6dB」まで減衰し、１個の点に４つの倍音が引き寄せられると最大「-9dB」まで減衰する、…というようにして最大減衰量Ｌが決められる。
【００５０】
上記式１による最大減衰量Ｌの決定は、自然楽器のピアノにおける１鍵について、連成振動によってある１つの周波数により多くの倍音が引き寄せられれば、それだけその倍音を発する複数の弦同士での大きなエネルギー交換がなされるはずであり、それ故に特に楽音波形の打音部分のエネルギーがより多くの弦から発せられる楽音波形の余韻部分へと分配されることから、打音部分がより早く減衰するのであろうという仮定に基づく。例えば、各ノート「Ａ２」と「Ｃ３」と「Ｇ３」とがそれぞれ割り当てられた各鍵が同時に押下されたときに抽出される帯域３（図３（Ｂ）参照）については、「1540.4Hz〜1569.9Hz」の帯域にある３つの倍音（Ａ２の７次倍音、Ｃ３の６次倍音、Ｇ３の４次倍音）が１つの点に引き寄せられるので、-6dBを最大減衰値Ｌに決定する。このようにして、鍵の操作に応じて図３（Ａ）から図３（Ｃ）に示す各リストは更新される。
【００５１】
なお、ノートオンイベントの受信によってノートリストに新規にノート（ノート番号）が追加されることに応じて部分音リストに新たな倍音が追加された場合に、倍音が近接する帯域が新規のノート追加前に比べて広くなることがある。そのような場合には、帯域リストにおいて「連成振動」を生じ得る帯域として抽出される複数の帯域を、１つの広い帯域に結合するように再構成してよい。一方、ノートオフイベントの受信によってノートリストから対応するノートが削除されることに応じて部分音リストから該当する倍音が削除された場合に、倍音が近接する帯域がノート削除前に比べて狭くなることがある。そのような場合には、帯域リストにおいて「連成振動」を生じ得る帯域として抽出されていた１つの帯域を、複数の狭い帯域に分割するように再構成してよい。
【００５２】
図２の説明に戻って、この実施形態では、鍵盤４から複数の鍵の操作に応じて複数の演奏情報が同時に音源７に供給されると、音源７はこれらの演奏情報に含まれる異なるノート番号毎に各ノート番号によって一意に決まる波形データを波形メモリ（図示せず）から読み出し、該読み出した複数の波形データを用いて最終的には１つの楽音波形を合成し出力信号として出力する。音源７は、図２に示すように音源部Ａとフィルタ部Ｂと制御部Ｃとに大きく分けることができる。音源部Ａは発音チャンネル部Ａ１を複数備えてなり、鍵盤４からのノートオンイベントデータの供給に応じて空きチャンネル（つまりは開放されている発音チャンネル部Ａ１）の中から使用する発音チャンネル部Ａ１を確保し、該確保した発音チャンネル部Ａ１毎に波形メモリから読み出した波形データを用いてノートに対応する単音の楽音波形を合成する。ユーザにより同時に複数の鍵が操作された場合には、鍵盤４から供給される複数のノートイベントデータ（詳しくはノート番号）毎に発音チャンネルＡ１が確保されるので、該確保された複数の発音チャンネル部Ａ１で同時に異なるノート（例えばＡ２，Ｃ３，Ｇ３）それぞれに対応する単音の楽音波形がそれぞれ合成される。こうした波形データを用いた単音の楽音波形合成方法は公知であるので、ここでの詳細な説明は省略する。
【００５３】
各発音チャンネル部Ａ１で合成された単音の楽音波形が加算部Ａ２により加算されることによって、複数のノートに対応した複数の音高の楽音を含んでなる１つの楽音波形が生成される。この生成された１つの楽音波形は、フィルタ部Ｂ及び制御部Ｃに出力される。なお、鍵盤４から前記ノートオンイベントデータに対応するノートオフイベントデータ（つまりはノート番号が同じ）が供給された場合、音源部Ａは前記ノート番号に対応した単音の楽音波形を合成している発音チャンネル部Ａ１の楽音合成を終了して当該発音チャンネル部Ａ１を開放する。
【００５４】
フィルタ部Ｂは直列につながれた複数の例えばNotchフィルタＢ１を含んでなり、各NotchフィルタＢ１はそれぞれが音源部Ａから出力される楽音波形のうち任意の周波数帯域の音量レベルを任意の減衰量（後述する減衰量Ｌ'）だけ減少する。各NotchフィルタＢ１で制御する周波数帯域や音量レベルの減衰量は、制御部Ｃや判定部Ｄから指示（出力）される。
【００５５】
具体例を用いて説明すると、例えばノート「Ａ２」とノート「Ｃ３」とノート「Ｇ３」に対応する複数の音高の楽音を含んでなる楽音波形が音源部Ａから出力されている場合、判定部Ｄは図３（Ｃ）に示すように帯域２と帯域３とを「連成振動」を生じ得る帯域として抽出する。そして、判定部Ｄはフィルタ部Ｂの楽音波形の入力側に近い１番目のNotchフィルタＢ１に対し抽出した帯域２を割り当てるように、２番目のNotchフィルタＢ１に対し抽出した帯域３を割り当てるようにそれぞれ指示する一方で、３〜Ｎ番目の各NotchフィルタＢ１を使用しないようにつまりは残りのNotchフィルタＢ１全てをフラットな特性に設定するかスルーに設定するか指示する。例えば２番目のNotchフィルタＢ１には、帯域３すなわち「1540.4〜1569.9Hz」の帯域幅に相当するＱ値が指示されると共に、帯域３の中心周波数（Ｆ値）として「1555.2Hz」が指示される。
【００５６】
さらに、判定部Ｄは、「連成振動」を生じ得る帯域を抽出する度にNotchフィルタＢ１に対し抽出した帯域を割り当てるが、このときに制御部Ｃにおいてフィルタ部Ｂの各NotchフィルタＢ１に対応して設けられている後述する複数系列の減衰量決定部のうち前記帯域を割り当てたNotchフィルタＢ１に対応する系列の減衰量決定部を確保し、該確保した減衰量決定部に対して前記帯域を表す帯域幅（Ｑ値）や中心周波数（Ｆ値）を指示する。また、判定部Ｄは確保した減衰量決定部に対して音量レベルの最大減衰量Ｌも指示する。
【００５７】
制御部Ｃは、判定部Ｄにより帯域が割り当てられたフィルタ部Ｂの各NotchフィルタＢ１毎に音量レベルの減衰量Ｌ'を指示する。この音量レベルの減衰量Ｌ'は、複数系列の減衰量決定部毎に判定部Ｄから指示される帯域幅（Ｑ値）及び中心周波数（Ｆ値）ならびに音量レベルの最大減衰量Ｌと、音源部Ａから出力される楽音波形の音量レベルとに応じて決定される。図２に示すように、制御部Ｃはバンドパスフィルタ（BPF）Ｃ１とエンベロープフォロワ（E.F）Ｃ２と乗算器（Conv）Ｃ３とからなる減衰量決定部をフィルタ部Ｂの各NotchフィルタＢ１に対応して複数系列有している。なお、バンドパスフィルタＣ１及びNotchフィルタＢ１は、例えばIIＲフィルタで構成されていればよい。
【００５８】
各系列の減衰量決定部において、バンドパスフィルタＣ１は音源部Ａから出力される楽音波形のうち、対応するNotchフィルタＢ１に割り当てた帯域に含まれる楽音波形のみを判定部Ｄから指示された帯域幅（Ｑ値）及び中心周波数（Ｆ値）に従って取り出す。エンベロープフォロワＣ２は、前記取り出された所定帯域の楽音波形を包絡線検波することによってその時々の瞬時の音量レベルを求める。乗算器Ｃ３は、前記求めた瞬時の音量レベルと判定部Ｄから指示された音量レベルの最大減衰量Ｌとを乗算することにより音量レベルの減衰量Ｌ'を算出する。こうして算出される音量レベルの減衰量Ｌ'は、NotchフィルタＢ１に割り当てられた帯域に含まれるその時々の楽音波形の音量レベルに応じて最大減衰量Ｌまで変動することになる。勿論、ここでの乗算による音量レベルの減衰量Ｌ'の演算方法は一例であり、倍音の近接する度合いあるいは入力される楽音波形の音量レベルを減衰量に反映することができるのならば他の演算方法であってよい。このようにして、制御部Ｃは音源部Ａから出力される楽音波形の音量レベルに基づき減衰量Ｌ'を求めて、該求めた減衰量Ｌ'に基づいてフィルタ部Ｂを制御することにより、「連成振動」を生じ得る各帯域毎に音源部Ａから出力される楽音波形を構成する倍音のうちのいずれかについてその音量レベルを適宜に減少させることができるようにしている。
【００５９】
次に、上述した電子楽器における楽音合成機能を実現する制御プログラムについて、図５〜図７を用いて説明する。図５は、電子楽器における楽音合成機能を実現する楽音合成処理の一実施例を示すフローチャートである。この「楽音合成処理」はＣＰＵ１によって制御される処理であって、ユーザによる当該電子楽器の電源オン操作に従って開始されて電源オフ操作が行われるまで繰り返される。
【００６０】
ステップＳ１は、初期設定処理を行う。この初期設定では、ＲＡＭ３に一時記憶する変数などを初期状態に設定する、あるいはノートリスト、部分音リスト、帯域リストやフィルタ部Ｂの各NotchフィルタＢ１に対する設定値や制御部Ｃの各系列の減衰量決定部に対する設定値などをクリアするなどの処理が行われる。これに伴い、全てのNotchフィルタＢ１及びバンドパスフィルタＣ１がフラットな特性あるいは波形スルー状態に初期設定される。
【００６１】
ステップＳ２は、ノートオンイベントデータやノートオフイベントデータの検出（受信）に基づいて「ノートオン処理」（ステップＳ３）又は「ノートオフ処理」（ステップＳ４）何れかの処理を実行するように、イベントデータに応じた処理の振り分けを実行する。ノートオンイベントデータ又はノートオフイベントデータは、次のようにして検出される。鍵盤４（演奏操作子）に対してユーザが押鍵操作したときにはノートオンイベントデータが発せられ、ユーザが離鍵操作したときにはノートオフイベントデータが発せられるので、こうしたユーザによる演奏操作に応じて発せられるイベントデータを検出する。あるいは、ＣＰＵ１などで別タスクとして処理される図示しない自動演奏機能（処理）の実行に伴う自動演奏データの再生による楽音進行に応じて随時に発せられるノートオンイベントデータ又はノートオフイベントデータを検出する。さらには、通信インタフェース９を介して接続された外部機器から送信されるノートオンイベントデータやノートオフイベントデータの受信に従って、それらのイベントデータを検出する。
【００６２】
ステップＳ２において、ノートオンイベントデータを検出した場合には「ノートオン処理」（ステップＳ３）を実行し、ノートオフイベントデータを検出した場合には「ノートオフ処理」（ステップＳ４）を実行する。これら「ノートオン処理」又は「ノートオフ処理」の終了後は、ステップＳ２の処理に戻る。こうして、ノートオンイベントデータを検出するたびに「ノートオン処理」を実行し、ノートオフイベントデータを検出するたびに「ノートオフ処理」を実行する。
【００６３】
図６は、「ノートオン処理」（図５のステップＳ３参照）の一実施例を示すフローチャートである。ステップＳ１１は、ノートオンイベントデータで指定されるノート（詳しくはノート番号）をノートリスト（図３（Ａ）参照）に書き込む。ステップＳ１２は、前記書きこんだノートを検索キーにして倍音構成データベース（図４参照）を検索する。ステップＳ１３は、倍音構成データベースを検索した結果の倍音構成を部分音リスト（図３（Ｂ）参照）に書き込む。ステップＳ１４は、部分音リストに書き込まれている倍音構成に基づき所定条件に該当する「連成振動」を生じ得る帯域を抽出する。また、このときには、上記式１に従って最大減衰量Ｌを決定する。ステップＳ１５は、前記抽出した「連成振動」を生じ得る帯域及び前記決定した最大減衰量Ｌによって帯域リスト（図３（Ｃ）参照）を更新する。
【００６４】
ステップＳ１６は、前記帯域リストの更新に応じて音源７のフィルタ部Ｂや制御部Ｃ（図２参照）の設定を更新する制御を行う。具体的には、フィルタ部ＢのNotchフィルタＢ１に対し前記抽出した「連成振動」を生じ得る周波数帯域をその中心周波数（Ｆ値）及び帯域幅（Ｑ値）とともに設定する。また、制御部Ｃの各系列の減衰量決定部に対し上記帯域幅（Ｑ値）や中心周波数（Ｆ値）を設定する。さらに、このときに音量レベルの最大減衰量Ｌも指示される。ステップＳ１７は、音源７（より具体的には音源部Ａ）に対し使用中でなく空いている発音チャンネル部Ａ１を確保して、ノートリストに記憶されているノート（ノート番号）に対応する音高の楽音波形の合成開始を指示する。なお、上記ステップＳ１１〜Ｓ１６の処理に関し、後述する例えば第２変形例のように楽音波形をアタック波形とディケイ波形とに分けて合成する構成である場合には、それらの処理をディケイ波形に関してのみ行いアタック波形に関しては行わなくてよい。
【００６５】
楽音波形の合成開始が指示されると、音源部Ａでは各発音チャンネル部Ａ１毎に単音の楽音波形を合成し、該合成した複数の単音の楽音波形を加算して複数のノートに対応した異なる音高を含んでなる楽音波形を出力する。そして、音源部Ａから複数のノートに対応した異なる音高を含んでなる楽音波形が出力されると、当該楽音波形を構成する倍音のうち、フィルタ部ＢのNotchフィルタＢ１により前記抽出した「連成振動」を生じ得る周波数帯域内に含まれる倍音に関し、その音量レベルを楽音波形の音量レベルに応じて減少させる制御が行われる。このときに、音量レベルの減衰量Ｌ'はその時々の楽音波形の音量レベルに応じて変動するが、楽音波形の音量レベルが大きければ大きいほど相対的に音量レベルの減衰量Ｌ'も大きくなることから、特に楽音波形の打音部分の音量レベルを余韻部分に比べて大きく減少することができる。
【００６６】
図７は、「ノートオフ処理」（図５のステップＳ４参照）の一実施例を示すフローチャートである。ステップＳ２１は、音源７（より具体的には音源部Ａ）に対しノートオフイベントデータで指定されるノート（ノート番号）に対応する音高の楽音波形を合成中の発音チャンネル部Ａ１での楽音合成を終了させるリリース指示を行う。音源部Ａは、このリリース指示を受けて発音中の楽音の音量レベルを所定の時間をかけて緩やかに下げて消音する制御を行う。ステップＳ２２は、対応する発音チャンネル部Ａ１での楽音合成が終了したか否かを判定する。楽音合成が終了していないと判定した場合には（ステップＳ２２のＮＯ）、発音中の楽音が完全に消音されるまで処理を待機する（ステップＳ２２の処理を繰り返す）。楽音合成が終了したと判定した場合には（ステップＳ２２のＹＥＳ）、ノートリスト（図３（Ａ）参照）からノートオフされたノート（ノート番号）を削除する（ステップＳ２３）。
【００６７】
ステップＳ２４は、削除したノートに対応する倍音構成を部分音リスト（図３（Ｂ）参照）から削除する。この部分音リストから任意のノートに対応する倍音構成が削除された際には、上記したように部分音リストにおいて「連成振動」を生じ得る帯域の再構成が行われる場合がある。ステップＳ２５は、部分音リストにおいて「連成振動」を生じ得る帯域を抽出する。ステップＳ２６は、前記抽出した帯域により帯域リスト（図３（Ｃ）参照）を更新する。ステップＳ２７は、前記帯域リストの更新に応じてフィルタ部Ｂや制御部Ｃ（図２参照）の設定を更新する。この場合には、音源部Ａからノートオフされたノートを除く他の複数のノートに対応した異なる音高を含んでなる楽音波形を構成する倍音のうち、フィルタ部ＢのNotchフィルタＢ１によって、前記更新された帯域リストに基づく「連成振動」を生じ得る周波数帯域内に含まれる倍音の音量レベルを減少させる制御が行われる。
【００６８】
以上のように、本実施形態における楽音合成装置では、複数のノート毎に各ノートに対応した音高の楽音波形を同時に複数生成し、このノートに対応した複数の異なる音高の楽音波形それぞれにおいて、各楽音波形を構成している複数の倍音に関して互いに周波数が近接している倍音を含んでなる任意の帯域を特定する。この任意の帯域は、各楽音波形の倍音構成によって１乃至複数の帯域がある。この特定された１乃至複数の帯域に基づいて、前記生成した複数の楽音波形それぞれを構成する倍音のうち当該帯域それぞれに含まれる各倍音つまりはその周波数が近接している各倍音に関して、その音量レベルを調整する。すなわち、ノートに対応した複数の異なる音高の楽音波形にわたって、それらの倍音構成のうち特定の帯域に属する倍音（言い換えるならば、互いに近接した連成振動し得る周波数成分）のみに関してその音量レベルを調整する。こうすることによって、複数ノートに対応した複数の異なる音高の楽音を含んでなる楽音波形を合成する場合に、「連成振動」が生じている場合に見られる楽音上の特徴を反映した楽音波形つまりは「連成振動」が生じていない場合に比べて音量レベルの減少した特徴ある楽音波形を生成することができるようになる。
【００６９】
（第１変形例）
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な変形例の実施形態が可能であることは言うまでもない。例えば、第１変形例として、上述したような音源部Ａから出力される複数の音高の楽音を含んでなる楽音波形の音量レベルに応じて求められる減衰量Ｌ'によらずに、判定部Ｄにより上記式１に従って算出される最大減衰量Ｌによって、単に倍音が近接する特定の周波数帯域に含まれる複数の倍音の音量レベルを同じ割合で下げるようにしてもよい。
【００７０】
こうする場合、図２に示した機能ブロック図において制御部Ｃを有しておらず、判定部Ｄはフィルタ部Ｂの各NotchフィルタＢ１に対し特定の周波数帯域を表す帯域幅（Ｑ値）及び中心周波数（Ｆ値）の設定を行うだけでなく、直接的に最大減衰量Ｌの設定をも行う。ただし、こうして特定の周波数帯域に含まれる複数の倍音の音量レベルを同じ割合で下げるようにすると、楽音波形の打音部分だけでなく余韻部分の音量レベルも下げられることになる。しかし、この第１の変形例は上述した実施形態に比べると制御部Ｃを有していない簡易な構成であるにも関わらず、結果的に和音の響きがある程度スッキリ聞こえる楽音を発生させることができることから有利である。
【００７１】
（第２変形例）
一般的に、楽音波形は時間的に先に合成される「非周期成分からなるアタック部の楽音波形（以下、アタック波形と呼ぶ）」と、時間的に後に合成される「周期成分からなるディケイ部の楽音波形（以下、ディケイ波形と呼ぶ）」とに分けることが可能である。
【００７２】
ここで、図８に「連成振動」が生じている場合におけるアタック波形、ディケイ波形、アタック波形とディケイ波形とを加算して合成される楽音波形の一例を上から順に示す。この図８からすると、「連成振動」が生じているような場合、アタック波形は「連成振動」が生じていないときと音量レベルが変わらない（下がらない）が、ディケイ波形は「連成振動」が生じていないときよりも打音部分の音量レベルが下がることが理解できる。これは、「連成振動」が複数の弦の間で周期振動が相互作用して起こることからすれば、ディケイ波形は「連成振動」の影響を受けやすい一方で、アタック波形は「連成振動」の影響を受け難いが故に生じ得る結果であると言える。
【００７３】
そこで、上記点を踏まえて図９に示す第２変形例は、音源部（Ａａ，Ａｂ）においてノート単位に各ノートに対応したディケイ波形とアタック波形とを別々に合成し、最終的に複数ノートのディケイ波形とアタック波形とを加算することで複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を生成するものであって、これら別々に合成したアタック波形とディケイ波形とを加算する前に、ディケイ波形に対してのみ「連成振動」の影響を反映させることのできるように構成したものである。図９は、楽音合成機能の第２変形例を示す機能ブロック図である。ただし、ここでは図２に示した第１実施例の機能ブロック図と同じ構成については同じ番号を付してあり、それらの動作は上述した通りであることからここでの詳しい説明は省略する。
【００７４】
図９に示す第２変形例は、音源部がディケイ波形を合成する第１音源部Ａａとアタック波形を合成する第２音源部Ａｂとに分けられる。第１音源部Ａａ及び第２音源部Ａｂは、それぞれが発音チャンネル部（Ａａ１，Ａｂ１）を複数備えてなり、鍵盤４からのノートオンイベントの供給に応じて空きチャンネルの中から使用する発音チャンネル部（Ａａ１，Ａｂ１）を確保し、該確保した発音チャンネル部（Ａａ１，Ａｂ１）毎に波形メモリに記憶済みのディケイ部の波形データ又はアタック部の波形データを読み出し、これを用いてノートに対応したディケイ波形又はアタック波形をそれぞれ合成する。
【００７５】
各音源部Ａａ，Ａｂの各発音チャンネル部Ａａ１，Ａｂ１で合成されたディケイ波形又はアタック波形は、それぞれ加算部Ａａ２，Ａｂ２によって加算されることにより複数ノートに対応する複数の音高の楽音を含んでなる１つのディケイ波形又はアタック波形とされ、これらのディケイ波形又はアタック波形が最終的に出力加算部Ｋに送られて加算されることによって、複数ノートに対応した複数の音高を含んでなる楽音波形が合成される。ただし、第２音源部Ａｂから出力されるアタック波形はそのまま出力加算部Ｋに送られるが、第１音源部Ａａから出力されるディケイ波形はフィルタ部Ｂを通ってから出力加算部Ｋに送られる。
【００７６】
この実施形態の場合、フィルタ部Ｂの各NotchフィルタＢ１は、制御部Ｃや判定部Ｄから指示（出力）される帯域幅（Ｑ値）や中心周波数（Ｆ値）ならびに音量レベルの減衰量Ｌ'に従って、第１音源部Ａａから出力されるディケイ波形に関してのみ任意の周波数帯域内にある倍音の音量レベルを任意の減衰量だけ減少する。このとき、制御部Ｃは、第１音源部Ａａから出力される加算後のディケイ波形の音量レベルのみに従って音量レベルの減衰量Ｌ'を算出する。このようにして、第１音源部Ａａから出力されるディケイ波形には連成振動の影響を反映させる一方で、第２音源部Ａｂから出力されるアタック波形には連成振動の影響を反映させないようにしている。
【００７７】
（第３変形例）
また、「連成振動」が複数の弦の間で周期振動が相互作用して起こることに鑑みれば、既に何らかのノートに対応する楽音波形が時間的に先に合成中であるときにさらに別のノートに対応する楽音波形が時間的に後から合成開始されたような場合には、時間的に後に合成開始された楽音波形のアタック部合成時に生じ得る連成振動の影響が時間的に先に合成開始された楽音波形のディケイ部に及び得ることが考えられる。
【００７８】
そこで、図１０に示す第３変形例は、音源部Ａａ，Ａｂにおいてノート単位に各ノートに対応したディケイ波形とアタック波形とを別々に合成し、最終的に複数ノートに対応した音高の楽音を含んでなるディケイ波形とアタック波形とを加算することにより複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を生成するようにしておき、そのうちのディケイ波形にのみ「連成振動」の影響を反映させるようにした点で上記した第２変形例と同様である。ただし、この第３変形例は、音源部Ａａ，Ａｂにおいて合成されるディケイ波形とアタック波形のノートは異なることを前提に、フィルタ部Ｂによる任意の周波数帯域内にある倍音の音量レベルを任意の減衰量だけ減少させる際に、先行する楽音波形つまりは合成開始タイミングが時間的に先であるディケイ波形の音量レベルだけでなく、後続する楽音波形つまりは合成開始タイミングが時間的に後である別のノートのアタック波形の音量レベルも加味して前記減衰量を求めるようにした点で上記した第２変形例と異なる。図１０は、楽音合成機能の第３変形例を示す機能ブロック図である。ただし、ここでは図９に示した機能ブロック図と同じ構成については同じ番号を付してある。
【００７９】
図１０に示す第３変形例は図９に示した第２変形例と比較すると、入力加算部Ｇを有する点が異なる。この入力加算部Ｇは、第１音源部Ａａから出力される複数ノートに対応した複数の音高の楽音を含んでなるディケイ波形と、第２音源部Ａｂから出力される複数ノートに対応した複数の音高の楽音を含んでなるアタック波形とを加算することによって、複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を合成しこれを制御部Ｃに入力する。つまり、図２に示した実施形態と同様に、制御部Ｃには複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形が入力されるようになっており、制御部Ｃはこの１つの楽音波形全体の音量レベルに基づいて音量レベルの減衰量Ｌ'を特定帯域別に算出し、これによって第１音源部Ａａから出力されるディケイ波形に関してのみ任意の帯域についての音量レベルを前記減衰量Ｌ'ずつ減少させるレベル制御が行われることになる。このようにして、図１０に示す第３変形例では、第１音源部Ａａから出力される合成開始タイミングが時間的に先であるディケイ波形に対して時間的に後に合成開始された楽音波形のアタック部合成時に生じ得る連成振動の影響を反映させることのできるようにするために、第１音源部Ａａから出力されるディケイ波形の音量レベルだけでなく第２音源部Ａｂから出力されるアタック波形の音量レベルをも加味して減衰量を求めるようにしている。
【００８０】
（第２実施例）
上述した第１実施例及びその変形例は、音源部Ａ（又は第１音源部Ａａ）により合成された楽音波形をフィルタ部Ｂの複数のNotchフィルタＢ１に順に通して倍音の周波数が近接する特定帯域毎に当該帯域内にある倍音の音量レベルを下げることで、「連成振動」による影響を反映した楽音波形を合成することのできるようにしたものである。これに対し、以下に示す第２実施例及びその変形例（以下では、便宜的に第４〜第７の変形例と呼ぶ）は特定帯域毎に倍音の音量レベルを下げることだけに留まらず、さらに周波数が近接している複数の倍音に関しそれらの周波数を適宜に決められる基準周波数に近づけるようにピッチシフトすることで、より「連成振動」による影響を色濃く反映した楽音波形を合成することのできるようにしたものである。以下、説明する。
【００８１】
図１１は、楽音合成機能の第２実施例の概要を説明するための機能ブロック図である。この第２実施例（第４変形例と呼ぶ）では、各発音チャンネルで合成されたノートに対応した単音の楽音波形毎に、任意に指定された倍音に関しピッチや音量レベルを変更する。図１１に示すように、この実施形態においては、音源部Ａｃの各発音チャンネル部Ａｃ１で合成されたノートに対応した単音の楽音波形を加算して、複数の音高の楽音を含んでなる１つの楽音波形を生成することなく、単音の楽音波形のまま音源部Ａｃの各発音チャンネル部Ａｃ１に対応して設けられているチャンネル処理部Ｔに出力される。各チャンネル処理部Ｔは直列につながれた複数の倍音処理部Ｔ１を有するが、その個数は倍音構造データベース（図４参照）に記憶されているノートの倍音数（例えば８次倍音まであれば７個）だけ有していればよい。ただし、倍音構造データベースに記憶されているノートの倍音の全てに対しピッチやレベルを変更する制御を行うことは稀なので、チャンネル処理部Ｔはそれより少ない個数（例えば３個）の倍音処理部Ｔ１を有しているだけであってもよい。
【００８２】
直列につながれた複数の各倍音処理部Ｔ１は、それぞれが音源部Ａｃの各発音チャンネルＡｃ１から出力される単音の楽音波形に含まれる２次〜８次までの倍音のうち任意の１乃至複数の倍音の周波数をピッチシフトすると共に、その音量レベルを任意の減衰量だけ減少する制御を行う。各倍音処理部Ｔ１で制御対象とする倍音及び制御するピッチシフト量や音量レベルの減衰量は、判定部Ｄから指示（出力）される。各倍音処理部Ｔ１は、バンドパスフィルタ（BPF）Ｔ１ａ、ピッチシフト部Ｔ１ｂ、レベル修正部Ｔ１ｃ、加算部Ｔ１ｄ、バンドエリミネートフィルタ（BEF）Ｔ１ｅを有してなる。
【００８３】
音源部Ａｃの各発音チャンネル部Ａｃ１から出力される単音の楽音波形はバンドパスフィルタＴ１ａ及びバンドエリミネートフィルタＴ１ｅに入力されて、判定部Ｄから指示された特定の倍音（例えば６次倍音）のみを含んでなる波形がバンドパスフィルタＴ１ａによって抽出されてピッチシフト部Ｔ１ｂへと送られる一方で、前記特定倍音以外の倍音（例えば、６次倍音以外の２〜５次及び７，８次倍音）及び基音を含んでなる波形はバンドエリミネートフィルタＴ１ｅによって抽出されて加算部Ｔ１ｄへと送られる。これらバンドパスフィルタＴ１ａ及びバンドエリミネートフィルタＴ１ｅは、例えばIIＲフィルタである。
【００８４】
前記バンドパスフィルタＴ１ａにより抽出する特定の倍音は、部分音リスト及び帯域リスト（図３（Ｂ）及び図３（Ｃ）参照）に基づいて「連成振動」を生じ得る帯域内にある倍音が指定される。具体的には帯域リストが図３（Ｃ）に示したような記憶内容であるならば、ノート「Ａ２」に対応する単音の楽音波形が入力されるチャンネル処理部Ｔに対し６次及び７次倍音を加工対象として指定し、ノート「Ｃ３」に対応する単音の楽音波形が入力されるチャンネル処理部Ｔに対し５次及び６次倍音を加工対象として指定し、ノート「Ｇ３」に対応する単音の楽音波形が入力されるチャンネル処理部Ｔに対し４次倍音を加工対象として指定する。
【００８５】
ピッチシフト部Ｔ１ｂは、バンドパスフィルタＴ１ａを介して抽出される特定倍音の周波数を判定部Ｄによって指示されるピッチシフト量に基づき変更する。この特定倍音の周波数をシフトする際に用いられるピッチシフト量は、判定部Ｄにより特定の倍音が連成振動しない状態での周波数から連成振動して引き寄せられるであろう周波数軸上にある仮定点の周波数までの差として求められる。連成振動して引き寄せられるであろうある仮定点は、「ceil(b/d)」個の点が帯域幅ｂ（Hz）の範囲に周波数幅ｄ（Hz）だけ離れて均等に散らばって並ぶものとしてモデル化されるものである。
【００８６】
例えば、ノート「Ａ２」とノート「Ｃ３」とノート「Ｇ３」とがそれぞれ割り当てられた３つの鍵が押下されたとき、これらの倍音の周波数が近接している帯域３においては（図３（Ｂ）参照）、「Ａ２」の７次倍音及び「Ｃ３」の６次倍音及び「Ｇ３」の４次倍音の３つの倍音が「1540.4Hz」と「1569.9Hz」の中点である「1555.2Hz（基準周波数）」にある１つの仮定点に引き寄せられるとする。その場合、「Ａ２」の７次倍音は1540.4Hzから「+14.8Hz」だけピッチシフトされ、「Ｃ３」の６次倍音は1568.1Hzから「-12.9Hz」だけピッチシフトされ、「Ｇ３」の４次倍音の周波数は1569.9Hzから「-14.7Hz」だけピッチシフトされて、結果的にこれら３つの倍音の周波数が1555.2Hzに相寄るようにそれぞれ変更されることになる。
【００８７】
ピッチシフト部Ｔ１ｂで行うピッチシフトの手法は従来知られたいずれの方法であってもよいが、例えば公知の時間領域でのピッチシフトが好適である。時間領域のピッチシフトでは、入力される特定倍音の波形に所定の窓をかけて１フレーム分を切り出し、上述のようにして求められるピッチシフト量に応じたレートでリサンプリングして時間的に圧縮伸張されたフレームを生成する。そのようにして、刻々と時間位置を進めながら次々と圧縮伸張されたフレームを生成し、それらを重ねてつなぎ合わせてゆくことでピッチシフトされた特定倍音の波形を生成する。
【００８８】
ピッチシフト部Ｔ１ｂによってピッチシフトされた特定倍音は、レベル修正部Ｔ１ｃによりその音量レベルが減少される。レベル修正部Ｔ１ｃでは、ピッチシフトされた倍音の音量レベルを、その元の音量レベルと判定部Ｄから指示された減衰量Ｌ'とに応じて加工する。例えば、判定部Ｄから指示された減衰量Ｌ'が帯域リストに記憶された最大減衰量Ｌ（例えば-6dB）だとすると、入力された倍音の音量レベルが大きいほど最大減衰量の「-6dB」近くまで音量レベルを減少する一方で、倍音の音量レベルが小さいほど相対的に少ししか音量レベルを減少しない。
【００８９】
ここで、レベル修正部Ｔ１ｃの詳細な構成を図１２に示す。図１２に示すように、レベル修正部Ｔ１ｃは、アッテネータ（Attenator）Ｏとエンベロープフォロワ（E.F）Ｐと乗算器（Conv）Ｆとからなる。アッテネータＯは、入力された倍音の音量レベルを減衰量Ｌ'だけ減少する。エンベロープフォロワＰは、入力された特定倍音の波形を包絡線検波して瞬時の音量レベルを得る。乗算器Ｆは、エンベロープフォロワＰからの瞬時の音量レベルと判定部Ｄから指示された最大減衰量Ｌとを乗算して減衰量Ｌ'を求める。すなわち、この減衰量Ｌ'は入力された倍音の音量レベルに応じて最大値Ｌまで変動する。
【００９０】
図１１の説明に戻って、加算部Ｔ１ｄは、バンドエリミネートフィルタＴ１ｅによって分けられた特定倍音以外の倍音及び基音を含んでなる波形と、ピッチシフト部Ｔ１ｂによってピッチシフトされると共にレベル修正部Ｔ１ｃにより音量レベルが減少された特定倍音の波形とを加算して全ての倍音を含んでなる単音の楽音波形に一旦戻してから、該単音の楽音波形を後続する２番目の倍音処理部Ｔ１に送る。後続する倍音処理部Ｔ１は、先行する倍音処理部Ｔ１から出力された単音の楽音波形を判別部Ｄの指示により倍音処理部Ｔ１で処理した倍音とは異なる別の倍音に関する加工を行う。例えば、ノート「Ａ２」に対応する単音の楽音波形が入力されるチャンネル処理部Ｔの場合、倍音処理部Ｔ１では６次倍音を加工し、倍音処理部Ｔ２では７次倍音を加工することになる。なお、判別部Ｄにより倍音の加工を指示されなかった倍音処理部Ｔ１に関しては、特性をフラットにするかあるいは信号スルーの経路（図示せず）を通るように設定すればよい。
【００９１】
そして、チャンネル処理部Ｔは、特定の倍音に関してピッチや音量レベルを変更した単音の楽音波形を出力加算部Ｋに出力する。出力加算部Ｋでは、各チャンネル処理部Ｔから出力されるこれら複数の単音の楽音波形を加算することにより、複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を合成して出力信号として出力する。
【００９２】
（第５変形例）
特定倍音に関しピッチシフト制御及び音量レベル制御を行う上述した第２実施例においても種々の変形は可能である。図１３は、楽音合成機能の第２実施例の第１変形例（便宜的に第５変形例と呼ぶ）を示す機能ブロック図である。図１３に示す第５変形例は、音源部（Ａｃ，Ａｂ）においてノート単位に各ノートに対応した単音の楽音波形をディケイ波形とアタック波形とに分けて別々に合成しておき、最終的に複数ノートのディケイ波形とアタック波形とを加算することで複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を生成するものであって、これら別々に合成したアタック波形とディケイ波形とを加算する前に、各ノートに対応したディケイ波形に対してピッチシフト制御及び音量レベル制御を行うことによって「連成振動」の影響を反映させるように構成したものである。なお、ここでは図１０及び図１１に示した機能ブロック図と同じ構成については同じ番号を付してあり、またそれらの動作は上述した通りであることからここでの詳しい説明は省略する。
【００９３】
図１３に示す第５変形例では、音源部をディケイ波形を合成する第１音源部Ａｃとアタック波形を合成する第２音源部Ａｂとに分け、第２音源部Ａｂの各発音チャンネル部Ａｂ１から出力されるアタック波形は加算部Ａｂ２によって加算されて複数ノートに対応する複数の音高の楽音を含んでなるアタック波形とされてから出力加算部Ｋに送られる。一方、第１音源部Ａｃの各発音チャンネル部Ａｃ１から出力されるディケイ波形はそのままチャンネル処理部Ｔに送られる。上述したように、チャンネル処理部Ｔの各倍音処理部Ｔ１では、それぞれが各発音チャンネル部Ａｃ１から出力されるディケイ波形に含まれる２次〜８次までの倍音のうち特定倍音の周波数をピッチシフトするピッチシフト制御を行うと共に、その音量レベルを任意の減衰量だけ減少する音量レベル制御を行う。各倍音処理部Ｔ１で加工対象とする倍音や変更するピッチシフト量さらに音量レベルの減衰量は、判定部Ｄから指示（出力）される。このようにして、ピッチシフトを行って特定倍音の周波数を変更することでより「連成振動」による影響を色濃く反映した楽音波形を合成する場合においても、第１音源部Ａｃから出力されるディケイ波形のみに連成振動の影響を反映させる一方で、第２音源部Ａｂから出力されるアタック波形には連成振動の影響を反映させないようにしている。
【００９４】
ここで、上述した第４変形例及び第５変形例を実現する楽音生成処理について説明するが、「メイン処理」（図５参照）については第１実施例の場合と何ら変わりない。他方、ノートオン処理（図６参照）及びノートオフ処理（図７参照）については、第１実施例の場合とは異なる処理が行われる。図１４は、楽音合成機能の第４及び第５変形例を実現するノートオン処理の一部を示すフローチャートである。ただし、第４及び第５変形例を実現するノートオン処理は図６に示した処理のステップＳ１６の処理が異なるだけで他の処理は同じであることから、ここではステップＳ１６に入れ替える処理のみを示してある。
【００９５】
ステップＳ１６ａは、ノートリストへのノートの追記に伴う部分音リスト及び帯域リストの更新に応じて、チャンネル処理部Ｔにおける各倍音処理部Ｔ１のピッチシフト設定を更新する。ステップＳ１６ｂは、上記の帯域リストの更新に応じて、チャンネル処理部Ｔにおける各倍音処理部Ｔ１の音量レベル制御設定を更新する。これにより、チャンネル処理部Ｔの各倍音処理部Ｔ１において、それぞれが各発音チャンネルＡ１から出力されるノートに対応した単音の楽音波形（又はディケイ波形のみ）に含まれる２次〜８次までの倍音のうち特定倍音の周波数をピッチシフトするピッチシフト制御が行われると共に、その音量レベルを任意の減衰量だけ減少する音量レベル制御が行われる。
【００９６】
図１５は、楽音合成機能の第４及び第５変形例を実現するノートオフ処理の一部を示すフローチャートである。ただし、第４及び第５変形例を実現するノートオフ処理は図７に示した処理のステップＳ２７の処理が異なるだけで他の処理は同じであることから、ここではステップＳ２７に入れ替える処理のみを示してある。
【００９７】
ステップＳ２７ａは、ノートリストからのノートの削除に伴う部分音リスト及び帯域リストの更新に応じて、チャンネル処理部Ｔにおける倍音処理部Ｔ１のピッチシフト設定を更新する。ステップＳ２７ｂは、上記の帯域リストの更新に応じて、チャンネル処理部Ｔにおける倍音処理部Ｔ１のレベル制御設定を更新する。この場合には、チャンネル処理部Ｔの各倍音処理部Ｔ１において、それぞれが各発音チャンネルＡ１から出力されるノートオフされたノートを除く他のノートに対応した単音の楽音波形（又はディケイ波形のみ）に含まれる２次〜８次までの倍音のうち特定倍音の周波数をピッチシフトするピッチシフト制御が行われると共に、その音量レベルを任意の減衰量だけ減少する音量レベル制御が行われる。
【００９８】
（第６変形例）
図１６は、楽音合成機能の第６変形例を示す機能ブロック図である。図１６に示す第６変形例において、音源部Ａｄの各発音チャンネル部Ａｄ１は発音指示に応じて波形メモリから読み出した波形データに基づきノートに対応した単音の楽音波形を合成し、時系列の波高値をチャンネル処理部Ｕに順次に送る。各チャンネル処理部Ｕでは、音源部Ａｄの各発音チャンネル部Ａｄ１から刻々と送られてくる波高値を順に記憶し、該記憶した波高値に基づいて前記単音の楽音波形を構成してなる複数の倍音のうち判定部Ｄから指示された帯域内にある特定倍音に対しピッチシフト制御及び音量レベル制御を行う。チャンネル処理部Ｕは、チャンネル変換部Ｕ１とチャンネルピッチシフト部Ｕ２とチャンネルレベル制御部Ｕ３とを有する。
【００９９】
チャンネル変換部Ｕ１は、一時記憶した時系列の波高値を所定のフレーム長(例えば4096サンプル)で順に切り出し、これに所定の窓かけをしてフーリエ変換（FFT）による周波数分析を行い、得られた複素数を極座標変換する。このフーリエ変換による周波数分析を行うことにより、音源部Ａで合成された単音の楽音波形が、サンプリング周波数(44.1kHz)/フレーム長(4096)の整数倍を中心周波数とするその近辺の倍音成分を反映し得る多数の部分音に分解されて、それら各部分音の振幅と位相とが求まる（これを部分音データと呼ぶ）。こうした処理を、時間進行に従って切り出すフレームの時間的位置を移動させながら繰り返せば、各発音チャンネル部Ａｄ１で合成された単音の楽音波形の時間的推移が部分音毎に得られる。こうして得られる多数の部分音データは、チャンネルピッチシフト部Ｕ２に同時に送られる。
【０１００】
部分音は、例えばサンプリング周波数(44.1kHz)/フレーム長(4096)の整数倍を中心周波数とするその近辺の倍音成分を反映し得る。すなわち、周波数分析の結果得られる部分音データとしては、０Hz付近を反映した部分音、10.8Hz付近を反映した部分音、21.5Hz付近を反映した部分音、…、22.05kHz付近を反映した部分音に相当する各データが得られ、各部分音は倍音成分を含む場合もあるし倍音成分を含まない場合もある。「連成振動」の影響を反映させるために特定倍音を加工（詳しくはピッチシフト制御及び音量レベル制御）するには、当該倍音成分が反映されているであろう部分音（詳しくは対応する部分音データ）を制御対象とすればよい。
【０１０１】
例えば、ノート「Ａ２」の７次倍音を加工したい場合には、ノート「Ａ２」の７次倍音の周波数は1540.4Hzであるから、この７次倍音の周波数1540.4Hzを近辺に包含し得る中心周波数が1539.6Hzである部分音を制御対象としてピッチシフト制御及び音量レベル制御を行えばよい。なお、このときに、制御対象とされた部分音に隣接する他の部分音をさらに制御対象としてピッチシフト制御及び音量レベル制御を行ってもよい。中心周波数が1539.6Hzである部分音を制御対象とした上記例の場合には、中心周波数が1528.8 Hzである部分音と中心周波数が1550.3 Hzである部分音が隣接する他の部分音に該当する。
【０１０２】
チャンネルピッチシフト部Ｕ２は、判定部Ｄの指示に従って、チャンネル変換部Ｕ１から時系列に同時に送られてくる多数の部分音のうち特定倍音を反映しているであろう部分音の位相を加工することによるピッチシフト制御を行う。例えば、発音チャンネル部Ａｄ１においてノート「Ａ２」に対応した単音の楽音波形を合成しており、上述した第４変形例と同様にして判定部Ｄから部分音リスト及び帯域リスト（図３（Ｂ）及び図３（Ｃ）参照）に基づいてノート「Ａ２」の７次倍音を1540.4Hzから1559.3.2Hzにピッチシフトする指示が行われたような場合には、ノート「Ａ２」の７次倍音の周波数1540.4Hzを含み得る中心周波数1539.6Hzの部分音の位相をそれらのピッチ差に相当する分だけ進ませる制御を行う。あるフレームでこうした位相の加工をした後には、前記位相を加工したフレームに時間的に後続する以降のフレームに関し、先行するフレームに位相が連続しつつ更に位相が進むように後続する次のフレームの位相を順次に加工する。
【０１０３】
チャンネルレベル制御部Ｕ３は、判定部Ｄの指示に従って、チャンネルピッチシフト部Ｕ２を介してチャンネル変換部Ｕ１から時系列に同時に送られてくる多数の部分音データのうち特定倍音を反映しているであろう部分音の振幅を加工することによる音量レベル制御を行う。例えば、発音チャンネル部Ａｄ１においてノート「Ａ２」に対応した単音の楽音波形を合成しており、判定部Ｄからノート「Ａ２」の７次倍音の音量レベルを下げる指示が行われたような場合には、ノート「Ａ２」の７次倍音の周波数1540.4Hzを含み得る中心周波数1539.6Hzの部分音の振幅を減少する制御を行う。このときには、判定部Ｄから指示された減衰量と周波数分析結果である部分音の振幅値とに応じて決まる相対的に変位する減少値に応じた分だけ振幅を減少させる加工が行われる。すなわち、判定部Ｄから指示される減衰量は帯域リストの記憶された最大減衰量（例えば-6dB）であるが、この最大減衰量を部分音の振幅値の大きさに関わらず一律に適用して振幅を加工するのではなく、部分音の振幅値が大きいほど最大「-6dB」近くまで振幅を減少させる一方で、部分音の振幅値が小さいほど相対的に少ししか振幅を減少させない加工を行うようにする。
【０１０４】
複数チャンネル分の合成部Ｗでは、音源部Ａｄの各発音チャンネル部Ａｄ１に対応して設けられた各チャンネル処理部Ｕから時系列に同時に送られてくる多数の複数音データを加算により１組の複数音データに再構成する。逆変換部Ｙは、１組に再構成された加工済みの部分音データを含む多数の部分音データに従って逆フーリエ変換（逆FFT）処理を行うことにより、１フレーム分（4096サンプル）のデジタル波形データ（例えばPCMデータ）を時系列に生成していく。この１フレーム分（4096サンプル）のデジタル波形データは時間進行に従って次々と生成されるので、それらを時間的にずらしながらつなぎ合わせることで、これを利用して複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を出力することができることになる。なお、逆変換部Ｙは上記のような逆フーリエ変換（逆FFT）処理を行うものに限らず、例えば多数の部分音データをもとに生成した2048個の正弦波を加算合成することにより、複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を出力するものであってもよい。
【０１０５】
なお、ここではフーリエ変換処理を利用した周波数分析手法を用いて各部分音の振幅及び位相を求める例を説明したがこれに限らず、フェーズボコーダなど公知の他の時間周波数分析手法を用いてもよい。あるいは、その他Weveletによる時間スケール分析などを用いてもよい。
【０１０６】
（第７変形例）
図１６に示した第６変形例では、一旦音源部Ａｄの各発音チャンネル部Ａｄ１で合成したノートに対応した単音の楽音波形を時間周波数情報である多数の部分音データに変換し、これら部分音データを加工したうえでこれを加算したものを逆変換することによって、複数ノートに対応した複数の音高の楽音を含んでなる１つの楽音波形を合成する。この音源部Ａの各発音チャンネルＡ１における単音の楽音波形の合成及び周波数分析による部分音データの生成に代えて、あらかじめノートに対応した単音の楽音波形を時間周波数情報に変換した時系列の部分音データとして記憶しておき、発音指示に応じて前記記憶してある時系列の部分音データを順に読み出してチャンネル処理部Ｔに出力するように変形してよい。図１７は、楽音合成機能の第７変形例を示す機能ブロック図である。
【０１０７】
図１７に示す第７変形例において、音源部Ａｅの各発音チャンネル部Ａｅ１は複数の部分音出力部Ｍに分けられる。各部分音出力部Ｍは、鍵盤４からの発音指示に応じて予め記憶しておいた時間周波数情報である部分音データの中から指示されたノートに対応する部分音データを時系列に読み出してチャンネル処理部Ｕに送る。前記部分音データは図１６に示されるチャンネル変換部Ｕ１で求められるデータと同じであり、この部分音データを時間進行に従って時系列に読み出すと各ノートに対応した単音の楽音波形の時間的推移が倍音毎に得られることは既に説明した。チャンネルピッチシフト部Ｕ２は、判定部Ｄの指示に従って、各部分音出力部Ｍから時系列に同時に送られてくる多数の部分音データのうち特定倍音を反映しているであろう部分音に対応する部分音データの位相を加工することによるピッチシフト制御を行う。チャンネルレベル制御部Ｕ３は、判定部Ｄの指示に従って、チャンネルピッチシフト部Ｕ２を介してチャンネル変換部Ｕ１から時系列に同時に送られてくる多数の部分音データのうち特定倍音を反映しているであろう部分音に対応する部分音データの振幅を加工することによる音量レベル制御を行う。なお、複数チャンネル分の合成部Ｗ及び逆変換部Ｙは図１６に示した第６変形例と同様であることから、ここでの説明を省略する。
【０１０８】
なお、上述した第６及び第７変形例では、複数チャンネル分の合成部Ｗで多数の部分音データを加算した１組の部分音データを逆変換することによりデジタル波形データを得るが、各発音チャンネルＡ１毎に出力される部分音データに従って逆変換処理を行い各発音チャンネルＡ１毎にデジタル波形データを生成し、複数の各発音チャンネルＡ１で生成されたこれら複数のデジタル波形データを加算するようにしてもよい。
また、上述した第６及び第７変形例においても、図１３に示した第５変形例のように、ディケイ波形とアタック波形とに分けて処理するようにし、ディケイ波形のみに対して上記で説明した時間周波数分析による特定倍音のピッチシフト制御及び音量レベル制御を行うことのできるようにしてよい。
【０１０９】
ここで、上述した第６変形例及び第７変形例を実現する楽音生成処理について説明するが、「メイン処理」（図５参照）については上記第１実施例及びその他変形例の場合と何ら変わりない。ただし、ノートオン処理（図６参照）及びノートオフ処理（図７参照）については、第１実施例及びその他の変形例の場合とは異なる処理が行われる。図１８は、楽音合成機能の第６及び第７変形例を実現するノートオン処理の一部を示すフローチャートである。ただし、第６及び第７変形例を実現するノートオン処理は図６に示した処理のステップＳ１６の処理が異なるだけで、他の処理は同じであることから、ここではステップＳ１６に入れ替えられる処理のみを示してある。
【０１１０】
ステップＳ１６ｃは、ノートリストへのノートの追記に伴う部分音リスト及び帯域リストの更新に応じて、チャンネル処理部Ｕ，Ｕａにおける該当の部分音データへのピッチシフト設定を更新する。ステップＳ１６ｄは、上記の帯域リストの更新に応じて、チャンネル処理部Ｕ，Ｕａにおける該当の部分音データへのレベル制御設定を更新する。これにより、チャンネル処理部Ｕ，Ｕａの各チャンネルピッチシフト部Ｕ２において、それぞれが各発音チャンネルＡ１から出力されるノートに対応した単音の楽音波形（又はディケイ波形のみ）に含まれる２次〜８次までの倍音のうち特定倍音の周波数をピッチシフトするピッチシフト制御が行われると共に、チャンネルレベル制御部Ｕ３において前記特定倍音の音量レベルを任意の減衰量だけ減少する音量レベル制御が行われる。
【０１１１】
図１９は、楽音合成機能の第６及び第７の変形例を実現するノートオフ処理の一部を示すフローチャートである。ただし、第６及び第７の変形例を実現するノートオフ処理は図７に示した処理のステップＳ２７の処理が異なるだけで、他の処理は同じであることから、ここではステップＳ２７に入れ替えられる処理のみを示してある。
【０１１２】
ステップＳ２７ｃは、ノートリストからのノートの削除に伴う部分音リスト及び帯域リストの更新に応じて、チャンネル処理部Ｕ，Ｕａにおける該当の部分音データへのピッチシフト設定を更新する。ステップＳ２７ｄは、上記の帯域リストの更新に応じて、チャンネル処理部Ｕ，Ｕａにおける該当の部分音データへのレベル制御設定を更新する。この場合には、チャンネル処理部Ｕ，Ｕａの各チャンネルピッチシフト部Ｕ２において、それぞれが各発音チャンネルＡ１から出力されるノートオフされたノートを除く他のノートに対応した単音の楽音波形（又はディケイ波形のみ）に含まれる２次〜８次までの倍音のうち特定倍音の周波数をピッチシフトするピッチシフト制御が行われると共に、チャンネルレベル制御部Ｕ３において前記特定倍音の音量レベルを任意の減衰量だけ減少する音量レベル制御が行われる。
【符号の説明】
【０１１３】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…演奏操作子（鍵盤等）、５…表示器、６…設定操作子（スイッチ等）、７…音源、７Ａ…サウンドシステム、８…記憶装置、９…通信インタフェース、１Ｄ…通信バス（データ及びアドレスバス）、Ａ（Ａｃ，Ａｄ、Ａｅ）…音源部、Ａａ…第１音源部、Ａｂ…第２音源部、Ａ１（Ａａ１，Ａｂ１，Ａｃ１，Ａｄ１，Ａｅ１）…発音チャンネル部、Ａ２（Ａａ２，Ａｂ２，Ｊ）…加算部、Ｂ…フィルタ部、Ｂ１…Notchフィルタ、Ｃ…制御部、Ｃ１（Ｔ１ａ）…バンドパスフィルタ、Ｃ２（Ｐ）…エンベロープフォロワ、Ｃ３（Ｆ）…乗算器、Ｄ…判定部、Ｅ…倍音構造データベース、Ｇ…入力加算部、Ｋ…出力加算部、Ｍ…部分音出力部、Ｏ…アッテネータ、Ｔ（Ｕ，Ｕａ）…チャンネル処理部、Ｔ１…倍音処理部、Ｔ１ｂ…ピッチシフト部、Ｔ１ｃ…レベル修正部、Ｔ１ｅ…バンドエリミネートフィルタ、Ｕ１…チャンネル変換部、Ｕ２…チャンネルピッチシフト部、Ｕ３…チャンネルレベル制御部、Ｗ…複数チャンネル分の合成部、Ｙ…逆変換部
【図１】
0005935346.tif 000002
【図２】
0005935346.tif 000003
【図３】
0005935346.tif 000004
【図４】
0005935346.tif 000005
【図５】
0005935346.tif 000006
【図６】
0005935346.tif 000007
【図７】
0005935346.tif 000008
【図８】
0005935346.tif 000009
【図９】
0005935346.tif 000010
【図１０】
0005935346.tif 000011
【図１１】
0005935346.tif 000012
【図１２】
0005935346.tif 000013
【図１３】
0005935346.tif 000014
【図１４】
0005935346.tif 000015
【図１５】
0005935346.tif 000016
【図１６】
0005935346.tif 000017
【図１７】
0005935346.tif 000018
【図１８】
0005935346.tif 000019
【図１９】
0005935346.tif 000020
【図２０】
0005935346.tif 000021