(57)【要約】 【課題】  スプリット機能に必要な各鍵域の音色の設定、あるいは分割位置の設定を忘れた場合でも、最も適切と思われる音色あるいは分割位置を有するスプリット機能に自動的に設定されるようにする。【解決手段】  スプリット機能に設定した際、分割位置、上下鍵域に割当てられるべき音色の一部が設定し忘れていると判別された場合は（ステップＳ７１）、過去の設定状態の履歴を記憶したＳＰＬＩＴ［］から、記憶されている分割位置あるいは音色が同じように設定されたものを検索する（ステップＳ７２〜Ｓ７４）。そしてこの検索された分割位置あるいは音色を設定し忘れたデータの代わりに用いる（ステップＳ７５〜Ｓ７７）。同じものが見つからない場合は、予め定められた分割位置及び音色を設定させ（ステップＳ７９〜Ｓ８１）、また、全部設定し忘れている場合は、過去最も設定回数の多いスプリット機能の設定状態とする（ステップＳ８２、Ｓ８３）【選択図】図１０
2010079167.tif 000002
【特許請求の範囲】
【請求項１】
鍵盤と、
音色毎に設けられ、外部操作により対応する音色を選択する音色選択手段と、
この鍵盤を上鍵域と下鍵域とに分割する分割位置を指定する分割位置指定手段と、
前記鍵盤の上鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第１のレジスタと、
前記鍵盤の下鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第２のレジスタと、
前記分割位置を記憶可能な分割位置記憶手段と、
前記音色選択手段による音色の選択に応答して、当該選択された音色に対応する音色データを前記第１及び第２のレジスタの少なくとも一方に記憶させる音色設定手段と、
前記分割位置指定手段による分割位置の指定に応答して、当該指定された分割位置を前記分割位置記憶手段に記憶させる分割位置設定手段と、
前記第１、第２のレジスタ及び分割位置記憶手段に記憶された内容を１組とした履歴データとして記憶可能な履歴記憶手段と、
スプリット機能の設定及び非設定のいずれか指定するスプリット機能指定手段と、
このスプリット機能設定手段によりスプリット機能が設定されたとき、前記第１、第２のレジスタ及び分割位置記憶手段の少なくとも一つにデータが記憶されていない場合に、データの記憶されている前記第１、第２のレジスタ及び分割位置記憶手段の内容に基づいて前記履歴記憶手段から前記一組のデータを検索する検索手段と、
この検索手段により検索された一組のデータを、前記記憶されていない前記第１、第２レジスタ及び分割位置記憶手段に記憶させる第１の記憶制御手段と、
前記スプリット機能設定手段によりスプリット機能が非設定とされたとき、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容に基づいて前記履歴記憶手段の内容を更新する履歴更新手段と、
を有する音色指定装置。
【請求項２】
前記分割位置指定手段は、前記鍵盤で押鍵された鍵の位置を前記分割位置として指定することを特徴とする請求項１記載の音色指定装置。
【請求項３】
前記履歴記憶手段は、前記一組のデータを記憶するエリア毎に回数を記憶するエリアが付加され、
前記履歴更新手段は、前記スプリット機能設定手段によりスプリット機能が非設定とされたときに、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容を一組とするデータと同一のデータが前記履歴記憶手段に記憶されているか判別する判別手段と、この判別手段により記憶されていないと判別されたなら、当該分割位置記憶手段、第１及び第２のレジスタに記憶された内容を新たな一組のデータとして前記履歴記憶手段に記憶するとともに、記憶されていると判別されたなら、前記履歴記憶手段に記憶されている同一の一組のデータに対応して記憶されている回数をインクリメントする更新制御手段と、を有する請求項１記載の音色指定装置。
【請求項４】
前記検索手段は、前記履歴記憶手段から複数組のデータが検索された場合、当該複数組のデータのうちで、対応して記憶されている回数の値が最も大きい一組のデータを選択する請求項１記載の音色指定装置。
【請求項５】
前記検索手段は、前記履歴記憶手段から前記一組のデータが検索されない場合、予め定められた音色及び分割位置のデータからなる組のデータを選択された一組のデータとする請求項１記載の音色指定装置。
【請求項６】
前記スプリット機能設定手段によりスプリット機能が設定されたときに、前記第１、第２のレジスタ及び分割位置記憶手段全てに記憶されていない場合は、前記履歴更新手段に記憶された回数が最大の値に対応する組のデータを、前記第１、第２のレジスタ及び分割位置記憶手段の夫々に記憶させる第２の記憶制御手段をさらに有する請求項３記載の音色指定装置。
【請求項７】
請求項１記載の音色指定装置と、
上記鍵盤の鍵の押鍵を検出する押鍵検出手段と、
スプリット機能が設定されている場合に、この押鍵検出手段により押鍵の検出された鍵が前記上鍵域及び下鍵域のいずれに含まれるかを判別する判別手段と、
この判別手段により上鍵域に含まれると判別された場合は、前記押鍵された鍵に対応する音高及び前記第１のレジスタに記憶された音色データで示される音色に基づいた楽音の発生を音源に指示するとともに、下鍵域に含まれると判別された場合は、前記押鍵された鍵に対応する音高及び前記第２のレジスタに記憶された音色データで示される音色に基づいた楽音の発生を前記音源に指示する第１の発音指示手段と、
スプリット機能が設定されていない場合に、前記押鍵された鍵に対応する音高及び前記音色選択手段により選択された音色に基づいた楽音の発生を音源に指示する第２の発音指示手段と、
を有する電子楽器。
【請求項８】
鍵盤と、音色毎に設けられ、外部操作により対応する音色を選択する音色選択手段と、この鍵盤を上鍵域と下鍵域とに分割する分割位置を指定する分割位置指定手段と、前記鍵盤の上鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第１のレジスタと、前記鍵盤の下鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第２のレジスタと、前記分割位置を記憶可能な分割位置記憶手段と、前記第１、第２のレジスタ及び分割位置記憶手段に記憶された内容を１組とした履歴データとして記憶可能な履歴記憶手段と、スプリット機能の設定及び非設定のいずれか指定するスプリット機能指定手段と、を有する音色設定装置に適用されるコンピュータに、
前記音色選択手段による音色の選択に応答して、当該選択された音色に対応する音色データを前記第１及び第２のレジスタの少なくとも一方に記憶させる音色設定ステップと、
前記分割位置指定手段による分割位置の指定に応答して、当該指定された分割位置を前記分割位置記憶手段に記憶させる分割位置設定ステップと、
前記スプリット機能設定手段によりスプリット機能が設定されたとき、前記第１、第２のレジスタ及び分割位置記憶手段の少なくとも一つにデータが記憶されていない場合に、データの記憶されている前記第１、第２のレジスタ及び分割位置記憶手段の内容に基づいて前記履歴記憶手段から前記一組のデータを検索する検索ステップと、
この検索された一組のデータを、前記記憶されていない前記第１、第２レジスタ及び分割位置記憶手段に記憶させる第１の記憶制御ステップと、
前記スプリット機能設定手段によりスプリット機能が非設定とされたとき、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容に基づいて前記履歴記憶手段の内容を更新する履歴更新ステップと、
を実行させる音色指定処理のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音色指定装置、電子楽器及び音色指定処理のプログラムに関する。
【背景技術】
【０００２】
従来、ひとつの楽器で複数の異なる音色の楽音を発音ざせるものとしては、スプリット、デュアルなどの機能が知られている。スプリットは、電子楽器の鍵盤が複数の鍵域に分割され、鍵域毎に異なる音色が割り当てられる。デュアルは鍵盤のひとつの鍵の操作で複数種類の音色の楽音が同時に発音されるものである。
この従来のスプリット機能は、まずスプリットスイッチ等でスプリットモードとし、鍵盤を例えば、上鍵域と下鍵域などの複数の鍵域に分割し、鍵域毎に異なる音色を指定して割り当てる。さらには、この鍵域の分割位置もユーザの操作により変更可能である。例えば、鍵盤のいずれかの鍵を押鍵操作することにより、この鍵のある位置を分割位置に指定する。
ここで、各鍵域の音色の少なくとも一方の設定を忘れた場合に、設定を忘れなかった他方の音色を、設定を忘れた鍵域に自動的に設定したり、両方の鍵域で音色の設定を忘れてしまったときは、所望の音色を全鍵域に設定するような提案もなされている（例えば特許文献１）。
【０００３】
【特許文献１】特開平５−３３３８６０公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のような構成では、設定忘れが生じた場合に、押鍵しても発音しないという事態は防止できるものの、全鍵域にひとつの音色が割り当てられる、いわゆるノーマル機能に自動的に設定されることは、あくまでもスプリット機能を設定したと認識しているユーザにとっては、非常に違和感があり、故障と誤認識する恐れがある。
また、スプリット機能においては、各鍵域に割り当てられる音色を設定することも必要であるが、それ以外に鍵盤を鍵域毎に分割する分割位置の設定も当然なさねればならないが、ユーザがこの設定を忘れる場合もある。
このような分割位置の設定忘れは、特許文献１の構成では対処することができない。
【０００５】
本発明の目的は、スプリット機能に必要な各鍵域の音色の設定、あるいは分割位置の設定を忘れた場合でも、最も適切と思われる音色あるいは分割位置を有するスプリット機能に自動的に設定されるようにすることにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本願発明は、鍵盤と、音色毎に設けられ、外部操作により対応する音色を選択する音色選択手段と、この鍵盤を上鍵域と下鍵域とに分割する分割位置を指定する分割位置指定手段と、前記鍵盤の上鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第１のレジスタと、前記鍵盤の下鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第２のレジスタと、前記分割位置を記憶可能な分割位置記憶手段と、前記音色選択手段による音色の選択に応答して、当該選択された音色に対応する音色データを前記第１及び第２のレジスタの少なくとも一方に記憶させる音色設定手段と、前記分割位置指定手段による分割位置の指定に応答して、当該指定された分割位置を前記分割位置記憶手段に記憶させる分割位置設定手段と、前記第１、第２のレジスタ及び分割位置記憶手段に記憶された内容を１組とした履歴データとして記憶可能な履歴記憶手段と、スプリット機能の設定及び非設定のいずれか指定するスプリット機能指定手段と、このスプリット機能設定手段によりスプリット機能が設定されたとき、前記第１、第２のレジスタ及び分割位置記憶手段の少なくとも一つにデータが記憶されていない場合に、データの記憶されている前記第１、第２のレジスタ及び分割位置記憶手段の内容に基づいて前記履歴記憶手段から前記一組のデータを検索する検索手段と、この検索手段により検索された一組のデータを、前記記憶されていない前記第１、第２レジスタ及び分割位置記憶手段に記憶させる第１の記憶制御手段と、前記スプリット機能設定手段によりスプリット機能が非設定とされたとき、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容に基づいて前記履歴記憶手段の内容を更新する履歴更新手段と、を有することを特徴とする。
【０００７】
また、前記分割位置指定手段は、前記鍵盤で押鍵された鍵の位置を前記分割位置として指定することが望ましい。
【０００８】
また、前記履歴記憶手段は、前記一組のデータを記憶するエリア毎に回数を記憶するエリアが付加され、前記履歴更新手段は、前記スプリット機能設定手段によりスプリット機能が非設定とされたときに、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容を一組とするデータと同一のデータが前記履歴記憶手段に記憶されているか判別する判別手段と、この判別手段により記憶されていないと判別されたなら、当該分割位置記憶手段、第１及び第２のレジスタに記憶された内容を新たな一組のデータとして前記履歴記憶手段に記憶するとともに、記憶されていると判別されたなら、前記履歴記憶手段に記憶されている同一の一組のデータに対応して記憶されている回数をインクリメントする更新制御手段と、を有することが望ましい。
【０００９】
また、前記検索手段は、前記履歴記憶手段から複数組のデータが検索された場合、当該複数組のデータのうちで、対応して記憶されている回数の値が最も大きい一組のデータを選択することが望ましい。
【００１０】
また、前記検索手段は、前記履歴記憶手段から前記一組のデータが検索されない場合、予め定められた音色及び分割位置のデータからなる組のデータを選択された一組のデータとすることが望ましい。
【００１１】
また、前記スプリット機能設定手段によりスプリット機能が設定されたときに、前記第１、第２のレジスタ及び分割位置記憶手段全てに記憶されていない場合は、前記履歴更新手段に記憶された回数が最大の値に対応する組のデータを、前記第１、第２のレジスタ及び分割位置記憶手段の夫々に記憶させる第２の記憶制御手段をさらに有することが望ましい。
【００１２】
また、本願発明は、この音色指定装置と、上記鍵盤の鍵の押鍵を検出する押鍵検出手段と、スプリット機能が設定されている場合に、この押鍵検出手段により押鍵の検出された鍵が前記上鍵域及び下鍵域のいずれに含まれるかを判別する判別手段と、この判別手段により上鍵域に含まれると判別された場合は、前記押鍵された鍵に対応する音高及び前記第１のレジスタに記憶された音色データで示される音色に基づいた楽音の発生を音源に指示するとともに、下鍵域に含まれると判別された場合は、前記押鍵された鍵に対応する音高及び前記第２のレジスタに記憶された音色データで示される音色に基づいた楽音の発生を前記音源に指示する第１の発音指示手段と、スプリット機能が設定されていない場合に、前記押鍵された鍵に対応する音高及び前記音色選択手段により選択された音色に基づいた楽音の発生を音源に指示する第２の発音指示手段と、を有することを特徴とする。
【００１３】
また、本願発明は、鍵盤と、音色毎に設けられ、外部操作により対応する音色を選択する音色選択手段と、この鍵盤を上鍵域と下鍵域とに分割する分割位置を指定する分割位置指定手段と、前記鍵盤の上鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第１のレジスタと、前記鍵盤の下鍵域に含まれる鍵の押鍵に対応して発音される楽音の音色に対応する音色データが記憶可能な第２のレジスタと、前記分割位置を記憶可能な分割位置記憶手段と、前記第１、第２のレジスタ及び分割位置記憶手段に記憶された内容を１組とした履歴データとして記憶可能な履歴記憶手段と、スプリット機能の設定及び非設定のいずれか指定するスプリット機能指定手段と、を有する音色設定装置に適用されるコンピュータに、前記音色選択手段による音色の選択に応答して、当該選択された音色に対応する音色データを前記第１及び第２のレジスタの少なくとも一方に記憶させる音色設定ステップと、前記分割位置指定手段による分割位置の指定に応答して、当該指定された分割位置を前記分割位置記憶手段に記憶させる分割位置設定ステップと、前記スプリット機能設定手段によりスプリット機能が設定されたとき、前記第１、第２のレジスタ及び分割位置記憶手段の少なくとも一つにデータが記憶されていない場合に、データの記憶されている前記第１、第２のレジスタ及び分割位置記憶手段の内容に基づいて前記履歴記憶手段から前記一組のデータを検索する検索ステップと、この検索された一組のデータを、前記記憶されていない前記第１、第２レジスタ及び分割位置記憶手段に記憶させる第１の記憶制御ステップと、前記スプリット機能設定手段によりスプリット機能が非設定とされたとき、前記分割位置記憶手段、第１及び第２のレジスタに記憶された内容に基づいて前記履歴記憶手段の内容を更新する履歴更新ステップと、を実行させることを特徴とする。
【発明の効果】
【００１４】
スプリット機能においては、各鍵域に割り当てられる音色及び分割位置は、少数の例外を除いて、ある程度固定される場合が多い。つまり過去に設定された音色や分割位置と同じ設定にする可能性が非常に高い。本願発明は、この点に着目し、設定忘れが生じた鍵域の音色や分割位置に対して、過去に最も多く設定された音色あるいは分割位置を自動的に設定するようにしたものである。これにより、たとえスプリット機能に必要な音色あるいは分割位置の設定を忘れた場合でも、最も適切と思われる音色あるいは分割位置が自動的に設定されるため、押鍵しても発音がなされないという最悪の事態を防止できるばかりでなく、ノーマル機能になってユーザに違和感を生じさせることもなくなる。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づいて本発明の実施形態について説明する。
図１は、本発明の音色設定装置を適用した電子楽器のブロック図である。
図において、ＣＰＵ１は、プログラムＲＯＭ２に記憶されたプログラムに基づき、この電子楽器全体の処理動作を制御するものである。またこのプログラムＲＯＭ２には、複数種の音色データも記憶されている。そしてＲＡＭ３は、このＣＰＵ１の処理に用いられるデータを一時的に記憶するものであり、後述するレジスタ群、あるいは過去に鍵域夫々に設定された音色毎の回数、さらには分割位置毎の回数を記憶するエリアも設けられている。
【００１６】
ＳＷ部４は、発生すべき楽音の音色を指定するための音色スイッチ群、スプリットスイッチ、鍵域指定スイッチ、モードスイッチを含む。
音色スイッチ群は、前述のプログラムＲＯＭ２に記憶された音色データ夫々に対応して独立したスイッチを有している。鍵域指定スイッチは、音色を割り当てるべき鍵域を指定するスイッチであり、本実施形態においては、上鍵域及び下鍵域のいずれかを指定するように構成される。また、モードスイッチは、スプリット機能に必要な音色あるいは分割位置を設定するモードと、通常演奏を行うモードに切り換えるスイッチである。そしてスプリットスイッチは、スプリット機能の設定・非設定を切り換えるスイッチである。
【００１７】
また鍵盤５は、楽音の発音・消音及びその音高を指定するものであり、音源部６はＣＰＵ１から送出される音高及び音色に対応した楽音を生成して発音部７に供給して発音させるものである。
一方、表示部８は、鍵盤に割り当てられた音色の音色名、その他演奏に必要なパラメータを表示するものである。
【００１８】
図２は、図１のＲＡＭ３の記憶内容を示す図である。図において、ＳＰＬＩＴ［］は、スプリット機能の設定状態及びその設定回数を記憶するエリアであり、このエリアは設定されたスプリット機能の設定状態毎にエリアＳＰＬＩＴ［０］〜［Ｎ］に分割されている。
そしてＳＰＬＩＴ［０］には、分割位置に対応する鍵番号が記憶されるＳＰＮＯＴＥ［０］、上鍵域に割当てられた音色の音色番号を記憶するＵＰＮＴＯＮＥ［０］及び下鍵域に割当てられた音色の音色番号を記憶するＵＰＮＴＯＮＥ［０］が記憶される。本実施形態においては、この３種類のデータを一組としてスプリット機能の設定状態を表わすデータとしている。そしてＳＰＬＩＴ［０］には、さらにＮＵＭ［０］のエリアを有し、ここにはこのスプリット機能の設定状態を表わす一組のデータの設定回数が記憶される。他のＴＯＮＥＮＵＭ［１］〜［Ｎ］も同様である。
【００１９】
ＴＯＮＥは、音色スイッチ群により選択された音色に対応する音色番号が記憶され、ＵＰＰＥＲ及びＬＯＷＥＲは、上鍵域及び下鍵域の夫々に割当てられる音色に対応する音色番号が記憶される。
【００２０】
そして、ＵＰＦは、上鍵域に音色が割当てられたときに「０」から「１」になるフラグであり、ＳＰＦはスプリット機能が設定されたときに「０」から「１」になるフラグであり、さらにＭＦはスプリット機能に必要な音色あるいは分割位置を設定するモードで「１」、通常演奏を行うモードで「０」となるフラグである。
【００２１】
また、ＮＯＴＥは、押鍵された鍵を表わす鍵番号を記憶し、ＳＰＬＩＴは設定された分割位置としての鍵番号を記憶する。そしてＳＰＮＯＴＥ、ＵＰＮＯＴＥ及びＬＯＷＮＯＴＥは夫々、分割位置を表わす鍵番号、上下鍵域に記憶された音色を表わす音色番号を一時的に記憶する。
【００２２】
さらに、Ｎは、ＳＰＬＩＴ［］のエリアに記憶されている、スプリット機能の設定状態を表わすデータの個数を記憶するものであり、ｎは、ＳＰＬＩＴ［］を指定するためのポインタ値が記憶される。
【００２３】
図３は、図１のＣＰＵ１の動作を示すメインのフローチャートである。
まず電源が投入されると、ＣＰＵ１を初期状態に設定するとともに、ワークＲＡＭ３の内容をデフォルト値に設定するイニシャライズ処理を行なう（ステップＳ１）。続いてＳＷ処理にて、ＳＷ部４で操作されたスイッチの操作に基づいた処理を行なう（ステップＳ２）。そして鍵盤処理にて鍵盤５の押鍵・離鍵に基づく処理を行い（ステップＳ３）、その後、電子楽器に必要なその他の処理を行い（ステップＳ４）、再びステップ２に戻る。この一連の処理は、電源がオフされるまで繰り返される。
【００２４】
図４は、図３のイニシャライズ処理の詳細を示すフローチャートである。まず、ＲＡＭ３にある全てのフラグを「０」にし（ステップＳ１０）、続いてＳＰＬＩＴ［］及びＮを除くＲＡＭ３の内容をクリアする（ステップＳ１１）。次にＴＯＮＥに予め定められた音色を表わす音色番号を記憶させてこの処理を終了する（ステップＳ１２）。
【００２５】
ＳＰＬＩＴ［］は過去に記憶されたスプリット機能の設定状態を記憶するものであるので、電源のオンオフでは内容がクリアされてないように構成されている。また、ＮもこのＳＰＬＩＴ［］に記憶されているデータの個数であるため、これもクリアされない構成となっている。Ｎは電源オン毎にＳＰＬＩＴ［］にあるデータの個数をカウントしてその個数を記憶するようにしてもよい。
【００２６】
図５は、図３のスイッチ処理の詳細を示すフローチャートである。ここにおいては、モードスイッチ処理（ステップＳ２０）、鍵域指定スイッチ処理（ステップＳ２１）、音色スイッチ処理（ステップＳ２２）、スプリットスイッチ処理（ステップＳ２３）の順で処理がなされ、最後にその他のスイッチ処理（ステップＳ２４）を実行してこの処理を終了する。
【００２７】
図６は、図５のモードスイッチ処理の詳細を示すフローチャートである。まず、モードスイッチがオン操作されたか否か判別する（ステップＳ３０）。ここで操作されていないと判別されたならこの処理を終了するが、オン操作されたと判別されたならステップＳ３１に進み、ＭＦに記憶されているフラグを反転させる。続いてこの反転されたフラグが「１」であるか否か判別し（ステップＳ３２）、「１」でない、つまり通常演奏モードであるならこの処理を終了するが、「１」である、つまり設定モードであるなら、ＵＰＰＥＲ、ＬＯＷＥＲ及びＳＰＬＩＴの内容をクリアしてこの処理を終了する（ステップＳ３３）。
【００２８】
このように、モードスイッチがオン操作される毎に設定モード及び通常演奏モードのいずれかに反転して移行し、設定モードに移行すると、以前に上下鍵域に割当てられた音色、分割位置がクリアされる。
【００２９】
図７は、図５の鍵域指定スイッチ処理の詳細を示すフローチャートである。
まず、鍵域指定スイッチを操作し、上鍵域を指定したか否か判別する（ステップＳ４０）。ここで上鍵域を指定したと判別されたなら、ＵＰＦに記憶されたフラグを「１」としてこの処理を終了する（ステップＳ４１）。
ステップＳ４０で上鍵域を指定していないと判別されたなら、ステップＳ４２に進み、下鍵域を指定したか否かを判別する。ここで下鍵域を指定していないと判別されたなら、そのままこの処理を終了するが、下鍵域を指定したと判別されたならＵＰＦに記憶されたフラグを「０」としてこの処理を終了する（ステップＳ４３）。
【００３０】
このように、鍵域指定スイッチの操作により、ＵＰＦに記憶されたフラグが「１」又は「０」となり、「１」の場合は上鍵域が指定され、「０」の場合は下鍵域が指定されたことになる。
【００３１】
図８は、図５の音色スイッチ処理の詳細を示すフローチャートである。
まず、音色スイッチ群のいずれかがオン操作されたか否か判別する（ステップＳ５０）。ここでオン操作されていないと判別されたならば、そのままこの処理を終了する。
オン操作されたと判別された場合は、ＳＰＦに記憶されたフラグが「１」であるかどうか、つまりスプリット機能が設定されているか否かを判別する（ステップＳ５１）。ここで、フラグが「１」、つまりスプリット機能が設定されていると判別された場合は、今度はＭＦに記憶されたフラグが「１」であるか否か、つまり、スプリット機能に必要な音色及び分割位置が設定可能な設定モードであるか否かの判別がなされる（ステップＳ５２）。
【００３２】
ここで、ＳＰＦ及びＭＦに記憶されたフラグがともに「１」、つまりスプリット機能が設定されていてかつ設定モードである場合にはステップＳ５３に進み、ＵＰＦに記憶されたフラグが「１」であるか否か判別する。
【００３３】
ここでＵＰＦに記憶されたフラグが「１」である場合、つまり上鍵域が指定されている場合は、ステップＳ５０によりオン操作された判別された音色スイッチに対応する音色を表わす音色番号をＵＰＰＥＲに記憶させる（ステップＳ５４）。逆に、ＵＰＦに記憶されたフラグが「０」である場合、つまり下鍵域が指定されている場合は、ステップＳ５０によりオン操作された判別された音色スイッチに対応する音色を表わす音色番号をＬＯＷＥＲに記憶させてこの処理を終了する（ステップＳ５５）。
【００３４】
一方、ステップＳ５１及びＳ５２において、ＳＰＦ及びＭＦに記憶されたフラグの少なくとも一方が「０」と判別された場合、つまりスプリット機能が非設定である場合、及びスプリット機能が設定されていても、通常演奏モードである場合はステップＳ５６に進み、ステップＳ５０によりオン操作された判別された音色スイッチに対応する音色を表わす音色番号をＴＯＮＥに記憶させてこの処理を終了する。
【００３５】
このように、スプリット機能が設定されていてかつ設定モードである状態で音色スイッチがオン操作された場合、この音色スイッチに対応する音色が、鍵域指定スイッチにて指定された鍵域に割当てられる。この状態でない場合に音色スイッチがオン操作された場合は、指定された音色を表わす音色番号は、一時的にＴＯＮＥに記憶されることになる。
【００３６】
図９〜図１１は、図５のスプリットスイッチ処理の詳細を示すフローチャートである。
まず、スプリットスイッチがオン操作されたか否か判別する（ステップＳ６０）。ここでオン操作されていないと判別されたならこの処理を終了し、オン操作されたと判別されたなら、ＳＰＦに記憶されたフラグを反転させる（ステップＳ６１）。続いてこの反転されたＳＰＦのフラグが「０」であるか否か判別する（ステップＳ６２）。
【００３７】
ここでＳＰＦのフラグが「０」であると判別されると、これはスプリット機能が非設定になったことを意味し、ステップＳ６３に進み、ＲＡＭ３内のＳＰＬＩＴ［０］〜［Ｎ］の内容を検索する。そして、ＳＰＬＩＴ［０］〜［Ｎ］の中で、先のスプリット機能の設定状態を表わすＳＰＬＴ（分割位置）、ＵＰＰＥＲ（上鍵域音色）及びＬＯＷＥＲ（下鍵域音色）全てが同じものがあるか否か、つまり過去に同じ状態に設定したデータがあるか否か判別する（ステップＳ６４）。
【００３８】
ここで同じものが存在すると判別された場合、この同一として検索されたＳＰＬＩＴ［］のＲＡＭ３上のアドレスに対応するポイント値をｎに記憶し（ステップＳ６５）、このｎを引数として指定されるＮＵＭ［ｎ］に記憶された回数をインクリメントしてこの処理を終了する（ステップＳ６６）。
このように、スプリット機能が非設定になる直前に設定されたスプリット機能の状態が、過去に同じように設定されたことがある場合は、この設定状態に対応して記憶されている回数をインクリメントする。
【００３９】
ステップＳ６４にて、同一のものが存在しないと判別された場合は、この設定状態を新たなデータとしてＳＰＬＩＴ［］に記憶せねばならない。このため、まずＲＡＭ３内に必要なエリアを確保する（ステップＳ６７）。続いてＳＰＬＩＴ［］に確保されるデータの数が増加するために、Ｎに記憶されているデータ数をインクリメントする（ステップＳ６８）。そして、新たに確保されたエリアＳＰＬＩＴ［Ｎ］、ＵＰＴＯＮＥ［Ｎ］及びＬＯＷＴＯＮＥ［Ｎ］の夫々に、ＳＰＬＩＴ（分割位置を表わす鍵番号）、ＵＰＰＥＲ（上鍵域に割当てられた音色の音色番号）ＬＯＷＥＲ（上鍵域に割当てられた音色の音色番号）が記憶される（ステップＳ６９）。最後にこのＳＰＬＩＴ［Ｎ］内のエリアＮＵＭ［Ｎ］に「１」を記憶させてこの処理を終了する（ステップＳ７０）。
【００４０】
このように、スプリット機能が非設定になる直前に設定されたスプリット機能の状態が過去に設定されたことがない、と判別された場合、ＳＰＬＩＴ［］内に新たなスプリット機能の設定状態を表わすデータとして記憶させる。このようにして、過去のスプリット機能の設定状態を表わす履歴が更新されることになる。
【００４１】
一方ステップＳ６２において、ＳＰＦのフラグが「１」であると判断されると、これはスプリット機能が非設定状態から設定状態になったことを意味する。この場合は、図１０のステップＳ７１に進み、ＳＰＬＩＴ（分割位置を表わす鍵番号）、ＵＰＰＥＲ（上鍵域に割当てられた音色の音色番号）ＬＯＷＥＲ（上鍵域に割当てられた音色の音色番号）が記憶されているか否か判別する。
【００４２】
ここで設定忘れがなく、ＳＰＬＩＴ、ＵＰＰＥＲ及びＬＯＷＥＲの全てが記憶されていると判別された場合は、そのままこの処理を終了する。
また、ＳＰＬＩＴ、ＵＰＰＥＲ及びＬＯＷＥＲの少なくとも一部が設定し忘れした場合は、設定し忘れていないＳＰＬＩＴ、ＵＰＰＥＲ及びＬＯＷＥＲのデータと同一のものをＳＰＬＩＴ［０］〜［Ｎ］から検索する（ステップＳ７２）。つまり例えば、分割位置の設定を忘れている場合は、設定忘れをしていないＵＰＰＥＲ及びＬＯＷＥＲの内容が同じものをＳＰＬＩＴ［０］〜［Ｎ］から検索することになる。
【００４３】
そしてステップＳ７３に進み、この検索により、同一のものが１個見つかったと判別された場合は、この同一のＳＰＬＩＴ［］を示すポインタ値をｎに記憶する（ステップＳ７４）。続いて、ＳＰＮＯＴＥ、ＵＰＴＯＮＥ及びＬＯＷＴＯＮＥの夫々に、ｎを引数として指定されたＳＰＮＯＴＥ［ｎ］、ＵＰＮＯＴＥ［ｎ］及びＬＯＷＮＯＴＥ［ｎ］の内容を記憶する（ステップＳ７５〜Ｓ７７）。このようにして、過去に記憶されたスプリット機能の設定状態の中で、現在一部のみ設定されているスプリット機能の設定状態と最も近いものが、ＳＰＮＯＴＥ（分割位置を表わす鍵番号）、ＵＰＴＯＮＥ（上鍵域に割当てられた音色を表わす音色番号）及びＬＯＷＴＯＮＥ（上鍵域に割当てられた音色を表わす音色番号）に一時的に記憶される。
【００４４】
また、ステップＳ７３において、同一のものが複数見つかったと判別された場合は、これからひとつのものを選択せねばならない。このために、検索された複数のＳＰＬＩＴ［］夫々に含まれるＮＵＭ［］を参照する。このＮＵＭ［］はそのスプリット機能の状態が過去に設定された回数が記憶されており、本実施例においては、その中で最大の値のＮＵＭ［］をもつＳＰＬＩＴ［］を選択する。そしてこの選択されたＳＰＬＩＴ［］を示すポインタ値をｎに記憶させ（ステップＳ７８）、ステップＳ７５〜Ｓ７７の処理に進む。
【００４５】
このように、検索結果が複数ある場合は、過去に最も設定回数の多いＳＰＬＩＴ［］を選択する。
もちろん、最大の値をもつＮＵＭ［］が複数存在する場合もある。そのような場合は最大の値のＮＵＭ［］をもつＳＰＬＩＴ［］の中からランダムにひとつを選択することが考えられる。
【００４６】
さらに、ステップＳ７３において、同一のものが全く見つからないと判別された場合は、予め定められた分割位置、音色を割当てることになる。このため、ＳＰＮＯＴＥに所定の鍵番号を記憶し、ＵＰＴＯＮＥ及びＬＯＷＴＯＮＥ夫々には異なる所定の音色番号を記憶させる（ステップＳ７９〜Ｓ８１）。
【００４７】
このように、現在のスプリット機能の設定状態が過去に設定したものではない場合は、予め定められた設定状態に一時的に記憶する。
【００４８】
一方、ステップＳ７１にてＳＰＬＩＴ、ＵＰＰＥＲ及びＬＯＷＥＲに何も記憶されていないと判別された場合、つまり全て設定し忘れた場合は、ＳＰＬＩＴ［］夫々に含まれるＮＵＭ［］を参照し、その中で最大の値のＮＵＭ［］をもつＳＰＬＩＴ［］を検索する（ステップＳ８２）。そしてこの選択されたＳＰＬＩＴ［］を示すポインタ値をｎに記憶させ（ステップＳ８３）、ステップＳ７５〜Ｓ７７の処理に進む。
【００４９】
このように全部設定し忘れた場合は、過去に最も設定回数の多かった設定状態を選択する。ここでも、最大の値をもつＮＵＭ［］が複数存在する場合もある。そのような場合は最大の値のＮＵＭ［］をもつＳＰＬＩＴ［］の中からランダムにひとつを選択することが考えられる。
【００５０】
以上のようして、ステップＳ７５〜Ｓ７７あるいはステップＳ７９〜Ｓ８１により、分割位置を表わす鍵番号及び上下鍵域に割当てられるべき音色を表わす音色番号をＳＰＮＯＴＥ、ＵＰＴＯＮＥ及びＬＯＷＴＯＮＥに記憶させた後、図１１のステップＳ８４に進む。
【００５１】
そしてＳＰＬＩＴに何も記憶されていないか否か判別される。何も記憶されていないと判別されたなら、つまり分割位置の設定をし忘れていた場合は、このＳＰＬＩＴにＳＰＮＯＴＥに記憶された分割位置に対応する鍵番号を記憶させる（ステップＳ８５）。一方、記憶されていると判別されたなら、このステップＳ８５の処理を行なわない。
【００５２】
続いてＵＰＰＥＲに何も記憶されていないか否か判別される（ステップＳ８６）。何も記憶されていないと判別されたなら、つまり上鍵域に音色の設定をし忘れていた場合は、このＵＰＰＥＲにＵＰＴＯＮＥに記憶された音色番号を記憶させる（ステップＳ８７）。一方、記憶されていると判別されたなら、このステップＳ８７の処理を行なわない。
【００５３】
この後、ＬＯＷＰＥＲに何も記憶されていないか否か判別される（ステップＳ８８）。何も記憶されていないと判別されたなら、つまり下鍵域に音色の設定をし忘れていた場合は、このＬＯＷＥＲにＬＯＷＴＯＮＥに記憶された音色番号を記憶させてこの処理を終了する（ステップＳ８９）。一方、記憶されていると判別されたなら、このステップＳ８９の処理を行なうことなくこの処理を終了する。
【００５４】
このようにして、スプリット機能を設定状態にすると、分割位置、上下鍵域の音色のうち、設定し忘れたもののみ、ＳＰＮＯＴＥ、ＵＰＴＯＮＥ及びＬＯＷＴＯＮＥに記憶された分割位置、上下鍵域の音色が自動的に設定されることなる。
【００５５】
図１２は、図２の鍵盤処理の詳細を示すフローチャートである。
まず、鍵盤５を走査し（ステップＳ９０）、鍵の状態を検出する（ステップＳ９１）。ここで、鍵の状態に変化がなければこのフローの処理を終了する。
【００５６】
鍵の状態がオンからオフ、つまり離鍵を検出した場合は、離鍵された鍵番号をレジスタＮＯＴＥに記憶する（ステップＳ９２）。そして、音源部６に対して、このレジスタＮＯＴＥに記憶された鍵番号に対応する音高の楽音の消音を指示する（ステップＳ９３）。
【００５７】
鍵の状態がオフからオン、つまり押鍵を検出した場合は、押鍵された鍵番号をレジスタＮＯＴＥに記憶する（ステップＳ９４）。続いてＭＦに記憶されているフラグが「１」であるか否か、つまり設定モードであるか否かを判別する（ステップＳ９５）。ここでフラグが「１」と判別された場合、続いてＳＰＦに記憶されたフラグが「１」であるか否か、つまりスプリット機能が設定されているか否かを判別する（ステップＳ９６）。
【００５８】
ここで、ＭＦ及びＳＰＦに記憶されたフラグがともに「１」の場合、つまりスプリット機能が設定されていて、かつこのスプリット機能に必要な音色及び分割位置が設定可能な設定モードである場合はステップＳ９７に進み、分割位置に対応する鍵番号が記憶されるＳＰＬＩＴに、ＮＯＴＥに記憶された鍵番号が記憶されてこの処理を終了する。このように、スプリット機能が設定されていてかつ設定モードである状態で押鍵がなされると、この押鍵された鍵の鍵番号が、分割位置として指定される。
【００５９】
一方、ステップＳ９５において、ＭＦに記憶されたフラグが「０」、つまり設定モードでなく、通常演奏モードと判定された場合は、ステップＳ９８に進み、ＳＰＦに記憶されたフラグが「０」、つまりスプリット機能が非設定であるか否か判別する。ここでフラグが「０」、つまりスプリット機能が非設定であると判別された場合は、ＮＯＴＥに記憶された鍵番号に対応する音高かつＴＯＮＥに記憶された音色番号に対応する音色の楽音の発音を、音源部６に対して指示してこの処理を終了する（ステップＳ９９）。
【００６０】
また、ステップＳ９５において、ＭＦに記憶されたフラグが「１」と判定され、かつステップＳ９６においてＳＰＦに記憶されたフラグが「１」でない場合、つまり設定モードでかつスプリット機能が非設定の場合にも同様にステップＳ９９の処理に進む。
【００６１】
このように、通常演奏モードあるいは設定モードのいずれ場合でも、スプリット機能が非設定の場合は、鍵盤のいずれの鍵を押鍵してもＴＯＮＥに記憶された音色番号で表わされる音色、つまり音色スイッチにて選択された音色の楽音が発生することになる。
【００６２】
また、ステップＳ９８においてＳＰＦに記憶されたフラグが「０」でない、つまりスプリット機能が設定されていると判別された場合はステップＳ１００に進み、ＳＰＬＩＴに記憶されている分割位置に対応する鍵番号が、ＮＯＴＥに記憶されている押鍵された鍵の鍵番号以上であるか否か判別する。
【００６３】
ここで、ＳＰＬＩＴの鍵番号が、ＮＯＴＥの鍵番号以上と判別された場合、つまり押鍵が下鍵域でなされたと判別された場合は、ＮＯＴＥに記憶された鍵番号に対応する音高かつＬＯＷＥＲに記憶された音色番号に対応する音色の楽音の発音を、音源部６に対して指示してこの処理を終了する（ステップＳ１０１）。
【００６４】
逆に、ＳＰＬＩＴの鍵番号が、ＮＯＴＥの鍵番号未満と判別された場合、つまり押鍵が上鍵域でなされたと判別された場合は、ＮＯＴＥに記憶された鍵番号に対応する音高かつＬＯＷＥＲに記憶された音色番号に対応する音色の楽音の発音を、音源部６に対して指示してこの処理を終了する（ステップＳ１０２）。
このように、通常演奏モードでかつスプリット機能が設定されている場合は、押鍵された鍵域に割当てられた音色の楽音が発生されることになる。
【００６５】
以上のように本実施形態においては、設定忘れが生じた鍵域の音色や分割位置に対して、過去に同じような状態で設定された音色あるいは分割位置を自動的に設定される。これにより、たとえスプリット機能に必要な音色あるいは分割位置の設定を忘れた場合でも、最も適切と思われる音色あるいは分割位置が自動的に設定されるため、押鍵しても発音がなされないという最悪の事態を防止できるばかりでなく、ノーマル機能になってユーザに違和感を生じさせることがなくなる。
【００６６】
本実施形態においては、スプリット機能を設定状態にしたときに、分割位置及び各鍵域に割当てるべき音色全てを設定し忘れた場合は、過去に最も設定回数が多かったスプリット機能の分割位置及び音色に設定しているが、過去の設定状態に係らず、予め設定された分割位置及び音色を設定するようにしてもよい。また、分割位置及び各鍵域に割当てる音色の一部の設定をし忘れた場合に、過去の設定状態に係らず、予め設定された分割位置及び音色を設定するようにしているが、過去に最も設定回数が多かったスプリット機能の分割位置及び音色に設定するようにしてもよい。
【００６７】
さらに本実施形態においては、鍵盤５の全鍵域で同一の音色を割り当てる際、音色スイッチにより選択された音色を表わす音色番号をＴＯＮＥに記憶することが行なわれているが、ＵＰＰＥＲ及びＬＯＷＥＲに同一の音色番号を記憶させる、あるいはいずれか一方のレジスタにのみ音色データを記憶させて、押鍵された鍵がいずれに係らず、この記憶された音色データが示す音色で楽音の発音を指示するようにしてもよい。
【図面の簡単な説明】
【００６８】
【図１】図１は、本発明の音色設定装置を適用した電子楽器のブロック図である。
【図２】図２は、図１のＲＡＭ３の記憶内容を示す図である。
【図３】図３は、図１のＣＰＵ１の動作を示すメインのフローチャートである。
【図４】図４は、図３のイニシャライズ処理の詳細を示すフローチャートである。
【図５】図５は、図３のスイッチ処理の詳細を示すフローチャートである。
【図６】図６は、図５のモードスイッチ処理の詳細を示すフローチャートである。
【図７】図７は、図５の鍵域指定スイッチ処理の詳細を示すフローチャートである。
【図８】図８は、図５の音色スイッチ処理の詳細を示すフローチャートである。
【図９】図９は、図５のスプリットスイッチ処理の詳細を示すフローチャートである。
【図１０】図１０は、図９に続くスプリットスイッチ処理の詳細を示すフローチャートである。
【図１１】図１１は、図１０に続くスプリットスイッチ処理の詳細を示すフローチャートである。
【図１２】図１１は、図３の鍵盤処理の詳細を示すフローチャートである。
【符号の説明】
【００６９】
１  ＣＰＵ
２  プログラムＲＯＭ
３  ＲＡＭ
４  ＳＷ部
５  鍵盤
６  音源部
７  発音部
８  表示部
【図１】
2010079167.tif 000003
【図２】
2010079167.tif 000004
【図３】
2010079167.tif 000005
【図４】
2010079167.tif 000006
【図５】
2010079167.tif 000007
【図６】
2010079167.tif 000008
【図７】
2010079167.tif 000009
【図８】
2010079167.tif 000010
【図９】
2010079167.tif 000011
【図１０】
2010079167.tif 000012
【図１１】
2010079167.tif 000013
【図１２】
2010079167.tif 000014