(57)【特許請求の範囲】
【請求項１】
パート毎に予め記憶した自動演奏データの指定された編集部分にクレッシェンドやデクレッシェンドを付加する編集機能を有する自動演奏装置であって、
上記編集部分にクレッシェンドを付加するかデクレッシェンドを付加するかを指定する指定手段と、
上記指定手段の指定情報に基づいて、上記編集部分に含まれるベロシティ情報、ボリューム情報及びエクスプレッション情報のうちの何れか１つの情報を少なくとも含む所定情報を編集する編集手段と、
上記指定手段により指定される上記編集部分に含まれる所定情報に基づいて発音される音の強弱が最終的に到達すべき目標値に到達するまでの変化特性を示すカーブを複数パターン記憶した記憶手段とを備え、
上記指定手段は、上記記憶手段に記憶された複数パターンのカーブの中から任意のカーブを指定し、上記編集手段は、上記指定手段で指定されたカーブに従って上記編集部分に含まれるベロシティ情報、ボリューム情報及びエクスプレッション情報のうちの何れかが上記目標値に向かって徐々に到達するように上記所定情報を編集することを特徴とする自動演奏装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動演奏装置に関し、特に、自動演奏データの任意の部分にクレッシェンドやデクレッシェンドを付加する編集機能を有する自動演奏装置に関するものである。
【０００２】
【従来の技術】
従来より、電子キーボードや電子ピアノ等の電子楽器と一体的或いは別体に設けられ、ＲＡＭ（Ramdom Access Memory）等の内部記憶装置に記憶された自動演奏データに基づいて自動演奏を行う自動演奏装置が知られている。
【０００３】
一般に、ある１曲を自動演奏するための自動演奏データは、例えば、図１９に示すように、リズムパート、コードパート、メロディパート等、１６パートの自動演奏データＰart １〜Ｐart １６から構成されている。
そして、自動演奏データＰart １〜Ｐart １６は、各々のパートを演奏するためのキー番号やベロシティ情報等を含む音符（ノート）データ、音色番号等を含む音色データ、ボリューム値等を含むボリュームデータ等、様々な情報を含んでいる。
【０００４】
そこで、上述のような自動演奏データＰart １〜Ｐart １６に含まれる各種の情報を、装置に設けられた操作パネルを操作することで変更（編集）して、所望のパートの音色等を編集する等、様々な編集機能を有する自動演奏装置がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の自動演奏装置は、上述のような様々な編集機能を持っていても、音の強弱を次第に強くするためのクレッシェンドや、音の強弱を次第に弱くするためのデクレッシェンドを、自動演奏データの任意の部分に後から付加する編集を行うことができなかった。すなわち、自動演奏データの任意の部分にクレッシェンドやデクレッシェンドを後から付加する編集機能を有する自動演奏装置はなかった。
【０００６】
仮に、従来の自動演奏装置で自動演奏データの任意の部分にクレッシェンドやデクレッシェンドを後から付加しようとすると、その任意の部分に存在するボリュームデータ或いは音符データのベロシティ情報等を、意図する強弱に対応させて細かく設定する必要がある。例えば、徐々に強くなるように、ボリュームデータを細かく設定する必要がある。このような作業は、非常に面倒な作業であり、編集作業の効率も悪い。
【０００７】
上述のように、従来の自動演奏装置は、自動演奏データ任意の部分にクレッシェンドやデクレッシェンドを後から付加する作業が非常に面倒であったので、演奏者が所望する編集を効率よく行うことが困難であった。
【０００８】
本発明は上述の欠点を除去するために成されたもので、自動演奏データにおける任意の部分に含まれるベロシティ情報、ボリューム情報及びエクスプレッション情報のうちの何れかの編集を簡単な操作で行うことができるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明の自動演奏装置は、パート毎に予め記憶した自動演奏データの指定された編集部分にクレッシェンドやデクレッシェンドを付加する編集機能を有する自動演奏装置であって、上記編集部分にクレッシェンドを付加するかデクレッシェンドを付加するかを指定する指定手段と、上記指定手段の指定情報に基づいて、上記編集部分に含まれるベロシティ情報、ボリューム情報及びエクスプレッション情報のうちの何れか１つの情報を少なくとも含む所定情報を編集する編集手段と、上記指定手段により指定される上記編集部分に含まれる所定情報に基づいて発音される音の強弱が最終的に到達すべき目標値に到達するまでの変化特性を示すカーブを複数パターン記憶した記憶手段とを備え、上記指定手段は、上記記憶手段に記憶された複数パターンのカーブの中から任意のカーブを指定し、上記編集手段は、上記指定手段で指定されたカーブに従って上記編集部分に含まれるベロシティ情報、ボリューム情報及びエクスプレッション情報のうちの何れかが上記目標値に向かって徐々に到達するように上記所定情報を編集することを特徴とする。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００１１】
本発明に係る自動演奏装置は、例えば、図１に示すような自動演奏装置１００に適用される。
【００１２】
この自動演奏装置１００は、自動演奏データの任意の部分にクレッシェンドやデクレッシェンドを後から付加する編集機能（以下、この機能を単に編集機能と言う）を有するものであり、上記図１に示すように、データバスやアドレスバス等のバスライン１に接続されたＣＰＵ（Central Processing Unit ）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４及び音源回路７を備えており、ＣＰＵ２、ＲＯＭ３、ＲＡＭ４及び音源回路７は各々バスライン１により相互にデータの送受信が行われるようになされている。また、ＣＰＵ２には、外部インターフェース回路（外部Ｉ／Ｆ）５と操作パネル６が接続されている。さらに、音源回路７には増幅器８が接続され、増幅器８にはスピーカ９が接続されている。
【００１３】
まず、ＣＰＵ２は、ＲＯＭ３に格納された種々のプログラムに従って装置全体の動作制御を行う。例えば、ＣＰＵ２は、操作パネル６のスキャン処理を行って、その操作パネル６の操作に応じて後述する各処理を実行する。
【００１４】
ＲＯＭ３には、ＣＰＵ２の各種の処理プログラムや、楽音波形データ等が格納されている。
【００１５】
ＲＡＭ４は、ＣＰＵ２の各種処理の実行過程において各種の情報を一時記憶したり、各種処理の結果得られた情報を記憶したりする領域を有するメモリである。
また、ＲＡＭ４には、上記図１９に示したような自動演奏データが複数曲分格納されている。
【００１６】
外部Ｉ／Ｆ５は、例えば、ＭＩＤＩインターフェースから構成される。この外部Ｉ／Ｆ５は、自動演奏装置と外部機器との接続規格であるＭＩＤＩ（Musical Instrument Digital Interface）規格により、この自動演奏装置１００と図示していない外部機器との間で情報の授受を行う。これにより、ＣＰＵ２でＲＡＭ４に格納されている自動演奏データを外部出力して、外部機器で自動演奏を行うようにすることも可能である。
【００１７】
操作パネル６には、例えば、図２に示すように、操作パネル６上の各種操作子やスイッチ等により設定された内容等を表示する表示器６１が設けられている。したがって、使用者は、この表示器６１を見ながら各種の操作や情報設定等を行うことができるようになされている。
また、操作パネル６には、上記各種操作子やスイッチ等として、自動演奏の開始（プレイ）／終了（ストップ）を指示するプレイ／ストップスイッチ６２と、どの曲を自動演奏するか又は編集するかを指示する選曲スイッチ６３と、編集処理の実行を指示する編集実行スイッチ６４と、編集を行う際の後述するカーブを指定するカーブスイッチ６５と、編集を行う際の後述する到達率を指定する到達率スイッチ６６と、どのパートを編集するかを指示するパートスイッチ６７と、編集を開始する小節を指定する開始小節スイッチ６８と、編集を終了する小節を指定する終了小節スイッチ６９とが設けられている。
【００１８】
音源回路７は、ＣＰＵ２により供給される自動演奏データに基づいて、ＲＯＭ３に格納されている楽音波形データを読み出して加工し、図示していないディジタル／アナログ変換器でアナログの楽音信号を生成して増幅器８に供給する。
したがって、音源回路７で生成された楽音信号が増幅器８で増幅された後、スピーカ９から放音されることとなる。
【００１９】
つぎに、図３〜図１４のフローチャートを用いて、ＣＰＵ２によって行われる自動演奏装置１００の動作について説明する。
【００２０】
この自動演奏装置１００では、上記図３〜図１４のフローチャートに従ったプログラムがＲＯＭ３に予め格納されており、これらのプログラムをＣＰＵ２が実行するようになされている。
【００２１】
上記図３はメイン処理であり、自動演奏装置１００が電源ＯＮ状態となると、このメイン処理が実行される。
【００２２】
すなわち、ＣＰＵ２は、装置全体の初期化処理を行った後（ステップＳ３０１）、パネル処理（ステップＳ３０２）、自動演奏処理（ステップＳ３０３）、及び外部Ｉ／Ｆ５からの入力データ等に対する処理（ステップＳ３０４）を順次行って、ステップＳ３０２のパネル処理に戻る。
【００２３】
また、上記自動演奏処理において自動演奏を実行する場合、ＣＰＵ２は、自動演奏する曲のテンポに応じたタイマを作成し、上記図４に示すようなタイマ割込処理を実行する。これにより、自動演奏する曲のテンポに応じた速さでタイマクロックがインクリメントされる（ステップＳ４０１）。
【００２４】
上記図５は、上記図３のメイン処理で示したパネル処理（ステップＳ３０２）を具体的に示すフローチャートである。
【００２５】
このパネル処理では、先ず、ＣＰＵ２は、操作パネル６上のプレイ／ストップスイッチ６２が押されたか否かを判別する（ステップＳ５０１）。
【００２６】
ステップＳ５０１の判別の結果、プレイ／ストップスイッチ６２が押されている場合、ＣＰＵ２は、プレイ／ストップ処理を実行して（ステップＳ５０２）、次のステップＳ５０３の処理に進む。
【００２７】
ステップＳ５０１の判別の結果、プレイ／ストップスイッチ６２が押されていない場合、又はステップＳ５０２のプレイ／ストップ処理の後、ＣＰＵ２は、操作パネル６上の選曲スイッチ６３が押されたか否かを判別する（ステップＳ５０３）。
【００２８】
ステップＳ５０３の判別の結果、選曲スイッチ６３が押されている場合、ＣＰＵ２は、選曲処理を実行して（ステップＳ５０４）、次のステップＳ５０５の処理に進む。
【００２９】
ステップＳ５０３の判別の結果、選曲スイッチ６３が押されていない場合、又はステップＳ５０４の選曲処理の後、ＣＰＵ２は、操作パネル６上の編集実行スイッチ６４が押されたか否かを判別する（ステップＳ５０５）。
【００３０】
ステップＳ５０５の判別の結果、編集実行スイッチ６４が押されている場合、ＣＰＵ２は、編集処理を実行して（ステップＳ５０６）、次のステップＳ５０７の処理に進む。
【００３１】
ステップＳ５０５の判別の結果、編集実行スイッチ６４が押されていない場合、又はステップＳ５０６の編集処理の後、ＣＰＵ２は、操作パネル６上のカーブスイッチ６５が押されたか否かを判別する（ステップＳ５０７）。
【００３２】
ステップＳ５０７の判別の結果、カーブスイッチ６５が押されている場合、ＣＰＵ２は、カーブ変更処理を実行して（ステップＳ５０８）、次のステップＳ５０９の処理に進む。
【００３３】
ステップＳ５０７の判別の結果、カーブスイッチ６５が押されていない場合、又はステップＳ５０８のカーブ変更処理の後、ＣＰＵ２は、操作パネル６上の到達率スイッチ６６が押されたか否かを判別する（ステップＳ５０９）。
【００３４】
ステップＳ５０９の判別の結果、到達率スイッチ６６が押されている場合、ＣＰＵ２は、到達率変更処理を実行して（ステップＳ５１０）、次のステップＳ５１１の処理に進む。
【００３５】
ステップＳ５０９の判別の結果、到達率スイッチ６６が押されていない場合、又はステップＳ５１０の到達率変更処理の後、ＣＰＵ２は、操作パネル６上のパートスイッチ６７が押されたか否かを判別する（ステップＳ５１１）。
【００３６】
ステップＳ５１１の判別の結果、パートスイッチ６７が押されている場合、ＣＰＵ２は、編集対象パート変更処理を実行して（ステップＳ５１２）、次のステップＳ５１３の処理に進む。
【００３７】
ステップＳ５１１の判別の結果、パートスイッチ６７が押されていない場合、又はステップＳ５１２の編集対象パート変更処理の後、ＣＰＵ２は、操作パネル６上の開始小節スイッチ６８が押されたか否かを判別する（ステップＳ５１３）。
【００３８】
ステップＳ５１３の判別の結果、開始小節スイッチ６８が押されている場合、ＣＰＵ２は、開始小節変更処理を実行して（ステップＳ５１４）、次のステップＳ５１５の処理に進む。
【００３９】
ステップＳ５１３の判別の結果、開始小節スイッチ６８が押されていない場合、又はステップＳ５１４の開始小節変更処理の後、ＣＰＵ２は、操作パネル６上の終了小節スイッチ６９が押されたか否かを判別する（ステップＳ５１５）。
【００４０】
ステップＳ５１５の判別の結果、終了小節スイッチ６９が押されている場合、ＣＰＵ２は、終了小節変更処理を実行して（ステップＳ５１６）、上記図３のメイン処理にリターンする。
【００４１】
ステップＳ５１５の判別の結果、終了小節スイッチ６９が押されていない場合には、ＣＰＵ２は、そのまま上記図３のメイン処理にリターンする。
【００４２】
上述のように、パネル処理では、操作パネル６上の各スイッチ状態を検出して、その状態に基づいて各種処理を行う。
【００４３】
上記図６は、上記図５のパネル処理で示したプレイ／ストップ処理（ステップＳ５０２）を具体的に示すフローチャートである。
【００４４】
ここで、この自動演奏装置１００では、例えば、装置が自動演奏実行中であるか否かを示すプレイフラグが設けられており、このプレイフラグは、装置が自動演奏実行中であるときには「１」に設定され、装置が自動演奏実行中でないときには「０」に設定されるようになされている。
【００４５】
そこで、このプレイ／ストップ処理では、先ず、ＣＰＵ２は、上記プレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ６０１）。
【００４６】
ステップＳ６０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、上記プレイフラグを「０」にクリアして（ステップＳ６０４）、自動演奏を終了させる処理（楽音を消去させる処理）を行う（ステップＳ６０５）。
【００４７】
ステップＳ６０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、上記プレイフラグを「１」にセットする（ステップＳ６０２）。
そして、ＣＰＵ２は、自動演奏を開始させる処理を行う（ステップＳ６０３）。具体的には、後述する選曲処理で得られた曲番号に対応する自動演奏データの先頭のポインタをパート毎にセットして、上記図３に示した自動演奏処理（ステップＳ３０３）を実行する。
【００４８】
上述のような自動演奏終了処理（ステップＳ６０５）又は自動演奏開始処理（ステップＳ６０３）の後、ＣＰＵ２は上記図５のパネル処理にリターンする。
【００４９】
上記図７は、上記図５のパネル処理で示した選曲処理（ステップＳ５０４）を具体的に示すフローチャートである。
【００５０】
ここで、この自動演奏装置１００では、上述したように複数曲分の自動演奏データがＲＡＭ４に記憶されており、それらの曲のうちどの曲を自動演奏するか、或いは、どの曲の自動演奏データを編集するかは、選曲スイッチ６３を押すことにより選択できるようになされている。そして、選曲スイッチ６３が押される度に、曲番号がインクリメントし、このときの曲番号が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で曲番号を確認しながら選曲スイッチ６３を操作することで、所望の曲を選択できる。
【００５１】
そこで、この選曲処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ７０１）。
【００５２】
ステップＳ６０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００５３】
ステップＳ６０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶された曲番号を次の曲の番号に更新して（ステップＳ７０２）、上記図５のパネル処理にリターンする。
【００５４】
上記図８は、上記図５のパネル処理で示した編集対象パート変更処理（ステップＳ５１２）を具体的に示すフローチャートである。
【００５５】
ここで、この自動演奏装置１００では、パート毎に自動演奏データの編集を行うことができ、どのパートの編集を行うかは、パートスイッチ６７を押すことにより選択できるようになされている。例えば、選曲スイッチ６３の操作により上述した選曲処理（ステップＳ５０４）が行われた結果、編集する曲番号が得られると、次にパートスイッチ６７を操作することにより、その編集する曲番号に対応した自動演奏データのどのパートの自動演奏データを編集するかを指定することができる。すなわち、パートスイッチ６７が押される度に、編集対象となるパートが、パート１、パート２、・・・へと順次変わり、現在どのパートが編集対象となっているかの情報が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で確認しながらパートスイッチ６７を操作することで、所望のパートを選択できる。
【００５６】
そこで、この編集対象パート変更処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ８０１）。
【００５７】
ステップＳ８０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００５８】
ステップＳ８０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶された編集対象パートを示す情報を次のパートを示す情報に更新して（ステップＳ８０２）、上記図５のパネル処理にリターンする。
【００５９】
上記図９は、上記図５のパネル処理で示した開始小節変更処理（ステップＳ５１４）を具体的に示すフローチャートである。
【００６０】
ここで、この自動演奏装置１００では、選曲スイッチ６３とパートスイッチ６７を順次操作して、上述した選曲処理（ステップＳ５０４）と編集対象パート変更処理（ステップＳ５１２）が順次実行された結果、編集する曲が決定し、その曲のどのパートを編集するかが決定した後、開始小節スイッチ６８を押すことにより、編集対象の自動演奏データにおいて、編集を開始する小節を指定できるようになされている。すなわち、開始小節スイッチ６８が押される度に、小節番号が、１、２、・・・へと順次変わり、現在の小節番号が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で確認しながら開始小節スイッチ６８を操作することで、間引き編集を開始したい小節を指定できる。
【００６１】
そこで、この開始小節変更処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ９０１）。
【００６２】
ステップＳ９０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００６３】
ステップＳ９０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶された開始小節番号を示す情報を次の小節の番号に更新して（ステップＳ９０２）、上記図５のパネル処理にリターンする。
【００６４】
上記図１０は、上記図５のパネル処理で示した終了小節変更処理（ステップＳ５１６）を具体的に示すフローチャートである。
【００６５】
ここで、この自動演奏装置１００では、上述したようにして、開始小節スイッチ６８により編集を開始する小節が決定した後、終了小節スイッチ６９を押すことにより、編集を終了する小節を指定できるようになされている。すなわち、終了小節スイッチ６９が押される度に、小節番号が、１、２、・・・へと順次変わり、現在の小節番号が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で確認しながら終了小節スイッチ６９を操作することで、編集を終了したい小節を指定できる。これにより、例えば、上記図１９に示すように、ある曲のパート２の自動演奏データＰart ２に対して、２小節ｎ2 〜４小節ｎ4 にクレッシェンドやデクレッシェンドを付加する編集を行うことを指定できる。
【００６６】
そこで、この終了小節変更処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ１００１）。
【００６７】
ステップＳ１００１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００６８】
ステップＳ１００１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶された終了小節番号を示す情報を次の小節の番号に更新して（ステップＳ１００２）、上記図５のパネル処理にリターンする。
【００６９】
尚、上述した開始小節変更処理（ステップＳ５１４）及び終了小節変更処理（ステップＳ５１６）は、「開始小節番号」と「終了小節番号」が逆転しないようになされている。例えば、「開始小節番号≦終了小節番号」の関係が常に成り立つようになされており、開始小節番号と終了小節番号が同じ値に設定された場合には、その値の小節のみを編集することとする。
【００７０】
上記図１１は、上記図５のパネル処理で示した到達率変更処理（ステップＳ５１０）を具体的に示すフローチャートである。
【００７１】
ここで、この自動演奏装置１００では、上述のようにして、選曲スイッチ６３、パートスイッチ６７、開始小節スイッチ６８及び終了小節スイッチ６９を順次操作して、上述した選曲処理（ステップＳ５０４）、編集対象パート変更処理（ステップＳ５１２）、開始小節変更処理（ステップＳ５１４）及び終了小節変更処理（ステップＳ５１６）が順次実行された結果、編集する曲が決定し、その曲のどのパートを編集するかが決定し、さらにそのパートの自動演奏データのどの小節を編集するかが決定した後、到達率スイッチ６６を押すことにより、編集対象小節における音の強弱を指定できるようになされている。
【００７２】
ここで言う「到達率」とは、例えば、１００％を基準として、２００％が最も強く、０％が最も弱いものとし、どの％値を目標に徐々に強くするか或いは弱くするかを示すものとする。そして、「到達率」は１０％刻みで指定することができるようになされている。
したがって、編集する小節にデクレッシェンドを付加したい場合には、到達率を「１０％〜９０％」の範囲内で設定し、クレッシェンドを付加したい場合には、到達率を「１１０％〜２００％」の範囲内で設定し、音の強弱に変化を持たせない場合（変更しない場合）には、到達率を「１００％」に設定すればよい。
【００７３】
図１５は、上記図１９に示した２小節ｎ2 〜４小節ｎ4 を編集する場合において、到達率を「１５０％」に設定した場合と「１０％」に設定した場合の音の強弱の変化を示したものである。
到達率を「１５０％」に設定した場合には、上記図１５中の直線Ａに示すように、１５０％を目標に徐々に音が強くなり、到達率を「１０％」に設定した場合には、上記図１５中の直線Ｂに示すように、１０％を目標に徐々に音が弱くなるようになされている。
【００７４】
尚、上記図１５では、説明の簡単のために、音の強弱の変化を直線Ａ，Ｂで示したが、このような音の強弱の変化を示す直線Ａ，Ｂについては後述する。
【００７５】
上述のような「到達率」を設定するのが到達率スイッチ６６であり、この到達率スイッチ６６が押される度に、「到達率」が１０％刻みで、１０、２０、・・・へと順次変わり、現在の到達率が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で確認しながら到達率スイッチ６６を操作することで、所望の到達率を指定できる。
【００７６】
そこで、この到達率変更処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ１１０１）。
【００７７】
ステップＳ１１０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００７８】
ステップＳ１１０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶された到達率を更新して（ステップＳ１１０２）、上記図５のパネル処理にリターンする。
【００７９】
上記図１２は、上記図５のパネル処理で示したカーブ変更処理（ステップＳ５０８）を具体的に示すフローチャートである。
【００８０】
ここで、この自動演奏装置１００では、上述した到達率変更処理（ステップＳ５１０）で到達率が決定されると、その決定した到達率に達するまでの音の強弱の変化、すなわち上記図１５では直線ＡやＢで示した変化を指定することができるようになされている。
【００８１】
例えば、ＲＯＭ３には、上述したような変化を図１６（ａ）〜（ｃ）に示すようなカーブ１〜３として予め記憶されており、これらのカーブ１〜３を、カーブスイッチ６５で指定できるようになされている。
【００８２】
すなわち、カーブスイッチ６５が押される度に、カーブ番号が、１、２、３と順次変わり、現在のカーブ番号が表示器６１に画面表示される。したがって、使用者は、表示器６１の画面で確認しながらカーブスイッチ６５を操作することで、所望のカーブを指定できる。
【００８３】
そこで、このカーブ変更処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ１２０１）。
【００８４】
ステップＳ１２０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００８５】
ステップＳ１２０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、内部メモリに記憶されたカーブ番号を更新して（ステップＳ１２０２）、上記図５のパネル処理にリターンする。
【００８６】
上記図１３は、上記図５のパネル処理で示した編集処理（ステップＳ５０６）を具体的に示すフローチャートである。
【００８７】
ここで、この自動演奏装置１００では、選曲スイッチ６３、パートスイッチ６７、開始小節スイッチ６８、終了小節スイッチ６９、到達率スイッチ６６、カーブスイッチ６５を順次操作して、上述した選曲処理（ステップＳ５０４）、編集対象パート変更処理（ステップＳ５１１）、開始小節変更処理（ステップＳ５１４）、終了小節変更処理（ステップＳ５１６）、到達率変更処理（ステップＳ５１０）、カーブ変更処理（ステップＳ５０８）が順次実行された後、編集実行スイッチ６４が押されると、この編集処理が実行されるようになされている。
したがって、この時点では、編集対象となる曲番号、パート、開始小節、終了小節、到達率、カーブ番号の情報がＣＰＵ２の内部メモリに記憶されている。
【００８８】
尚、説明の簡単のために、例えば、上記図１９に示すように、ある曲のパート２の自動演奏データＰart ２の２小節ｎ2 〜４小節ｎ4 に、クレッシェンド又はデクレッシェンドを付加する編集を行うように指定されたものとして、以下説明する。
また、ここでは、編集するデータを、例えば、音符データに含まれるベロシティ情報としている。
【００８９】
そこで、この編集処理では、先ず、ＣＰＵ２は、上述したプレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ１３０１）。
【００９０】
ステップＳ１３０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図５のパネル処理にリターンする。
【００９１】
ステップＳ１３０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、先ず、上述のようにして内部メモリに記憶した各種の情報を用いて、パート２の自動演奏データＰart ２の２小節ｎ2 の先頭ポインタＰS を読み出し開始位置（リードポインタ）として設定する（ステップＳ１３０２）。
【００９２】
次に、ＣＰＵ２は、開始小節と終了小節の差を求め、この差により、対象カーブの歩進割合を決定する（ステップＳ１３０３）。
これは、例えば、同じカーブ１でも、図１７（ａ）に示すように編集する小節数が４小節（ｎ2 〜ｎ5 ）、又は上記図１７（ｂ）に示すように７小節（ｎ2 〜ｎ8 ）というように、編集対象小節の数が異なると、歩進の割合も異なるためである。
【００９３】
次に、ＣＰＵ２は、ステップＳ１３０２で設定されたリードポインタからデータの読み出しを行う（ステップＳ１３０４）。
【００９４】
次に、ＣＰＵ２は、ステップＳ１３０４で読み出したデータが音符データであるか否かを判別する（ステップＳ１３０５）。
【００９５】
ステップＳ１３０５の判別の結果、音符データでなかった場合、ＣＰＵ２は、後述するステップＳ１３１１に進む。
【００９６】
ステップＳ１３０５の判別の結果、音符データであった場合、ＣＰＵ２は、開始小節からの位置とステップＳ１３０３で決定した歩進割合より、対象カーブから値ａ（φ〜１）を読み取る（ステップＳ１３０６）。
例えば、図１８に示すように、編集対象小節において、ＰR に位置するデータがステップＳ１３０４で読み出された場合、そのデータの対象データ（カーブ１）における位置を値ａとして読み取る。
すなわち、この値ａは、ステップＳ１３０４で読み出したデータが、対象カーブのどこに位置するのかを示す値である。
【００９７】
次に、ＣＰＵ２は、決定されている到達率（％）を、
ｂ＝（到達率−１００）／１００
なる式により、小数値ｂに変換する（ステップＳ１３０７）。
【００９８】
次に、ＣＰＵ２は、ベロシティ値を実際にどれだけ上下させるかの割合値ｃを、ステップＳ１３０６で得られた値「ａ」と、ステップＳ１３０７で得られた値「ｂ」を持って、
ｃ＝ａ×ｂ
なる式により求める（ステップＳ１３０８）。
【００９９】
次に、ＣＰＵ２は、現在のベロシティ値に対する割合ｄを、ステップＳ１３０８で得られた値「ｃ」を持って、
ｄ＝１＋ｃ
なる式により求める（ステップＳ１３０９）。
【０１００】
次に、ＣＰＵ２は、現在のベロシティ値と、ステップＳ１３０９で得られた値「ｄ」とを乗算して、その乗算結果を編集後のベロシティ値として、現在のリードポインタに書き込む（ステップＳ１３１０）。
【０１０１】
そして、ＣＰＵ２は、リードポインタを次のポインタに更新する（ステップＳ１３１１）。
【０１０２】
次に、ＣＰＵ２は、ステップＳ１３１１で更新されたリードポインタが最終小節である４小節ｎ4 の最終ポインタＰE となったか否かを判別する（ステップＳ１３１２）。
【０１０３】
ステップＳ１３１２の判別の結果、最終ポインタＰE となった場合に、ＣＰＵ２は上記図５のパネル処理にリターンし、未だ最終ポインタＰE となっていない場合には、ＣＰＵ２はステップＳ１３０４に戻る。
【０１０４】
上述のようにして、２小節ｎ2 〜４小節ｎ4 の音符データに含まれるベロシティ情報が編集され、２小節ｎ2 〜４小節ｎ4 には、任意のカーブでクレッシェンドやデクレッシェンドが付加されることとなる。
【０１０５】
上記図１４は、上記図３のパネル処理で示した自動演奏処理（ステップＳ３０３）を具体的に示すフローチャートである。
【０１０６】
尚、この自動演奏処理は、各パート毎に行われる処理であり、以下説明の簡単のために、ある１つのパートの自動演奏データに対する自動演奏処理についてのみ説明する。
【０１０７】
ここで、この自動演奏装置１００では、自動演奏が実行されていない時に選曲スイッチ６３で自動演奏する曲が選択され、プレイ／ストップスイッチ６２が押されると、上述した選曲処理（ステップＳ５０４）及びプレイ／ストップ処理（ステップＳ５０２）が実行され、その後この自動演奏処理が実行されるようになされている。また、このとき、上記図４に示したタイマ割込処理も実行される。したがって、この時点では、上述したプレイフラグは「１」に設定されており、自動演奏する曲番号に対応する自動演奏データの先頭のポインタ（リードポインタ）がパート毎に設定されている。また、自動演奏する曲のテンポに応じた速さでタイマクロックがインクリメントされる。
【０１０８】
すなわち、先ず、ＣＰＵ２は、上記プレイフラグにより、装置が自動演奏実行中であるか否かを判別する（ステップＳ１４０１）。
【０１０９】
ステップＳ１４０１の判別の結果、装置が自動演奏実行中である場合、ＣＰＵ２は、そのまま上記図３のメイン処理にリターンする。
【０１１０】
ステップＳ１４０１の判別の結果、装置が自動演奏実行中でない場合、ＣＰＵ２は、上述のようにして設定されたリードポインタから自動演奏データを読み出す（ステップＳ１４０２）。
【０１１１】
次に、ＣＰＵ２は、ステップＳ１４０２で読み出したデータに含まれる時間情報と、上記図４に示したタイマ割込処理で発生するタイマクロックとが一致するか否かを判別する（ステップＳ１４０３）。
尚、上記時間情報は、演奏開始時間等を含む情報であり、自動演奏データ中の各データが有するものである。したがって、読み出したデータの時間情報と、タイマ割込処理で発生するタイマクロックとを比較することにより、その読み出したデータが演奏すべき時であるか否かを判別することができる。
【０１１２】
ステップＳ１４０３の判別の結果、読み出したデータの時間情報とタイマクロックが一致していた場合、ＣＰＵ２は、そのデータに対して演奏処理を行う（ステップＳ１４０４）。これにより、そのデータに基づいた楽音がスピーカ９から放音される。
そして、ＣＰＵ２は、リードポインタを次のデータの読み出し位置を示すポインタに更新して（ステップＳ１４０５）、ステップＳ１４０２の処理に戻る。
【０１１３】
ステップＳ１４０３の判別の結果、読み出したデータの時間情報とタイマクロックが一致していなかった場合、ＣＰＵ２は、そのまま上記図３のメイン処理にリターンする。
【０１１４】
上述のように、自動演奏装置１００では、複雑な操作を行うこと無しに、自動演奏データの任意の部分にクレシェンドやデクレッシェンドを後から付加する編集を行えるように構成したことにより、自由度の高い編集を効率よく行うことができる。
また、クレシェンドやデクレッシェンドを付加する際に、カーブをつけるようにすると共に、そのカーブを任意に選択できるように構成したことにより、さらに自由度の高い編集を行うことができる。
【０１１５】
尚、上述した自動演奏装置１００では、編集するデータをベロシティ情報としたが、これに限らず、ボリューム情報やエクスプレッション情報等でもよい。
【０１１６】
また、上記図１６（ａ）〜（ｃ）に示したようなカーブ１〜３は、予め用意されていることとしたが、使用者が任意にカーブを作成するようにしてもよい。
【０１１７】
【発明の効果】
以上説明したように、本発明によれば、記憶している複数のカーブの中から所望のカーブを選択するだけで、編集部分に含まれるベロシティ情報、ボリューム情報、又はエクスプレッション情報を所望する通りに編集することができる。これにより、前記編集部分における音を、前記指定されたカーブに従って徐々に強くなるようにしたり、又は徐々に弱くなるようにしたりする編集を簡単な操作を行うだけで可能となり、様々な変化を持ったクレッシェンド又はデクレッシェンドを簡単な操作を行うだけで付加することができ、自由度の高い編集を効率よく行うことができる。
【図面の簡単な説明】
【図１】本発明に係る自動演奏装置を適用した自動演奏装置の構成を示すブロック図である。
【図２】上記自動演奏装置の操作パネルを説明するための図である。
【図３】上記自動演奏装置のＣＰＵが実行するメイン処理を示すフローチャートである。
【図４】自動演奏時に実行されるタイマ割込処理を示すフローチャートである。
【図５】上記メイン処理のパネル処理を示すフローチャートである。
【図６】上記パネル処理のプレイ／ストップ処理を示すフローチャートである。
【図７】上記パネル処理の選曲処理を示すフローチャートである。
【図８】上記パネル処理の編集対象パート変更処理を示すフローチャートである。
【図９】上記パネル処理の開始小節変更処理を示すフローチャートである。
【図１０】上記パネル処理の終了小節変更処理を示すフローチャートである。
【図１１】上記パネル処理の到達率変更処理を示すフローチャートである。
【図１２】上記パネル処理のカーブ変更処理を示すフローチャートである。
【図１３】上記パネル処理の編集処理を示すフローチャートである。
【図１４】上記メイン処理の自動演奏処理を示すフローチャートである。
【図１５】「到達率」を説明するための図である。
【図１６】設定するカーブを説明するための図である。
【図１７】カーブの歩進割合を求める処理を説明するための図である。
【図１８】対象データがカーブのどの位置にあるのかを求める処理を説明するための図である。
【図１９】ある１曲の自動演奏データの構成の一例を説明するための図である。
【符号の説明】
１      バスライン
２      ＣＰＵ
３      ＲＯＭ
４      ＲＡＭ
５      外部Ｉ／Ｆ
６      操作パネル
７      音源回路
８      増幅器
９      スピーカ
１００  自動演奏装置
【図１】
0003658128.tif 000002
【図２】
0003658128.tif 000003
【図３】
0003658128.tif 000004
【図４】
0003658128.tif 000005
【図５】
0003658128.tif 000006
【図６】
0003658128.tif 000007
【図７】
0003658128.tif 000008
【図８】
0003658128.tif 000009
【図９】
0003658128.tif 000010
【図１０】
0003658128.tif 000011
【図１１】
0003658128.tif 000012
【図１２】
0003658128.tif 000013
【図１３】
0003658128.tif 000014
【図１４】
0003658128.tif 000015
【図１５】
0003658128.tif 000016
【図１６】
0003658128.tif 000017
【図１７】
0003658128.tif 000018
【図１８】
0003658128.tif 000019
【図１９】
0003658128.tif 000020