(57)【特許請求の範囲】
【請求項１】
プロセッサによる複数の処理過程を含んでなる所定の楽音生成ソフトウェアの実行に伴い生成される楽音波形に基づいて楽音を発生する電子音楽装置であって、
画面上の複数位置へのタッチ操作を同時に検出することが可能な表示装置の前記画面上に１乃至複数の仮想演奏操作子を描画する描画手段と、
前記画面上に描画された仮想演奏操作子への１乃至複数のタッチ操作の検出に応じて該操作された仮想演奏操作子を特定し、前記特定された仮想演奏操作子に対応付けられた所定の楽音波形を生成するとともに、前記描画手段に対して前記特定された仮想演奏操作子の表示態様を変化させるよう描画制御を指示する楽音生成手段と、
前記タッチ操作の検出時に前記楽音生成手段における楽音波形生成に係る処理負荷を計測する負荷計測手段と、
前記計測した処理負荷に応じて有効とする同時タッチ数の制限値の増減を行い、前記検出される１乃至複数のタッチ操作のうち前記増減された同時タッチ数の制限値までは前記楽音波形の生成及び前記描画制御の指示を行い、また、前記制限値を超えるタッチ操作に対しては前記描画制御の指示を行わないよう前記楽音生成手段に対して指示する負荷制御手段と
を備える電子音楽装置。
【請求項２】
前記負荷制御手段は、前記計測される処理負荷に応じて予め決められているタッチ操作の制限に従って前記検出される１乃至複数のタッチ操作のうち一部を無効化し、該無効化された一部を除く有効なタッチ操作のみに応じて楽音波形を生成するよう前記楽音生成手段に対して指示することを特徴とする請求項１に記載の電子音楽装置。
【請求項３】
コンピュータに、
画面上の複数位置へのタッチ操作を同時に検出することが可能な表示装置の前記画面上に１乃至複数の仮想演奏操作子を描画する手順と、
前記画面上に描画された仮想演奏操作子への１乃至複数のタッチ操作の検出に応じて該操作された仮想演奏操作子を特定し、前記特定された仮想演奏操作子に対応付けられた所定の楽音波形を生成するとともに、前記特定された仮想演奏操作子の表示態様を変化させるように描画制御を指示する手順と、
前記タッチ操作の検出時に前記楽音波形生成に係る処理負荷を計測する手順と、
前記計測した処理負荷に応じて有効とする同時タッチ数の制限値の増減を行い、前記検出される１乃至複数のタッチ操作のうち前記増減された同時タッチ数の制限値までは前記楽音波形の生成及び前記表示態様を変化させる描画制御を行い、また、前記制限値を超えるタッチ操作に対しては前記表示態様を変化させる描画制御を行わないように制御する手順と
実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、多点タッチ検出可能な表示器の画面上に描画された仮想の演奏操作子へのタッチ操作に応じて楽音を発音する電子音楽装置及びプログラムに関する。特に、画面上に描画された複数の仮想演奏操作子が同時にタッチ操作された場合の同時発音数が増えることに伴う音切れや描画遅れの発生を防止する技術に関する。
【背景技術】
【０００２】
最近では、例えばスマートフォンやタブレット型コンピュータなどの小型・軽量な携帯端末機器上においても、ユーザにより選択された任意のアプリケーションソフトウェアをＣＰＵ（Central Processing Unit）などによって適宜に動作させることができるようになっている。こうしたアプリケーションソフトウェアの１つとして、タッチ検出可能な表示器の画面上に例えばピアノの鍵盤やギターの弦及びフレームなどといった自然楽器の演奏操作子を模した画像（以下、これを仮想演奏操作子と呼ぶ）を描画する処理を行うと共に、前記描画された仮想演奏操作子がユーザによって指やタッチペンなどでタッチ操作されたことを検知して、該タッチ操作された仮想演奏操作子に予め対応付けられた所定の楽音波形を生成し楽音を発音させる処理を行う音楽ソフトウェアプログラムなどがある。これを動作させることによって、ユーザは前記携帯端末機器を電子音楽装置として楽しむことができる。こうした装置に関連するものとしては、例えば下記に示す特許文献１に記載されている技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００７−５２７０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、仮想演奏操作子の描画や楽音波形の生成などをソフトウェア処理により実現する電子音楽装置では、同時に描画する仮想演奏操作子の数や生成する楽音波形の数が増せば増すだけソフトウェア処理を実行するＣＰＵの処理負荷は当然に高まる。特に、多点タッチ検出可能なディスプレイを有する電子音楽装置においては、描画された多数の仮想演奏操作子が同時にタッチ操作されて同時発音数が多くなるつまりは並列して発音処理（楽音波形生成処理）を行わなければならない楽音数が増えてしまうと、ＣＰＵの処理能力を超え該当の処理を行うまでに待ち時間が生じてしまい、そのために楽音が途切れること（音切れ）やタッチ操作に応じた前記仮想演奏操作子の更新が追いつかなくなること（描画遅れ）などの不都合がどうしても生じ得る、という問題点があった。
【０００５】
本発明は上述の点に鑑みてなされたもので、同時に複数の仮想演奏操作子がタッチ操作されて同時発音数が増えることに伴う音切れや描画遅れの発生を防止することのできるようにした電子音楽装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る電子音楽装置は、プロセッサによる複数の処理過程を含んでなる所定の楽音生成ソフトウェアの実行に伴い生成される楽音波形に基づいて楽音を発生する電子音楽装置であって、画面上の複数位置へのタッチ操作を同時に検出することが可能な表示装置の前記画面上に１乃至複数の仮想演奏操作子を描画する描画手段と、前記画面上に描画された仮想演奏操作子への１乃至複数のタッチ操作の検出に応じて該操作された仮想演奏操作子を特定し、前記特定された仮想演奏操作子に対応付けられた所定の楽音波形を生成するとともに、前記描画手段に対して前記特定された仮想演奏操作子の表示態様を変化させるよう描画制御を指示する楽音生成手段と、前記タッチ操作の検出時に前記楽音生成手段における楽音波形生成に係る処理負荷を計測する負荷計測手段と、前記計測した処理負荷に応じて有効とする同時タッチ数の制限値の増減を行い、前記検出される１乃至複数のタッチ操作のうち前記増減された同時タッチ数の制限値までは前記楽音波形の生成及び前記描画制御の指示を行い、また、前記制限値を超えるタッチ操作に対しては前記描画制御の指示を行わないよう前記楽音生成手段に対して指示する負荷制御手段とを備える。
【０００７】
この発明によると、画面上に描画された仮想演奏操作子への１乃至複数のタッチ操作の検出時に、該操作された仮想演奏操作子を特定し、前記特定された仮想演奏操作子に対応付けられた所定の楽音波形を生成するとともに、描画手段に対して前記特定された仮想演奏操作子の表示態様を変化させるよう描画制御を指示する楽音生成手段の楽音波形生成に係る処理負荷を計測する。そして、前記計測した処理負荷に応じて有効とする同時タッチ数の制限値の増減を行い、前記検出される１乃至複数のタッチ操作のうち前記増減された同時タッチ数の制限値までの楽音波形を生成及び描画を制御するよう楽音生成手段に対して指示する。このように、多数の仮想演奏操作子へのタッチ操作が同時に行われた場合にそのときの楽音波形生成に係る処理負荷を計測し、該計測した処理負荷に応じて有効とする同時タッチ数の制限値の増減を行い、前記検出される１乃至複数のタッチ操作のうち前記増減された同時タッチ数の制限値までは前記楽音波形の生成及び前記描画制御の指示を行い、また、前記制限値を超えるタッチ操作に対しては前記描画制御の指示を行わないようにしたことにより、楽音生成手段に過度な処理負荷をかけることなく楽音波形生成や描画制御を行うことができる。そのため、多数の仮想演奏操作子へのタッチ操作が同時に行われたとしても過度な処理負荷がかかるまでに同時発音数が増えることがないので、従来のような同時発音数が増えることに伴う音切れや描画遅れは生じ得ない。また、制限値の範囲内のタッチ操作に対しては前記仮想演奏操作子の表示態様の変化を行い、該制限値を超えるタッチ操作に対しては仮想演奏操作子の表示態様の変化を行わないので、ユーザは、どの仮想演奏操作子の操作が無効だったかを容易に把握することができる。
【０００８】
本発明は装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【０００９】
この発明によれば、多数の仮想演奏操作子へのタッチ操作が同時に行われたとしても、全てのタッチ操作に応じて楽音波形を生成及び描画を制御することなく楽音波形生成に係る処理負荷に応じた一部のタッチ操作のみに応じて楽音波形を生成及び描画を制御するようにしたので、画面上に描画された複数の仮想演奏操作子が同時にタッチ操作された場合の同時発音数が増えることに伴う音切れや描画遅れなどの発生を防止することができる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】この発明に係る電子音楽装置の全体構成の一実施例を示したハード構成ブロック図である。
【図２】描画機能及び楽音生成機能を説明するための機能ブロック図である。
【図３】負荷制御部の機能を実現する処理の一実施例を示すフローチャートである。
【図４】タッチ開始検出処理の一実施例を示すフローチャートである。
【図５】座標リストの一実施例を示す概念図である。
【図６】タッチ移動検出処理の一実施例を示すフローチャートである。
【図７】タッチ終了検出処理の一実施例を示すフローチャートである。
【図８】ソフトウェア音源部の機能を実現する処理の一実施例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１２】
図１は、この発明に係る電子音楽装置の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示す電子音楽装置は例えばタブレット型コンピュータであって、ＣＰＵ１（Central Processing Unit）、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータによって制御される。ＣＰＵ１は、この電子音楽装置全体の動作を制御するものである。このＣＰＵ１に対して、データ及びアドレスバス１Ｄを介してＲＯＭ２、ＲＡＭ３、検出回路４，５、表示回路６、サウンドシステム７、記憶装置８、通信インタフェース（Ｉ／Ｆ）９がそれぞれ接続されている。
【００１３】
ＲＯＭ２は、ＣＰＵ１により実行あるいは参照される各種制御プログラムや各種データ等を格納する。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを一時的に記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、テンポラリメモリなどとして利用される。
【００１４】
設定操作子（スイッチ等）４Ａは、例えばディスプレイ６Ａの周囲に配置されており該ディスプレイ６Ａに表示された各種画面（図示せず）上における所定の対応位置に表示されている表示内容に従って実現可能な制御機能が変更される１乃至複数の汎用スイッチであって、より具体的には例えば音高、音色、効果等の楽音制御に関する各種設定（楽音制御パラメータなど）を行うスイッチ類や自動伴奏の開始／停止を指示するボタン類などの各種の操作子として機能し得る。勿論、設定操作子４Ａは上記したものに代えてあるいは加えて、数値データ入力用のテンキーや文字データ入力用のキーボード等の各種操作子を含んでいてもよい。検出回路４は、上記設定操作子４Ａの操作状態を検出し、その操作状態に応じたスイッチ情報等をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。
【００１５】
検出回路５は、多点検出型のタッチパネル５Ａにより検出されるユーザによってタッチされたディスプレイ６Ａ上の複数の位置（座標）をデータ及びアドレスバス１Ｄを介してＣＰＵ１に出力する。表示回路６は例えば液晶表示パネル（ＬＣＤ）等から構成されるディスプレイ６Ａ上に、例えばピアノの鍵盤やギターの弦及びフレームあるいはドラムセットなどといった自然楽器の演奏操作子やテノリオン（商標）のようなマトリックス型演奏操作子を模した仮想演奏操作子を表示する。すなわち、上記したタッチパネル５Ａ及び検出回路５とディスプレイ６Ａ及び表示回路６とは、画面上において行われた複数のユーザタッチ操作を同時に検出（認識）する検知機能を有するマルチタッチ機能つき表示装置を構成している。なお、ディスプレイ６Ａ上に、楽音制御に関わる各種設定（楽音制御パラメータなど）の設定状況、ＲＯＭ２や記憶装置８に記憶されている各種データあるいはＣＰＵ１の制御状態などを表示してよいことは言うまでもない。
【００１６】
サウンドシステム７ＡはＤ／Ａ変換器やアンプさらにはスピーカなどを含んでなり、ＣＰＵ１によるソフトウェア処理の実行によって生成される楽音波形データに基づき楽音を発音する。なお、ＣＰＵ１による楽音波形データの生成は、例えばFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよい。また、専用のＤＳＰ（Digital Signal Processor）によるソフトウェア処理の実行によって楽音波形データを生成するようにしてもよい。
【００１７】
記憶装置８は、仮想演奏操作子に関する画像情報や各種音色の波形データ（図示せず）などの各種データの他、ＣＰＵ１が実行する各種制御プログラム等を記憶する。なお、上述したＲＯＭ２に制御プログラムが記憶されていない場合、この記憶装置８（例えばハードディスク）に制御プログラムを記憶させておき、それをＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１に実行させることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、記憶装置８はハードディスク（HD）に限られず、フレキシブルディスク（FD）、コンパクトディスク（CD‐ROM・CD‐RAM）、光磁気ディスク（MO）、あるいはDVD（Digital Versatile Disk）等の様々な形態の記憶媒体を利用する記憶装置であればどのようなものであってもよい。あるいは、フラッシュメモリなどの半導体メモリであってもよい。
【００１８】
通信インタフェース（Ｉ／Ｆ）９は、当該装置と図示しない外部機器との間で制御プログラムや各種データなどを送受信するためのインタフェースである。この通信インタフェース９は、例えばMIDIなどの音楽専用有線インタフェース，ＵＳＢやＩＥＥＥ１３９４などの汎用近距離有線インタフェース，Ethernet（登録商標）などの汎用ネットワークインタフェース，無線ＬＡＮやBluetooth（商標）などの汎用近距離無線インタフェース等を１乃至複数具えていてよい。
【００１９】
なお、本発明に係る電子音楽装置はタブレット型コンピュータに限らず、電子楽器、パーソナルコンピュータ、携帯電話等の携帯通信端末、あるいはゲーム装置などのどのような装置・機器の形態であってもよい。携帯通信端末の場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。電子楽器の場合、楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等の演奏専用の操作子を物理的に有していてよい。勿論、こうした操作子は鍵盤楽器の形態に限らず、弦楽器や管楽器あるいは打楽器等どのようなタイプの形態でもよい。
【００２０】
本発明に係る電子音楽装置では、ＣＰＵ１によるソフトウェア処理の実行に伴い、主としてマルチタッチ機能つき表示装置上に仮想演奏操作子を描画することや、前記描画された仮想演奏操作子へのユーザによるタッチ操作に応じて所定の楽音波形を生成し楽音を発音することを実現している。そこで、ＣＰＵ１でのソフトウェア処理の実行に伴い実現される各種機能のうち、上記描画機能及び楽音生成機能について図２を用いて説明する。図２は、描画機能及び楽音生成機能を説明するための機能ブロック図である。図２において、図中の矢印は信号の流れを表す。
【００２１】
演奏操作子描画部Ａは、鍵盤や打楽器あるいは弦楽器等の自然楽器の演奏操作子を模した画像や、テノリオン（商標）のようなマトリックス型演奏操作子の画像などの仮想演奏操作子を、マルチタッチ検出機能つき表示装置Ｂ（以下、単にマルチタッチ表示装置と呼ぶ）に描画する。勿論、仮想演奏操作子を描画するだけでなく、動作モードや楽音制御パラメータ等の設定を行う例えばスライダーなどの設定操作子の画像（ここでは、これを仮想設定操作子と呼ぶ）や設定値を表す文字等を表示するようにしてもよい。
【００２２】
仮想演奏操作子や仮想設定操作子等が描画されるマルチタッチ表示装置Ｂは、上述したようにディスプレイ６Ａと該ディスプレイ６Ａ上の複数の位置を同時に検出可能な多点検出型のタッチパネル５Ａ等を備える。タッチパネル５Ａのタッチ検出方法は公知の任意の方式を採用可能であり、例えば静電容量方式を採用することができる。ユーザによるディスプレイ６Ａ上へのタッチ開始、タッチ移動（タッチしたままディスプレイ６Ａ上を移動）、ディスプレイ６Ａ上へのタッチ終了をタッチパネル５Ａにより検出されたときには、その時点のカレント座標（Ｘｎ，Ｙｎ）と前回検出したときの旧座標（Ｘｎ，Ｙｎ）とを座標情報として負荷制御部Ｅに対して通知する。ここで、前記座標（Ｘｎ，Ｙｎ）における記号「ｎ」は、１以上の同時検出可能なタッチ数の最大限度を示す整数（例えば１０）である。なお、ディスプレイ６Ａは液晶に限らず、電子ペーパー等どのような方式であってもよい。
【００２３】
負荷制御部Ｅは、マルチタッチ表示装置Ｂからタッチ操作の通知（より具体的には、タッチ開始、タッチ移動、タッチ終了の各イベント及び各イベントに応じた座標情報）を受け取り、その座標がディスプレイ６Ａ上に描画された仮想演奏操作子や仮想設定操作子の描画位置に対応するかを演奏操作子描画部Ａに問い合わせる。問い合わせ結果に基づいて、ユーザによるタッチ操作が仮想演奏操作子のオン操作やオフ操作あるいは仮想設定操作子の操作に該当するかを判断し、これらの操作に該当すると判断した場合には楽器コア部Ｄへとその旨を通知する。例えば「タッチ開始」が仮想演奏操作子上であれば「仮想演奏操作子オン」操作、「タッチ移動」によりある仮想演奏操作子上から外れた場合は「仮想演奏操作子オフ」操作、「タッチ移動」により仮想演奏操作子以外の場所から仮想演奏操作子上に移動した場合は「仮想演奏操作子オン」操作、「タッチ終了」が仮想演奏操作子上であれば「仮想演奏操作子オフ」操作に該当するなどと判断する。ただし、負荷計測部Ｈから通知されるＣＰＵ１の負荷状態によっては、マルチタッチ表示装置Ｂからのタッチ操作の通知をあたかも無視するかの如くに、上記した楽器コア部Ｄへの通知を行わない場合がある（詳しくは後述する）。
【００２４】
楽器コア部Ｄ（楽音生成手段に該当）は、負荷制御部Ｅから通知される仮想演奏操作子のオン／オフ操作イベントや仮想設定操作子の操作イベントなどの各操作情報に応じてタッチ操作された前記各操作子を特定し、該特定した操作子に応じてソフトウェア音源部Ｇへ楽音の発音／消音の指示（ノートオン／ノートオフイベントの発生）や楽音制御パラメータの設定指示を行うとともに、演奏操作子描画部Ａへと各操作子の操作情報を通知する。演奏操作子描画部Ａでは操作情報の通知を受けて、仮想演奏操作子や仮想設定操作子の表示態様を変化させる描画を行ったり（例えば、仮想演奏操作子が鍵盤型の場合にはあたかも鍵盤が弾かれたかのように影をつけるなど）、楽音制御パラメータ等の設定値を変化させたりすることで、ユーザに操作状態や設定状態を報知する。
【００２５】
自動演奏部Ｃは、自動演奏（ソング）データを記録及び／又は再生したり、自動伴奏や自動リズムパターンを記録及び／又は再生したりすることができる。自動演奏データや自動伴奏、自動リズムパターンデータの再生に伴い、ユーザによるタッチ操作とは別途に発音のオンイベントやオフイベント等が楽器コア部Ｄに通知される。この場合、楽器コア部Ｄは、自動演奏部Ｃから通知されるオン／オフイベント等に応じてソフトウェア音源部Ｇへ楽音の発音／消音の指示などを行う。また、自動演奏部Ｃから通知されるオン／オフイベントを必要に応じて演奏操作子描画部Ａへと通知し、自動演奏等に基づく画像描画が演奏操作子描画部Ａによりなされるようにしてもよい。
【００２６】
ソフトウェア音源部Ｇ（前記楽器コア部Ｄと共に楽音生成手段に該当）は、楽器コア部Ｄから通知される楽音の発音／消音の指示や楽音制御パラメータの設定指示などの各種イベントに基づいて、楽音波形データを生成する。この楽音波形データの生成処理は周期的に行われる。例えば、動作周波数が44100ヘルツ、フレームサイズ（１回の処理で生成する楽音波形サンプル数）が1024とすると前記楽音波形生成周期は「約23.2ｍｓ（＝1024×1000／44100）」となり、約23.2ｍｓ毎に１フレーム分の楽音波形データの生成処理が行われる。
【００２７】
１フレーム分の楽音波形データを生成してこれに基づき楽音を発音させるのに要する時間は、同時発音数や楽音制御パラメータの設定状態などによって変化する。例えば、同時発音数が１６音であって楽音制御パラメータが第１の所定の状態であると仮定した場合には１２ｍｓで生成ないし発音させることができるし、同時発音数が２４音であって楽音制御パラメータが第２の所定の状態（例えば、前記第１の所定の状態よりも制御対象のパラメータ数が多く複雑な波形処理が必要とされる状態）であると仮定した場合には２０ｍｓで生成ないし発音させることができる、といった具合である（ただし、ここに記載した数値は単なる例示である）。
【００２８】
負荷計測部Ｈは、上記した楽音波形データの生成ないしこれに基づき楽音を発音させるのにかかる時間を計測し、以下に示す数１に基づきＣＰＵ１における楽音波形生成に係る処理負荷（以下、単にＣＰＵ負荷と呼ぶ）を求める。
（数１）
ＣＰＵ負荷＝1フレーム分の楽音波形データの生成ないし発音に要した時間
／１フレーム分の楽音波形データを生成する周期
具体的には、例えば１２ｍｓで生成ないし発音できた場合のＣＰＵ負荷は「約５２％（＝12×100／23.2）」となり、１７ｍｓで生成ないし発音できた場合のＣＰＵ負荷は「約７３％（＝17×100／23.2）」となる。こうして求められるＣＰＵ負荷は、負荷制御部Ｅへと通知される。
【００２９】
ところで、ＣＰＵ負荷が高いと新たなタッチ操作に応じた更なる楽音波形生成や仮想演奏操作子の描画などが追いつかなくなる可能性があり、最悪の場合には音切れや描画遅れなどが発生し得る。特に電子音楽装置が専用の音楽ソフトウェアプログラムのみを動作する専用機器でなく各種のアプリケーションソフトウェアを並列動作可能な汎用機器であり、楽音波形生成や仮想演奏操作子の描画以外にも別のアプリケーションソフトウェアを動作させてその他の処理を同時に実行させているような場合には、なおさら音切れや描画のもたつきなどが顕著に現われる。そこで、本発明に係る電子音楽装置では上記した音切れや描画遅れなどの発生を防止するために、ＣＰＵ負荷に応じて楽音波形生成及び仮想演奏操作子の描画にかかる負荷を減らす制御を行うようにしている。
【００３０】
具体的には、負荷制御部Ｅは負荷計測部Ｈから通知されるＣＰＵ負荷に応じて、マルチタッチ表示装置Ｂから通知される同時タッチ数をタッチ数制限値に従って増減して楽器コア部Ｄに操作情報を通知する。例えば、ＣＰＵ負荷が５０％のときは５個までのタッチを有効とし、６０％のときは３個まで、７０％のときは２個までのタッチを有効とするなど、ＣＰＵ負荷が高い場合には有効とする同時タッチ数を減らし、ＣＰＵ負荷が低い場合には有効とする同時タッチ数を増やす。こうしたＣＰＵ負荷に応じた同時タッチ数の制限は予め用意しておいたテーブル（図示せず）を使って設定してもよいし、こうしたテーブルの特性を表した計算式（図示せず）で求めるようにしてもよい。
【００３１】
ここで、ＣＰＵ負荷に応じた同時タッチ数の増減について具体例を用いて説明する。例えば、自動演奏部Ｃにて自動演奏データが再生されており、同時に１０音分の楽音波形データが既に再生されている状態であると仮定する。このときのＣＰＵ負荷を４０％であるとすると、前記タッチ数制限値は有効とする同時タッチ数を５個までとする。そしてユーザが５本の指それぞれを使って５つの異なる仮想演奏操作子（例えば鍵盤）をそれぞれタッチ操作したとすると、楽器コア部Ｄへは５つの全てのノートオンが通知され、ソフトウェア音源部Ｇにて新たに５音の楽音波形データが生成されて楽音が発音されると共に、演奏操作子描画部Ａにて操作された仮想演奏操作子の表示態様が変更される。こうして新たな５音分を加えた合計１５音分の楽音波形データが生成される場合、このときのＣＰＵ負荷は６０％となる。５本の指を前記操作した仮想演奏操作子から離すと、楽器コア部Ｄへは５つのノートオフが通知されて該当する５音分の楽音が消音されると共に、仮想演奏操作子の表示態様が元に戻される。すると、ＣＰＵ負荷は１０音分の楽音波形データが再生されている状態のときの４０％に減少する。
【００３２】
自動演奏部Ｃで再生される楽音数がさらに増え、例えば２０音分の楽音波形データが同時に再生されている状態になって、このときのＣＰＵ負荷は６０％であるとする。この場合にはタッチ数制限値に基づき例えば同時タッチ数が３個に制限されるので、仮にユーザが５本の指それぞれを使って５つの異なる仮想演奏操作子をそれぞれタッチ操作したとしても３つの仮想演奏操作子に対するタッチ操作しか有効とされない。したがって、楽器コア部Ｄへは３つのノートオンのみが通知され、ソフトウェア音源部Ｇにて新たに追加された３音分を加えた合計２３音分の楽音波形データが生成されると共に、演奏操作子描画部Ａにて操作された３つの仮想演奏操作子のみ表示態様が変更される。ＣＰＵ負荷は６５％となる。このようにＣＰＵ負荷が高く同時タッチ数が減らされたような場合には、例えば５つの仮想演奏操作子をタッチ操作したにもかかわらず３つ分しか仮想演奏操作子の表示態様を変更しない。これにより、ユーザはどの仮想演奏操作子の操作が無効であったのかを容易に把握することができる。
【００３３】
なお、どの仮想演奏操作子に対応する処理を無効とするかは、先着優先、ランダム、後着優先、演奏操作子の重要度（例えば白鍵は黒鍵よりも重要度が高い、スケール音は非スケール音よりも重要度が高いなど）、現在の演奏内容から判断する、など任意の方法を採用してよい。
また、上記のようにＣＰＵ負荷の現在値のみから有効とする同時タッチ数の制限値（タッチ数制限値）を決めてもよいが、過去のＣＰＵ負荷の傾向や次回の処理タイミングで処理すべきイベント数（すなわち、処理待ちバッファにたまっているオン／オフイベントなどの数）を参照することなどにより将来のＣＰＵ負荷を予測し、この予測値から同時タッチ数の制限値を決めてもよい。このようなＣＰＵ負荷の計測と計測値に応じた同時タッチ数の制限は、タッチ操作の検出ごとに行ってもよいし、１フレーム単位の楽音波形生成周期ごとに行ってもよい。
【００３４】
ソフトウェア音源部Ｇで生成されたデジタルの楽音波形データはサウンドシステム７へと送られ、Ｄ／Ａ変換部Ｆによってアナログ楽音波形信号に変換されてスピーカＩから放音される。
【００３５】
次に、上記したような負荷制御部Ｅの機能を実現する具体的な処理について説明する。図３は、負荷制御部Ｅの機能を実現する処理の一実施例を示すフローチャートである。当該処理は、所定時間（例えば数ｍｓ）ごとに起動されて、マルチタッチ表示装置Ｂからのタッチ開始、タッチ移動、タッチ終了の各イベントと座標情報との取得（通知）に伴い、これらタッチ操作の種類とタッチ位置座標とに応じた処理を実行するものである。すなわち、図３に示すように、ステップＳ１は、タッチ開始操作に応じたタッチ開始検出処理（図４参照）を実行する。ステップＳ２は、タッチ移動操作に応じたタッチ移動検出処理（図６参照）を実行する。ステップＳ３は、タッチ終了操作に応じたタッチ終了検出処理（図７参照）を実行する。
【００３６】
上記「タッチ開始検出処理」（図３のステップＳ１参照）について、図４を用いて説明する。図４は、「タッチ開始検出処理」の一実施例を示すフローチャートである。
【００３７】
ステップＳ１１は、タッチ開始操作を検出したか否かを判定する。すなわち、マルチタッチ表示装置Ｂからタッチ開始イベントが通知されたか否かを判定する。タッチ開始操作を検出していないと判定した場合には（ステップＳ１１のＮＯ）、当該処理を終了する。一方、タッチ開始操作を検出したと判定した場合には（ステップＳ１１のＹＥＳ）、マルチタッチ表示装置Ｂからタッチ開始イベントと共に通知される座標情報（タッチ開始座標と呼ぶ）を座標リストに追加する（ステップＳ１２）。
【００３８】
ここで、座標リストの一例を図５に示す。図５に示すように、座標リストは同時検出可能なタッチ操作毎に（ただし、ここでは一例として１以上の同時検出可能なタッチ数の最大限度（ｎ）を１０とした場合を例示した）、開始座標、前座標、現座標、タッチ操作の有効無効を登録することができるようになっている。開始座標、前座標、現座標の登録内容はマルチタッチ表示装置Ｂから通知されたタッチ操作のイベントつまりはタッチ種類によって変わり得、タッチ開始イベント通知時には開始座標、前座標、現座標の全てにタッチ開始座標が登録される（つまり全てに同じ座標が登録される）。前記開始座標は最初にタッチ操作された座標を示すものであって、タッチ終了イベント通知時に削除される以外には更新されることがない。他方、前座標及び現座標はタッチ終了イベント通知時に削除されるだけでなく、タッチ移動イベント通知時に適宜の座標に更新される（詳しくは後述する）。
【００３９】
図４の説明に戻って、ステップＳ１３は通知されたタッチ開始座標に基づき演奏操作子描画部Ａに該当するタッチ開始操作を問い合わせる。ステップＳ１４は、問い合わせ結果が「仮想演奏操作子オン」操作に該当するタッチ開始操作であるか否かを判定する。ここでは、前記タッチ開始座標に基づくディスプレイ６Ａ上でのタッチ開始位置がマルチタッチ表示装置Ｂに描画されている仮想演奏操作子上である場合に、「仮想演奏操作子オン」操作に該当するタッチ開始操作であると判定されることになる。「仮想演奏操作子オン」操作に該当するタッチ開始操作でないと判定した場合には（ステップＳ１４のＮＯ）、前記タッチ開始座標に基づくディスプレイ６Ａ上でのタッチ開始位置に応じた処理を実行し（ステップＳ１５）、ステップＳ２０の処理へジャンプする。このときに実行する処理としては、例えば前記タッチ開始座標に基づくディスプレイ６Ａ上でのタッチ開始位置がマルチタッチ表示装置Ｂに描画されている仮想設定操作子上である場合の楽音制御パラメータの設定指示（例えばパラメータの楽音への反映を開始させるパラメータオン設定など）がある。
【００４０】
「仮想演奏操作子オン」操作に該当するタッチ開始操作であると判定した場合には（ステップＳ１４のＹＥＳ）、負荷計測部ＨからＣＰＵ負荷を取得して当該負荷に応じたタッチ数制限値（ｎ、例えば１０）を決定する（ステップＳ１６）。そして、図５に示した座標リストにおいて「有効」と登録されている現在の有効タッチの合計（有効タッチ数）が、前記決定したタッチ数制限値（ｎ）の上限未満であるか否かを判定する（ステップＳ１７）。現在の有効タッチ数がタッチ数制限値の上限未満でないすなわち制限を超えるタッチ操作であると判定した場合には（ステップＳ１７のＮＯ）、前記検出した新たなタッチ開始操作を無効とし座標リストの該当箇所にその旨（無効）を登録する（ステップＳ１８）。この場合には、楽器コア部Ｄに対して仮想演奏操作子のオン／オフ操作イベントが通知されず、ソフトウェア音源部Ｇによる楽音波形データの生成や演奏操作子描画部Ａによる仮想演奏操作子の表示態様を変化させる描画が行われない。
【００４１】
一方、現在の有効タッチ数がタッチ数制限値（ｎ）の上限未満であると判定した場合には（ステップＳ１７のＹＥＳ）、前記検出した新たなタッチ開始操作を有効とし座標リストの該当箇所にその旨（有効）を登録すると共に、楽器コア部Ｄに「仮想演奏操作子オン」操作イベントを通知する（ステップＳ１９）。この場合には、当該通知に従って楽器コア部Ｄはソフトウェア音源部Ｇへ楽音の発音指示を行ったり演奏操作子描画部Ａへ操作情報を通知したりするので、ソフトウェア音源部Ｇによる楽音波形データの生成や演奏操作子描画部Ａによる仮想演奏操作子の表示態様を変化させる描画が行われる。
【００４２】
ステップＳ２０は、同時に更なるタッチ開始操作の検出があるか否かつまりは同時に行われた複数のタッチ操作に基づき他にもタッチ開始イベントが通知されているか否かを判定する。同時に更なるタッチ開始操作の検出があると判定した場合には（ステップＳ２０のＹＥＳ）、上記ステップＳ１２の処理へ戻って、ステップＳ１２からステップＳ１９までの処理を繰り返し実行する。同時に更なるタッチ開始操作の検出がないと判定した場合には（ステップＳ２０のＮＯ）、当該処理を終了する。
【００４３】
次に、「タッチ移動検出処理」（図３のステップＳ２参照）について、図６を用いて説明する。図６は、「タッチ移動検出処理」の一実施例を示すフローチャートである。
【００４４】
ステップＳ３１は、タッチ移動操作を検出したか否かを判定する。すなわち、マルチタッチ表示装置Ｂからタッチ移動イベントが通知されたか否かを判定する。タッチ移動操作を検出していないと判定した場合には（ステップＳ３１のＮＯ）、当該処理を終了する。一方、タッチ移動操作を検出したと判定した場合には（ステップＳ３１のＹＥＳ）、マルチタッチ表示装置Ｂからタッチ移動イベントと共に通知される座標情報に基づき座標リストの前座標及び現座標を更新する（ステップＳ３２）。すなわち、タッチ移動操作を検出したときは、マルチタッチ表示装置Ｂから移動前座標（旧座標）と現座標（カレント座標）とを座標情報として受け取るので、座標リストにおいて前座標に合致する値が現座標として登録されているレコードを探し、該当するレコードの前座標と現座標とを前記受け取った値で更新する。ステップＳ３３は、通知された移動前座標及び現座標に基づき演奏操作子描画部Ａに該当するタッチ移動操作を問い合わせる。
【００４５】
ここで、以下に示すステップＳ３４〜ステップＳ４３の処理においては、移動前座標と現座標との組み合わせに基づきタッチ移動操作の場合分けを行って、それぞれの場合（ここでは以下に示す４つの場合）に応じた処理を行うようにしている。第１は既にオンされている仮想演奏操作子上から新しい（別の）仮想演奏操作子上へとタッチ移動操作が行われた場合であり、この場合には一旦タッチ移動操作前の仮想演奏操作子の操作に基づき発音されている楽音を消音し、タッチ移動操作後の新しい仮想演奏操作子の操作に基づく楽音を新たに発音開始する。第２は仮想演奏操作子以外から新しい（その時点で操作されていない）仮想演奏操作子上へとタッチ移動操作が行われた場合であり、この場合にはタッチ移動操作後の新しい仮想演奏操作子の操作に基づく楽音を新たに発音開始する。第３は既にオンされている仮想演奏操作子上から当該仮想演奏操作子を含む全ての仮想演奏操作子以外へとタッチ移動操作が行われた場合であり、この場合にはタッチ移動操作前の仮想演奏操作子の操作に基づき発音されている楽音を消音し、必要に応じて（タッチ移動操作後の現座標に何らかの仮想設定操作子などが描画されているならば）対応する操作子処理を実行する。第４は既にオンされている仮想演奏操作子の範囲内でのタッチ移動操作か、仮想演奏操作子とは何ら関係ないところでタッチ移動操作が行われた場合であり、必要に応じて（タッチ移動操作後の現座標に何らかの仮想設定操作子などが描画されているならば）対応する操作子処理を実行する。
【００４６】
ステップＳ３４は上記第１の場合に該当する場合分けとして、楽器コア部Ｄに「仮想演奏操作子オン」操作イベントを通知済みである「オン済み」の仮想演奏操作子から新しい仮想演奏操作子へのタッチ移動操作であるか否かを判定する。前記第１の場合つまりオン済み仮想演奏操作子から新仮想演奏操作子へのタッチ移動操作であると判定した場合には（ステップＳ３４のＹＥＳ）、タッチ移動操作前のオン済み仮想演奏操作子の操作に基づき発音中の楽音を消音するために「仮想演奏操作子のオフ」操作イベントを楽器コア部Ｄに通知する（ステップＳ３５）。そして、負荷計測部ＨからＣＰＵ負荷を取得して当該負荷に応じたタッチ数制限値（ｎ、例えば１０）を決定し（ステップＳ３６）、図５に示した座標リストにおいて「有効」と登録されている現在の有効タッチの合計（有効タッチ数）が、前記決定したタッチ数制限値（ｎ）の上限未満であるか否かを判定する（ステップＳ３７）。現在の有効タッチ数がタッチ数制限値の上限未満でないと判定した場合には（ステップＳ３７のＮＯ）、タッチ移動操作後に該当するタッチ操作を無効とし座標リストの該当箇所にその旨（無効）を登録する（ステップＳ３８）。この場合には、楽器コア部Ｄに対して仮想演奏操作子のオフ操作イベントのみが通知されて、ソフトウェア音源部Ｇによる該当の楽音波形データの生成が停止されて楽音の消音が行われると共に、演奏操作子描画部Ａによるタッチ移動操作前の仮想演奏操作子の表示態様を変化させる描画が行われる。
【００４７】
一方、現在の有効タッチ数がタッチ数制限値の上限未満であると判定した場合には（ステップＳ３７のＹＥＳ）、前記検出した新たなタッチ開始操作を有効とし座標リストの該当箇所にその旨（有効）を登録すると共に、楽器コア部Ｄに「仮想演奏操作子オン」操作イベントを通知する（ステップＳ３９）。この場合には、当該通知に従って楽器コア部Ｄはソフトウェア音源部Ｇへ楽音の発音指示を行ったり演奏操作子描画部Ａへ操作情報を通知したりするので、ソフトウェア音源部Ｇによる新たな楽音波形データの生成や演奏操作子描画部Ａによるタッチ移動操作後の仮想演奏操作子の表示態様を変化させる描画が行われる。上記ステップＳ３８又はステップＳ３９の終了後は、ステップＳ４４の処理へ行く。
【００４８】
上記ステップＳ３４において、オン済み演奏操作子から新演奏操作子位置への移動でないと判定した場合には（ステップＳ３４のＮＯ）、上記第２の場合に該当する場合分けとして仮想演奏操作子以外（非演奏操作子と呼ぶ）から仮想演奏操作子への移動であるか否かを判定する（ステップＳ４０）。前記第２の場合つまり非演奏操作子から新しい仮想演奏操作子へのタッチ移動操作であると判定した場合には（ステップＳ４０のＹＥＳ）、ステップＳ３６の処理へ行き上述したステップＳ３６〜Ｓ３９の処理を行う。この場合には、タッチ移動操作後の新しい仮想演奏操作子の操作に基づく楽音を新たに発音開始する（ただし、現在の有効タッチ数がタッチ数制限値の上限未満である場合）。
【００４９】
非演奏操作子から演奏操作子位置への移動でないと判定した場合には（ステップＳ４０のＮＯ）、上記第３又は第４の場合に該当する場合分けとしてオン済み仮想演奏操作子から非演奏操作子へのタッチ移動操作であるか否かを判定する（ステップＳ４１）。前記第３の場合つまりオン済み仮想演奏操作子から非演奏操作子への移動であると判定した場合には（ステップＳ４１のＹＥＳ）、タッチ移動操作前のオン済み仮想演奏操作子の操作に基づき発音中の楽音を消音するために「仮想演奏操作子のオフ」操作イベントを楽器コア部Ｄに通知する（ステップＳ４２）。一方、オン済み仮想演奏操作子から非演奏操作子へのタッチ移動操作でないと判定した場合は（ステップＳ４１のＮＯ）、前記第４の場合つまりオン済み仮想演奏操作子の範囲内でのタッチ移動操作か、非演奏操作子から非演奏操作子へのタッチ移動操作であって、ステップＳ４３の処理へジャンプする。ステップＳ４３は、前記移動前座標及び現座標に基づくディスプレイ６Ａ上でのタッチ移動操作後の位置に応じた処理を実行する。このようにして、タッチ移動操作前の仮想演奏操作子の操作に基づき発音されている楽音があればそれを消音した上で、必要に応じてタッチ移動操作後の対応する操作子処理を実行する。
【００５０】
ステップＳ４４は、同時に更なるタッチ移動操作の検出があるか否かつまりは同時に行われた複数のタッチ操作に基づき他にもタッチ移動イベントが通知されているか否かを判定する。同時に更なるタッチ移動操作の検出があると判定した場合には（ステップＳ４４のＹＥＳ）、上記ステップＳ３２の処理へ戻って、ステップＳ３２からステップＳ４３までの処理を繰り返し実行する。同時に更なるタッチ移動操作の検出がないと判定した場合には（ステップＳ４４のＮＯ）、当該処理を終了する。
【００５１】
次に、「タッチ終了検出処理」（図３のステップＳ３参照）について、図７を用いて説明する。図７は、「タッチ終了検出処理」の一実施例を示すフローチャートである。
【００５２】
ステップＳ５１は、タッチ終了操作を検出したか否かを判定する。すなわち、マルチタッチ表示装置Ｂからタッチ終了イベントが通知されたか否かを判定する。タッチ終了操作を検出していないと判定した場合には（ステップＳ５１のＮＯ）、当該処理を終了する。一方、タッチ終了操作を検出したと判定した場合には（ステップＳ５１のＹＥＳ）、マルチタッチ表示装置Ｂからタッチ終了イベントと共に通知される座標情報（タッチ終了座標と呼ぶ）に基づき座標リストの対応するレコードを削除する（ステップＳ５２）。すなわち、タッチ終了操作を検出したときは、座標リストにおいてマルチタッチ表示装置Ｂから受け取ったタッチ終了座標が現座標として登録されているレコードを探して削除する。
【００５３】
ステップＳ５３は、通知されたタッチ終了座標に基づき演奏操作子描画部Ａに該当するタッチ終了操作を問い合わせる。ステップＳ５４は、問い合わせ結果が「オン済み仮想演奏操作子のオフ」操作に該当するタッチ終了操作であるか否かを判定する。ここでは、前記タッチ終了座標に基づくディスプレイ６Ａ上でのタッチ終了位置がマルチタッチ表示装置Ｂに描画されている「オン済み」の仮想演奏操作子上である場合に、「オン済み仮想演奏操作子のオン」操作に該当するタッチ終了操作であると判定される。「オン済み仮想演奏操作子のオフ」操作に該当するタッチ終了操作でないと判定した場合には（ステップＳ５４のＮＯ）、前記タッチ終了座標に基づくディスプレイ６Ａ上でのタッチ終了位置に応じた処理を実行し（ステップＳ５６）、ステップＳ５７の処理へ行く。このときに実行する処理としては、例えば前記タッチ開始座標に基づくディスプレイ６Ａ上でのタッチ開始位置がマルチタッチ表示装置Ｂに描画されている仮想設定操作子上である場合の楽音制御パラメータの設定指示（例えばパラメータの楽音への反映を終了させるパラメータオフ設定など）がある。
【００５４】
一方、「オン済み仮想演奏操作子のオフ」操作に該当するタッチ終了操作であると判定した場合には（ステップＳ５４のＹＥＳ）、タッチ終了操作前のオン済み仮想演奏操作子の操作に基づき発音中の楽音を消音するために「仮想演奏操作子のオフ」操作イベントを楽器コア部Ｄに通知する（ステップＳ５５）。この場合には、当該通知に従って楽器コア部Ｄはソフトウェア音源部Ｇへ楽音の消音指示を行ったり演奏操作子描画部Ａへ操作情報を通知したりするので、ソフトウェア音源部Ｇによる楽音波形データの生成停止や演奏操作子描画部Ａによる仮想演奏操作子の表示態様を変化させる描画が行われる。なお、タッチ終了操作位置が仮想演奏操作子上であったとしても、その仮想演奏操作子へのタッチ開始操作が「無効」とされていたような場合には（つまりオン済み仮想演奏操作子でない）、楽音波形データの生成停止や当該仮想演奏操作子の表示態様を変化させる描画が行われないことは言うまでもない。
【００５５】
ステップＳ５７は、同時に更なるタッチ終了操作の検出があるか否かつまりは同時に行われた複数のタッチ操作に基づき他にもタッチ終了イベントが通知されているか否かを判定する。同時に更なるタッチ終了操作の検出があると判定した場合には（ステップＳ５７のＹＥＳ）、上記ステップＳ５２の処理へ戻って、ステップＳ５２からステップＳ５６までの処理を繰り返し実行する。同時に更なるタッチ終了操作の検出がないと判定した場合には（ステップＳ５７のＮＯ）、当該処理を終了する。
【００５６】
次に、楽音波形データを生成するソフトウェア音源部Ｇの機能を実現する具体的な処理について、図８を用いて説明する。図８は、ソフトウェア音源部Ｇの機能を実現する処理の一実施例を示すフローチャートである。
【００５７】
ステップＳ６１は、楽器コア部Ｄからノートオンイベントを受け取ったか否かを判定する。なお、楽器コア部Ｄから受け取る各種イベントとしては、マルチタッチ表示装置Ｂでのタッチ操作に基づく仮想演奏操作子毎のノートオン／オフイベント、また仮想設定操作子毎のオン、オフ、設定値変更イベント、さらには自動演奏部Ｃから受け取るノートオン／オフイベントや設定パラメータイベントなどがある。楽器コア部Ｄからノートオンイベントを受け取ったと判定した場合には（ステップＳ６１のＹＥＳ）、図示を省略した周知の楽音波形生成エンジンに当該ノートオンイベントに対応した発音開始を指示する（ステップＳ６２）。ステップＳ６３は、楽器コア部Ｄからノートオフイベントを受け取ったか否かを判定する。楽器コア部Ｄからノートオフイベントを受け取ったと判定した場合には（ステップＳ６３のＹＥＳ）、前記楽音波形生成エンジンに当該ノートオフイベントに対応した消音開始を指示する（ステップＳ６４）。ステップＳ６５は、楽器コア部Ｄからその他イベントを受け取ったか否かを判定する。楽器コア部Ｄからその他イベントを受け取ったと判定した場合には（ステップＳ６５のＹＥＳ）、楽音波形生成エンジンに当該その他イベントに対応した処理を実行するように指示する（ステップＳ６６）。
【００５８】
ステップＳ６７は、楽音波形データの生成タイミングが否かを判定する。この生成タイミングは、1024フレーム分の楽音波形を再生するのに要する時間ごとに設定される。例えば、既に説明したように動作周波数が44100ヘルツである場合には、約23.2ｍｓごとに設定される。勿論、これに限らず、１回に生成するフレーム数やサンプリング（動作）周波数を異ならせれば、楽音波形データの生成タイミングの周期も異なる。楽音生成タイミングであると判定した場合には（ステップＳ６７のＹＥＳ）、負荷計測部Ｈに計測開始を指示する（ステップＳ６８）。さらに、当該指示に応じて、楽音波形生成エンジンが指示されているイベントに対応した1024フレーム分の楽音波形生成処理（図示せず）を実行する（ステップＳ６９）。ステップＳ７０は、負荷計測部Ｈに計測終了を指示する。このように、楽音波形データ生成の開始時と終了時に負荷計測部Ｈに対して計時の開始と終了とを指示することにより、負荷計測部Ｈでは1024フレーム分の波形生成実時間（例えば約23.2ｍｓ）を知ることができ、これに基づき上述したようにしてＣＰＵ負荷を計算することが可能となる。
【００５９】
以上のようにして、本発明に係る電子音楽装置では、画面上に描画された仮想演奏操作子への１乃至複数のタッチ操作の検出時に、仮想演奏操作子に対応付けられた所定の楽音波形を生成するソフトウェア音源部Ｇの楽音波形生成に係る処理負荷を負荷計測部Ｈにより計測する。そして、楽器コア部Ｄは前記計測した処理負荷に応じて前記検出した１乃至複数のタッチ操作のうち一部のタッチ操作のみに応じて仮想演奏操作子の特定を行い、該特定された仮想演奏操作子に対応付けられた所定の楽音波形を生成するよう前記ソフトウェア音源部Ｇに対して指示するとともに、演奏操作子描画部Ａに対して前記特定された仮想演奏操作子の描画制御を指示する。このように、多数の仮想演奏操作子へのタッチ操作が同時に行われた場合にそのときの楽音波形生成に係る処理負荷を計測し、該計測した処理負荷に応じて全ての操作に応じた楽音波形を生成及び描画を制御させることなく一部の操作のみに応じた楽音波形を生成及び描画を制御させるようにしたことにより、特にはソフトウェア音源部Ｇに過度な処理負荷をかけることなく楽音波形生成を行わせることができる。そのため、多数の仮想演奏操作子へのタッチ操作が同時に行われたとしても過度な処理負荷がかかるまでに同時発音数が増えることがないので、従来のような同時発音数が増えることに伴う音切れや描画遅れは生じ得ない。
【００６０】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、上述した実施例においてはタッチ開始操作時に有効タッチ数を制限するものを示したがこれに限らず、既に有効とされているタッチ操作の中からＣＰＵ負荷に応じて所望のタッチ操作を途中から無効にするようにしてもよい。例えば、５本の指で演奏操作子をタッチした状態であるがそのうちの３つのみが有効で２つは無効とされている状態で、自動演奏データによる発音数が増えてＣＰＵ負荷が７０％となったと仮定する。ＣＰＵ負荷が増すことにより有効タッチ数が２個に制限されるとすれば、有効であった３つのうちから１音分が減らされる（オフしたと看做される）ことになる。このときに、オフされる対象の仮想演奏操作子も、適宜の方法により決定してよい。
【００６１】
なお、有効タッチ数を制限した状態からＣＰＵ負荷が減少して有効タッチ数の制限が増加したとき、それまで無効となっていたタッチ（ただしタッチした状態が維持されているもの）を有効に切り替えてもよい。例えば、有効タッチ数が２個に制限されている状態から自動演奏データによる同時発音数が減り、ＣＰＵ負荷が５０％になったと仮定する。ＣＰＵ負荷が減少して有効タッチ数の制限が５個に増加したとすると、それまでオフ扱いされていた仮想演奏操作子に対応するノートオンイベントがソフトウェア音源部Ｇと演奏操作子描画部Ａに通知され、楽音波形データの生成及び仮想演奏操作子の表示態様を変更する描画がなされる。
なお、タッチ操作を無効化するだけでなく、自動演奏データの再生に基づく同時発音数の制限をあわせて実施するようにしてもよい。このようにすると、なるべくユーザによるタッチ操作を減らさずにすむという利点があるが、自動演奏による演奏内容が薄くなったり不自然になったりしてしまう恐れもあるので、それに注意すれば最大限に上記利点を生かすことが可能である。
【００６２】
なお、ＣＰＵ負荷に応じて新たな発音開始に係るタッチの有効／無効を制御するようにしたが、これに加えてＣＰＵ負荷に応じて既に発音されている楽音への効果付与に係るタッチの有効／無効を制御してもよい。例えば、オン済み仮想演奏操作子の範囲内でタッチ移動を検出したときに楽音の特性を制御（例えばアフタータッチをきかせる等）する場合に、ＣＰＵ負荷に応じて制御の有無を制御してもよい。このとき制御有りなら仮想演奏操作子の表示態様も制御するが、制御無しなら表示態様は制御しない。あるいは、ロータリーエンコーダを模した仮想演奏操作子へのタッチ操作（操作子を回すように円を描く操作）に応じて楽音特性を制御する場合なども、同様にＣＰＵ負荷に応じて制御の有無（仮想演奏操作子の表示態様制御も含む）を制御してもよい。
【符号の説明】
【００６３】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４，５…検出回路、４Ａ…設定操作子、５Ａ…タッチパネル、６…表示回路、６Ａ…ディスプレイ、７…サウンドシステム、８…記憶装置、９…通信インタフェース、１Ｄ…データ及びアドレスバス、Ａ…演奏操作子描画部、Ｂ…マルチタッチ検出機能つき表示装置、Ｃ…自動演奏部、Ｄ…楽器コア部、Ｅ…負荷制御部、Ｆ…Ｄ／Ａ変換部、Ｇ…ソフトウェア音源部、Ｈ…負荷計測部、Ｉ…スピーカ
【図１】
0005821170.tif 000002
【図２】
0005821170.tif 000003
【図３】
0005821170.tif 000004
【図４】
0005821170.tif 000005
【図５】
0005821170.tif 000006
【図６】
0005821170.tif 000007
【図７】
0005821170.tif 000008
【図８】
0005821170.tif 000009