(57)【特許請求の範囲】
【請求項１】
ダンパー状態が保持されていると判断された場合に新たに発生指示された楽音が連打であるか否かを判断する連打検出手段と、
前記連打検出手段によって前記新たに発生指示された楽音が連打であると判断された場合に、該新たに発生指示された楽音と連打関係にありかつ該新たに発生指示された楽音が発生指示されたときに発音中の楽音のレベルを検出するレベル検出手段と、
前記新たに発生指示された楽音と連打関係にある楽音のうち、前記新たに発生指示された楽音の直前に発音された楽音ならびに前記レベル検出手段によって検出されたレベルが最大の楽音を除外し、除外された楽音以外の楽音に対して楽音生成用のエンベロープを急速な減衰レートに変更制御する制御手段と
を有する電子楽器の連打処理装置。
【請求項２】
請求項１に記載の電子楽器の連打処理装置において、
前記制御手段は、楽音生成用のエンベロープの減衰レートが所定の減衰レートであるときに、該楽音生成用のエンベロープの所定の減衰レートを該所定の減衰レートに比べて急速な第１の減衰レートに変更する制御を行うとともに、楽音生成用のエンベロープの減衰レートが第１の減衰レートであるときに、該第１の減衰レートを該第１の減衰レートに比べて急速な第２の減衰レートに変更する制御を行う
ものである電子楽器の連打処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器の連打処理装置に関し、さらに詳細には、音高を指定する複数の演奏操作子のうちの所定の音高の演奏操作子の操作に基づいて生成された楽音信号が減衰しきらないうちに、当該操作された所定の音高の演奏操作子と同一の演奏操作子が再び操作され、同一の音高の演奏操作子が連続的に操作される連打演奏の際に用いて好適な電子楽器の連打処理装置に関する。
【０００２】
【従来の技術】
一般に、多くの電子楽器においては、楽音を生成するための複数の楽音生成手段として複数の楽音生成チャンネルを備えている。そして、音高を指定する複数の演奏操作子としての鍵を備えた鍵盤における押鍵操作などの楽音生成指示（発音指示）に対応して、これら複数の楽音生成チャンネルの中からいずれかの楽音生成チャンネルを選択し、選択した楽音生成チャンネルに対して楽音生成指示に基づいた波形データと楽音生成用のエンベロープ（以下、「波形エンベロープ」と称する。）とを与えて楽音信号を生成し、楽音生成指示に基づき所望の楽音を生成する処理を行っている。
【０００３】
この際、楽音信号の減衰を早めるダンプ処理を踏み込み操作により禁止するダンパー・ペダルが踏み込まれるとダンパー状態が保持されて、波形エンベロープの急速減衰処理は行われず、生成される楽音の減衰時間は長くなり楽音が持続する。
【０００４】
上記したような電子楽器において、連打演奏が行なわれた場合、即ち、鍵盤の所定の音高の鍵の押鍵操作に基づいて生成された楽音信号が減衰しきらないうちに、当該操作された所定の音高の鍵と同一の鍵が再び操作されて同一の音高の鍵が連続的に押鍵操作された場合に、当該押鍵操作の楽音生成指示（発音指示）に基づいた波形データと波形エンベロープとを全て忠実に楽音生成チャンネルに与えるマルチ・アサイン方式が知られている。
【０００５】
しかしながら、マルチ・アサイン方式においては、楽音生成指示（発音指示）に基づいた波形データと波形エンベロープとが全て忠実に楽音生成チャンネルに与えられるので、上記したようにしてダンパー状態が保持されたときには多くの発音数が必要となり、多くの楽音生成チャンネルが楽音の生成中となるためＣＰＵ（中央処理装置）や音源に大きな負荷がかかるという問題点があった。
【０００６】
こうした問題点を解決するために、最大発音数を制限するとともに全ての楽音生成チャンネルが楽音の生成中であった場合には、いずれかの楽音生成チャンネルを選択し、選択した楽音生成チャンネルで生成中の楽音の生成を中止（トランケート）して、そのトランケートした楽音生成チャンネルに波形データと波形エンベロープとを割り当てて新たな楽音を生成するようにしたリミテッド・マルチ・アサイン方式の電子楽器が提案されている。
【０００７】
このような電子楽器においては、新たな楽音の生成を行うために、楽音の生成中の楽音生成チャンネルの中からいずれの楽音生成チャンネルをトランケートする楽音生成チャンネルとして選択するかの選択処理方法として、例えば、ヒストリー・アサインが用いられている。
【０００８】
ここで、ヒストリー・アサインとは、各楽音生成チャンネルに割り当てられている波形データと波形エンベロープとの履歴管理を行ない、最大発音数以内の最新の楽音生成指示（発音指示）に制限されるように、当該最新の楽音生成指示（発音指示）以外の楽音生成指示（発音指示）に基づいた波形データと波形エンベロープが割り当てられている楽音生成チャンネルを履歴が古い順にトランケートする楽音生成チャンネルとして選択する方法である。
【０００９】
しかしながら、上記したようなヒストリー・アサインにおいては履歴管理によりトランケートする楽音生成チャンネルを選択しているため、本来空間的に残っている強く押鍵操作された楽音が持続されずに消音されてしまい不自然に聴こえてしまうという問題点があった。
【００１０】
ここで、上記した問題点について、図１（ａ）（ｂ）を参照しながら、さらに詳細に説明することとする。
【００１１】
図１（ａ）には、ダンパー状態が保持されたときの連打演奏による８つの楽音（楽音Ｍ１、楽音Ｍ２、楽音Ｍ３、楽音Ｍ４、楽音Ｍ５、楽音Ｍ６、楽音Ｍ７、楽音Ｍ８）が時系列に従って示されており、履歴が最も古い１番目の楽音Ｍ１と５番目の楽音Ｍ５とが強く押鍵操作されて生成された楽音であり、当該楽音Ｍ１と楽音Ｍ５以外の楽音Ｍ２、楽音Ｍ３、楽音Ｍ４、楽音Ｍ６、楽音Ｍ７ならびに楽音Ｍ８は全て弱く押鍵操作されて生成された楽音である。
【００１２】
一方、図１（ｂ）には、ダンパー状態が保持されたときの連打演奏による８つの楽音（楽音Ｍ１１、楽音Ｍ１２、楽音Ｍ１３、楽音Ｍ１４、楽音Ｍ１５、楽音Ｍ１６、楽音Ｍ１７、楽音Ｍ１８）が時系列に従って示されており、履歴が最も古い１番目の楽音Ｍ１１と履歴が最も新しい８番目の楽音Ｍ１８とが強く押鍵操作されて生成された楽音であり、当該楽音Ｍ１１と楽音Ｍ１８以外の楽音Ｍ１２、楽音Ｍ１３、楽音Ｍ１４、楽音Ｍ１５、楽音Ｍ１６ならびに楽音Ｍ１７は全て弱く押鍵操作されかつ時系列に従って順次強く押鍵操作されて生成された楽音である。
【００１３】
そして、第１の楽音生成チャンネル（以下、「楽音生成チャンネル」を「ボイス（Ｖｏｉｃｅ）」と称し、「第１の楽音生成チャンネル」を「ボイス１」と称する。）、第２の楽音生成チャンネル（以下、「ボイス２」と称する。）および第３の楽音生成チャンネル（以下、「ボイス３」と称する。）を備えるとともに、最大発音数を「３」とした電子楽器において、１つの楽音生成指示（以下、「ノート・オン（Ｎｏｔｅ  ｏｎ）」と称する。）については、当該１つのノート・オンを１つのボイスに割り当て、当該１つのボイスを使用して楽音を生成するものとする。
【００１４】
このとき、ダンパー状態が保持されて図１（ａ）に示す連打演奏が行なわれ、時刻ｔ１のときにノート・オン１をボイス１に割り当てて楽音Ｍ１を生成開始し、時刻ｔ２のときにノート・オン２をボイス２に割り当てて楽音Ｍ２を生成開始し、時刻ｔ３のときにノート・オン３をボイス３に割り当てて楽音Ｍ３を生成開始したとする。
【００１５】
この状態において時刻ｔ４のときに新たなノート・オン４により楽音Ｍ４を生成しようとすると、リミテッド・マルチ・アサインであれば同一のノート・ナンバーに対しては発音の制限を設けているため、履歴が最も古い楽音Ｍ１に対応するノート・オン１を割り当てられたボイス１がトランケートされる楽音生成チャンネルとして選択される。
【００１６】
その結果、強い押鍵操作による楽音Ｍ１を生成するボイス１は楽音信号のレベルが最も高く、ボイス１が聴感上において最も大きな楽音を発音しているにもかかわらず、当該ボイス１に割り当てられた波形エンベロープの急速減衰処理が開始され、楽音Ｍ１が消音されることになる。
【００１７】
また、図１（ｂ）に示す連打演奏が行なわれた場合にも、上記した図１（ａ）の連打演奏の場合と同様にして、時刻ｔ４のときに新たなノート・オン１４により楽音Ｍ１４を生成しようとすると、履歴が最も古い楽音Ｍ１１に対応するノート・オン１１が割り当てられたボイス１がトランケートされる楽音生成チャンネルとして選択されることになり、当該ボイス１に割り当てられた波形エンベロープの急速減衰処理が開始され、強い押鍵操作により最も大きな発音をしている楽音Ｍ１１が消音されることになる。
【００１８】
従って、従来のリミテッド・マルチ・アサインでは、トランケートすることが好ましい聴感上において小さな楽音を発音しているボイス２やあるいはボイス３に割り当てられた波形エンベロープに対する急速減衰処理が行なわれずに、聴感上において大きな楽音を発音しているボイス１に割り当てられた波形エンベロープに対する急速減衰処理が開始されて、ボイス１の楽音が消音されてしまうという問題点があった。
【００１９】
【発明が解決しようとする課題】
本発明は、上記したような従来の技術の有する種々の問題点に鑑みてなされたものであり、その目的とするところは、連打演奏の楽音を複数の楽音生成手段により生成する際に、聴感上において大きな楽音を発音している楽音生成手段に割り当てられた楽音生成用のエンベロープに対する急速減衰処理を行なうことなしに、聴感上において小さな楽音を発音している楽音生成手段に割り当てられた楽音生成用のエンベロープに対する急速減衰処理を開始するようにして、連打演奏により生成される楽音の聴覚上の不自然さを取り除くことができるようにした電子楽器の連打処理装置を提供しようとするものである。
【００２０】
【課題を解決するための手段】
上記目的を達成するために、本発明のうち請求項１に記載の発明は、ダンパー状態が保持されていると判断された場合に新たに発生指示された楽音が連打であるか否かを判断する連打検出手段と、上記連打検出手段によって上記新たに発生指示された楽音が連打であると判断された場合に、当該新たに発生指示された楽音と連打関係にありかつ当該新たに発生指示された楽音が発生指示されたときに発音中の楽音のレベルを検出するレベル検出手段と、上記新たに発生指示された楽音と連打関係にある楽音のうち、上記新たに発生指示された楽音の直前に発音された楽音ならびに上記レベル検出手段によって検出されたレベルが最大の楽音を除外し、除外された楽音以外の楽音に対して楽音生成用のエンベロープを急速な減衰レートに変更制御する制御手段とを有するようにしたものである。
【００２１】
従って、上記した本発明のうち請求項１に記載の発明によれば、新たに発生指示された楽音と連打関係にある楽音のうち、新たに発生指示された楽音の直前に発音された楽音ならびにレベル検出手段によって検出されたレベルが最大の楽音を除外し、除外された楽音以外の楽音に対して楽音生成用のエンベロープが急速な減衰レートに変更制御されるので、聴感上において大きな楽音が優先して持続されるとともに、聴感上において小さな楽音が早いうちに消音され、連打演奏により生成される楽音の聴覚上の不自然さを取り除くことができる。
【００２２】
また、上記した本発明のうち請求項２に記載の発明のように、請求項１に記載の発明において、上記制御手段は、楽音生成用のエンベロープの減衰レートが所定の減衰レートであるときに、当該楽音生成用のエンベロープの所定の減衰レートを当該所定の減衰レートに比べて急速な第１の減衰レートに変更する制御を行うとともに、楽音生成用のエンベロープの減衰レートが第１の減衰レートであるときに、当該第１の減衰レートを当該第１の減衰レートに比べて急速な第２の減衰レートに変更する制御を行うようにできる。
【００２３】
【発明の実施の形態】
以下、添付の図面を参照しながら、本発明による電子楽器の連打処理装置の実施の形態の一例を詳細に説明する。
【００２４】
図２は、本発明の実施の形態の一例による電子楽器の連打処理装置を備えた電子楽器のブロック構成図が示されている。
【００２５】
この電子楽器は、その全体の動作を中央処理装置（ＣＰＵ）１０を用いて制御するように構成されている。
【００２６】
また、ＣＰＵ１０には、バス１２を介して、ＣＰＵ１０が全体の動作の制御を行うために実行するプログラムなどが格納されたリード・オンリ・メモリ（ＲＯＭ）１４と、ＣＰＵ１０によるプログラムの実行に必要な各種バッファやレジスタなどが設定されたワーキング・エリアとしてのランダム・アクセス・メモリ（ＲＡＭ）１６と、演奏者が押鍵操作／離鍵操作により楽音生成指示（発音指示：ノート・オン（Ｎｏｔｅ  ｏｎ））／楽音生成停止指示（消音指示：ノート・オフ（Ｎｏｔｅ  ｏｆｆ））を行って演奏するための鍵盤１８と、各種の操作を行うための操作子群２０と、楽音信号の減衰を早めるダンプ処理を踏み込み操作により禁止するダンパー・ペダル２２と、操作子群２０の操作状態などを表示する表示器２４と、外部のＭＩＤＩ機器との間でＭＩＤＩ信号の通信を行うためのＭＩＤＩ回路２６と、パーソナル・コンピュータなどの外部通信機器との間で所定の信号の通信を行うためのＵＳＢなどの外部インターフェース（外部Ｉ／Ｆ）２８と、ＣＰＵ１０の制御に基づいて鍵盤１８の押鍵操作／離鍵操作による楽音生成指示／楽音生成停止指示に対応して楽音信号の生成を行う複数の楽音生成チャンネル（ボイス）を備えた音源３０とが接続されている。
【００２７】
ここで、音源３０は、鍵盤１８の押鍵に対応した波形データと楽音生成用のエンベロープ（波形エンベロープ）とを与えられて、これら波形データと波形エンベロープとに基づいて楽音信号を生成するボイスを備えるものであり、例えば、２４チャンネル分の２４個のボイスが設定されている。
【００２８】
さらに、音源３０には、この音源３０で生成された楽音信号をデジタル信号処理するためのデジタル・シグナル・プロセッサ（ＤＳＰ）３２が接続され、ＤＳＰ３２には、このＤＳＰ３２でデジタル信号処理された楽音信号（デジタル楽音信号）をアナログ楽音信号に変換するためのデジタル／アナログ変換器（Ｄ／Ａ）３４が接続され、Ｄ／Ａ３４には、アナログ楽音信号を増幅するためのアンプ３６が接続され、アンプ３６には、このアンプ３６によって増幅されたアナログ楽音信号を空間に楽音として放音するためのスピーカー３８が接続されている。
【００２９】
即ち、この電子楽器においては、音源３０から出力された楽音信号が、ＤＳＰ３２、Ｄ／Ａ３４、アンプ３６およびスピーカー３８を介して、楽音として空間に放音されることになり、当該空間に放音され発音中の楽音のレベル、即ち、聴感上の音の大小は、波形データと波形エンベロープとを乗算した結果である楽音信号のレベルによって決定されるものである。
【００３０】
また、押鍵操作により出力されるノート・オンは、時系列に従ってノート・オン１、ノート・オン２、ノート・オン３、・・・ノート・オンｉ（「ｉ」は、正の整数である。）となり、当該ノート・オン１、ノート・オン２、ノート・オン３、・・・ノート・オンｉそれぞれに対応して離鍵操作によるノート・オフ１、ノート・オン２、ノート・オン３、・・・ノート・オフｊ（「ｊ」は、正の整数である。）が出力される。
【００３１】
なお、ノート・オン１、ノート・オン２、ノート・オン３、・・・ノート・オンｉそれぞれが有する履歴は「ｉ」の値と等く、「ｉ」の値が小さいほどそのノート・オンｉの履歴は古いものである。
【００３２】
そして、ＲＡＭ１６には、各種レジスタ群が設定されており、本発明の実施に関連するレジスタとしては、以下に示すものがある。なお、以下の説明においては、各レジスタの内容（データなど）は、特に断らない限り、同一のラベル名で表すものとする。
【００３３】
（１）レジスタＮ
このレジスタは、レジスタＨに記憶された履歴のノート・オンのノート・ナンバーが記憶されるレジスタである。
【００３４】
（２）レジスタＭＬ
このレジスタは、同一のノート・ナンバーにおける波形エンベロープの最大レベルが記憶されるレジスタであり、初期値は「−１」に設定されているものである。
【００３５】
（３）レジスタＭＨ
このレジスタは、レジスタＭＬに記憶されている同一のノート・ナンバーにおける波形エンベロープの最大レベルのノート・オンの履歴が記憶されるレジスタであり、初期値は「ＮＵＬＬ」に設定されているものである。
【００３６】
（４）レジスタＣＨ
このレジスタは、同一のノート・ナンバーにおける最新履歴が記憶されるレジスタであり、初期値は「ＮＵＬＬ」に設定されているものである。
【００３７】
以上の構成において、図３ならびに図４乃至図６のフローチャートを参照しながら、この電子楽器の動作について説明する。
【００３８】
図３には、波形エンベロープの一例を示す波形図が示されており、図４には、ノート・オンにより起動される処理ルーチンを示すフローチャートが示されており、図５には、発音中の楽音のレベル検出処理ルーチンを示すフローチャートが示されており、図６には、エンべロープの制御処理ルーチンを示すフローチャートが示されている。
【００３９】
ここで、図３に示す波形エンベロープを参照しながら、この電子楽器の動作の概要について説明すると、この電子楽器においては、同一のノート・ナンバーｎのノート・オンが連続的に出力される場合に新たなノート・オンｉが出力されると、当該新たなノート・オンｉの１つの前のノート・オンｉ−１と発音中の楽音のなかで最大レベルの楽音のノート・オンとはダンパー状態を保持するようにし、これら新たなノート・オンｉの１つの前のノート・オンｉ−１ならびに発音中の楽音のなかで最大レベルの楽音のノート・オン以外のノート・オンに対しては、後述する第１段階の波形エンベロープの急速減衰処理あるいは後述する第２段階の波形エンベロープの急速減衰処理を開始するものである。
【００４０】
例えば、時刻ｔ１のときにノート・オン１が出力され、時刻ｔ２のときにノート・オン２が出力され、時刻ｔ３のときに新たなノート・オン３が出力された場合には、ノート・オン３の１つ前のノート・オンはノート・オン２であり、さらにまた、当該ノート・オン２の波形エンベロープの時刻ｔ３におけるレベルＬ２は、ノート・オン１の波形エンベロープの時刻ｔ３におけるレベルＬ１に比べて大きいので、当該ノート・オン２は発音中の楽音のなかで最大レベルの楽音のノート・オンでもある。
【００４１】
このため、ノート・オン２はダンパー状態が保持され、ノート・オン２に基づいて生成される楽音は持続される一方で、新たなノート・オン３の１つの前のノート・オンでもなく発音中の楽音のなかで最大レベルの楽音のノート・オンでもないノート・オン１に対しては第１段階の波形エンベロープの急速減衰処理が開始され（図３レベルＬ１からの破線参照）、ノート・オン１に基づいて生成される楽音は消音されることになる。
【００４２】
そして、第１段階の波形エンベロープの急速減衰処理と第２段階の波形エンベロープの急速減衰処理とについてより詳細に説明すると、時刻ｔ４のときに新たなノート・オン４が出力された場合には、当該新たなノート・オン４の１つの前のノート・オンであり発音中の楽音のなかで最大レベル（図３レベルＬ３’参照）の楽音のノート・オンであるノート・オン３はダンパー状態を保持するようにする。
【００４３】
一方、ノート・オン２に対しては、当該ノート・オン２のダンパー状態が保持されているので、時刻ｔ４において当該ノート・オン２のダンパー状態の保持を解除する第１段階の波形エンベロープの急速減衰処理が開始され、ノート・オン２の波形エンベロープが急速減衰する（図３レベルＬ２’からの破線参照）。
【００４４】
ノート・オン１に対しては、当該ノート・オン１のダンパー状態の保持は既に時刻ｔ３において解除されているので（図３レベルＬ１からの破線参照）、時刻ｔ４において当該ノート・オン１の波形エンベロープの減衰レートをより急速に変更する第２段階の波形エンベロープの急速減衰処理が開始され、ノート・オン１の波形エンベロープが急速減衰する（図３レベルＬ１’からの一点鎖線参照）。
【００４５】
さらに、時刻ｔ５のときに新たなノート・オン５が出力された場合にも同様にして、ノート・オン３（図３レベルＬ３’’参照）ならびにノート・オン４のダンパー状態が保持されるとともに、ノート・オン２の波形エンベロープの減衰レートをより急速に変更する第２段階の波形エンベロープの急速減衰処理が開始され、ノート・オン２の波形エンベロープが急速減衰する（図３レベルＬ２’’からの一点鎖線参照）。
【００４６】
図４のノート・オンにより起動される処理ルーチンについて説明すると、このノート・オンにより起動される処理ルーチンは、ＣＰＵ１０に鍵盤１８からのノート・オンが出力されると起動される割り込みルーチンであり、このノート・オンにより起動される処理ルーチンにおいては、発音中の楽音のレベル検出処理やエンベロープの制御処理が行なわれるものである。
【００４７】
即ち、押鍵操作によりノート・ナンバーｎの新たなノート・オンｉがＣＰＵ１０に出力されると、ノート・オンにより起動される処理ルーチンが起動され、まず、ステップＳ４０２の処理において、ダンパー・ペダル２２の踏み込み操作によりダンパー状態が保持されているか否かを判断し、当該ダンパー状態が保持されていないと判断された場合には、このノート・オンにより起動される処理ルーチンを終了し、当該ダンパー状態が保持されていると判断された場合には、ステップＳ４０４の処理へ進む。
【００４８】
つまり、ダンパー・ペダル２２の踏み込み操作が行なわれずダンパー状態が保持されていない場合には、そのままこのノート・オンにより起動される処理ルーチンを終了して、出力されたノート・オンｉに基づいた発音処理によりダンパー状態が保持されていない楽音の生成が行われる。
【００４９】
なお、この発音処理については、公知の技術を用いることができるので、その詳細な説明は省略する。
【００５０】
一方、ステップＳ４０４の処理においては、出力されたノート・オンｉの１つ前のノート・オンｉ−１、即ち、最新履歴がレジスタＨに記憶され、当該レジスタＨに記憶された最新履歴（ノート・オンｉ−１）のノート・ナンバーがレジスタＮに記憶される。
【００５１】
ステップＳ４０４の処理を終了すると、ステップＳ４０６の処理へ進み、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ４０４の処理においてレジスタＮに記憶された履歴のノート・オンのノート・ナンバーとが等しいか否かが判断される。
【００５２】
このステップＳ４０６の判断処理の結果、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ４０４の処理においてレジスタＮに記憶された履歴のノート・オンのノート・ナンバーとが等しいと判断された場合には、ステップＳ４０８の処理へ進み、一方、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ４０４の処理においてレジスタＮに記憶された履歴のノート・オンのノート・ナンバーとが異なると判断された場合には、ステップＳ４１０の処理へ進む。
【００５３】
ステップＳ４０８の処理においては、この処理ルーチンのサブ・ルーチンとして、発音中の楽音のレベルの検出処理（図５参照）が行われ、当該ステップＳ４０８の処理が終了すると、ステップＳ４１０の処理へ進む。なお、発音中の楽音のレベルの検出処理については、図５に示すフローチャートを参照しながら後述する。
【００５４】
ステップＳ４１０の処理においては、レジスタＨの値から１を引いた差の履歴がＮＵＬＬではないか否か、即ち、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーが発音中ではないか否かを判断し、当該レジスタＨの値から１を引いた差の履歴がＮＵＬＬではない場合には、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーは発音中なので、ステップＳ４１２の処理へ進み、一方、当該レジスタＨの値から１を引いた差の履歴がＮＵＬＬである場合には、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーは発音中ではないので、ステップＳ４１６の処理へ進む。
【００５５】
ステップＳ４１２の処理においては、レジスタＨの値から１を引いた差をレジスタＨに記憶してステップＳ４１４の処理へ進む。
【００５６】
そして、ステップＳ４１４の処理においては、ステップＳ４１２の処理においてレジスタＨに記憶された履歴のノート・オンのノート・ナンバーがレジスタＮに記憶されて、ステップＳ４０６の処理へ戻る。
【００５７】
従って、新たに出力されたノート・オンｉのノート・ナンバーｎと同一のノート・ナンバーについて発音中の楽音がある場合には、ステップＳ４０６→ステップＳ４０８→ステップＳ４１０→ステップＳ４１２→ステップＳ４１４の処理が行われることになる。
【００５８】
一方、ステップＳ４１６の処理においては、エンベロープの制御処理（図６参照）が行われ、当該ステップＳ４１６の処理が終了すると、このノート・オンにより起動される処理ルーチンを終了して、出力されたノート・オンｉに基づいた発音処理によりダンパー状態が保持されている楽音の生成が行われる。
【００５９】
なお、この発音処理については、公知の技術を用いることができるので、その詳細な説明は省略する。
【００６０】
図５には、発音中の楽音のレベル検出処理ルーチンのフローチャートが示されている。上記したように、この発音中の楽音のレベル検出処理ルーチンは、上記したノート・オンにより起動される処理ルーチンのステップＳ４０８において実行されるサブ・ルーチンである。
【００６１】
この発音中の楽音のレベル検出処理ルーチンにおいては、新たに出力されたノート・オンｉのノート・ナンバーｎと同一のノート・ナンバーの発音中の楽音について、当該発音中の楽音のレベルの最大レベル（レジスタＭＬに記憶されたレベル）と当該最大レベルのノート・オン（レジスタＭＨに記憶された履歴のノート・オン）とを検出する処理が行なわれるものである。
【００６２】
この発音中の楽音のレベル検出処理ルーチンが起動されると、まず、ステップＳ５０２の処理において、レジスタＣＨが初期値の「ＮＵＬＬ」であるか否かを判断し、当該レジスタＣＨが初期値の「ＮＵＬＬ」である場合には、ステップＳ５０４の処理へ進み、当該レジスタＣＨが初期値の「ＮＵＬＬ」ではない場合には、ステップＳ５０６の処理へ進む。
【００６３】
ステップＳ５０４の処理においては、レジスタＨに記憶された履歴をレジスタＣＨに記憶する。ステップＳ５０４の処理を終了すると、ステップＳ５０６の処理へ進む。
【００６４】
ステップＳ５０６の処理においては、レジスタＨに記憶された履歴のノート・オンのレベルとレジスタＭＬに記憶されている同一のノート・ナンバーにおける最大レベルとの比較判断が行われ、レジスタＨに記憶された履歴のノート・ナンバーのレベルに比べてレジスタＭＬに記憶されている同一のノート・ナンバーにおける最大レベルが小さいと判断された場合には、ステップＳ５０８の処理へ進み、レジスタＨに記憶された履歴のノート・ナンバーのレベルに比べてレジスタＭＬに記憶されている同一のノート・ナンバーにおける最大レベルが大きいと判断された場合には、この発音中の楽音のレベル検出処理ルーチンを終了して、ノート・オンにより起動される処理ルーチンへリターンする。
【００６５】
ステップＳ５０８の処理においては、レジスタＨに記憶された履歴のノート・ナンバーのレベルをレジスタＭＬに記憶し、当該レジスタＭＬに記憶されている同一のノート・ナンバーにおける最大レベルのノート・オンの履歴をレジスタＭＬに記憶する。
【００６６】
ステップＳ５０８の処理が終了すると、この発音中の楽音のレベル検出処理ルーチンを終了して、ノート・オンにより起動される処理ルーチンへリターンする。
【００６７】
次に、図６には、エンべロープの制御処理ルーチンのフローチャートが示されている。上記したように、このエンべロープの制御処理ルーチンは、上記したノート・オンにより起動される処理ルーチンのステップＳ４１６において実行されるサブ・ルーチンである。
【００６８】
このエンべロープの制御処理ルーチンにおいては、新たに出力されたノート・オンｉのノート・ナンバーｎと同一のノート・ナンバーのノート・オンであるとともに、新たに出力されたノート・オンｉに対して最新履歴のノート・オンｉ−１でもなく、かつ、発音中の楽音のなかで最大レベルのノート・オンでもないノート・オンに対して、当該ノート・オンのダンパー状態の保持を解除する第１段階の波形エンベロープの急速減衰処理や当該ノート・オンの波形エンベロープの減衰レートをより急速に変更する第２段階の波形エンベロープの急速減衰処理が行われるものである。
【００６９】
このエンべロープの制御処理ルーチンが起動されると、まず、ステップＳ６０２の処理において、レジスタＣＨの値から１を引いた差、即ち、レジスタＣＨに記憶された最新履歴よりも１つ古い履歴がレジスタＨに記憶され、当該レジスタＨに記憶された履歴のノート・オンのノート・ナンバーがレジスタＮに記憶される。
【００７０】
ステップＳ６０２を終了すると、ステップＳ６０４の処理へ進み、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ６０２の処理においてレジスタＮに記憶された履歴のノート・ナンバーとが異なるか否かを判断し、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ６０２の処理においてレジスタＮに記憶された履歴のノート・ナンバーとが異なると判断された場合には、ステップＳ６０６の処理へ進み、一方、新たに出力されたノート・オンｉのノート・ナンバーｎとステップＳ６０２の処理においてレジスタＮに記憶された履歴のノート・ナンバーとが等しいと判断された場合には、ステップＳ６１０の処理へ進む。
【００７１】
ステップＳ６０６の処理においては、レジスタＨの値から１を引いた差の履歴がＮＵＬＬであるか否か、即ち、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーが発音中であるか否かを判断し、当該レジスタＨの値から１を引いた差の履歴がＮＵＬＬではない場合には、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーは発音中なので、ステップＳ６０８の処理へ進み、一方、当該レジスタＨの値から１を引いた差の履歴がＮＵＬＬである場合には、レジスタＨに記憶された履歴よりも１つ古い履歴のノート・ナンバーは発音中ではないので、このエンべロープの制御処理ルーチンを終了して、ノート・オンにより起動される処理ルーチンにリターンする。
【００７２】
そして、ステップＳ６０８の処理においては、レジスタＨの値から１を引いた差がレジスタＨに記憶され、当該レジスタＨに記憶された履歴のノート・オンのノート・ナンバーがレジスタＮに記憶されて、ステップＳ６０４の処理へ戻って処理を繰り返す。
【００７３】
一方、ステップＳ６１０の処理においては、レジスタＨに記憶された履歴とステップＳ５０８の処理においてレジスタＭＨに記憶された同一のノート・ナンバーにおける最大レベルのノート・オンの履歴とが等しいか否かを判断し、当該レジスタＨに記憶された履歴とステップＳ５０８の処理においてレジスタＭＨに記憶された同一のノート・ナンバーにおける最大レベルのノート・オンの履歴とが等しいと判断された場合には、ステップＳ６０６の処理へ進み、当該レジスタＨに記憶された履歴とステップＳ５０８の処理においてレジスタＭＨに記憶された同一のノート・ナンバーにおける最大レベルのノート・オンの履歴とが異なると判断された場合には、ステップＳ６１２の処理へ進む。
【００７４】
従って、ステップＳ６１０→ステップＳ６１２と処理が進んだ場合には、レジスタＨに記憶された履歴は、新たに出力されたノート・オンｉのノート・ナンバーｎと同一のノート・ナンバーのノート・オンであるとともに、新たに出力されたノート・オンｉに対して最新履歴のノート・オンｉ−１でもなく、かつ、発音中の楽音のうち最大レベルのノート・オンでもないノート・オンの履歴となる。
【００７５】
ステップＳ６１０の処理を終了すると、ステップＳ６１２の処理へ進み、レジスタＨに記憶された履歴のノート・オンはダンパー状態が保持されているか否かを判断し、当該レジスタＨに記憶された履歴のノート・オンはダンパー状態が保持されていると判断された場合には、ステップＳ６１４の処理へ進み、一方、当該レジスタＨに記憶された履歴のノート・オンはダンパー状態が保持されていないと判断された場合には、ステップＳ６１６の処理が行われる。
【００７６】
ステップＳ６１４の処理においては、レジスタＨに記憶された履歴のノート・オンのダンパー状態の保持を解除する処理が行われる。このため、レジスタＨに記憶された履歴のノート・オンに対しては、当該ノート・オンのダンパー状態の保持を解除する第１段階の波形エンベロープの急速減衰処理が開始される。
【００７７】
一方、ステップＳ６１６の処理においては、レジスタＨに記憶された履歴のノート・オンのベロシティ（押鍵速度データ）と新たに出力されたノート・オンｉのベロシティ（押鍵速度データ）との比較判断が行われ、当該レジスタＨに記憶された履歴のノート・オンのベロシティ（押鍵速度データ）に比べて新たに出力されたノート・オンｉのベロシティ（押鍵速度データ）が小さい場合には、ステップＳ６０６の処理へ戻り、当該レジスタＨに記憶された履歴のノート・オンのベロシティ（押鍵速度データ）に比べて新たに出力されたノート・オンｉのベロシティ（押鍵速度データ）が大きい場合には、ステップＳ６１８の処理へ進む。
【００７８】
ステップＳ６１８の処理においては、レジスタＨに記憶された履歴のノート・オンの波形エンベロープの減衰レートをより急速に変更する処理、より詳細には、波形エンベロープが減衰しきる（波形エンベロープのレベルが「０」となる）までの時間（オフエンベロープ時間）を１／２に短縮する処理が行われ、ステップＳ６１８の処理を終了すると、ステップＳ６０６の処理へ戻る。
【００７９】
従って、ステップＳ６１８の処理において、レジスタＨに記憶された履歴のノート・オンに対しては、当該ノート・オンの波形エンベロープの減衰レートをより急速に変更する第２段階の波形エンベロープの急速減衰処理が開始される。
【００８０】
上記したようにして、本発明による電子楽器の連打処理装置においては、同一のノート・ナンバーｎのノート・オンが連続的に出力される場合に新たなノート・オンｉが出力されると、
（イ）新たなノート・オンｉの１つの前のノート・オンｉ−１のダンパー状態を保持するようにし、
（ロ）発音中の楽音のなかで最大レベルの楽音のノート・オンのダンパー状態を保持するようにし、
（ハ）新たに出力されたノート・オンｉの１つ前のノート・オンｉ−１と発音中の楽音のなかで最大レベルのノート・オン以外のノート・オンに対しては、当該ノート・オンのダンパー状態が保持されているときには、当該ノート・オンのダンパー状態の保持を解除する第１段階の波形エンベロープの急速減衰処理を開始するようにし、
（ニ）当該ノート・オンのダンパー状態が保持されてなく、かつ、当該ノート・オンのベロシティ（押鍵速度データ）が新たに出力されたノート・オンｉのベロシティ（押鍵速度データ）に比べて小さいときには、当該ノート・オンの波形エンベロープの減衰レートをより急速に変更する第２段階の波形エンベロープの急速減衰処理を開始するようにしたので、
聴感上において大きな楽音が優先して持続されるとともに、聴感上において小さな楽音が早いうちに消音され、連打演奏により生成される楽音の聴覚上の不自然さを取り除くことができる。
【００８１】
また、異なる位相で発音された同一波形の空間における合成が回避されるので、当該異なる位相で発音された同一波形の空間における合成により生じる演奏音のざらつき感を抑制することができる。
【００８２】
さらに、本発明による電子楽器の連打処理装置においては、上記したようにすると、波形エンベロープの急速減衰処理が開始されていない音源３０のボイス数が最大でも「３」に制限されるので、発音数を節約することができる。
【００８３】
【発明の効果】
本発明は、以上説明したように構成されているので、連打演奏の楽音を複数の楽音生成手段により生成する際には、聴感上において大きな楽音を発音している楽音生成手段に割り当てられた楽音生成用のエンベロープに対する急速減衰処理が行われずに、聴感上において小さな楽音を発音している楽音生成手段に割り当てられた楽音生成用のエンベロープに対する急速減衰処理が開始されることになり、連打演奏により生成される楽音の聴覚上の不自然さを取り除くことができるようになるという優れた効果を奏する。
【図面の簡単な説明】
【図１】（ａ）は、ダンパー状態が保持されたときの連打演奏による８つの楽音（楽音Ｍ１、楽音Ｍ２、楽音Ｍ３、楽音Ｍ４、楽音Ｍ５、楽音Ｍ６、楽音Ｍ７、楽音Ｍ８）を時系列に従って示す説明図であり、（ｂ）は、ダンパー状態が保持されたときの連打演奏による８つの楽音（楽音Ｍ１１、楽音Ｍ１２、楽音Ｍ１３、楽音Ｍ１４、楽音Ｍ１５、楽音Ｍ１６、楽音Ｍ１７、楽音Ｍ１８）を時系列に従って示す説明図である。
【図２】本発明の実施の形態の一例による電子楽器の連打処理装置を備えた電子楽器のブロック構成図である。
【図３】波形エンベロープの一例を示す波形図である。
【図４】ノート・オンにより起動される処理ルーチンを示すフローチャートである。
【図５】発音中の楽音のレベル検出処理ルーチンを示すフローチャートである。
【図６】エンべロープの制御処理ルーチンを示すフローチャートである。
【符号の説明】
１０          中央処理装置（ＣＰＵ）
１２          バス
１４          リード・オンリ・メモリ（ＲＯＭ）
１６          ランダム・アクセス・メモリ（ＲＡＭ）
１８          鍵盤
２０          操作子群
２２          ダンパー・ペダル
２４          表示器
２６          ＭＩＤＩ回路
２８          外部インターフェース（外部Ｉ／Ｆ）
３０          音源
３２          デジタル・シグナル・プロセッサ（ＤＳＰ）
３４          デジタル／アナログ変換器（Ｄ／Ａ）
３６          アンプ
３８          スピーカー
【図１】
0004167786.tif 000002
【図２】
0004167786.tif 000003
【図３】
0004167786.tif 000004
【図４】
0004167786.tif 000005
【図５】
0004167786.tif 000006
【図６】
0004167786.tif 000007