(57)【特許請求の範囲】
【請求項１】
ステレオサンプリングされたＬｃｈ波形データとＲｃｈ波形データとからなる波形データペアと、モノラルサンプリングされたモノ波形データとを、それぞれ、複数記憶している波形メモリと、
モードフラグに応じてステレオ発音モードまたはモノラル発音モードで動作する、２つの発音ｃｈからなる発音単位であって、Ｎ（Ｎは１以上の整数）個の発音単位を備えており、ステレオ発音モードで動作する各発音単位は、前記波形メモリから２ｃｈ分の波形データを読み出して、２ｃｈの楽音波形を生成し、モノラル発音モードで動作する各発音単位は、前記波形メモリから１ｃｈ分の波形データを読み出して、１ｃｈの楽音波形を生成する音源部と、
Ｎ個の発音単位に対応するＮ個の音色制御データを記憶しており、各音色制御データは、前記モードフラグ、第１波形指定情報、第２波形指定情報、Ｆナンバ、および、特性パラメータを含んでいる音源レジスタと、
前記音源レジスタへパラメータを書き込むことにより、前記音源部の動作を制御する制御部とを備え、
前記制御部は、新たな楽音の発音を指示する発音指示命令（ノートオン）に応じて、
Ｎ発音単位の何れか１つを、発音指示された楽音の生成に割り当て、
発音指示された楽音がステレオかモノラルかを判定し、
発音指示された楽音がステレオの場合は、ステレオ発音モードを示すモードフラグ、該楽音の生成に使用する第１波形指定情報、第２波形指定情報、Ｆナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにし、発音指示された楽音がモノラルの場合は、モノラル発音モードを示すモードフラグ、該楽音の生成に使用する第１波形指定情報、Ｆナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにして、
割り当てた発音単位に対して、発音の開始を指示する処理を行い、
前記音源部は、前記制御部からの１つの発音単位に対する発音開始指示に応じて、
前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記音源レジスタに設定された当該発音単位の第１波形指定情報が示すＬｃｈ（又はＲｃｈ）波形データと、当該発音単位の第２波形指定情報が示すＲｃｈ（又はＬｃｈ）波形データとを、それぞれ、当該発音単位のＦナンバが示す速度で前記波形メモリから読み出し、読み出されたＬｃｈ波形データとＲｃｈ波形データの各楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、Ｌｃｈの楽音信号とＲｃｈの楽音信号とを形成し、
前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記音源レジスタに記憶された当該発音単位の第１波形指定情報が示すモノ波形データを、当該発音単位のＦナンバが示す速度で波形メモリから読み出し、読み出されたモノ波形データの楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、モノラルの楽音信号を形成する処理を行うことを特徴とする楽音生成装置。
【請求項２】
前記制御部は、生成中の楽音のＦナンバあるいは制御パラメータの値を指示する制御命令に応じて、
当該制御命令の制御対象の楽音を生成中の発音単位を特定し、
前記音源レジスタの該特定された発音単位のＦナンバあるいは制御パラメータの値を、前記制御命令で指示された値に変更する処理を行い、
前記音源部は、前記制御部によるＦナンバあるいは制御パラメータの値の変更により、
前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記波形メモリからＬｃｈ波形データとＲｃｈ波形データを読み出す際の各読出速度を、変更されたＦナンバにより制御あるいは読み出したＬｃｈ波形データとＲｃｈ波形データの各楽音特性の制御を、変更された特性パラメータにより制御し、
前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記波形メモリからモノ波形データを読み出す際の読出速度を、変更されたＦナンバにより制御あるいは読み出したモノ波形データの楽音特性の制御を、変更された特性パラメータにより制御する処理を行うことを特徴とする請求項１記載の楽音生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、発音チャンネルの数を増加しても効率的に楽音を生成することのできる楽音生成装置に関する。
【背景技術】
【０００２】
従来の楽音生成装置は、ＭＩＤＩ（Musical Instrument Digital Interface）、鍵盤、あるいはシーケンサ等からの演奏情報を受ける演奏情報入力部と、楽音生成に使用する音源パラメータを発生する制御部（ＣＰＵ）と、音源パラメータに基づいて楽音を形成する音源部とを有している。制御部（ＣＰＵ）は、入力された演奏情報に応じて、チャンネルアサイン、音源パラメータの発生等の制御処理を実行し、音源部に発生した楽音パラメータと発音開始指示を供給する。音源部は、楽音を生成する際に使用する楽音パラメータを記憶するための音源レジスタと、楽音生成処理を行う楽音生成処理部を備えている。制御部（ＣＰＵ）から供給された楽音パラメータは音源レジスタに格納され、この楽音パラメータに基づいて楽音生成処理部が楽音生成処理を行っている。音源部において、音源レジスタに記憶された楽音パラメータに基づいた楽音生成処理が実行されることにより、制御部（ＣＰＵ）から指示された楽音の生成処理が行われる。音源部としては、実際の楽音波形が波形データとして記録されている波形メモリを備える波形メモリ音源が従来より知られている。この波形メモリ音源においては、音色毎および音域毎の波形データが波形メモリに記憶され、この波形メモリから楽音生成処理部が、発生すべき楽音の音色や音高に対応する波形データを読み出して、読み出された波形データの特性を、音源パラメータに基づいて発生された音量制御エンベロープ等の制御波形により制御する。そして、複数の楽音を同時に発生させるために、楽音生成処理部における複数の発音チャンネルを形成し各発音チャンネルでの楽音発生処理を時分割で行うようにしている。これにより、１サンプリング周期毎に複数の発音チャンネルにおいて楽音波形サンプルがそれぞれ演算生成されて、発音チャンネル数分の楽音が生成されるようになる。
【０００３】
また、新たな発音指示（ノートオンイベント）が発生したときには、空いている発音チャンネルを検出して割り当てて、割り当てた発音チャンネルにおいて楽音生成を行う。この場合、すべての発音チャンネルにおいて楽音生成処理がなされていた場合、すなわち、すべての発音チャンネルに対して発音割り当てがなされていた場合には、消音しても最も影響の少ない発音チャンネルを選択する。そして、その発音チャンネルで発音中の楽音の音量を急速に減衰（ダンプ）させ、その発音チャンネルを新たな楽音生成のために解放する、いわゆるトランケート処理を行う。そして、トランケート処理を施すべきチャンネル（トランケートチャンネル）としては、全発音チャンネル中、現在発音中の楽音の音量が最も小さいチャンネルを選択する方法が一般的である。
このような楽音生成装置の出力部は、一般にステレオ構成であり、高品質な楽音を生成するために、波形メモリにステレオの波形データを格納して、この波形メモリから、発生すべき楽音に対応するステレオ波形データを読み出すことにより、ステレオの楽音を生成することも行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２６７１６９０号公報
【特許文献２】特許第３６６６３４６号公報
【特許文献３】特許第２９１５４５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の楽音生成装置においてステレオ発音する場合は、１つのステレオ発音をするために左チャンネル（以下、「Ｌｃｈ」という）と右チャンネル（以下、「Ｒｃｈ」という）の楽音の生成のために、２つの発音チャンネル（以下、「チャンネル」を「ｃｈ」という）を使用するようになっていた。すなわち、制御部（ＣＰＵ）は、ＬｃｈおよびＲｃｈに発音ｃｈを割り当てる発音割当処理をそれぞれ行うことにより、２つの発音ｃｈを確保する。また、音源レジスタには発音ｃｈ毎の音源パラメータが格納されるので、ＬｃｈおよびＲｃｈのそれぞれの音源パラメータが格納されることになる。楽音生成処理部は、発音ｃｈ毎の音源パラメータに基づいて、波形メモリから指定された音高に応じた速度で波形データを読み出し、読み出された波形データの楽音特性を、音量制御エンベロープ等の制御波形により制御するので、Ｌｃｈに割り当てられた発音ｃｈにおいては、Ｌｃｈ用の音源パラメータに基づいて、波形メモリからＬｃｈ波形データを読み出し、楽音特性を制御して、Ｌｃｈの楽音波形データを生成し、Ｒｃｈに割り当てられた発音ｃｈにおいては、Ｒｃｈ用の音源パラメータに基づいて、波形メモリからＲｃｈ波形データを読み出し、楽音特性を制御して、Ｒｃｈの楽音波形データを生成する。
【０００６】
このように、従来の楽音発生装置においては、ステレオの楽音波形サンプルの生成には２つの発音ｃｈが必要なことから、発音ｃｈ数を増やしたいという要望があり、楽音生成用集積回路（音源ＬＳＩ）で扱える発音ｃｈ数が増加する傾向にある。しかしながら、楽音生成処理部におけるステレオ発音中の発音ｃｈの特性を制御するには、ＬｃｈとＲｃｈとの２ｃｈ分の処理を行わなければならず、楽音生成処理部にかかる負担が大きくなると云う問題点があった。この場合、モノラル発音では、１ｃｈのみの特性を制御すればよいが、ステレオ発音では、２ｃｈを同じサンプリング周期内で同時に特性を制御しないと、ＬｃｈとＲｃｈとでタイミングによって異なる特性の楽音が発音されることから、同じサンプリング周期内において同時に特性を制御する処理を行う必要があり、楽音生成処理処理部にかかる負担がさらに大きくなると云う問題点があった。
そこで、本発明は、発音チャンネルの数を増加しても楽音生成処理部にかかる負担が大きくなることを極力抑制できる楽音生成装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の楽音生成装置は、ステレオサンプリングされたＬｃｈ波形データとＲｃｈ波形データとからなる波形データペアと、モノラルサンプリングされたモノ波形データとを、それぞれ、複数記憶している波形メモリと、モードフラグに応じてステレオ発音モードまたはモノラル発音モードで動作する、２つの発音ｃｈからなる発音単位であって、Ｎ（Ｎは１以上の整数）個の発音単位を備えており、ステレオ発音モードで動作する各発音単位は、前記波形メモリから２ｃｈ分の波形データを読み出して、２ｃｈの楽音波形を生成し、モノラル発音モードで動作する各発音単位は、前記波形メモリから１ｃｈ分の波形データを読み出して、１ｃｈの楽音波形を生成する音源部と、Ｎ個の発音単位に対応するＮ個の音色制御データを記憶しており、各音色制御データは、前記モードフラグ、第１波形指定情報、第２波形指定情報、Ｆナンバ、および、特性パラメータを含んでいる音源レジスタと、前記音源レジスタへパラメータを書き込むことにより、前記音源部の動作を制御する制御部とを備え、前記制御部は、新たな楽音の発音を指示する発音指示命令（ノートオン）に応じて、Ｎ発音単位の何れか１つを、発音指示された楽音の生成に割り当て、発音指示された楽音がステレオかモノラルかを判定し、発音指示された楽音がステレオの場合は、ステレオ発音モードを示すモードフラグ、該楽音の生成に使用する第１波形指定情報、第２波形指定情報、Ｆナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにし、発音指示された楽音がモノラルの場合は、モノラル発音モードを示すモードフラグ、該楽音の生成に使用する第１波形指定情報、Ｆナンバ、および、特性パラメータを含む音色制御データを形成し、前記音源レジスタの割り当てた発音単位に対応する記憶領域に設定するようにして、割り当てた発音単位に対して、発音の開始を指示する処理を行い、前記音源部は、前記制御部からの１つの発音単位に対する発音開始指示に応じて、前記音源レジスタに記憶された当該発音単位のモードフラグがステレオ発音モードを示していれば、前記音源レジスタに設定された当該発音単位の第１波形指定情報が示すＬｃｈ（又はＲｃｈ）波形データと、当該発音単位の第２波形指定情報が示すＲｃｈ（又はＬｃｈ）波形データとを、それぞれ、当該発音単位のＦナンバが示す速度で前記波形メモリから読み出し、読み出されたＬｃｈ波形データとＲｃｈ波形データの各楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、Ｌｃｈの楽音信号とＲｃｈの楽音信号とを形成し、前記音源レジスタに記憶された当該発音単位のモードフラグがモノラル発音モードを示していれば、前記音源レジスタに記憶された当該発音単位の第１波形指定情報が示すモノ波形データを、当該発音単位のＦナンバが示す速度で波形メモリから読み出し、読み出されたモノ波形データの楽音特性を、前記音源レジスタに設定された当該発音単位の特性制御パラメータに基づいて制御して、モノラルの楽音信号を形成する処理を行うことを最も主要な特徴としている。
【発明の効果】
【０００８】
本発明によれば、発音指示が発生したとき、モノラル発音かステレオ発音かに関わらず、１つの発音単位を割当てればよいことになる。また、１つの発音単位で共通に使用するデータがあることから、ステレオ発音の場合、音源レジスタに設定すべきデータの量は、モノラル発音の場合の倍より少ない量となる。さらに、発音を開始する場合は、音源レジスタの設定後に、モノラル発音かステレオ発音かに関わらず、割り当てた発音単位に対して発音開始指示すればよく、ステレオ発音であっても、「２ｃｈを同時にノートオン」するような制御を行う必要はない。
さらにまた、Ｆナンバあるいは制御パラメータは、ＬｃｈとＲｃｈとで共通に使われるので、ステレオ発音であっても、制御部は、音源レジスタのＦナンバあるいは制御パラメータの値を１つだけ変更すればよく、値の変更を２ｃｈ同時に行うよう制御を行う必要はない。
なお、特性制御パラメータには、ピッチエンベロープ波形（ピッチＥＧ波形）、音量エンベロープ波形（音量ＥＧ波形）、フィルタエンベロープ波形（フィルタＥＧ波形）、低周波波形（ＬＦＯ波形）の何れか１を制御するパラメータのいずれか１つが該当するが、それ以外に、リリース開始指示（ノートオフ）も該当する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例にかかる楽音生成装置の構成の概要を示すブロック図である。
【図２】本発明の実施例にかかる楽音生成装置の詳細な構成を示すブロック図である。
【図３】本発明の楽音生成装置における音源レジスタに記憶されるデータを示す図である。
【図４】本発明の楽音生成装置における波形メモリに記憶される波形データのデータ構造を示す図である。
【図５】本発明の楽音生成装置におけるフラッシュメモリに記憶される波形管理データおよび音色データのデータ構造を示す図である。
【図６】本発明の楽音生成装置において実行されるノートオンイベント処理のフローチャートである。
【図７】本発明の楽音生成装置において実行されるノートオフイベント処理のフローチャートである。
【図８】本発明の楽音生成装置において実行されるピッチベンドイベント処理のフローチャートである。
【発明を実施するための形態】
【００１０】
本発明の実施例にかかる楽音生成装置の構成の概要を示すブロック図を図１に示す。
図１に示す本発明の楽音生成装置１においては、ステレオ発音する左チャンネル（以下、「Ｌｃｈ」という）と右チャンネル（以下、「Ｒｃｈ」という）の２つの発音チャンネル（以下、「チャンネル」を「ｃｈ」という）で１発音単位が構成されており、音源部２０は、Ｎ（Ｎは１以上の整数）個の発音単位を備えている。例えば、音源部２０における発音ｃｈ数が２５６ｃｈとされた場合に、発音単位数は発音ｃｈ数の半分の１２８とされる。そして、本発明にかかる楽音生成装置１において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理をサンプリング周期毎に時分割で行うようにしている。さらに、各発音単位では２ｃｈ分の楽音波形サンプルが時分割で演算生成されることから、１サンプリング周期毎に発音単位の倍の楽音波形サンプルが演算生成されるようになる。ここで、本発明にかかる楽音生成装置１においては、発音単位とされるＬｃｈおよびＲｃｈにおける一部のパラメータを２ｃｈ間で共用するようにしている。すなわち、ＬｃｈとＲｃｈとの発音ｃｈ毎に個別とされるタイプ１のパラメータは、音源レジスタ２３に用意された発音単位の領域に各ｃｈ毎に独立して記憶される。また、ＬｃｈとＲｃｈとの２ｃｈ間で共用されるタイプ２のパラメータは、音源レジスタ２３に用意された発音単位の領域に共通して記憶される。すなわち、音源レジスタ２３には、Ｎ個の発音単位に対応するＮ個の音色制御データを記憶する領域が用意されており、各音色制御データには、その音色で使用するタイプ１のパラメータとされるステレオのＬｃｈ波形データを示すＬｃｈ波形指定情報、Ｒｃｈの波形データを示すＲｃｈ波形指定情報と、タイプ２のパラメータとされるＬｃｈとＲｃｈの両ｃｈに共通の楽音のピッチを決定するＦナンバと特性制御パラメータとが含まれている。
【００１１】
波形メモリ２１には、ステレオサンプリングされたＬｃｈ波形データとＲｃｈ波形データとの波形データペアが複数記憶されている。この波形データペアは音色毎および音域毎に記憶されており、ステレオ発音には適さない音色の波形データについては、モノラルサンプリングされたモノ波形データが波形メモリ２１に記憶されている。
この波形メモリ２１に記録されている多数の波形データのデータ構造（メモリマップ）を図４に示す。図４に示すデータ構造において、波形データＷＤ１ｍはモノラルの波形データであり、波形データＷＤ２ｓｌとＷＤ２ｓｒとはステレオの波形データペアであり、このうちのＷＤ２ｓｌはＬｃｈ波形データであり、ＷＤ２ｓｒはＲｃｈ波形データである。また、同様に波形データＷＤ３ｓｌとＷＤ３ｓｒとはステレオの他の波形データペアであり、このうちのＷＤ３ｓｌはＬｃｈ波形データであり、ＷＤ３ｓｒはＲｃｈ波形データである。波形メモリ２１には、このようなモノラルの波形データおよびステレオの波形データペアが多数記録されている。Ｌｃｈ波形データとＲｃｈ波形データは、１つずつを見れば１つの波形データであり、モノラルの波形データと何ら違いがあるわけではない。従って、Ｌｃｈ波形データとＲｃｈ波形データの何れか一方だけを、モノラルの波形データとして読み出すこともできる。
【００１２】
また、位相発生部１１１は、時分割で、複数の発音単位の各々について、音源レジスタ２３に記憶された当該発音単位のＦナンバを累算することにより、当該発音単位のＬｃｈとＲｃｈとの両ｃｈに共通の位相を発生する。各発音単位の該累算は、制御部１２２から受付部１１７ａが受け付けた当該発音単位の発音開始指示をトリガとして開始される。なお、受付部１１７ａは、複数の発音単位の各々について相互に独立して、発音開始指示を受け付ける。
さらに、波形読出部１１２は、時分割で、複数の発音単位の各々について、位相発生部１１１から供給される当該発音単位の位相と、音源レジスタ２３に記憶された当該発音単位のＬｃｈ波形指定情報とに基づいて、波形メモリ２１から１つのＬｃｈ波形データを読み出すとともに、同じく位相発生部１１１から供給される位相と、音源レジスタ２３に記憶された当該発音単位のＲｃｈ波形指定情報とに基づいて、波形メモリ２１から１つのＲｃｈ波形データを読み出している。
【００１３】
さらにまた、制御波形発生部１１６は、時分割で、複数の発音単位の各々について、音源レジスタ２３に記憶された当該発音単位の制御波形パラメータに基づいて値が時間的に変化する、当該発音単位のＬｃｈとＲｃｈとの両ｃｈに共通の特性制御波形を発生する。制御波形発生部１１６により発生された特性制御波形は特性制御部１１３に供給され、この特性制御波形に基づいてＬｃｈ波形データとＲｃｈ波形データの楽音特性をそれぞれ制御することにより、当該発音単位のＬｃｈの楽音信号とＲｃｈの楽音信号とが形成される。制御波形発生部１１６により発生される特性制御波形には、楽音のピッチ変化を制御するピッチエンベロープ波形（ピッチＥＧ波形）、楽音の音量変化を制御する音量エンベロープ波形（音量ＥＧ波形）、楽音の周波数特性の変化を制御するフィルタエンベロープ波形（フィルタＥＧ波形）、楽音のピッチや音量に低周波の変調を加える低周波波形（ＬＦＯ波形）がある。また、制御波形発生部１１６により発生されたＬＦＯ波形を位相発生部１１１に供給することにより、楽音信号にビブラートを付与することができ、このＬＦＯ波形を特性制御部１１３に供給することにより、楽音信号にワウワウやトレモロを付与することができる。
【００１４】
ここで、制御部１２２がＭＩＤＩ、鍵盤、あるいはシーケンサ等からの演奏情報を受けて、新たな楽音の発音を指示する発音指示命令（ノートオン）を受けると、制御部１２２において、ステレオ発音あるいはモノラル発音にかかわらずＮ発音単位の何れか１つを発音指示された楽音の生成に割り当てる処理が行われる（後述するステップＳ１１〜Ｓ１５）。次いで、制御部１２２において発音指示された楽音の生成に使用するＬｃｈ波形指定情報、Ｒｃｈ波形指定情報、Ｆナンバ、および、特性制御パラメータを含む音色制御データを形成して、割り当てた発音単位に対応する音源レジスタ２３の記憶領域に設定する（同ステップＳ１６、Ｓ１７）。そして、受付部１１７ａに割り当てた発音単位の発音の開始を指示する（同ステップＳ１８）。ステレオ発音の場合には、当該発音単位の２ｃｈに対して、発音開始が指示されることになる。これにより、受付部１１７ａが受け付けた発音単位の発音開始指示をトリガとして、位相発生部１１１は発音単位のＦナンバの累算を開始して、当該発音単位のＬｃｈとＲｃｈとの両ｃｈに共通の位相を発生する。発生された位相が供給される波形読出部１１２は、位相発生部１１１から供給された当該発音単位の位相と、音源レジスタ２３に記憶された当該発音単位のＬｃｈ波形指定情報とに基づいて、波形メモリ２１から１つのＬｃｈ波形データを読み出すと共に、位相発生部１１１から供給された位相と、音源レジスタ２３に記憶された当該発音単位のＲｃｈ波形指定情報とに基づいて、波形メモリ２１から１つのＲｃｈ波形データを読み出す。
【００１５】
波形読出部１１２により読み出されたＬｃｈ波形データとＲｃｈ波形データとは、その楽音特性が制御波形発生部１１６により発生された発音中に時間変化する特性制御波形に基づいてそれぞれ制御されて、当該発音単位のＬｃｈの楽音波形サンプルとＲｃｈの楽音波形サンプルとが形成される。特性制御部１１３から発音単位毎のＬｃｈの楽音波形サンプルとＲｃｈの楽音波形サンプルとが時分割でステレオ構成の累算部（ＭＩＸ）１１４のＬｃｈ側とＲｃｈ側にそれぞれ出力され、ＭＩＸ１１４では、１サンプリング周期内において割り当てられた発音単位数のＬｃｈ側に出力された楽音波形サンプルとＲｃｈ側に出力された楽音波形サンプルとがそれぞれ累算される。ＭＩＸ１１４からは、１サンプリング周期である１ＤＡＣ周期（デジタル・アナログ変換器（ＤＡＣ）１１５の変換周期）毎に、全ての発音単位にわたって累算されたＬｃｈの楽音波形サンプルとＲｃｈの楽音波形サンプルとが、ＤＡＣ１１５に出力される。ステレオ構成のＤＡＣ１１５では１ＤＡＣ周期毎に、累算されたＬｃｈの楽音波形サンプルとＲｃｈの楽音波形サンプルとがアナログのＬｃｈの楽音信号とＲｃｈの楽音信号に変換されて、ステレオ構成のサウンドシステム２２（アンプ及びスピーカ）からステレオの楽音信号が放音される。
【００１６】
本発明にかかる楽音生成装置１において発音ｃｈ数が２５６ｃｈとされ発音単位数が１２８とされた場合における位相発生部１１１、波形読出部１１２、制御波形発生部１１６、特性制御部１１３においてステレオ発音時に必要な処理スロット（時分割処理のタイムスロット）の数が各ブロックに括弧書きの数字で示されている。すなわち、位相発生部１１１は発音単位毎に２ｃｈ共通の位相を生成することから、位相の処理スロット数は１２８となる。波形読出部１１２は、発音単位毎の２ｃｈについてそれぞれ波形データを波形メモリ２１から読み出すことから、波形データの処理スロット数は２５６となる。また、制御波形発生部１１６は、発音単位毎に２ｃｈ共通の制御波形を生成することから、制御波形の処理スロット数は１２８となり、特性制御部１１３は、発音単位毎の２ｃｈについてそれぞれ波形データの楽音特性を制御することから、楽音特性を制御する処理スロット数は２５６となる。
【００１７】
ところで、モノラル発音が発音単位に対して発音指示された場合は、波形読出部１１２はＬｃｈ波形指定情報（あるいはＲｃｈ波形指定情報）と位相発生部１１１からの位相に基づいて１つのモノ波形データを波形メモリ２１から読み出すようになる。すなわち、２ｃｈの発音単位において１ｃｈの波形データのみが読み出される。波形読出部１１２により読み出されたモノ波形データは、特性制御部１１３において制御波形発生部１１６から供給された発音中に時間変化する特性制御波形により楽音特性が制御されてモノラルの楽音波形サンプルが形成されてＭＩＸ１１４のＬｃｈ側とＲｃｈ側に出力される。上述したように、ＭＩＸ１１４とＤＡＣ１１５およびサウンドシステム２２がステレオ構成とされており、特性制御部１１３は、発音単位の１ｃｈから同じモノラルの楽音波形サンプルをパンパラメータに基づく音量でＭＩＸ１１４のＬｃｈ側とＲｃｈ側に出力する。このＬｃｈ側とＲｃｈ側に出力された楽音波形サンプルは、ＭＩＸ１１４により他の発音単位においてＬｃｈ側とＲｃｈ側に出力された楽音サンプルとそれぞれ累算されて、ＤＡＣ１１５に出力される。ステレオ構成のＤＡＣ１１５では１ＤＡＣ周期毎に、累算されたＬｃｈとＲｃｈとの楽音波形サンプルがアナログのＬｃｈとＲｃｈとの楽音信号に変換されて、ステレオ構成のサウンドシステム２２から楽音信号が放音される。この場合、ステレオ発音のステレオ信号とモノラル発音のモノラル信号とが混在してサウンドシステム２２から放音されるようになる。
【００１８】
上記したように、本発明にかかる楽音生成装置１においては、発音単位とされるＬｃｈとＲｃｈとに共通の位相信号に基づいて、Ｌｃｈ楽音信号とＲｃｈ楽音信号の２つの楽音信号を形成するので、位相発生部１１１が発生する位相の数が生成可能な楽音数の半分とされる発音単位の数となり、位相発生部１１１の処理量を減らし回路規模を小さくすることができる。一般的に、楽音生成には精密なピッチ制御が要求されており、位相発生部では、２０ビットを超えるビット長の位相が生成されるため、回路規模も大きくなりがちである。また、制御波形発生部１１６は、各発音単位の特性制御パラメータに基づいて、ＬｃｈとＲｃｈに共通の制御波形を発生することから、制御波形発生部１１６で発生する特性制御波形の数が生成可能な楽音数の半分とされる発音単位の数となり、制御波形発生部１１６の処理量を減らし回路規模を小さくすることができる。さらに、発音割当処理は、発音ｃｈ数の半分の発音単位に対して行われるので、トランケート処理を行う場合でも制御部１２２にかかる処理負荷を小さくすることができる。発音割当では、割り当て対象となる発音ｃｈないし発音単位の数に応じて、その処理にかかる処理負荷の量が指数関数的に増大する。さらに、Ｆナンバ、および、特性制御パラメータについても発音単位とされる２ｃｈにおいて共通とされ、発音単位毎に１つだけ設定すればよいことから、制御部１２２が音源レジスタ２３に特性制御パラメータを設定する時間を短縮することができ、また、音源レジスタ２３の規模を小さくできる。
【００１９】
そして、本発明にかかる楽音生成装置１は、ステレオ発音およびモノラル発音をすることができるが、モノラル発音かステレオ発音かに関わらず、発音指示が発生したときに、１つの発音単位を割当てればよい。また、楽音生成装置１においては、ステレオ発音する場合の各発音単位に関して、Ｌｃｈ波形データとＲｃｈ波形データとを波形メモリ２１から波形読出部１１２が、同じＦナンバに応じた速度で読み出し、特性制御部１１３において同じ特性制御パラメータ（ないし特性制御パラメータに基づく特性制御波形）で特性制御して、音高及び楽音特性が同様に制御されたＬｃｈ楽音信号とＲｃｈ楽音信号を形成している。この場合、ＬｃｈとＲｃｈとに共通の位相信号に基づいて、Ｌｃｈ楽音信号とＲｃｈ楽音信号の２つの楽音信号を形成するので、位相発生部１１１が発生する位相の数は、生成可能な楽音数の半分とされる発音単位の数となり、位相発生部１１１の処理量を減らし回路規模を小さくすることができる。さらに、制御波形発生部１１６は、各発音単位の特性制御パラメータに基づいて、ＬｃｈとＲｃｈに共通の制御波形を発生することから、制御波形発生部１１６で発生する特性制御波形の数は、生成可能な楽音数の半分とされる発音単位の数となり、制御波形発生部１１６の処理量を減らし回路規模を小さくすることができる。なお、この特性制御波形は、ピッチエンベロープ波形（ピッチＥＧ波形）、音量エンベロープ波形（音量ＥＧ波形）、フィルタエンベロープ波形（フィルタＥＧ波形）、低周波波形（ＬＦＯ波形）の何れかとされる。
【００２０】
上記したように、Ｆナンバあるいは特性制御パラメータは、ＬｃｈとＲｃｈとで共通に使われるので、ステレオ発音であっても音源レジスタ２３に設定すべきデータの量は、モノラル発音の場合の倍より少ない量となる。このことから、制御部１２２にかかる設定時間を短くすることができる。さらに、音源レジスタ２３に各種パラメータを設定した後では、モノラル発音かステレオ発音かに関わらず、割り当てた発音単位に対して発音開始指示すればよい。すなわち、ステレオ発音であってもＬｃｈおよびＲｃｈの２ｃｈを同時にノートオンするような制御をわざわざ行う必要はない。さらにまた、Ｆナンバあるいは特性制御パラメータは、ＬｃｈとＲｃｈとで共通に使われるので、ステレオ発音であっても制御部１２２は、音源レジスタ２３の１つの発音単位に係るＦナンバあるいは特性制御パラメータの値をリアルタイム変更すればよく、２つの発音ｃｈに係る２つのパラメータ値の変更を同時にリアルタイム変更する必要がないことから、制御部１２２にかかる処理量を少なくすることができる。
図１に示す本発明の楽音生成装置１は楽音生成用の集積回路により実現されているが、上記説明したように一部のブロックの処理量を少なくすることができることから、発音チャンネルの数を増加しても楽音を生成する音源部２０の集積回路の規模が大きくなることを極力抑制できるようになる。
【００２１】
次に、図１に示す本発明にかかる楽音生成装置１の詳細な構成を図２に示す。図２に示す楽音生成装置１は、図１に示す楽音生成装置１と同様の楽音生成動作を行うと共に同様の作用効果を奏しており、図１と図２とで同じ番号が付与されたブロックは、基本的に、相互に同じ機能を果たす。
図２に示す楽音生成装置１は、上記の通りステレオ発音するＬｃｈとＲｃｈとの２つのｃｈで１発音単位が構成されており、音源部２０は、Ｎ（Ｎは１以上の整数）個の発音単位を備えている。例えば、音源部２０における発音ｃｈ数が２５６ｃｈとされた場合に、発音単位数は発音ｃｈ数の半分の１２８とされる。そして、本発明にかかる楽音生成装置１において同時に複数の楽音を発生させるために、複数の発音単位での楽音発生処理を時分割で行うようにしている。各発音単位では２ｃｈのそれぞれにおいて楽音波形サンプルが生成されることから、１サンプリング周期毎に発音単位の倍の楽音波形サンプルが時分割で演算生成されるようになる。
【００２２】
図２に示す楽音生成装置１おいて、ＣＰＵ１０は楽音生成に関連する各種プログラムを実行することにより楽音生成装置１における楽音生成を始めとする様々な機能の動作を制御する制御部（Central Processing Unit）である。フラッシュＲＯＭ（Read Only Memory）１１は、ＣＰＵ１０が実行する楽音生成処理のプログラムや、音色データ等の各種データが格納される書き換え可能な不揮発性メモリである。ＲＡＭ（Random Access Memory）１２は楽音生成装置１における揮発性のメインメモリであり、ＣＰＵ１０のワークエリア等が設定される。また、操作子１３は鍵盤等の演奏操作子および各種スイッチであり、各種スイッチを操作することにより楽音生成装置１に各種指示を与えることができる。さらに、表示器１４は楽音生成時に各種情報を表示させる表示器である。通信Ｉ／Ｏ１５は、外部から演奏情報等をとり込むことができるインタフェースであり、例えば外部とＭＩＤＩメッセージの送受信を行うＭＩＤＩインタフェースとされる。音源部２０は、ＣＰＵ１０の制御に基づいて、波形メモリ２１から楽音生成に必要とする波形データを読み出し、波形データの補間、エンベロープ付与、チャンネル累算（ミキシング）などの処理を行って、アナログの楽音波形信号として出力している。この図では、累算部（ＭＩＸ）２０ｉからサウンドシステム２２までの矢印が２本とされ、ステレオ構成の２つのデータが通過することが明示されているが、その他の１本の矢印は、１つのデータが通過することを示している訳ではなく、時分割で複数の信号が通過する。例えば、Ｆナンバ発生部（ＦＧ）２０ａからフェーズ発生器（ＰＧ）２０ｂには、１２８の発音単位に対応する１２８のデータが時分割で供給される。音源部２０から出力された楽音波形信号は、サウンドシステム２２に供給されてステレオの楽音が放音されるようになる。なお、各部はバスライン１６を介して接続されている。
【００２３】
音源部２０における音源レジスタ２３には、１２８の発音単位に対応する１２８の音色制御データが設定される。それぞれの音色制御データはノートオンの処理を行うＣＰＵ１０により形成されており、音源レジスタ２０の発音単位毎に用意された領域に設定される。この音源レジスタ２３に領域に設定される音色制御データは、図３（ａ）に示す発音単位毎のデータと、図３（ｂ）に示す発音単位におけるＬｃｈとＲｃｈとの発音ｃｈ（２５６ｃｈ）毎のデータから構成されている。
図３（ａ）に示す発音単位毎のデータは、セント値で表されたピッチシフトデータ（ＰＳ）、ＬＦＯ周波数、ＰＭデプス、ＦＭデプス、ＡＭデプスを含むＬＦＯパラメータ（ＬＦＯＰｓ）、複数の各ステートのＰＥＧレートおよびＰＥＧレベルからなるＰＥＧパラメータ（ＰＥＧＰｓ）、複数の各ステートのＦＥＧレートおよびＦＥＧレベルからなるＦＥＧパラメータ（ＦＥＧＰｓ）、複数の各ステートのＡＥＧレートおよびＡＥＧレベルからなるＡＥＧパラメータ（ＡＥＧＰｓ）、Ｌｃｈのパンデータ（ＰＡＮ（Ｌ））およびＲｃｈのパンデータ（ＰＡＮ（Ｒ））からなるパンデータ（ＰＡＮｓ）、ステレオ発音モードかモノラル発音モードかのいずれかのモードを示すモードフラグ（Mode）とされている。ここで、ピッチシフトデータ（ＰＳ）は、波形メモリから読み出す波形データの音高をシフトする量を制御するデータであり、セントスケールにおけるＦナンバである。後述するＦナンバ発生部（ＦＧ）２０ａでは、周波数比のリニアスケールにおけるＦナンバを発生するが、このＰＳは、その発生されるＦナンバの値を決定する主因子である。ＰＳの分解能は１セントであり、リアルタイムに変更してもノイズを生じないように、値の変化をスムーズ化する補間器が設けられている。また、これらのパラメータにおいて小文字の「ｓ」が付されているパラメータは、それぞれ、単一のパラメータではなく、複数のパラメータで構成されることを示している。
【００２４】
また、図３（ｂ）に示す発音単位のＬｃｈとＲｃｈの各発音ｃｈのデータは、当該ｃｈの波形指定情報である先頭アドレス（ＷＳ）、ループ先頭アドレス（ＬＳ）、末尾アドレス（ＷＥ）からなる波形アドレス用パラメータ（ＷＡＰｓ）と、波形データが圧縮されている場合のその解除を制御する圧縮情報と、ループ読み出しを制御するループ情報等を含むその他のパラメータとされる。モノラル発音モードでは、Ｌｃｈの波形指定情報によってモノラル波形データが指定され、Ｒｃｈの波形指定情報は使用されない。
これら３つのアドレスＷＳ、ＬＳ、ＷＥは、それぞれ、波形メモリの絶対アドレスとされているが、何れか１つを絶対アドレスとして残し、残りの２つをその絶対アドレスからの相対アドレスとしてもよい。例えば、ループ先頭アドレスＬＳを絶対アドレスとし、先頭アドレスＷＳと末尾アドレスＷＥを、それぞれ、ループ先頭アドレスＬＳからの相対アドレスとしてもよい。その場合、相対アドレスとされた２つのアドレスは、発音単位の２ｃｈ間で共通にすることができ、発音単位毎のデータ（図３（ａ））に移動することができる。すなわち、本発明の波形指定情報は、３つのアドレスＷＳ、ＬＳ、ＷＥのうちの、少なくとも１つの絶対アドレスとされているアドレスに対応する。
さらに、音源レジスタ２３には、図３（ａ）、図３（ｂ）に示す発音単位毎の領域とは別に、各発音単位ＧＵに対して発音の開始を指示するための発音開始フラグＧＴ（ＧＵ）の領域と、リリースの開始を指示するためのリリース開始フラグＲＴ（ＧＵ）の領域とが含まれている。
【００２５】
フラッシュＲＯＭ１１には、波形メモリ２１に記録されている複数の波形データを管理する複数の波形管理データと、楽音生成装置１で選択可能な複数の音色のパラメータセットである複数の音色データとが格納されている。本実施形態の楽音発生装置１はマルチパート音源であり、パート毎に、前記複数の音色の中から１つの音色を選択して、当該パートの音色として設定することができる。そして、複数パートの演奏情報に応じて、パート毎に設定されている音色で楽音が生成される。この波形管理データのデータ構造を図５（ａ）に示し、音色データのデータ構造を図５（ｂ）に示す。波形メモリ２１から波形データを読み出す際には、音源パートに設定されている音色の音色データを参照して波形データを選択し、選択された波形データの波形管理データを用いて波形メモリから該選択された波形データを読み出す。
【００２６】
図５（ａ）に示す複数の波形管理データは、波形メモリ２１から波形データを読み出すのに必要なデータであって、各波形管理データは、波形メモリ２１に記憶されている各ステレオ波形データペア乃至モノラル波形データと対応している。ＷＫＤ１はモノラルの波形データＷＤ１ｍの波形管理データであり、ＷＫＤ２は波形データＷＤ２ｓｌ，ＷＤ２ｓｒのステレオ波形データペアの波形管理データであり、ＷＫＤ３は波形データＷＤ３ｓｌ，ＷＤ３ｓｒのステレオ波形データペアの波形管理データである。各波形管理データは、対応する波形データがステレオ波形データペアかモノラル波形データに関わらず同様のデータ構造を有しており、ＷＫＤ２に展開されて示されているように、ステレオフラグ、波形アドレス情報１、波形アドレス情報２、基本ピッチ、ループ情報、圧縮情報から構成されている。ステレオフラグが「１」であれば、対応する波形データがステレオの波形データペアであり、「０」であれば、モノラルの波形データである。新規発音のために、フラグが立っている波形データが選択された場合は、その発音用に割り当てた発音単位の音源レジスタに、ステレオ発音モードを示すモードフラグ（Mode）が設定され、フラグが立っていない波形データが選択された場合は、モノラル発音モードを示すモードフラグ（Mode）が設定される。
【００２７】
波形アドレス情報１は、ステレオフラグが「０」の場合、波形メモリ２１の中のモノラル波形データの記憶位置を示し、「１」の場合、波形メモリ２１中のＬｃｈ波形データの記憶位置を示す情報であり、モノラル波形データ乃至Ｌｃｈ波形データの先頭アドレス、ループ先頭アドレス、および末尾アドレスの情報からなる。波形アドレス情報２は、ステレオフラグが「０」の場合、使用されない情報（Don’t Care）であり、「１」の場合、Ｒｃｈ波形データの記憶位置を示す情報であり、Ｒｃｈ波形データの先頭アドレス、ループ先頭アドレス、および末尾アドレスの情報からなる。基本ピッチは、波形データをピッチシフトなし（Ｆナンバ＝１）で読み出したときの、その読み出された波形データが有するピッチを示す情報であり、ループ情報は、ループ読み出しをするか否かを示す情報や、アタック波形のエンドのピッチにループ波形のスタートのピッチを合わせるためのループ部のピッチを補正する情報等とされる。また、圧縮情報は、波形データが圧縮されているか否かおよび圧縮されている場合の圧縮方式を示す圧縮方式情報や、先頭のフレームの圧縮を解除するための圧縮係数情報であり、発音単位の発音開始時には、ＣＰＵ１０は、これらの情報を音源レジスタ２３の当該発音単位の領域に設定し、その設定された情報に基づいて、波形アドレス発生部２０ｃ、読出＆Ｃａｃｈｅ部２０ｄ、デコーダ２０ｅ等が制御される。
【００２８】
また、図５（ｂ）に示すように、フラッシュＲＯＭ１１には、複数の音色の複数の音色データＴＤ１、ＴＤ２、ＴＤ３、・・・が格納されており、各音色の音色データはＴＤ２に展開されて示されているように、音色名、波形選択情報と、ＬｃｈとＲｃｈとに共通のＰＥＧパラメータ、ＦＥＧパラメータ、ＡＥＧパラメータ、ＬＦＯパラメータと、その他のパラメータから構成されている。
波形選択情報は、発音指示に係る音高（ノート番号）や演奏強度（ベロシティ）に応じて、その発音指示に応じた楽音を生成するのに使用する波形データ（を読み出すための波形管理データ）を選択するための情報である。例えば、操作子１３とされる鍵盤を弾いた際のノートオンに応じて、鍵盤パートに設定された音色の音色データの波形選択情報が、そのノートオンに付随するノート番号ないしベロシティで参照され、１つのステレオ波形データペアないしモノラル波形データに対応する波形管理データが選択される。
ＰＥＧパラメータ、ＦＥＧパラメータ、およびＡＥＧパラメータは、それぞれ、複数ステートの折れ線形状を有する、ピッチＥＧ波形、フィルタＥＧ波形、および音量ＥＧ波形の制御するパラメータであって、各ステートのレートとレベルのパラメータ、および、ノート番号やベロシティなどに応じて一部のレートないしレベルを調整するためのパラメータからなる。音量ＥＧ波形の複数ステートは、例えば、アタック（ないしホールド）、第１ディケイ、第２ディケイ、サスティン、リリースの５ステートで構成され、アタック（ないしホールド）のレベルが、ベロシティに応じて増減される。ＬＦＯパラメータは、生成するＬＦＯ波形の周波数を制御するＬＦＯ周波数、楽音のピッチを変調するためのＬＦＯ波形の振幅（ピッチ変調の深さ）を制御するＰＭデプス、楽音の周波数特性を変調するためのＬＦＯ波形の振幅（フィルタ変調の深さ）を制御するＦＭデプス、楽音の振幅を変調するためのＬＦＯ波形の振幅（振幅変調の深さ）を制御するＡＭデプスの情報からなる。
【００２９】
楽音生成装置１において、楽音の発生開始を指示する新たなノートオンが検出されたとすると、ＣＰＵ１０は、図６に示すノートオンイベント処理を実行する。ノートオンイベント処理において、ＣＰＵ１０は、まず、発音割当処理を行うことにより新たなノートオンを空き発音単位に割り当て、音源レジスタ２３における割り当てられた発音単位の領域（図３（ａ）、（ｂ））に、新たなノートオンの各種パラメータからなる音色制御データを設定する。そして、ＣＰＵ１０が、その発音単位の発音指示（ＧＴ）を設定することにより、音源部２０は、上記設定された音色制御データを用いて新たなノートオンに対応する楽音生成を、割り当てられた発音単位において開始する。ここで、モードフラグ（Mode）がステレオ発音のモードとされている場合は、音源部２０からステレオの楽音信号が生成されてサウンドシステム２２に出力され、モードフラグ（Mode）がモノラル発音のモードとされている場合は、音源部２０からモノラルの楽音信号が生成されてサウンドシステム２２に出力される。
【００３０】
このノートオンイベント処理を、さらに詳細に説明する。ノートオンは、新たな楽音の発音開始を指示する命令（ＭＩＤＩメッセージ）であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、生成すべき楽音の音高を示すノート番号と、強度を示すベロシティとを伴っている。例えば、操作子１３とされる鍵盤で、何れかの鍵が押鍵されたときには、その鍵盤が制御するパートを示すパート番号と、その押下された鍵のノート番号と、押下速度を示すベロシティとを含むノートオンが生成される。複数パートの曲データの自動演奏の中では、各パートのノートオンが生成される。また、通信Ｉ／Ｏ１５を介して外部機器からノートオンを受信する場合もある。
ＣＰＵ１０は、これら何れかのノートオンが検出されると、図６に示すノートオンイベント処理をスタートし、まず、ステップＳ１０にて発生されたノートオンから、そのパート番号、ノート番号およびベロシティを取り出し、ＲＡＭ１２のワークエリアに確保された領域ＰＴにパート番号を、領域ＮＮにノート番号を、領域ＶＬにベロシティをそれぞれ格納する。次いで、ステップＳ１１にて全発音単位から発音割り当てされていない空き発音単位（Unit）を検出する処理が行われ、この検出する処理において空き発音単位が検出されたか否かがステップＳ１２にて判断される。ここで、空き発音単位が検出されたと判断された場合は、ステップＳ１３に進み、その空き発音単位のUnit番号を、ＲＡＭ１２のワークエリアに確保された領域ＡＵに格納する。また、ステップＳ１２にて空き発音単位が検出されないと判断された場合は、ステップＳ１４に分岐してトランケートUnit決定処理を行い、決定されたトランケート発音単位のUnit番号を上記領域ＡＵに格納する。
【００３１】
トランケートUnit決定処理では、まず、全パートの中から楽音を発生させる優先度の低いパート等のトランケート発音単位をサーチするサーチ対象パートを決定する。ＲＡＭ１２には、ＣＰＵ１０が、各発音単位で発音中の楽音のパート番号やノート番号などを記録する領域が設けられており、ＣＰＵ１０は、その領域の情報を参照することにより、決定されたパートで発音中の発音単位を検出する。次いで、検出された複数の発音単位において発音中の２ｃｈの楽音の音量レベルの内のＬｃｈ波形データの振幅と音量ＥＧ波形とのレベルの合成値が最小の発音単位を検出して、トランケートする発音単位として決定する。これは、モノラル発音モードの場合においても発音単位におけるＬｃｈでは楽音が生成されているからである。この決定されたトランケート発音単位のUnit番号を上記領域ＡＵに格納して、トランケートUnit決定処理を終了する。
【００３２】
ステップＳ１４のトランケートUnit決定処理が終了すると、ステップＳ１５にて領域ＡＵに格納されているUnit番号で生成中のＬｃｈとＲｃｈとの２ｃｈの楽音に対する急速減衰処理（ダンプ処理）を実行する。ここまでの処理で、新たな楽音の生成のために１の発音単位（Unit）が割り当てられ、割り当てられた発音単位の番号が領域ＡＵに格納される。ステップＳ１３あるいはステップＳ１５の処理が終了すると、ステップＳ１６に進み、領域ＰＴのパート番号が示すパートで現在設定されている現音色の音色データ（図５（ｂ））の波形選択情報により波形データを選択する。そして、選択された波形データに対応する波形管理データ（図５（ａ））のステレオフラグを参照して、当該波形データがステレオ波形データペアであれば、発音モードをステレオ発音モードに決定し、モノラル波形データであればモノラル発音モードに決定する。
次いで、ステップＳ１７にて、当該音色データと、領域ＰＴ、ＮＮおよび領域ＶＬに格納されているパート番号、ノート番号およびベロシティとに基づいて、新規楽音の生成に用いる各種パラメータを決定し、音源レジスタ２３の、領域ＡＵに格納されているUnit番号に対応する記憶領域（図３（ａ）、（ｂ））に、決定した各種パラメータを設定する。ＣＰＵ１０が設定する各種パラメータは、上記決定された発音モードを示すモードフラグ（Mode）、上記現音色の音色データにおける波形選択情報と上記ノート番号および上記ベロシティ値とに応じて選択された波形データのＬｃｈ波形指定情報、Ｒｃｈ波形指定情報、ループ情報、および、圧縮情報と、上記ノート番号および上記ベロシティ値とに応じて加工されたＬｃｈとＲｃｈの両ｃｈに共通の上記現音色の音色データにおけるＬＦＯパラメータ、ＰＥＧパラメータ、ＦＥＧパラメータ、ＡＥＧパラメータ、上記ノート番号と基本ピッチとの差に基づくピッチシフトデータ（セントスケールにおけるＦナンバ）、および、パンデータなどからなる音色制御データとされている。ただし、Ｒｃｈ波形指定情報は、ステレオ発音モードの場合のみ設定し、モノラル発音モードのときは（設定する情報が無いので）設定しなくてよい。ステップＳ１７において音色制御データをＡＵ領域に設定した後、ＣＰＵ１０は、ステップＳ１８にて、音源レジスタ２３の発音開始フラグＧＴ（ＡＵ）に「１」を書き込むことにより、領域ＡＵのUnit番号が示す発音単位に対して発音開始指示を行う。これにより、ノートオンイベント処理は終了し、音源部２０は発音開始指示（ＧＴ（ＡＵ）←１）をトリガとして、割り当てられた発音単位（Unit）において、設定された音色制御データに基づいて、ＬｃｈおよびＲｃｈの楽音の生成（ステレオ発音モード）、ないし、モノラルｃｈの楽音の生成（モノラル発音モード）を開始するようになる。
なお、本実施形態は、「＊」が付されたステップＳ１２−Ｓ１５の発音割当処理、およびステップＳ１８の発音開始指示処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
【００３３】
音源部２０のステレオ発音モードを示すモードフラグ（Mode）が設定されている発音単位（Unit）において楽音生成する際の、音源部２０を構成している各部の、その発音単位のタイムスロットにおける動作説明を以下に行う。
Ｆナンバを発生するＦナンバ発生部（ＦＧ）２０ａには、当該発音単位のタイムスロットで、ＬＦＯ２０ｍからの変調データ（ＰＭデプスで振幅が調整されたＬＦＯ波形）と、音源レジスタ２３からのピッチシフトデータ（ＰＳ）と、ピッチエンベロープ発生部（ＰＥＧ）２０ｋからのピッチＥＧ波形とが供給され、これらの３つのデータが加算され、さらに、セントスケールからリニアスケールに変換されて、ＬｃｈとＲｃｈとの発音単位に共通のＦナンバが発生される。この場合、これら３つのデータはセント値を単位とするデータとされ、音源レジスタ２３から直接供給されるＰＳは、波形メモリ２１から読み出される波形データが記録された際の音高（図５（ａ）の基本ピッチ）と、生成すべき楽音の音高（ノート番号）との差分をセント値で表したデータとされる。ＦＧ２０ａで発生するＦナンバは、大まかな値はピッチシフトデータによって決定され、さらに、その値に対して変調データとピッチＥＧ波形による比較的小さな調整が加えられたリニア値のデータである。例えば、記録された際の音高と同じ音高で楽音を生成する際は、ＰＳは「０」とされ、調整値であるＬＦＯ２０ｍおよびＰＥＧ２０ｋからのデータを無視すると、この場合にＦＧ２０ａで発生されるＦナンバは「１」となる。ＦＧ２０ａからのＦナンバはフェーズ発生器（ＰＧ）２０ｂに供給され、ＰＧ２０ｂは、当該発音単位のタイムスロットで、サンプリング周期毎に供給されるＦナンバを累算し、その累算値の上位ビットを読出アドレスを生成するためのＬｃｈとＲｃｈとの発音単位に共通の位相の整数部として、下位ビットを同位相の小数部として、波形アドレス発生部（ＷＡＧ）２０ｃに出力する。ＰＧ２０ｂにおけるＦナンバの累算は、音源レジスタ２３の受付部から供給される当該発音単位の発音指示（ＧＴ）をトリガとして、ゼロを初期値として開始される。生成される位相の整数部は波形データのサンプル単位の位置を指定するデータであり、小数部は隣接する２サンプル間の中間位置を指定するデータである。
【００３４】
ＰＥＧ２０ｋには、当該発音単位のタイムスロットで、音源レジスタ２３からＬｃｈとＲｃｈとの発音単位に共通の、各ステート毎のＰＥＧレートおよびＰＥＧレベルのＰＥＧパラメータ（ＰＥＧＰｓ）が供給され、該ＰＥＧパラメータに基づいて、複数ステートからなる、ＬｃｈとＲｃｈとの発音単位に共通のピッチＥＧ波形であって、サンプリング周期毎に値の変化するピッチＥＧ波形が生成されてＦＧ２０ａに供給される。該ピッチＥＧの生成は、音源レジスタ２３から供給される当該発音単位の発音指示（ＧＴ）をトリガとして開始される。ピッチＥＧ波形をＦＧ２０ａに供給することにより、ピッチＥＧに従って波形メモリ２１からの読み出し速度が適宜変調されて、アタックピッチ等のピッチ変調効果が付与される。
ＷＡＧ２０ｃには、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、音源レジスタ２３からＬｃｈ波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるＬｃｈ波形指定情報、Ｒｃｈ波形データの先頭アドレス、ループ先頭アドレス、末尾アドレスからなるＲｃｈ波形指定情報、および、ループ情報で構成される波形アドレス用パラメータ（ＷＡＰｓ）が供給され、これらのパラメータ（ＷＡＰｓ）と位相の整数部とに基づいて、当該発音単位のＬｃｈの波形アドレスとＲｃｈの波形アドレスとが生成される。ループ読み出ししないループ情報が設定された発音単位の各ｃｈでは、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで、サンプリング周期毎の位相の整数部の増加速度と同じ速度で進行する波形アドレスが生成される。ループ読み出しするループ情報が設定された発音単位の各ｃｈでは、前記増加速度と同じ速度で、先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで一通り進行した後、ループ先頭アドレスが示すサンプル位置から末尾アドレスが示すサンプル位置まで繰り返し進行する波形アドレスが生成される。ＷＡＧ２０ｃから出力されるＬｃｈおよびＲｃｈの波形アドレス（整数部）は読出＆Cashe部２０ｄに供給され、ＬｃｈおよびＲｃｈの位相の小数部はサンプル間補間部（ＩＮＴ）２０ｆに供給される。波形メモリ２１には、圧縮された波形データである圧縮波形データと、圧縮されていないリニア波形データとが記録されており、読出＆Cashe部２０ｄは、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、供給されたＬｃｈおよびＲｃｈの波形アドレスと圧縮情報とに応じて波形メモリ２１からＬｃｈおよびＲｃｈのそれぞれの波形データのサンプルを読み出す。読み出されたＬｃｈおよびＲｃｈの波形データは、それが圧縮波形データである場合には、デコーダ（ＤＥＣ）２０ｅにおいて、当該発音単位のＬｃｈおよびＲｃｈのタイムスロットで伸張され、元のＬｃｈ波形データサンプルとＲｃｈ波形データサンプルが出力される。一方、リニア波形データである場合には、同じタイムスロットでＤＥＣ２０ｅを通過して、Ｌｃｈ波形データサンプルとＲｃｈ波形データサンプルとして出力される。
【００３５】
ここで、波形メモリ２１に記録されている圧縮波形データに関して説明すると、連続する複数サンプルからなる波形データを複数のフレームに分割して、フレーム毎に波形データに可変長とされる圧縮処理を施す。１フレーム分の圧縮波形データは、各アドレス毎にｎビットのデータを記憶可能な波形メモリ２１の連続する所定数ｊ個のアドレスにわたって記憶される。ｊ個の各アドレスに記憶されるデータには、それぞれ、ｎビットのうちのｍビットに、フレーム内で同一とされているビット数の圧縮波形データがｋサンプル順次格納される。そして、残る（ｎ−ｍ）ビットに、圧縮情報を含む副情報が格納される。
このように圧縮波形データが記憶された波形メモリ２１から圧縮波形データを読み出す場合は、読出＆Cashe部２０ｄは、当該発音単位のＬｃｈとＲｃｈの各タイムスロットで、サンプリング周期ごとにＷＡＧ２０ｃから供給される波形アドレスがｋだけ進むごとに１つだけ進むメモリアドレスを生成し、該メモリアドレスにより波形メモリ２１をアクセスしてｎビットのデータを読み出すと共に、読み出されたｎビットのデータから（ｎ−ｍ）ビットのデータを取り出して圧縮情報を含む副情報を出力する。また、読み出されたｎビットのデータからｍビットのデータを取り出してキャッシュメモリに一時記憶する。そして、ＤＥＣ２０ｅが、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、波形アドレスによりキャッシュメモリをアクセスして、ｋサンプルの圧縮波形データを順次読み出し、圧縮情報と順次読み出される圧縮波形データのサンプルとに基づいてＤＥＣ２０ｅにおいて伸長処理を行うことにより元の波形データのサンプルを復元する。
なお、伸張する際に用いられる圧縮情報は、１つ前に読み出されたフレームに記憶されていた圧縮情報が用いられることから、圧縮情報がない初期においては音源レジスタ２３から供給されたデコーダ初期値を用いて伸張される。また、圧縮波形データに関しての詳細については特許第３９１２３０４号公報を参照されたい。
【００３６】
ＤＥＣ２０ｅからリニアのまま出力される、ないし、伸張され出力される発音単位のＬｃｈおよびＲｃｈのそれぞれの波形データのうちの最新の２サンプルが、当該発音単位のＬｃｈとＲｃｈの各タイムスロットで、ＩＮＴ２０ｆに供給される。ＩＮＴ２０ｆは、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、このＬｃｈおよびＲｃｈにおける各２サンプルの伸長された波形データ間を、ＷＡＧ２０ｃから供給されている発音単位の位相の小数部に基づいてそれぞれ補間処理することにより、補間されたＬｃｈおよびＲｃｈのそれぞれの波形データを得るようにしている。また、ＩＮＴ２０ｆにおいて４点補間が行われる場合は、ＤＥＣ２０ｅからＬｃｈおよびＲｃｈの最新の４サンプルが供給され、この４サンプルの伸長された波形データと、位相の小数部に基づいて補間処理することにより、補間されたＬｃｈおよびＲｃｈのそれぞれの波形データを得るようにしている。
ＩＮＴ２０ｆから出力される補間されたＬｃｈおよびＲｃｈの発音単位の波形データは、ディジタルコントロールドフィルタ（ＤＣＦ）２０ｇに供給され高域成分が減衰される。ＤＣＦ２０ｇには、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、ＬＦＯ２０ｍからの変調データ（ＦＭデプスで振幅が調整されたＬＦＯ波形）とフィルタエンベロープ発生部（ＦＥＧ）２０ｎからのフィルタＥＧ波形とが供給され、この２つのデータに応じてＤＣＦ２０ｇのカットオフ周波数やＱ（選択度）が制御されて、Ｌｃｈ波形データとＲｃｈ波形データのそれぞれの高域成分が減衰される。ＦＥＧ２０ｎには、当該発音単位のタイムスロットで、音源レジスタ２３からＬｃｈとＲｃｈとの発音単位に共通の、各ステート毎のＦＥＧレートおよびＦＥＧレベルからなるＦＥＧパラメータ（ＦＥＧＰｓ）が供給され、該ＦＥＧパラメータに基づいて、複数ステートの、ＬｃｈとＲｃｈとの発音単位に共通のフィルタＥＧ波形であって、サンプリング周期毎に値が変化するフィルタＥＧ波形が生成されてＤＣＦ２０ｇに供給される。該フィルタＥＧ波形の生成は、音源レジスタ２３から供給される発音指示（ＧＴ）をトリガとして開始される。
【００３７】
ＤＣＦ２０ｇから出力される信号処理されたＬｃｈ波形データとＲｃｈ波形データとは、ディジタルコントロールドアンプ（ＤＣＡ）２０ｈに供給されＬｃｈおよびＲｃｈのそれぞれの音量が制御される。ＤＣＡ２０ｈには、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、ＬＦＯ２０ｍからの変調データ（ＡＭデプスにより振幅が調整されたＬＦＯ波形）と音量エンベロープ発生部（ＡＥＧ）２０ｐからの音量ＥＧ波形、および、音像を定位させる音源レジスタ２３からのパンデータ（ＰＡＮｓ）とが供給され、ＬＦＯ２０ｍからの変調データと音量ＥＧ波形とＬｃｈのパンデータ（ＰＡＮ（Ｌ））に応じて、Ｌｃｈ波形データの音量が制御されて累算部（ＭＩＸ）２０ｉのＬｃｈ側に出力され、ＬＦＯ２０ｍからの変調データと音量ＥＧ波形とＲｃｈのパンデータ（ＰＡＮ（Ｒ））に応じて、Ｒｃｈ波形データの音量が制御されてＭＩＸ２０ｉのＲｃｈ側に出力される。このように、ＤＣＡ２０ｈからは、音像位置がパンデータ（ＰＡＮｓ）により定位されたＬｃｈ波形データ（Ｌｃｈの楽音データ）とＲｃｈ波形データ（Ｒｃｈの楽音データ）とが、当該発音単位のタイムスロットで、ＭＩＸ２０ｉのＬｃｈ側とＲｃｈ側に出力される。ＡＥＧ２０ｐには、当該発音単位のタイムスロットで、音源レジスタ２３からＬｃｈとＲｃｈとの発音単位に共通の、各ステート毎のＡＥＧレートおよびＡＥＧレベルからなるＡＥＧパラメータ（ＡＥＧＰｓ）が供給され、該ＡＥＧパラメータに基づいて、複数ステートの、ＬｃｈとＲｃｈとの発音単位に共通の音量ＥＧ波形であって、サンプリング周期毎に値の変化する音量ＥＧ波形が生成されてＤＣＡ２０ｈに供給される。該音量ＥＧ波形の生成は、音源レジスタ２３から供給される発音指示（ＧＴ）をトリガとして開始される。
【００３８】
１ＤＡＣ周期内において、ＤＣＡ２０ｈからは、複数の各発音単位のタイムスロットで、波形データのサンプルが、累算部（ＭＩＸ）２０ｉのＬｃｈ側とＲｃｈ側に出力される。ＭＩＸ２０ｉにおいては、１ＤＡＣ周期の各発音単位のタイムスロットで、Ｌｃｈ側に供給された波形データのサンプルと、Ｒｃｈ側に供給された波形データのサンプルが、それぞれＬｃｈ側とＲｃｈ側とで別々に累算される。そして、ＭＩＸ２０ｉからは、ＤＡＣ周期毎に、全ての発音単位についての累算結果である、ＬｃｈとＲｃｈのサンプルからなるステレオ波形データがＤＡＣ２０ｊに出力される。ＤＡＣ２０ｊは、１ＤＡＣ周期毎に、供給されるステレオ波形データをアナログのステレオ波形信号に変換して、変換されたアナログのＬｃｈとＲｃｈとのステレオ波形信号を、ステレオ構成のサウンドシステム２２に供給する。サウンドシステム２２からは、そのステレオの波形信号が放音される。
【００３９】
また、ＬＦＯ２０ｍには、当該発音単位のタイムスロットで、音源レジスタ２３からＬｃｈとＲｃｈとの発音単位に共通のＬＦＯ周波数、ＰＭデプス、ＦＭデプス、ＡＭデプスのＬＦＯパラメータ（ＬＦＯＰｓ）が供給され、ＬＦＯ周波数が示す周波数の、ＬｃｈとＲｃｈとの発音単位に共通のＬＦＯ波形が生成されて、その振幅がＰＭデプス、ＦＭデプスおよびＡＭデプスに応じて制御されて、ＦＧ２０ａ、ＤＣＦ２０ｇおよびＤＣＡ２０ｈに供給される。該ＬＦＯ波形の生成は、音源レジスタ２３から供給される発音指示（ＧＴ）をトリガとして開始される。このＬＦＯ波形をＦＧ２０ａに供給することにより楽音信号にビブラートを付与することができ、このＬＦＯ波形をＤＣＦ２０ｇに供給することにより楽音信号にワウワウを付与することができ、このＬＦＯ波形をＤＣＡ２０ｈに供給することにより楽音信号にトレモロを付与することができる。
【００４０】
以上説明したように、図１に示す構成における位相発生部１１１はＦＧ２０ａ、ＰＧ２０ｂに相当し、波形読出部１１２はＷＡＧ２０ｃ、読出＆Cashe部２０ｄ、ＤＥＣ２０ｅ、ＩＮＴ２０ｆに相当し、特性制御部１１３はＤＣＦ２０ｇ、ＤＣＡ２０ｈに相当し、制御波形発生部１１６は、破線で囲った発音中に時間変化する制御波形を発生するＰＥＧ２０ｋ、ＬＦＯ２０ｍ、ＦＥＧ２０ｎおよびＡＥＧ２０ｐに相当する。また、制御部１２２はＣＰＵ１０に相当する
【００４１】
上記した音源部２０の各部の動作説明は、モードフラグ（Mode）がステレオ発音のモードとされた発音単位のタイムスロットに注目して、ステレオ発音する場合の動作を説明したものである。なお、波形メモリ２１には、モノラルの波形データとステレオの波形データペアとが音色毎および音域毎に記録されており、楽音生成装置１のある発音単位において楽音生成する際に、波形メモリ２１から読み出す波形データとしてステレオの波形データが選択されている場合は、その発音単位に対してステレオ発音モードを示すモードフラグ（Mode）が設定されて、その発音単位のタイムスロットにおいてステレオの楽音が生成されるようになる。また、楽音生成装置１のある発音単位において楽音生成する際に、波形メモリ２１から読み出す波形データとしてモノラルの楽音波形が選択されている場合は、その発音単位に対してモノラル発音モードを示すモードフラグ（Mode）が設定されて、その発音単位のタイムスロットにおいてモノラルの楽音が生成されるようになる。波形メモリ２１から読み出される波形データは、設定された音色やノート番号やベロシティなどに応じて選択された波形データであるが、その音色がステレオ効果が判るような音色か否か、その音色でのその音域、強度の演奏頻度、波形メモリの総容量による制約、等の各種要件を鑑みて、それぞれステレオ波形データペア、または、モノラル波形データとして用意されたものである。
【００４２】
モノラル発音モードを示すモードフラグ（Mode）が設定された発音単位（Unit）に関して、音源部２０の各部の動作を説明する。
楽音生成装置１において新たなノートオンイベントが検出された際に、ＣＰＵ１０は、発音割当処理を行うことにより新たなノートオンを空き発音単位に割り当て、音源レジスタ２３における割り当てられた発音単位の領域に上記した図３（ａ）（ｂ）に示す新たなノートオンの各種パラメータを設定する。この場合は、音源レジスタ２３に設定されるモードフラグ（Mode）はモノラル発音モードとされるが、モノラル発音のノートオンでも２ｃｈの発音単位が割り当てられる。なお、この実施形態では、音源部２０の各発音単位の２ｃｈのうちのＬｃｈの各種リソースを用いてモノラル発音を行っているが、Ｒｃｈの各種リソースを用いてモノラル発音をするようにしてもよい。
音源レジスタ２３における新たなノートオンに割り当てられた発音単位の領域に各種パラメータが設定され、当該発音単位に対して発音開始が指示されると、ＦＧ２０ａは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットでＦナンバを生成し、ＰＧ２０ｂは、ステレオ発音する場合と同様にして、当該発音単位のタイムスロットで、サンプリング周期毎にＦナンバを累算し、読出アドレスを生成するための整数部と小数部からなる位相を生成してＷＡＧ２０ｃに出力する。
【００４３】
ＷＡＧ２０ｃは、当該発音単位のＬｃｈのタイムスロットで、波形アドレス用パラメータ（ＷＡＰｓ）の内のＬｃｈ波形指定情報とループ情報、および、位相の整数部に基づいて発音単位におけるＬｃｈの波形アドレスが生成される。ＷＡＧ２０ｃから出力されるＬｃｈの波形アドレス（整数部）は読出＆Cashe部２０ｄに供給され、当該発音単位のＬｃｈのタイムスロットを用いて、波形メモリ２１からモノラルの波形データのサンプルが読み出される。読み出されたモノラルの波形データは、ＤＥＣ２０ｅにおいて、当該発音単位のＬｃｈのタイムスロットで伸張され、元のモノラル波形データサンプルが出力される。ＤＥＣ２０ｅから出力されるモノラルの波形データのうちの最新の２サンプルがＩＮＴ２０ｆに供給され、当該発音単位のＬｃｈのタイムスロットで、ＷＡＧ２０ｃから供給されている発音単位の位相の小数部に基づいて補間処理することにより、補間されたモノラルの波形データを得るようにしている。ＩＮＴ２０ｆから出力される補間されたモノラルの発音単位の波形データは、ＤＣＦ２０ｇに供給され、ＤＣＦ２０ｇにおいて、当該発音単位のＬｃｈのタイムスロットで、ＬＦＯ２０ｍからの変調データとＦＥＧ２０ｎからのフィルタＥＧ波形とに応じたカットオフ周波数やＱ（選択度）で、高域成分が減衰されて、高調波成分が調整されたモノラルの波形データが出力される。ＰＥＧ２０ｋ、ＦＥＧ２０ｎ、ＡＥＧ２０ｐ、および、ＬＦＯ２０ｍは、それぞれステレオ発音の場合と同様に、当該発音単位のタイムスロットで、ピッチＥＧ波形、フィルタＥＧ波形、振幅ＥＧ波形、および、ＬＦＯ波形を生成する。
【００４４】
ＤＣＦ２０ｇから出力されるモノラル波形データは、ディジタルコントロールドアンプ（ＤＣＡ）２０ｈに供給され、当該発音単位のＬｃｈとＲｃｈのタイムスロットで、モノラル波形データの音量が制御される。ＤＣＡ２０ｈには、ＬＦＯ２０ｍからの変調データとＡＥＧ２０ｐからの音量ＥＧ波形、および、音源レジスタ２３からのパンデータ（ＰＡＮｓ）とが供給されている。この場合、ＬＦＯ２０ｍからの変調データと音量ＥＧ波形とＬｃｈのパンデータ（ＰＡＮ（Ｌ））に応じてモノラル波形データの音量が制御されてＭＩＸ２０ｉのＬｃｈ側に出力され、ＬＦＯ２０ｍからの変調データと音量ＥＧ波形とＲｃｈのパンデータ（ＰＡＮ（Ｒ））に応じて同じモノラル波形データの音量が制御されてＭＩＸ２０ｉのＲｃｈ側に出力される。このように、ＤＣＡ２０ｈからは音像位置がパンデータ（ＰＡＮｓ）により定位されたモノラルの波形データが、Ｌｃｈの楽音データとＲｃｈの楽音データとして、当該発音単位のタイムスロットで、ＭＩＸ２０ｉのＬｃｈ側とＲｃｈ側に出力される。
【００４５】
ＭＩＸ２０ｉにおいては、当該発音単位のタイムスロットでＬｃｈ側に供給されたモノラルの波形データサンプルは、他の発音単位のタイムスロットでＬｃｈ側に供給された波形データサンプルと累算され、Ｒｃｈ側に供給されたモノラルの波形データのサンプルは、他の発音単位のタイムスロットでＲｃｈ側に供給された波形データサンプルと累算されて、１ＤＡＣ周期の全ての発音単位について累算されたＬｃｈとＲｃｈとの波形データサンプルが、１ＤＡＣ周期毎に、ＤＡＣ２０ｊに出力される。ＤＡＣ２０ｊは、１ＤＡＣ周期毎に、供給された波形データサンプルをアナログのステレオ波形信号に変換して、変換されたアナログのＬｃｈとＲｃｈとの波形信号を、サウンドシステム２２に供給する。サウンドシステム２２からは、パンデータ（ＰＡＮｓ）により音像が定位された、ステレオ発音の発音単位のステレオ信号と、モノラル発音の発音単位のモノラル信号との混合音である、ステレオの波形信号が放音されることになる。
上記したように、モノラル発音モードが設定された発音単位では、その発音単位が有するＷＡＧ２０ｃ、読出＆Cashe部２０ｄおよびＤＥＣ２０ｅの２ｃｈ分のリソースの内の１ｃｈの処理しか使用しないため、残り１ｃｈ分のリソースが余ることになる。そこで、これらのリソースを、全て、当該発音単位の１サンプリング周期におけるモノラル波形データのサンプルの読み出しに転用するようにすると、１サンプリング周期において２倍の数のサンプルを読み出しデコードできることから、モノラル発音時においては、通常の２倍までのピッチアップを行うことができるようになる。
【００４６】
次に、本発明の楽音生成装置１において、楽音の減衰の開始を指示するノートオフが検出されたときに、ＣＰＵ１０が実行するノートオフイベント処理のフローチャートを図７に示す。ノートオフは、楽音の減衰の開始を指示する命令（ＭＩＤＩメッセージ）であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、減衰開始すべき楽音の音高を示すノート番号とを伴っている。例えば、操作子１３とされる鍵盤で、それまで押下されていた鍵が離鍵されたとき、その鍵盤が制御するパートを示すパート番号と、その鍵のノート番号を含むノートオフが生成される。また、通信Ｉ／Ｏ１５を介して、外部機器からノートオフを受信する場合もある。
ＣＰＵ１０は、ノートオフが検出されると、図７に示すノートオフイベント処理をスタートし、ステップＳ２０にて、ノートオフが指示された楽音のパート番号をＲＡＭ１２のワークエリアに確保された領域ＰＴに、ノート番号を領域ＮＮに格納する。次いで、ステップＳ２１にて、音源部２０で楽音データを生成中の発音単位の中から、領域ＰＴのパート番号が示すパートで、領域ＮＮのノート番号が示す音高の楽音を形成中の発音単位（Unit）を検出する処理が行われ、該当する発音単位が検出されると、当該発音単位のUnit番号がＲＡＭ１２のワークエリアに確保された領域ＤＵに格納される。そして、ステップＳ２２にて、ステップＳ２１で該当する発音単位が検出されたか否かが判断され、検出されたと判断された場合はステップＳ２３に進む。ステップＳ２３では、音源レジスタ２３の減衰開始フラグＲＴ（ＤＵ）に「１」を書き込むことにより、領域ＤＵのUnit番号が示す当該発音単位に対してリリースの開始を指示する。これにより、ノートオフイベント処理は終了し、音源部２０のＰＥＧ２０ｋ、ＦＥＧ２０ｎ、およびＡＥＧ２０ｐでは、それぞれ、該リリース開始指示（ＲＴ（ＤＵ）←１）をトリガとして、当該発音単位のタイムスロットで生成中のピッチＥＧ波形、フィルタＥＧ波形、および振幅ＥＧ波形をリリースステートに移行させる。リリースステートに移行した振幅ＥＧ波形は、現在のレベルからゼロレベル（−∞ｄＢ）に向けて、音源レジスタ２３から供給されるリリースステートのＡＥＧレートで徐々に減少するので、これによって、当該発音単位のＬｃｈとＲｃｈのタイムスロットで生成中のＬｃｈとＲｃｈの楽音データの音量が、ゼロレベルに向けて徐々に減衰する。また、ステップＳ２２にて、検出されなかったと判断された場合は、そのままノートオフイベント処理は終了する。また、充分に減衰が進んだ発音単位が検出された場合には、ＣＰＵ１０が、その発音単位を上述した「空き発音単位」として開放する開放処理を行う。
なお、本実施形態は、「＊」が付されたステップＳ２３の減衰開始指示処理において、ステレオ発音モードがモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
【００４７】
次に、本発明の楽音生成装置１において、楽音の生成中にピッチベンド命令が検出されたときに、ＣＰＵ１０が実行するピッチベンドイベント処理のフローチャートを図８に示す。ピッチベンド命令は、１つのパートで生成中の１ないし複数の楽音のピッチをリアルタイムに変化させる命令（ＭＩＤＩメッセージ）であって、パラメータとして、何れのパートの命令であるかを示すパート番号と、音高の変化量を示すベンド量とを伴っている。例えば、操作子１３とされるピッチベンドホイールが操作されると、そのホイールが制御するパートを示すパート番号と、その操作量に応じたベンド量を含むピッチベンド命令が生成される。また、通信Ｉ／Ｏ１５を介して、外部機器からピッチベンド命令を受信する場合もある。
ピッチベンド命令が検出されると、図８に示すピッチベンドイベント処理がスタートされ、ステップＳ３０にて、ピッチベンド命令に付随するパート番号をＲＡＭ１２のワークエリアに確保された領域ＰＴに、ベンド量を領域ＰＶに格納する。次いで、ステップＳ３１にて１２８ある発音単位（Unit）の先頭の発音単位が指定されて、指定された発音単位のUnit番号がＲＡＭ１２のワークエリアに確保された領域ＣＵに格納される。そして、ステップＳ３２にて領域ＣＵに格納されているUnit番号から後方へ向かって、領域ＰＴに格納されているパート番号の楽音データを形成中の発音単位が検出されて、検出された場合はその発音単位のUnit番号がＲＡＭ１２のワークエリアに確保された領域ＤＵに格納される。そして、上記楽音データを形成中の発音単位が検出されたか否かがステップＳ３３にて判断され、検出されたと判断された場合はステップＳ３４に進む。
【００４８】
ステップＳ３４では、音源レジスタ２３中の領域ＤＵのUnit番号が示す発音単位におけるＬｃｈとＲｃｈに共通のピッチシフトＰＳ（ＤＵ）の値が、当該発音単位で発音中の楽音のノート番号と領域ＰＶのベンド量とに基づいて変更される。ステップＳ３４の処理が終了するとステップＳ３５にて領域ＤＵのUnit番号が１だけインクリメントされて、そのUnit番号が領域ＣＵに格納されて、ステップＳ３２に戻る。ステップＳ３２では領域ＣＵに格納されている領域ＤＵに格納された１インクリメントされたUnit番号から後方へ向かって、領域ＰＴのパート番号が示すパートの楽音データを形成中の発音単位を検出する処理がさらに行われ、検出された場合はその発音単位のUnit番号が領域ＤＵに格納され、続いてステップＳ３３以降の処理が行われる。このステップＳ３２ないしステップＳ３５の処理が繰り返し行われることにより、領域ＰＴのパート番号が示すパートの楽音データを形成中の発音単位の全てが検出され、音源レジスタ２３中のそれらの発音単位におけるＬｃｈとＲｃｈに共通のピッチシフトＰＳ（ＤＵ）の値が、それぞれ領域ＰＶのベンド量に基づいて変更される。そして、領域ＰＴに格納されているパート番号の楽音を形成中の該当発音単位の全てが検出されて、ステップＳ３３にて該当発音単位がないと判断されると、ピッチベンドイベント処理は終了する。この処理の結果、音源２０で生成中の、ピッチベンド命令のパート番号が示すパートの全ての楽音データのピッチが、ピッチベンド命令のベンド量に応じて変化（ベンド）する。
なお、本実施形態は、「＊」が付されたステップＳ３４のピッチ変更処理において、ステレオ発音モードかモノラル発音モードかに関わらず実質的に同じ処理が行われる点に特徴がある。
【００４９】
上記説明したように、ノートオンイベント処理、ノートオフイベント処理およびピッチベンドイベント処理では、制御対象の楽音データがモノラル発音されるかステレオ発音されるかに関わらず、その発音データを生成する発音単位に対して処理が行われるようになる。モノラル発音では、発音単位の一部のリソースが使われず一見無駄が多いように見えるが、高品質なステレオ発音を用いる音色が多数となっている現状では、実際問題として無駄になるリソースは余り多くなく、ＣＰＵ１０の負荷を軽減できる効果の方が遥かに大きい。
また、音源部２０においては、発音単位毎にステレオ発音モードかモノラル発音モードかが設定されることから、ステレオ発音モードの発音単位とモノラル発音モードの発音単位とが平行して楽音データを生成するようになる。
【産業上の利用可能性】
【００５０】
以上説明した本発明の楽音生成装置においては、波形メモリに圧縮された波形データも記録されるようにしていたが、これに限ることはなく圧縮されていない波形データのみを記録するようにしても良い。この場合は、伸張処理を行うＤＥＣ２０ｅを省略することができる。また、本発明にかかる楽音生成装置の発音ｃｈ数を２５６ｃｈとしたが、これに限ることはなく２５６ｃｈより多くても少なくても良い。この場合、発音単位数は発音ｃｈ数の半分となる。
なお、ＷＡＧ２０ｃ、読出＆Ｃａｃｈｅ部２０ｄ、ＤＥＣ２０ｅ、ＩＮＴ２０ｆ、ＤＣＦ２０ｇ等のステレオ２ｃｈ分のリソースを有する各ブロックでは、モノラル発音モードの発音単位のタイムスロットにおいて、Ｌｃｈのリソースを使用してモノラル波形データの処理を行うようになっていたが、Ｒｃｈのリソースを使用してモノラル波形データの処理を行うように変更してもよい。
また、トランケートUnit決定処理では、サーチ対象パートの楽音を生成している発音単位のＬｃｈの音量レベルに基づいて、トランケートする発音単位を決定していたが、この決定を、ＬｃｈとＲｃｈのうちの大きいほうの音量レベルに基づいて行うようにしてもよい。また、その発音単位がリリース開始前か後かに関わらず、トランケートする発音単位を決定するようにしていたが、既にリリース開始されている発音単位を、優先的にトランケートする発音単位として決定するようにしてもよい。また、まず、サーチ対象のパートを絞り込み、絞り込まれたパートの楽音を生成している発音単位の音量レベルに基づいて、トランケートする発音単位を決定していたが、この絞込みを行わず、全パートの楽音を生成している発音単位の音量に基づいて、トランケートする発音単位を決定するようにしてもよい。
また、ＣＰＵ１１は、セントスケールのＦナンバであるピッチシフトデータ（ＰＳ）を、音源レジスタ２３に設定するようになっていたが、その代わりに、リニアスケールのＦナンバを設定するようにしてもよい。この場合、Ｆナンバ発生部２０ａでは、ＣＰＵ１１が設定したＦナンバを、セントスケールからリニアスケールに変換する必要はなくなる。ただし、Ｆナンバ発生部２０ａにおける、ＣＰＵ１１からのＦナンバと、ＰＥＧ２０ｋからのピッチＥＧと、ＬＦＯ２０ｍからの変調データの合成のための構成が複雑化するので、音源レジスタ２３にリニアスケールのＦナンバを記憶させることは、設計として不適切である。
リアルタイムに制御パラメータの値を制御する例として、ピッチベンド命令の例を示したが、リアルタイム制御はこれに限らない。例えば、音量をリアルタイム制御するエクスプレション命令、ＬＦＯによる振幅等の変調深さをリアルタイム制御するモジュレーションデプス命令、カットオフ周波数をリアルタイム制御するパラメータチェンジ命令等によるリアルタイム制御であってもよい。
【符号の説明】
【００５１】
１  楽音生成装置、１０  ＣＰＵ、１１  フラッシュＲＯＭ、１２  ＲＡＭ、１３  操作子、１４  表示器、１５  通信Ｉ／Ｏ、１６  バスライン、２０  音源部、２０ａ  ＦＧ、２０ｂ  ＰＧ、２０ｃ  ＷＡＧ、２０ｄ  読出＆Cashe、２０ｅ  ＤＥＣ、２０ｆ  ＩＮＴ、２０ｇ  ＤＣＦ、２０ｈ  ＤＣＡ、２０ｉ  ＭＩＸ、２０ｊ  ＤＡＣ、２０ｋ  ＰＥＧ、２０ｍ  ＬＦＯ、２０ｎ  ＦＥＧ、２０ｐ  ＡＥＧ、２１  波形メモリ、２２  サウンドシステム、２３  音源レジスタ、１１１  位相発生部、１１２  波形読出部、１１３  特性制御部、１１４  ＭＩＸ、１１５  ＤＡＣ、１１６  制御波形発生部、１１７ａ  受付部、１２２  制御部
【図１】
0005573465.tif 000002
【図２】
0005573465.tif 000003
【図３】
0005573465.tif 000004
【図４】
0005573465.tif 000005
【図５】
0005573465.tif 000006
【図６】
0005573465.tif 000007
【図７】
0005573465.tif 000008
【図８】
0005573465.tif 000009