(57)【要約】【課題】  楽音信号をパイプライン処理する電子楽器の消費電力を低減する。【解決手段】  読出回路２０２、ＤＳＰ２０５等は、クロック信号φに同期して、サンプリング周期毎に複数チャンネルの楽音信号を合成／処理する。発音チャンネルクロック制御部２３１およびＤＳＰクロック制御部２３２は、各サンプリング周期において実際に使用されていない期間だけクロック信号φをマスクするマスク信号Ｓa〜Ｓdを出力する。これにより、読出回路２０２、ＤＳＰ２０５の動作が停止するため、消費電力が低減される。【選択図】  図３
2005165355.tif 000002
【特許請求の範囲】
【請求項１】
動作クロックに基づいて動作する楽音発生装置において、
複数の発音チャンネルの楽音信号を時分割で発生する楽音生成部と、
前記発音チャンネルの最大数である最大発音チャンネル数を決定する制御データを入力する制御データ入力部と、
該制御データに基づいて、前記楽音生成部に供給される動作クロックの一部を阻止するクロック制御部と、
発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記最大発音チャンネル数以下の範囲内で前記発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部と
を有することを特徴とする楽音発生装置。
【請求項２】
動作クロックに基づいて動作する楽音発生装置において、
複数の発音チャンネルの楽音信号を時分割で発生する楽音生成部と、
発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記複数の発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部と
前記複数の発音チャンネルの各々の音量レベルに基づいて、前記各発音チャンネル毎の動作クロックの供給のオン／オフ状態を制御する制御データを発生する制御データ発生部と、
該制御データに基づいて、動作クロックの前記楽音生成部への供給をオン／オフ制御するクロック制御部と
を有することを特徴とする楽音発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器、アミューズメント機器等、楽音を発生する装置に用いられる音源等に関し、特に消費電力を低減させるために用いて好適な楽音発生装置に関する。
【背景技術】
【０００２】
近年、電子楽器等に用いられる音源の性能が向上し、最大発音チャンネル数や動作クロック周波数等も増加の一途を辿っている。これは音源用ＬＳＩ等においては、トランジスタ数が増加することと、単位時間あたりのトランジスタのスイッチング回数が増加することとに他ならず、これらに比例して消費電力が増大することが問題になっている。特に電池駆動の電子楽器では、消費電力を削減して充分な動作時間を確保することが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、汎用パーソナルコンピュータ用のＣＰＵ等においては、その時々の処理負荷に応じてクロック周波数を増減する技術が知られている。しかし、かかる技術においてはクロック回路の構成が複雑になるという問題がある。
この発明は上述した事情に鑑みてなされたものであり、簡単な構成でありながら、処理負荷に応じて消費電力を低減できる楽音発生装置を提供することを目的としている。
【課題を解決するための手段】
【０００４】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載の楽音発生装置にあっては、動作クロックに基づいて動作する楽音発生装置において、複数の発音チャンネルの楽音信号を時分割で発生する楽音生成部（２０２）と、前記発音チャンネルの最大数である最大発音チャンネル数を決定する制御データを入力する制御データ入力部（１３，ＳＰ２）と、該制御データに基づいて、前記楽音生成部に供給される動作クロックの一部を阻止するクロック制御部（２３１）と、発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記最大発音チャンネル数以下の範囲内で前記発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部（１０，ＳＰ３４）とを有することを特徴とする。
また、請求項２記載の楽音発生装置にあっては、動作クロックに基づいて動作する楽音発生装置において、複数の発音チャンネルの楽音信号を時分割で発生する楽音生成部（２０２）と、発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記複数の発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部（１０，ＳＰ７４）と前記複数の発音チャンネルの各々の音量レベルに基づいて、前記各発音チャンネル毎の動作クロックの供給のオン／オフ状態を制御する制御データを発生する制御データ発生部（１０，ＳＰ９５）と、該制御データに基づいて、動作クロックの前記楽音生成部への供給をオン／オフ制御するクロック制御部（２３５）とを有することを特徴とする。
【発明の効果】
【０００５】
制御データ入力部を介して最大発音チャンネル数を決定する制御データを入力する構成によれば、時分割で複数の発音チャンネルの楽音信号を生成する楽音発生装置の省電力化を、従来の楽音発生装置に対して簡単な構成を追加するだけで実現することができる。
また、発音チャンネルの各々の音量レベルに基づいて、発音チャンネル毎の動作クロックの供給のオン／オフ状態を制御する構成によれば、各発音チャンネルの音量レベルに基づいて、楽音発生部への動作クロックの供給を制御しているため、楽音発生装置の省電力化を自動的に、かつ最大限に行うことができる。
【発明を実施するための最良の形態】
【０００６】
1．第１実施形態
1．1．実施形態のハードウエア構成
1．1．1．全体構成
まず、本発明の第１実施形態の電池駆動の電子楽器について説明する。図１は、この電子楽器の全体構成を示すブロック図である。この図において、符号１０はＣＰＵであり、バス（ＣＰＵバスライン）Ｂを介して各部を制御する。なお、バスＢは、コントロールバス、データバスおよびアドレスバスを総称したものである。符号１１はＲＯＭであり、ＣＰＵ１０において用いられる基本プログラムや、各種データを記憶する。符号１２はＲＡＭであり、ＣＰＵ１０の制御において発生する各種のデータ等を一時的に記憶する。符号１３はパネルスイッチであり、発生すべき楽音の音色を選択するためや、各種状態を設定するためなどのスイッチ等により構成される。そして、このパネルスイッチ１３において設定された情報はバスＢを介してＣＰＵ１０に供給されるようになっている。符号１４は表示部であり、ＣＲＴや液晶表示パネルなどから構成され、パネルスイッチ１３により入力された情報や、現時点において設定された情報などをＣＰＵ１０の制御の下、表示する。
【０００７】
次に、符号１５は演奏操作子であり、鍵盤、ピッチベンドホイール、ペダル等から構成されている。鍵盤の各鍵には、それぞれキーセンサが設けられ（図示せず）、演奏者の鍵盤に対する演奏操作を検出して、押鍵された鍵の音高を示すキーコードＫＣや、押鍵・離鍵に対応して楽音の発生・消音を指示するキーオンＫＯＮ・キーオフＫＯＦＦ、押鍵速度に対応するベロシティＶＥＬなどのキー情報をバスＢを介してＣＰＵ１０に供給する。符号１６は記憶媒体であり、ＦＤＤ（フロッピィ・ディスク・ドライブユニット）や、ＨＤＤ（ハード・ディスク・ドライブユニット）などが該当し、各種のデータを記録するために用いられる。符号１９はクロック回路であり、電子楽器の各部にクロック信号を供給する。符号２０はＭＩＤＩインターフェースであり、外部のＭＩＤＩ機器との間でＭＩＤＩ信号のやりとりを行う。２２は電池駆動による電源部である。
【０００８】
さて、符号２００は音源回路であり、発音を行なうためのチャンネルを時分割で６４チャンネル分構築して、各発音チャンネルにおいて楽音信号を生成するとともに、所定のエフェクトアルゴリズムを構築して、エフェクトを付与する。このため、音源回路２００は、後述するように楽音信号を生成するための回路のほかに、エフェクトを付与するためのＤＳＰ（ディジタル・シグナル・プロセッサ）を内蔵している。符号２５０は波形メモリであり、基本的な波形データを音色毎に複数記憶する。なお、符号２６０は外部回路であって、音源回路２００以外で楽音信号を供給するユニットや、外部に接続されたエフェクタなどのユニットである。符号２７０は遅延メモリであり、内蔵されたＤＳＰにおいて用いられる。そして、音源回路２００による楽音信号は、ＤＡ変換器１７によりアナログ信号に変換された後、アンプやスピーカ等から構成されたサウンドシステム１８により、外部に発音されるようになっている。
【０００９】
1．1．2．音源回路の楽音信号系統
次に、音源回路２００の楽音信号系統について図２を参照して説明する。この図において符号２０１は制御レジスタ＆制御回路であり、バスＢを介したＣＰＵ１０の指令に基づいて各部を制御するものである。読出回路２０２は、波形メモリ２５０に記憶された波形データのうち、指定された音色の波形データを、キーコードＫＣで指定された音高になるようにアドレスを操作して読み出すものである。ＤＣＦ（デジタル・コントロール・フィルタ）２０６は、読み出された波形データに対して各種のフィルタリング処理を施す。
【００１０】
音量制御回路２０３は、ＤＣＦ２０６を介して供給された波形データを、ベロシティＶＥＬで示された音の大きさとなるようにその振幅値を制御して、エフェクト付与前の音源出力とする。これらの読出回路２０２、ＤＣＦ２０６および音量制御回路２０３は、時分割６４チャンネルで動作して、各発音チャンネルにおいて異なる楽音信号を生成することが可能となっている。ＣＰＵ１０は、押鍵等の発音指示が発生した時、該６４チャンネルの１つに発音割り当てを行ない、制御レジスタ＆制御回路２０１の割り当てたチャンネル領域に該発音指示に応じた楽音の発生を制御する楽音制御データを書き込む。書き込まれた楽音制御データに基づいて読出回路２０２、音量制御回路２０３は、対応する楽音の生成を行なう。なお、音量制御回路２０３からは、生成された各チャンネルの楽音が、各サンプリング周期毎に６４チャンネル時分割された状態で、ミキサ２１０に対してそのまま出力される。
【００１１】
さて、ミキサ２１０は、音量制御回路２０３による楽音信号および外部回路２６０からの楽音信号を入力して、所定の処理を施した後、ＤＳＰ２０５および外部回路２６０に出力するものである。また、ミキサ２１０は、ＤＳＰに対する出力のうちの任意の出力チャンネルの信号をラインを通じて読出回路２０２に戻す。読出回路２０２は、戻された信号を波形メモリのＲＡＭ領域に新たな波形データとして書き込むことが可能である。ここで、ＤＳＰ２０５は、前述したように、楽音信号にエフェクトを付与するためのものであり、このエフェクト処理結果の出力の一部である４チャンネル分の楽音信号が図１におけるＤＡ変換器１７に供給されて、この電子楽器の最終的な出力となる。なお、電子楽器の出力がＤＳＰ２０５の出力としている理由は、この電子楽器における出力の最終段をイコライザとしているためであって、このイコライザを、ＤＳＰ２０５において構築されるエフェクトブロックの１つとしているからである。
【００１２】
ここで、ＤＳＰ２０５における演算方法について簡単に説明しておく。まず、ＤＳＰ２０５には、マイクロプログラムが記憶されるプログラムメモリが設けられている（図示せず）。本実施形態においては、マイクロプログラムの最大ステップ数は１０２４であり、処理対象となる波形データの入力チャンネルの最大数は１６であり、処理結果の波形データの出力チャンネルの最大数も１６であることとする。ここで、ＤＳＰ２０５における「チャンネル（入力チャンネル、出力チャンネル）」とは、読出回路２０２〜音量制御回路２０３における「チャンネル（発音チャンネル）」とは別異な概念である。すなわち、発音チャンネルは、演奏操作子１５やＭＩＤＩインターフェース２０を介してノートオンイベントが供給される度に発生するものである。これに対してＤＳＰ２０５における入力チャンネルは、ミキサ２１０からＤＳＰ２０５へ入力する波形データ、例えば、これらの波形データをパート（音色）毎にミキシングした結果を入力するためのチャンネルであり、出力チャンネルは、ＤＳＰ２０５で効果付与等の処理を施した波形データをミキサ２１０に対して出力するためのチャンネルである。このような時分割チャンネルの組み替えを行う技術に関しては、例えば特開平１１−８５１５５号公報に詳述されている。
【００１３】
さて、各サンプリング周期の開始時においては、ＤＳＰ２０５によってミキサ２１０のミキシング結果（前回のサンプリング周期において、ミキサ２１０が各入力チャンネルのために行ったミキシング処理の結果の波形データ）が順次読み出され、ＤＳＰ２０５の内部のレジスタに記憶される。ＤＳＰ２０５は、該レジスタに記憶された各入力チャンネルの波形データに対して、マイクロプログラムに基づく信号処理をその第１ステップから順次実行する。その信号処理において、波形データの長時間の遅延が必要な場合には、遅延しようとする波形データを遅延メモリ２７０に書込むとともに、遅延時間に対応するサンプリング周期だけ前に該遅延メモリ２７０に書込まれた対応する波形データを読み出すことにより、該遅延が実現できる。このようにして、最大１０２４ステップのマイクロプログラムに基づく信号処理が、最大１６入力チャンネルの波形データに対して施され、結果として最大１６出力チャンネルの波形データがミキサ２１０に出力される。また、上述したように所定の４チャンネル分の演算結果は、最終的な楽音信号として図１におけるＤＡ変換器１７に供給される。
【００１４】
ここで、本実施形態におけるエフェクトについて簡単に説明しておく。本実施形態におけるエフェクトは、リバーブ、コーラス、バリエーションの３ブロックに大別できる。そして、それぞれのブロックにおいて１個づつ、例えば図９(a)に示すような様々なエフェクトが選択できる。各エフェクトに供給する信号は、前記１６入力チャンネルの中から自由に設定することができる（複数チャンネルを一つのエフェクトに入力することも可能）。また、各エフェクト処理の結果の１ないし複数の出力信号は、前記１６の出力チャンネルおよび前記ＤＡ変換器１７への４チャンネルの何れかから出力するように設定することもできる（一つのエフェクトの出力を複数のチャンネルへ出力することも可能）。すなわち、各パートの楽音信号毎に、各エフェクトに供給する信号レベルを設定することができ、また、エフェクト同士を縦続接続することも可能である。その具体例については、上述した特開平１１−８５１５５号公報に詳述されている。
【００１５】
1．1．3．音源回路のクロック信号系統
次に、音源回路２００のクロック信号系統について図３を参照して説明する。
図においてＡＮＤゲート２２１〜２２４の一入力端には、クロック信号φが供給される。また、ＡＮＤゲート２２１〜２２４の他入力端には、マスク信号Ｓa〜Ｓdが供給される。これにより、読出回路２０２、ＤＣＦ２０６、音量制御回路２０３およびＤＳＰ２０５には、対応する各マスク信号Ｓa〜Ｓdが“１”である期間（供給期間）にのみクロック信号φが供給される。従って、それ以外の期間にはクロック信号φが供給されないため、これらの構成要素の動作は停止することになる。
【００１６】
２３１は発音チャンネルクロック制御部であり、ＣＰＵ１０からチャンネル制御データを受信すると、このデータに基づいて上記マスク信号Ｓa〜Ｓcを出力する。ここで、チャンネル制御データとは、最大６４発音チャンネルのうち何チャンネルが許容されるかを示す「０」〜「６４」の数値データである。図４(a)〜(c)においては、チャンネル制御データが「６４」、「４８」および「３２」である場合におけるマスク信号Ｓa〜Ｓcの波形図を示す。
【００１７】
同図(a)は、全発音チャンネル（６４）が有効であるから、マスク信号Ｓa〜Ｓcは常時“１”になっている。同図(b)は、４８発音チャンネルが有効であるから、マスク信号Ｓa〜Ｓcのデューティ比はほぼ「４８／６４」に近い値になっている。但し、これらデューティ比は、「４８／６４」よりも若干大きな値になっている。これは、読出回路２０２、ＤＣＦ２０６、音量制御回路２０３がパイプライン処理を行うためであり、最初に処理される発音チャンネルが当該パイプライン処理の初段にとりかかってから、最後に処理される発音チャンネルが当該パイプライン処理の最終段を終了するまでの時間に対応している。例えば、１発音チャンネルに対する処理を開始してから終了するまでの時間はサンプリング周期の「１／６４」よりも長くなる。
【００１８】
また、マスク信号Ｓb, Ｓcの位相はマスク信号Ｓaよりも少しづつ後れている。これは、上記パイプライン処理における時間後れに対応させるためである。同図(c)にあっては、３２チャンネルが有効であるから、同図(b)と同様に、マスク信号Ｓa〜Ｓcのデューティ比は「３２／６４」よりも若干大きな値になっている。
【００１９】
２３２はＤＳＰクロック制御部であり、ＣＰＵ１０からＤＳＰ制御データを受信すると、このデータに基づいて上記マスク信号Ｓdを出力する。ここで、ＤＳＰ制御データとは、マイクロプログラムに許容されるステップ数（最大１０２４）を示す「０」〜「１０２４」の数値データである。図４(d)〜(f)においては、ＤＳＰ制御データが「１０２４」、「７６８」および「５１２」である場合におけるマスク信号Ｓdの波形図を示す。同図(d)は、全発音ステップ（１０２４）が有効であるから、マスク信号Ｓdは常時“１”になっている。同図(e)、(f)におけるマスク信号Ｓdのデューティ比は、ＤＳＰ２０５におけるパイプライン処理のために、各々「７６８／１０２４」および「５１２／１０２４」よりも若干大きな値になっている。この値は、マイクロプログラムの最初に処理されるステップが該パイプライン処理の初段にとりかかってから、最後に処理されるステップが該パイプライン処理の最終段を終了するまでの時間に対応する。
【００２０】
図３に戻り、音量制御回路２０３の内部には各発音チャンネルにおける現在の音量レベルを記憶するＥＧメモリ２０３ａが設けられており、ここには、マスクされていないクロック信号φが供給される。これは、ＣＰＵ１０が必要に応じて（発音チャンネルの解放等のため）ＥＧメモリ２０３ａを適宜参照するから、ＣＰＵ１０によって常時読出し可能な状態にしたものである。また、ミキサ２１０にもマスクされていないクロック信号φが供給される。これは、ミキサ２１０が発音チャンネルやマイクロプログラムのステップとは異なる時分割動作を行っているため、チャンネル制御データやＤＳＰ制御データに基づいて単純に動作を停止させることができないためである。
【００２１】
1．2．実施形態の動作
1．2．1．ノートオンイベント処理
次に、本実施形態の動作を説明する。まず、電子楽器の電源を投入すると、電子楽器の動作モードがプレイモードになる。ここで、ユーザが演奏操作子１５の鍵を押下した場合、あるいはＭＩＤＩインターフェース２０を介してノートオン信号が供給された場合は、ノートオンイベントが発生し、ＣＰＵ１０において図７に示すプログラムが実行される。
【００２２】
図において処理がステップＳＰ３２に進むと、新たに生じたノートオンイベントのパートナンバ、ノートナンバおよびベロシティが各々変数ＰＴ、ＮＮおよびＶＥＬに代入される。次に、処理がステップＳＰ３４に進むと、変数ＣＨＭに応じたチャンネル数の中で、当該ノートオンイベントに対する発音チャンネルが割り当てられる。割り当てられたチャンネル番号は変数ＡＳに代入される。
【００２３】
ここで、変数ＣＨＭは、許容される発音チャンネル数を示す変数であり、デフォルト状態では、電子楽器の最大発音チャンネル数ＣＨＭmax（６４）に初期設定されている。すなわち、ステップＳＰ３４においては、現在発音中のチャンネルが許容発音チャンネル数ＣＨＭよりも少ない場合には、新たなノートオンイベントに対して新たなチャンネルが割り当てられる。一方、発音中のチャンネル数が許容発音チャンネル数ＣＨＭに等しい場合は、上述したＥＧメモリ２０３ａの参照により各発音チャンネルの音量レベルを取得して、そのうち最も音量レベルの低いチャンネルを検出して解放し、その解放されたチャンネルに新たなノートオンイベントが割り当てられることになる。
【００２４】
次に、処理がステップＳＰ３６に進むと、制御レジスタ＆制御回路２０１内のチャンネル番号ＡＳの音源レジスタ（図示せず）に、パートナンバＰＴ、ノートナンバＮＮ、ベロシティＶＥＬに応じた発音パラメータが設定される。次に、処理がステップＳＰ３８に進むと、該チャンネル番号ＡＳの音源レジスタについて、発音開始が指示される。これにより、以後、音源回路２００においては、当該発音チャンネルについて、読出回路２０２、ＤＣＦ２０６および音量制御回路２０３によって楽音波形が合成される。合成された楽音波形には、必要に応じてＤＳＰ２０５においてエフェクト処理が施され、サウンドシステム１８を介して発音される。
【００２５】
1．2．2．省電力設定画面の表示
プレイモードにおいてユーザが所定の操作を行うと、表示部１４に図５に示す省電力設定画面が表示される。図において３１はＣＰＵ設定部であり、ＣＰＵ１０の動作クロックとして「SLOW」，「MIDEUM」または「FAST」の三候補を表示する。また、３２は許容発音チャンネル数設定部であり、許容発音数として「３２」，「４８」，「６４」の三候補を表示する。３３は許容ステップ数設定部であり、ＤＳＰ２０５のマイクロプログラムの許容ステップ数として「５１２」，「７６８」，「１０２４」の三候補を表示する。
【００２６】
(1)許容発音チャンネル数入力イベント処理
ここで、ユーザはパネルスイッチ１３を操作することにより、各設定部における任意の候補を選択することができる。ここで、許容発音チャンネル数設定部３２において許容発音チャンネル数が変更された場合の処理を図６(a)を参照し説明する。
【００２７】
図において処理がステップＳＰ２に進むと、入力された許容発音チャンネル数が変数ＣＨＭに代入される。次に、処理がステップＳＰ４に進むと、この許容発音チャンネル数ＣＨＭは、チャンネル制御データと比較して減少したか否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ８に進み、許容発音チャンネル数ＣＨＭが新たなチャンネル制御データとして音源レジスタに設定される。これにより、発音チャンネルクロック制御部２３１にあっては、この新たなチャンネル制御データに基づいてマスク信号Ｓa〜Ｓcのオン／オフタイミングを設定することになる。
【００２８】
一方、ステップＳＰ４において「ＹＥＳ」と判定されると、処理はステップＳＰ６に進み、減少する部分の発音チャンネルが全て消音するまで処理が待機する。例えば、チャンネル制御データが「６４」であって、許容発音チャンネル数ＣＨＭが「４８」に変更された場合を例として説明する。チャンネル制御データは「６４」であるから、第４９〜第６４発音チャンネルがその時点で発音中である可能性がある。
【００２９】
ここで、直ちにチャンネル制御データを「４８」に設定すると、第４９〜第６４発音チャンネルに対してクロック信号φがマスクされるから、その発音チャンネルの音量が直ちに「０」になり、ショックノイズが発生する。そこで、ステップＳＰ６においては、かかる不具合を防止するため、オフにするチャンネルのうち発音中の可能性のあるチャンネル（４９〜６４）の音量レベルを監視し、その全てが所定値（「０」と看做し得る程度の低いレベル）以下になるまで処理を待機させるのである。しかる後に処理はステップＳＰ８に進むから、ショックノイズを発生させることなくチャンネル制御データを減少させることができる。
【００３０】
(2)許容ステップ数入力イベント処理
また、ユーザが許容ステップ数を変更した場合の処理を図６(b)を参照し説明する。図において処理がステップＳＰ１０に進むと、入力された許容ステップ数が変数ＳＴＭに代入される。次に、処理がステップＳＰ１２に進むと、「許容ステップ数ＳＴＭがＤＳＰ制御データと比較して減少し、かつ、一部のエフェクト処理が実行不可能になった」か否かが判定される。ここで「ＮＯ」と判定されると、処理はステップＳＰ２０に進み、この許容ステップ数ＳＴＭが新たなＤＳＰ制御データとして制御レジスタ＆制御回路２０１内の音源レジスタに設定される。これにより、以後、マスク信号Ｓdのオン／オフタイミングは、この新たなＤＳＰ制御データに基づいて設定されることになる。
【００３１】
一方、ステップＳＰ１２において「ＹＥＳ」と判定されると、処理はステップＳＰ１４に進む。ここでは、実行不能にするエフェクト名とともに、許容ステップ数の減少を強行するか否かの問合わせが表示部１４に表示される。例えば、ＤＳＰ制御データが「１０２４」であって、リバーブとして「HALL1」（ステップ数３５０）、コーラスとして「CHORUS1」（ステップ数３５０）、バリエーションとして「ROTARY SPEAKER」（ステップ数３００）が、同順序でマイクロプログラムのプログラムメモリの０番地〜１０００番地に格納されていたとする。
【００３２】
ここで、新たに設定された許容ステップ数ＳＴＭが「７６８」であったとすると、上記エフェクトのうちバリエーション「ROTARY SPEAKER」を実行することは不可能になる。そこで、この場合には、「ステップ数が足りません。バリエーションROTARY SPEAKERを削除しますか？」とのメッセージが表示部１４に表示され、ユーザによる指示が入力されるまで処理が待機する。そして、ユーザの指示が入力されると、処理はステップＳＰ１６に進む。ここでは、ユーザの指示はエフェクトの削除を強行するものであるか否かが判定される。ここで、「ＮＯ」と判定されると、許容ステップ数ＳＴＭはＤＳＰ制御データとして反映されることなく、本ルーチンの処理が終了する。
【００３３】
一方、ステップＳＰ１６において「ＹＥＳ」と判定されると、処理はステップＳＰ１８に進み、実行不能になるエフェクト（ROTARY SPEAKER）の出力がダンプされ（徐々に「０」にまで落とされる）、当該マイクロプログラムがＤＳＰ２０５のプログラムメモリから削除される。しかる後に処理は上記ステップＳＰ２０に進み、この許容ステップ数ＳＴＭが新たなＤＳＰ制御データとして音源レジスタに設定される。
【００３４】
1．2．3．エフェクト選択画面の表示
(1)メニュー表示更新
プレイモードにおいてユーザが所定の操作を行うと、エフェクトを指定／変更するためのエフェクト選択メニュー表示更新ルーチン（図８(a)）が呼び出される。図において処理がステップＳＰ４２に進むと、現在のＤＳＰ制御データにおける設定ステップ数と、実際にマイクロプログラムにおいて使用されているステップ数とが検出される。次に、処理がステップＳＰ４４に進むと、両者が減算され、ＤＳＰ制御データの設定ステップ数における空きステップ数が検出される。
【００３５】
次に、処理がステップ４６に進むと、空きステップ数と各エフェクトの選択状態に応じて、各エフェクトのメニュー（変更可能なエフェクトの候補）が決定され、その結果が表示部１４にリスト表示される。この表示内容の一例を図９(a)に示す。同図においてはリバーブとして「HALL2」、コーラスとして「CHORUS3」、バリエーションとして「GATE REVERB」が選択されている（反転表示されている）。そして、その他の選択されていない各エフェクトも表示されている。これは、現在選択されている何れかのエフェクトに代えて、同一ブロックの他のエフェクトを選択可能であることを示す。すなわち、これは、選択状態を変更したとしても、マイクロプログラムの合計ステップ数はＤＳＰ制御データを超えないことを意味する。
【００３６】
(2)エフェクト選択イベント処理
エフェクト選択画面（図９(a)）が表示された際に、ユーザがエフェクトの選択操作を行うと、それに応じた選択切換処理が実行される。その一例として、リバーブの変更が指示された場合の処理を図８(b)を参照し説明する。図において処理がステップＳＰ５２に進むと、新たに選択されたリバーブの番号が変数REVNに格納される。次に、処理がステップＳＰ５４に進むと、ＤＳＰ２０５のリバーブブロックがミュートされる。
【００３７】
次に、処理がステップＳＰ５６に進むと、ＤＳＰ２０５のマイクロプログラムメモリに、該リバーブ番号REVNに応じたマイクロプログラムがロードされる。次に、処理がステップＳＰ５８に進むと、ＤＳＰ２０５のリバーブブロックのミュートが解除される。次に、処理がステップＳＰ６０に進むと、エフェクト選択メニュー表示更新ルーチン（図８(a)）が再び呼び出され、リバーブを変更したエフェクト選択画面が表示部１４に表示される。以上、リバーブエフェクトが変更された場合の処理を説明したが、コーラスエフェクト、バリエーションエフェクトの場合にも、同様の処理が行われ、表示部１４の表示内容が更新される。また、何れのブロックにおいても、「NO EFFECT」が選択された場合、ステップＳＰ５６においては、当該ブロックのエフェクトのマイクロプログラムが解放される。具体的には、当該部分がＮＯＰ（ノーオペレーション）命令で埋められる。
【００３８】
このように、ユーザは、ＤＳＰ制御データの許容する範囲内において、自在に各ブロックのエフェクトを選択／解放することが可能である。ところで、図９(a)のエフェクト選択画面は、ＤＳＰ制御データが「１０２４」（最大ステップ数）であることを想定している。ここで、ＤＳＰ制御データがより少ない数、例えば「５１２」であった場合のエフェクト選択画面を同図(b)に示す。この図においては、既にリバーブ「HALL2」およびバリエーション「ECHO」が選択されている。そして、エフェクト選択画面中、リバーブブロックおよびバリエーションブロックにおいては、これらに代えて選択可能な（合計ステップ数が「５１２」を超えない）エフェクトがリストアップされている。但し、その種類は図９(a)の場合と比較して少なくなっている。これは、比較的ステップ数の少ないエフェクトしかロードできないためである。
【００３９】
また、コーラスブロックについては、「NO EFFECT」のみが表示されている。これは、既にリバーブおよびバリエーションエフェクトが設定されているため、何れのコーラスエフェクトも追加できる余地が無いことを示す。但し、仮にリバーブまたはバリエーションの何れかを「NO EFFECT」に設定すると、当該マイクロプログラムが解放されるから、その後の空きステップ数にロード可能なコーラスエフェクトがエフェクト選択画面に表示されることになる。
【００４０】
2．第２実施形態
次に、本発明の第２実施形態について説明する。第２実施形態のハードウエアおよびソフトウエア構成は大略第１実施形態と同様であるため、以下相違点のみを説明する。
【００４１】
2．1．実施形態のハードウエア構成
本実施形態における音源回路２００のクロック信号系統を図１０を参照し説明する。
図において２３５は発音チャンネルクロック制御部であり、第１実施形態の発音チャンネルクロック制御部２３１に代えて設けられている。発音チャンネルクロック制御部２３５においては、チャンネル制御データは６４ビットのデータである。
【００４２】
ここで各ビットは「０」〜「６４」の発音チャンネル番号に対応し、ビット値の“１”は発音可、“０”は発音不可を示す。従って、そのビットパターンによって、マスク信号Ｓa〜Ｓcが“１”になるクロック信号φの供給期間は、１サンプリング周期内で飛び飛びの範囲になり得る。また、２１５は自己節電型ＤＳＰであり、第１実施形態のＤＳＰ２０５に代えて設けられている。自己節電型ＤＳＰ２１５には、クロック信号φがマスクされることなく、そのまま供給される。
【００４３】
自己節電型ＤＳＰ２１５の構成を図１１を参照し説明する。図において５２はカウンタであり、１サンプリング周期毎にリセットされつつ、クロック信号φをカウントする。このカウント結果は、マイクロプログラムメモリ５４に対して読出しアドレスとして供給される。５６は命令解釈部であり、マイクロプログラムメモリ５４から読み出された命令コードを解釈し、演算部６２に対して各種の演算を実行させる。本実施形態においては、命令コードセットの中に「クロック・オン」および「クロック・オフ」という特殊な命令が設けられている。
【００４４】
命令解釈部５６は、クロック・オン命令を検出するとＲＳフリップフロップ５８をセットし、クロック・オフ命令を検出するとＲＳフリップフロップ５８をリセットする。６０はＡＮＤゲートであり、ＲＳフリップフロップ５８の出力信号Ｑとクロック信号φとのＡＮＤ演算結果を、演算部６２にクロック信号として供給する。従って、命令解釈部５６において一旦クロック・オフ命令が検出されると、次にクロック・オン命令が検出されるまで演算部６２にクロック信号が供給されないから、演算部６２の動作は停止し、その期間の消費電力が削減される。
【００４５】
2．2．実施形態の動作
2．2．1．ノートオンイベント処理
本実施形態においては、ノートオンイベントが発生すると、図７のルーチンに代えて図１２(a)のルーチンが実行される。図において処理がステップＳＰ７２に進むと、新たに生じたノートオンイベントのパートナンバ、ノートナンバおよびベロシティが各々変数ＰＴ、ＮＮおよびＶＥＬに代入される。次に、処理がステップＳＰ７４に進むと、全６４チャンネルの中の何れかが該ノートオンイベントに対して割り当てられる。
【００４６】
ここで、割当の規則について説明しておく。まず、全６４チャンネルが全て発音中である場合（所定値以上の音量レベルを有する場合）は、その中で最も音量レベルの低い発音チャンネルが解放され、その解放された発音チャンネルに該ノートオンイベントが割り当てられる。一方、レベルが該所定値未満である発音チャンネルが複数存在する場合は、その中でチャンネル番号が最も小さい発音チャンネルが割り当てられる。先に述べたように、読出回路２０２、ＤＣＦ２０６、音量制御回路２０３がパイプライン処理を行うため、１発音チャンネルに対する処理を開始してから終了するまでの時間はサンプリング周期の「１／６４」よりも長くなる。そこで、なるべくチャンネル番号が小さい発音チャンネルを割り当てることによって各発音チャンネルの処理を時間軸上で重複させ、マスク信号Ｓa〜Ｓcのデューティ比を下げようとしたものである。
【００４７】
次に、処理がステップＳＰ７６に進むと、第１実施形態と同様に、制御レジスタ＆制御回路２０１内のチャンネル番号ＡＳの音源レジスタ（図示せず）に、パートナンバＰＴ、ノートナンバＮＮ、ベロシティＶＥＬに応じた発音パラメータが設定される。その際、チャンネル制御データの第ＡＳビットが“１”に設定される。次に、処理がステップＳＰ７８に進むと、該チャンネル番号ＡＳの音源レジスタについて、発音開始が指示される。これにより、以後、音源回路２００においては、当該発音チャンネルについて楽音波形が合成される。合成された楽音波形は、必要に応じてエフェクト処理が施され、サウンドシステム１８を介して発音される。
【００４８】
2．2．2．タイマ割込み処理
本実施形態においては、ＣＰＵ１０に対して所定時間（例えば１秒）毎にタイマ割込みが発生し、その際に図１２(c)のタイマ割込み処理ルーチンが実行される。図において処理がステップＳＰ９５に進むと、ＥＧメモリ２０３ａの内容がサーチされ、音量レベルが所定値未満の発音チャンネルについて、チャンネル制御データの対応するビットが“０”に設定される。
【００４９】
2．2．3．省電力設定画面の表示
プレイモードにおいてユーザが所定の操作を行うと、本実施形態においても省電力設定画面が表示される。但し、本実施形態においては、ＣＰＵ設定部３１しか表示部１４に表示されない。このため、第１実施形態における図６(a)，(b)に対応する処理は存在しない。
【００５０】
2．2．4．エフェクト選択画面の表示
(1)メニュー表示更新
本実施形態においても、プレイモードにおいてユーザが所定の操作を行うと、エフェクトを指定／変更するためのエフェクト選択メニュー表示更新ルーチン（図８(a)）が呼び出される。但し、本実施形態においては、第１実施形態における「現在のＤＳＰ制御データにおける設定ステップ数」に代えて、「最大ステップ数（１０２４）」が用いられる。従って、表示部１４に表示される各エフェクトのメニューは常に図９(a)のようになり、同図(b)のように限定されたメニューが表示されることは無い。
【００５１】
(2)エフェクト選択イベント処理
本実施形態においても、エフェクト選択画面（図９(a)）が表示された際に、ユーザがエフェクトの選択操作を行うと、それに応じた選択切換処理が実行される。その一例として、リバーブの変更が指示された場合の処理を図１２(b)を参照し説明する。同図(b)においてステップＳＰ８２〜ＳＰ８６，ＳＰ８８，ＳＰ９０の処理は、図８(b)におけるステップＳＰ５２〜ＳＰ５６，ＳＰ５８，ＳＰ６０の処理と同様である。但し、本実施形態においては、ステップＳＰ８７の処理が設けられている点で第１実施形態と異なる。
【００５２】
ステップＳＰ８７においては、先のステップＳＰ８６においてロードまたは解放されたマイクロプログラムについて、所定ステップ数以上の非動作範囲（例えばＮＯＰ命令が連続している範囲）が検索される。そして、かかる非動作範囲が存在すると、その先頭のＮＯＰ命令から数ステップ後にクロック・オフ命令が追加される。「数ステップ後」とした理由は、先頭のＮＯＰ命令の直前の命令に対するパイプライン処理が完全に終了するまで待機する必要があるためである。さらに、同様の理由により、ステップＳＰ８７においては、非動作範囲の終端よりも数ステップ前にクロック・オン命令が追加される。従って、そのマイクロプログラムが実行されると、クロック・オフ命令〜クロック・オン命令間は演算部６２の動作は停止し、その期間の消費電力が低減される。コーラスエフェクト、バリエーションエフェクトが変更／解放された場合も同様である。
【００５３】
以上のように、本実施形態においては、ユーザに対して発音チャンネル数や選択可能なエフェクトに対して全く制限を課すことが無く、その時々の発音チャンネルやエフェクトの状態に応じて自動的にクロック信号φの供給を停止し、消費電力を低減することができる。従って、ユーザは、本来必要な音作りの作業に集中することができる。
【００５４】
3．変形例
本発明は上述した実施形態に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)第１実施形態のエフェクト選択画面においては、図９(a)，(b)に示すように、その時々の状況に応じて、選択可能なエフェクトのみがリストアップされた。しかし、全てのエフェクトをリストアップし、選択不可能なエフェクトについては表示態様を変更し（例えばぼかし表示にし）、選択できないようにしてもよい。
【００５５】
(2)第１実施形態のエフェクト選択画面においては、許容ステップ数に応じて、表示するエフェクトブロックの数を変更するようにしてもよい。例えば、許容ステップ数が「１０２４」である時は全ブロックを表示し、「７６８」の時は２ブロック、「５１２」の時は１ブロックのみを表示するとよい。許容ステップ数が「１０２４」未満である時に表示されるブロックは、システムの既定のブロックであってもよく、ユーザが選択した１または２ブロックであってもよい。
【００５６】
(3)第２実施形態においては、ＣＰＵ１０によってチャンネル制御データの各ビットの値が切り換えられた。しかし、かかる処理は、音源回路２００内にチャンネル監視回路を設けることにより、音源回路２００内で実行してもよい。具体的には、チャンネル監視回路は、ＥＧメモリ２０３ａから各発音チャンネルの音量レベルを逐次読み出し、各音量レベルが所定値（「０」と看做し得る程度の低い値）以上であるか否かを判定する。そして、音量レベルが該所定値以上である発音チャンネルについては、チャンネル制御データの対応するビットを“１”に設定し、それ以外の発音チャンネルについては対応するビットを“０”に設定するとよい。
【００５７】
但し、ボリュームペダルのような音量制御操作子等によって一時的に音量レベルが低下している発音チャンネルについては、判定対象から除外することが望ましい。そこで、各チャンネル毎に、判定を除外するか否かを示す６４ワードの除外データをチャンネル監視回路に記憶させると好適である。すなわち、除外データが「１」である発音チャンネルは音量レベルの判定から除外され、チャンネル制御データの対応ビットが“０”になることは無い。一方、除外データが「０」である発音チャンネルは、音量レベルに応じて対応ビットの値が設定されることになる。
【００５８】
更に、「波形メモリから読み出されるアタック部＆ループ部の波形データを読み出す場合に、アタック部の読み出しが終わるまで除外する」（例えば、除外データ＝２のとき）、あるいは、「発音ｃｈがノートオンされた後、ノートオフされるまでの期間は除外する」（例えば、除外データ＝３のとき）等の制御を行なっても良い。
【００５９】
(4)第２実施形態においては、マイクロプログラム中、ＮＯＰ命令が連続している範囲（すなわちエフェクト処理のために有効に使用されていない範囲）をＣＰＵ１０が検出し、その結果に応じてクロック・オン／クロック・オフ命令をマイクロプログラムに追加した。しかし、クロックのオン／オフは音源回路２００内で自動的に実行するようにしてもよい。例えば、図１１において、命令解釈部５６はＮＯＰ命令が所定数連続していることを検出すると直ちにＲＳフリップフロップ５８をリセットし、その後は命令の先読みを行って所定ステップ後にＮＯＰ命令以外の命令が存在することを検出するとＲＳフリップフロップ５８をセットするように、命令解釈部５６を構成するとよい。
【００６０】
(5)近年の電子楽器用のＤＳＰは、複数のエフェクト処理を並行して実行するマルチＤＳＰとして構成されている場合が多い（例えば、特開平１０−１９８５６０号公報）。この場合、並行して実行される複数のマイクロプログラムについて、各マイクロプログラム毎に動作クロックを供給するか否かを制御する制御データを設定すると好適である。すなわち、ＤＳＰのサンプリング毎の動作において、制御データが「供給する」となっているマイクロプログラムの実行されている期間は動作クロックを供給し、「供給しない」となっているマイクロプログラムの実行期間は動作クロックを供給しないようにするとよい。
【００６１】
(6)上記各実施形態においては、何れかのブロックにおいて「NO EFFECT」が選択された場合、ステップＳＰ５６においては当該ブロックのエフェクトのマイクロプログラムがＮＯＰ命令で埋められた。しかし、ＮＯＰ命令で埋める以外にも、様々な方法が適用できる。例えば、当該部分のマイクロコードを、実行されている他のマイクロコードに対して影響を与えないように構成するとよい。また、当該部分のマイクロコードによるデータが、最終的に楽音信号として出力されないようにしてもよい。以上の２つの方法は、マイクロコードの当該部分について、ＤＳＰ２０５の内部レジスタや遅延メモリ２７０への書込み動作を行わないように書込み禁止設定することで容易に実現できる。
【００６２】
4．実施態様
本発明には、以下のような実施態様がある。
(１)動作クロックに基づいて動作する楽音発生装置において、
複数発音チャンネルの楽音信号を時分割で発生する楽音生成部と、
前記発音チャンネルの数を制御する制御データを入力する制御データ入力部と、
該制御データに基づいて、前記楽音生成部に供給される動作クロックの一部を阻止するクロック制御部と、
発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記発音チャンネルのうち前記制御データに応じて決定される全部ないし一部の発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部と
を有することを特徴とする楽音発生装置。
（本構成によれば、時分割で複数の発音チャンネルの楽音信号を生成する楽音発生装置の省電力化を、従来の楽音発生装置に対して簡単な構成を追加するだけで実現できる。）
【００６３】
(２)動作クロックに基づいてサンプリング周期毎に複数ステップの動作を行う信号処理装置において、
信号処理を行なう信号処理部と、
前記信号処理部で実行する処理のステップ数を入力する制御データ入力部と、
該制御データに基づいて、信号処理部に供給される動作クロックの一部を阻止するクロック制御部と、
制御データに応じて決定されるステップ数の範囲の中で、前記信号処理部が実行するプログラムを選択し、前記信号処理部に設定する処理プログラム選択部と
を有することを特徴とする信号処理装置。
（本構成によれば、サンプリング周期毎に複数ステップの動作を行う信号処理装置の省電力化を、従来の信号処理装置に対して簡単な構成を追加するだけで実現できる。）
【００６４】
(３)動作クロックに基づいて動作する楽音発生装置において、
複数発音チャンネルの楽音信号を時分割で発生する楽音生成部と、
発音開始指示に応じて、該発音開始指示に対応する楽音信号の発音を、前記複数発音チャンネルの何れかに割り当て、該割り当てた発音チャンネルにて該楽音信号の発生を開始させる発音制御部と
前記複数発音チャンネルの各々の音量レベルを検出する音量検出部と、
検出された前記各発音チャンネルの音量レベルに基づいて、前記各発音チャンネル毎の動作クロックの供給を制御する制御データを発生する制御データ発生部と、
該制御データに基づいて、動作クロックの前記楽音生成部への供給を制御するクロック制御部と
を有することを特徴とする楽音発生装置。
（本構成によれば、各発音チャンネルの音量レベルに基づいて、楽音発生部への動作クロックの供給を制御しているため、楽音発生装置の省電力化を最大限に行うことができる。）
【００６５】
(４)動作クロックに基づいてサンプリング周期毎に複数ステップの動作を行う信号処理装置において、
信号処理を行う信号処理部と、
前記信号処理部が実行するプログラムを選択し、前記信号処理部に設定する処理プログラム選択部と、
該設定されたプログラムに基づいて、該プログラム中の有効でないプログラムの範囲を示す制御データを発生する制御データ発生部と、
該制御データに基づいて、信号処理部に供給される動作クロックの一部を阻止するクロック制御部と
を有することを特徴とする信号処理装置。
（本構成によれば、有効なプログラムの実行されている期間に対してのみ動作クロックを供給するようにしているため、信号処理装置の省電力化を最大限に行うことができる。ここで、「有効なプログラム」とは、そのプログラムに基づいて実行された信号処理（例えばエフェクト処理）の結果が、感知可能な音に変換されているようなプログラムである）
【図面の簡単な説明】
【００６６】
【図１】本発明の第１実施形態の電子楽器のブロック図である。
【図２】第１実施形態の音源回路２００の楽音信号系統のブロック図である。
【図３】第１実施形態の音源回路２００のクロック信号系統のブロック図である。
【図４】第１実施形態の発音チャンネルクロック制御部２３１およびＤＳＰクロック制御部２３２のタイミングチャートである。
【図５】第１実施形態の省電力設定画面の表示例を示す図である。
【図６】第１実施形態の省電力設定画面におけるイベント処理のフローチャートである。
【図７】第１実施形態のノートオンイベント処理のフローチャートである。
【図８】第１実施形態のエフェクト選択画面におけるイベント処理のフローチャートである。
【図９】第１実施形態のエフェクト選択画面の表示例を示す図である。
【図１０】第２実施形態の音源回路２００のクロック信号系統のブロック図である。
【図１１】第２実施形態の自己節電型ＤＳＰ２１５のブロック図である。
【図１２】第２実施形態の処理プログラムのフローチャートである。
【符号の説明】
【００６７】
１０……ＣＰＵ、１１……ＲＯＭ、１２……ＲＡＭ、１３……パネルスイッチ、１４……表示部、１５……演奏操作子、１６……記憶媒体、１７……ＤＡ変換器、１８……サウンドシステム、１９……クロック回路、２０……ＭＩＤＩインターフェース、２２……電源部、３１……ＣＰＵ設定部、３２……許容発音チャンネル数設定部、３３……許容ステップ数設定部、５２……カウンタ、５４……マイクロプログラムメモリ、５６……命令解釈部、５８……ＲＳフリップフロップ、６０……ＡＮＤゲート、６２……演算部、２００……音源回路、２０１……制御レジスタ＆制御回路、２０２……読出回路、２０３……音量制御回路、２０３ａ……ＥＧメモリ、２０５……ＤＳＰ、２０６……ＤＣＦ、２１０……ミキサ、２１５……自己節電型ＤＳＰ、２２１〜２２４……ＡＮＤゲート、２３１……発音チャンネルクロック制御部、２３２……ＤＳＰクロック制御部、２３５……発音チャンネルクロック制御部、２５０……波形メモリ、２６０……外部回路、２７０……遅延メモリ。
【図１】
2005165355.tif 000003
【図２】
2005165355.tif 000004
【図３】
2005165355.tif 000005
【図４】
2005165355.tif 000006
【図５】
2005165355.tif 000007
【図６】
2005165355.tif 000008
【図７】
2005165355.tif 000009
【図８】
2005165355.tif 000010
【図９】
2005165355.tif 000011
【図１０】
2005165355.tif 000012
【図１１】
2005165355.tif 000013
【図１２】
2005165355.tif 000014