(57)【要約】【課題】ユーザの所望する音作りを阻害することなく、音響効果を音色パートに個別に自動的に付加する。【解決手段】ＣＰＵ１３は、同一の音響効果を付加するインサーションエフェクトブロック２０ｎが存在すると判断した場合に、音色情報の変更がなされた音色パートＰＴｓに対して、同一の音響効果を付加するインサーションエフェクトブロック２０ｎを割り当て、同一の音響効果を付加するインサーションエフェクトブロック２０ｎが存在しないと判断した場合に、所定の選択基準に基づき選択されたインサーションエフェクトブロック２０ｎに、音色情報の変更がなされた音色パートＰＴｓに設定されている音色情報に含まれる音響効果情報を設定することで、インサーションエフェクトブロック２０ｎを音色情報の変更がなされた音色パートＰＴｓに対して割り当てることで実現する。【選択図】図７−Ａ
2008233236.tif 000002
【特許請求の範囲】
【請求項１】
複数の音色パートそれぞれに設定された音色情報に基づいてそれぞれ生成される楽音信号に対して、前記音色情報に含まれる音響効果情報に基づき音色パート毎に独立に音響効果を付加する前記音色パート数より少ない数の音響効果付加手段と、
前記音色パートに設定されている音色情報に含まれる音響効果情報を前記音響効果付加手段に設定することで、前記音色パートに対する前記音響効果付加手段の割り当てを行う割当制御手段とを備え、
前記割当制御手段は、前記音色パートのいずれかに設定されている音色情報の変更がなされたことに応じて、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する判断手段と、
前記判断手段によって、同一の音響効果を付加する音響効果付加手段が存在すると判断された場合に、前記音色情報の変更がなされた音色パートに対して、前記同一の音響効果を付加する音響効果付加手段を割り当て、
同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合に、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てる割当手段とを有すること
を特徴とする音響効果割当制御装置。
【請求項２】
前記割当制御手段は、前記変更された音色情報に含まれる音響効果情報に基づく音響効果が特定の音響効果であるかどうかを判断し、
前記特定の音響効果であると判断された場合に、前記判断手段による判断処理を行うことなく、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てるよう前記割当手段を制御し、
前記特定の音響効果でないと判断された場合に、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断させるよう前記判断手段を制御する制御手段を有すること
を特徴とする請求項１記載の音響効果割当制御装置。
【請求項３】
前記音響効果情報は、音響効果のアルゴリズム、前記音響効果のアルゴリズム毎に規定されるパラメータ、音響効果の出力レベル、及び音響効果の出力定位を含み、
前記判断手段は、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する際、両者の音響効果情報に含まれる音響効果のアルゴリズム、前記音響効果のアルゴリズム毎に規定されるパラメータ、音響効果の出力レベル、及び音響効果の出力定位のそれぞれが同一かどうかを判断すること
を特徴とする請求項１又は請求項２記載の音響効果割当制御装置。
【請求項４】
前記判断手段によって、同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合、
前記割当手段は、現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在するかどうかを判断し、
現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在すると判断した場合、前記いずれの音色パートにも割り当てられていない音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てること
を特徴とする請求項１乃至請求項３のいずれか１項に記載の音響効果割当制御装置。
【請求項５】
前記割当手段は、現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在しないと判断した場合、
さらに、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段が他の音色パートにも割り当てられているかどうかを判断し、
前記音響効果付加手段が、他の音色パートに割り当てられていないと判断した場合、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段に、前記音色情報の変更がなされた音色パート設定されている音色情報に含まれる音響効果情報を設定すること
を特徴とする請求項４記載の音響効果割当制御装置。
【請求項６】
前記割当手段は、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段が他の音色パートにも割り当てられていると判断した場合、
さらに、前記複数の音色パートのうち、現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在するかどうかを判断し、
現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在すると判断した場合、前記楽音を発音していない音色パートに割り当てられた音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てること
を特徴とする請求項５記載の音響効果割当制御装置。
【請求項７】
前記割当手段は、現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在しないと判断した場合、
さらに、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報の一つである音響効果のアルゴリズムと同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在するかどうかを判断し、
前記同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在すると判断した場合、前記同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てること
を特徴とする請求項６記載の音響効果割当制御装置。
【請求項８】
前記割当手段は、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報の一つである音響効果のアルゴリズムと同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在しないと判断した場合、
前記複数の音色パートに割り当てられた音響効果付加手段のうち、最も古く割り当てられた音響効果付加手段を選択し、
前記選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てること
を特徴とする請求項７記載の音響効果割当制御装置。
【請求項９】
複数の音色パートそれぞれに設定された音色情報に基づいてそれぞれ生成される楽音信号に対して、前記音色情報に含まれる音響効果情報に基づき音色パート毎に独立に音響効果を付加する前記音色パート数より少ない数の音響効果付加手段と、
前記音色パートに設定されている音色情報に含まれる音響効果情報を前記音響効果付加手段に設定することで、前記音色パートに対する前記音響効果付加手段の割り当てを行うコンピュータとを備えた音響効果割当制御装置において、前記コンピュータに適用される音響効果割当制御プログラムであって、
前記音色パートのいずれかに設定されている音色情報の変更がなされたことに応じて、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する判断ステップと、
同一の音響効果を付加する音響効果付加手段が存在すると判断された場合に、前記音色情報の変更がなされた音色パートに対して、前記同一の音響効果を付加する音響効果付加手段を割り当て、
同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合に、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てる割当ステップとを実行させること
を特徴とする音響効果割当制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置などで発生する楽音信号に付加する音響効果の割り当て制御を行う音響効果割当制御装置及び音響効果割当制御プログラムに関する。
【背景技術】
【０００２】
電子楽器では、発生する楽音信号に様々な音響効果を与えるエフェクト機能を備えている。このようなエフェクト機能は、発生する楽音信号に対して、臨場感を与えたり、新たな表現を実現することができる。中でも、音色パート（演奏パート）毎に楽音信号に対して音響効果を付加することができるインサーションエフェクト機能は、ミキシングされた楽音信号全体に音響効果を付加する従来までのエフェクト機能では表現することが難しかった、よりリアルで繊細な音作りを可能としている。このようなインサーションエフェクト機能は、一般に、複数のエフェクトアルゴリズムの中から任意のエフェクトアルゴリズムを選択し、あらかじめ割り当て可能数の制限されたインサーションエフェクトに設定し、音響効果を付加したい音色パートにこのインサーションエフェクトを割り当てることで使用可能となる。
【０００３】
このようにインサーションエフェクト機能は、同時に使用することのできるインサーションエフェクトの割り当て可能数（エフェクト資源）に制限があるため、限られたインサーションエフェクトの割り当て可能数を考慮して、音色パートに対するインサーションエフェクトの割り当てを行わないと、単にインサーションエフェクトの割り当て可能数を消費するだけで、ユーザのイメージする音に近付くような音作りを行うことができないといった問題がある。
【０００４】
そこで、インサーションエフェクトを割り当てる様々な手法が考案されている。インサーションエフェクトを割り当てる手法としては、演奏パートに接続するインサーションエフェクトをユーザ自身が個別に手動で割り当てる手法（例えば、特許文献１参照。）と、空いているインサーションエフェクトを探して自動的に割り当てる手法（例えば、特許文献２参照。）とに大別される。
【特許文献１】特開２００３−１５６４３号公報
【特許文献２】特開２００２−２５８８４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で開示されている手法では、インサーションエフェクトに対して、どのエフェクトアルゴリズムが設定されているのか、または何も設定されていないかといた設定情報を、常にユーザで把握していることを前提として音色パートへのインサーションエフェクトの適切な割り当てが可能となるため、非常に煩わしいといった問題がある。
【０００６】
また、特許文献２で開示されている手法では、特許文献１と比較して、ユーザによる設定情報の管理といった煩わしさを回避できる反面、単純に、空いているインサーションエフェクトを探して自動的に割り当てを行うため、例えば、異なる音色パート同士で同一の音響効果を利用した場合などであっても、異なるインサーションエフェクトに対して同一のエフェクトアルゴリズムを設定してしまい無駄にインサーションエフェクトの割り当て可能数を消費してしまうといった問題があり、最悪の場合、ユーザの所望する音作りを促進することなく阻害してしまう可能性もある。
【０００７】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、ユーザの所望する音作りを阻害することなく、複数の音色パートに設定された音色情報に基づき生成される楽音信号に対し音響効果を個別に自動的に付加することのできる音響効果割当制御装置及び音響効果割当制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の音響効果割当制御装置は、複数の音色パートそれぞれに設定された音色情報に基づいてそれぞれ生成される楽音信号に対して、前記音色情報に含まれる音響効果情報に基づき音色パート毎に独立に音響効果を付加する前記音色パート数より少ない数の音響効果付加手段と、前記音色パートに設定されている音色情報に含まれる音響効果情報を前記音響効果付加手段に設定することで、前記音色パートに対する前記音響効果付加手段の割り当てを行う割当制御手段とを備え、前記割当制御手段が、前記音色パートのいずれかに設定されている音色情報の変更がなされたことに応じて、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する判断手段と、前記判断手段によって、同一の音響効果を付加する音響効果付加手段が存在すると判断された場合に、前記音色情報の変更がなされた音色パートに対して、前記同一の音響効果を付加する音響効果付加手段を割り当て、同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合に、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てる割当手段とを有することで、上述の課題を解決する。
【０００９】
本発明の音響効果割当制御装置は、前記割当制御手段が、前記変更された音色情報に含まれる音響効果情報に基づく音響効果が特定の音響効果であるかどうかを判断し、前記特定の音響効果であると判断された場合に、前記判断手段による判断処理を行うことなく、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てるよう前記割当手段を制御し、前記特定の音響効果でないと判断された場合に、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断させるよう前記判断手段を制御する制御手段を有することで、上述の課題を解決する。
【００１０】
本発明の音響効果割当制御装置は、前記音響効果情報が、音響効果のアルゴリズム、前記音響効果のアルゴリズム毎に規定されるパラメータ、音響効果の出力レベル、及び音響効果の出力定位を含み、前記判断手段が、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する際、両者の音響効果情報に含まれる音響効果のアルゴリズム、前記音響効果のアルゴリズム毎に規定されるパラメータ、音響効果の出力レベル、及び音響効果の出力定位のそれぞれが同一かどうかを判断することで、上述の課題を解決する。
【００１１】
本発明の音響効果割当制御装置は、前記判断手段によって、同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合、前記割当手段が、現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在するかどうかを判断し、現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在すると判断した場合、前記いずれの音色パートにも割り当てられていない音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てることで、上述の課題を解決する。
【００１２】
本発明の音響効果割当制御装置は、前記割当手段が、現在、いずれの音色パートにも割り当てられていない音響効果付加手段が存在しないと判断した場合、さらに、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段が他の音色パートにも割り当てられているかどうかを判断し、前記音響効果付加手段が、他の音色パートに割り当てられていないと判断した場合、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段に、前記音色情報の変更がなされた音色パート設定されている音色情報に含まれる音響効果情報を設定することで、上述の課題を解決する。
【００１３】
本発明の音響効果割当制御装置は、前記割当手段が、前記音色情報の変更がなされた音色パートに既に割り当てられている音響効果付加手段が他の音色パートにも割り当てられていると判断した場合、さらに、前記複数の音色パートのうち、現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在するかどうかを判断し、現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在すると判断した場合、前記楽音を発音していない音色パートに割り当てられた音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てることで、上述の課題を解決する。
【００１４】
本発明の音響効果割当制御装置は、前記割当手段が、現在、楽音を発音していない音色パートに割り当てられた音響効果付加手段が存在しないと判断した場合、さらに、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報の一つである音響効果のアルゴリズムと同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在するかどうかを判断し、前記同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在すると判断した場合、前記同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てることで、上述の課題を解決する。
【００１５】
本発明の音響効果割当制御装置は、前記割当手段が、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報の一つである音響効果のアルゴリズムと同一の音響効果のアルゴリズムを含む音響効果情報を設定された音響効果付加手段が存在しないと判断した場合、前記複数の音色パートに割り当てられた音響効果付加手段のうち、最も古く割り当てられた音響効果付加手段を選択し、前記選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた前記音色パートに対して割り当てることで、上述の課題を解決する。
【００１６】
本発明の音響効果割当制御プログラムは、複数の音色パートそれぞれに設定された音色情報に基づいてそれぞれ生成される楽音信号に対して、前記音色情報に含まれる音響効果情報に基づき音色パート毎に独立に音響効果を付加する前記音色パート数より少ない数の音響効果付加手段と、前記音色パートに設定されている音色情報に含まれる音響効果情報を前記音響効果付加手段に設定することで、前記音色パートに対する前記音響効果付加手段の割り当てを行うコンピュータとを備えた音響効果割当制御装置において、前記コンピュータに適用される音響効果割当制御プログラムであって、前記音色パートのいずれかに設定されている音色情報の変更がなされたことに応じて、前記変更された音色情報に含まれる音響効果情報に基づく音響効果と同一の音響効果を付加する音響効果付加手段が存在するかどうかを判断する判断ステップと、同一の音響効果を付加する音響効果付加手段が存在すると判断された場合に、前記音色情報の変更がなされた音色パートに対して、前記同一の音響効果を付加する音響効果付加手段を割り当て、同一の音響効果を付加する音響効果付加手段が存在しないと判断された場合に、所定の選択基準に基づき選択された音響効果付加手段に、前記音色情報の変更がなされた音色パートに設定されている音色情報に含まれる音響効果情報を設定することで、前記音響効果付加手段を前記音色情報の変更がなされた音色パートに対して割り当てる割当ステップとを実行させることで、上述の課題を解決する。
【発明の効果】
【００１７】
本発明によれば、ユーザの所望する音作りを阻害することなく、複数の音色パートに設定された音色情報に基づき生成される楽音信号に対し音響効果を個別に自動的に付加することを可能とする。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照して説明する。まず、図１を用いて、本発明の実施の形態として示す楽音発生装置１の構成について説明をする。楽音発生装置１は、ユーザによって操作される複数の鍵を有する鍵盤部１１と、鍵盤部１１を走査して各鍵の状態を検出するキースキャナ１２と、楽音発生装置１を統括的に制御するＣＰＵ（Central Processing Unit）１３と、ＣＰＵ１３のワークエリアとして使用されるＲＡＭ（Random Access Memory）１４と、ＣＰＵ１３によって実行される各種プログラム、初期データなどを記憶しているＲＯＭ（Read Only Memory）１５と、楽音信号を発生する音源部１６と、音源部１６から出力された楽音信号に対してデジタル信号処理により音色パート毎に音響効果を付加するＤＳＰ（Digital Signal Processor）２０と、音源部１６から出力された楽音信号、またはＤＳＰ２０を介した楽音信号をアナログ信号へと変換するＤ／Ａコンバータ１７と、Ｄ／Ａコンバータ１７から出力されたアナログの楽音信号に対してフィルタ処理や増幅処理を施してスピーカなどから発音させる出力回路１８とを備えている。また、楽音発生装置１は、ユーザによる音色の切替（プログラムチェンジ）指示を入力するスイッチや、その他の指示を入力するスイッチ部１９を備えている。
【００１９】
図２に示すように、音源部１６は、単音の楽音信号を発生する３２個の発振器（ＯＳＣ）１６Ａｍ（ｍ＝１〜３２）を備えている。音源部１６は、複数の発音チャンネルを備えており、ポリフォニックの楽音信号を発生することができる。
【００２０】
図２に示すように、ＤＳＰ２０は、発振器１６Ａ１〜１６Ａ３２毎のラインセレクタＬＳと、４個のインサーションエフェクトブロック２０ｎ（ｎ＝０，１，２，３）とを備えている。
【００２１】
ラインセレクタＬＳは、発振器１６Ａ１〜１６Ａ３２毎に４個のインサーションエフェクトブロック２０ｎのいずれかに接続するか、いずれのインサーションエフェクトブロック２０ｎにも接続させないダイレクトラインＤＬに接続するかを選択することができる。
【００２２】
このインサーションエフェクトブロック２０ｎは、あらかじめ登録された複数のエフェクトアルゴリズムから所望のエフェクトアルゴリズムを選択してインサーションエフェクトブロック２０ｎに設定することでエフェクトアルゴリズムに応じた音響効果を付加するインサーションエフェクト（以下、単にエフェクトとも呼ぶ。）として機能する。インサーションエフェクトブロック２０ｎは、エフェクトアルゴリズムに応じた音響効果を、ラインセレクタＬＳで選択されることで接続された発振器１６Ａ１〜１６Ａ３２から発生した楽音信号に対して付加することができる。
【００２３】
図２を用いて説明したように、ＤＳＰ２０のインサーションエフェクトブロック２０ｎによって、音源部１６の発振器１６Ａｍで発生された楽音信号に対して音響効果を付加することができるが、インサーションエフェクトブロック２０ｎへのエフェクトアルゴリズムの設定、ラインセレクタＬＳの選択などは、全てＣＰＵ１３によって管理される。
【００２４】
図３を用いて、ＣＰＵ１３によって管理される音色パートの概念とインサーションエフェクトブロック２０ｎとの関係について説明をする。例えば、図３に示すように、音色パートＰＴｓ（ｓ＝１〜１６）は、１６パートある。ＣＰＵ１３は、発音時において、この音色パートＰＴｓに、上述した音源部１６の発振器１６Ａｍを動的に割り当てて、当該楽音発生装置１で発生する楽音信号を管理する。
【００２５】
ＣＰＵ１３は、ユーザによって、スイッチ部１９の音色の切替を指示するスイッチが操作されたことに応じて、音色パートＰＴｓにＲＯＭ１４に記憶された音色情報（Ｔｏｎｅ）を読み出して設定する。音色情報は、楽音信号の音色を特徴付ける情報である波形情報（Ｗａｖｅ）と、楽音信号に付加する音響効果に関する情報であるエフェクト情報（Ｅｆｆｃｔ）とからなる。ＣＰＵ１３によって読み出された音色情報のうち波形情報は、音源部１６へと供給され、この波形情報に基づき発振器１６Ａｍから所望の楽音信号が発生される。また、ＣＰＵ１３によって読み出された音色情報のうちエフェクト情報は、ＤＳＰ２０へと供給され、このエフェクト情報に基づきインサーションエフェクトブロック２０ｎにより音響効果が付加される。
【００２６】
エフェクト情報は、波形情報によって決まる楽音信号の音色に対して、どのような音響効果を付加したいのか、または音響効果を全く付加しないのかなどといった情報を有している。ＣＰＵ１３は、このエフェクト情報を参照して、音色パートＰＴｓにＤＳＰ２０のインサーションエフェクトブロック２０ｎを割り当てる制御処理を実行する。この結果、発音チャンネルに対してもインサーションエフェクトブロック２０ｎが割り当てられることになる。
【００２７】
続いて、図４乃至図１０に示すフローチャートを用いて、上述したような構成の楽音発生装置１の処理動作について説明をする。
【００２８】
まず、図４に示すフローチャートを用いて、楽音発生装置１のメインルーチンについて説明をする。
【００２９】
ＣＰＵ１３は、所定のイニシャライズ処理を実行し、当該楽音発生装置１をあらかじめ定められた初期状態に設定する（ステップＳ１）。続いて、ＣＰＵ１３は、ユーザによりスイッチ部１９を操作されたことに応じた処理（ステップＳ２）、ユーザにより鍵盤部１１を操作されたことに応じた処理（ステップＳ３）を実行する。そして、ＣＰＵ１３は、上述した処理以外のその他の処理（ステップＳ４）、例えば、メインルーチン１周期の時間を一定にするための時間調整処理、自動伴奏がある場合の伴奏処理、楽音発生装置１が備える図示しない表示部にデータを表示させる処理などを実行する。
【００３０】
ＣＰＵ１３は、図４のステップＳ２のスイッチ処理として、図５に示すフローチャートのように、音色に関するスイッチ部１９の操作に応じた処理（ステップＳ１１）を実行した後、それ以外のスイッチ部１９の操作に応じた処理（ステップＳ１２）を実行する。
【００３１】
さらに、ＣＰＵ１３は、図５のステップＳ１１の音色に関するスイッチ部１９の操作に応じた処理として、図６に示すフローチャートのように、音色に関するスイッチ部１９が操作されたかどうかを判定し（ステップＳ２１）、操作された場合には、音色切替処理を実行する（ステップＳ２２）。
【００３２】
次に、図７−Ａ、７−Ｂ、７−Ｃに示すフローチャートを用いて、図６のステップＳ２２で実行される音色切替処理の詳細な処理動作について説明をする。この音色切替処理動作を説明するにあたり、用いられるパラメータについて説明をする。
【００３３】
まず、図１１に、音色情報（Ｔｏｎｅ）のうちのエフェクト情報の各種パラメータを示す。エフェクト情報のパラメータとしては、エフェクトを使用するかどうかを規定する“Eeffct Enable”、エフェクトのアルゴリズムを規定する“Algorithm”、エフェクトの汎用パラメータを規定する“Parmeter[p]”、エフェクトの出力レベルを規定する“Level”、エフェクトの出力定位を規定する“Pan”がある。図１１では、後述する音色切替処理動作について説明するための図７に示すフローチャートで使用される変数名も、順番に“EE”、“AL”、“PR[p]”、“LV”、“PN”のように規定されている。
【００３４】
なお、エフェクトの汎用パラメータとは、エフェクトのアルゴリズム、本実施の形態では８種類のアルゴリズム（p＝０〜７）に応じて用意された音響効果を特徴付けるためのパラメータである。音響効果は、エフェクトアルゴリズムと汎用パラメータとによって規定されることになる。
【００３５】
図７−Ａ、７−Ｂ、７−Ｃに示すフローチャート内では、図１１に示すエフェクト情報の各種パラメータは、“Tone”と表し、“Tone[音色番号].パラメータ名”として特定のパラメータを示す。本実施の形態では、音色情報が２５６組（音色番号＝０〜２５５）用意されており、音色番号によりその音色情報を特定することができるものとする。例えば、音色番号＝９の音色情報のエフェクト情報のパラメータ“Parmeter[p]”（p＝３）は、“Tone[９].PR[3]”として表される。
【００３６】
次に、図１２に、インサーションエフェクトブロック２０ｎ毎に規定される管理パラメータを示す。インサーションエフェクトブロック２０ｎ毎に規定される管理パラメータとしては、インサーションエフェクトブロック２０ｎを使用しているかどうかを規定する“Use”、アサインの履歴番号を規定する“History”、現在の入力されている発振器１６Ａｍの数を規定する“Number of Oscillator”、エフェクトのアルゴリズムを規定する“Algorithm”、エフェクトの汎用パラメータを規定する“Parmeter[p]”、エフェクトの出力レベルを規定する“Level”、エフェクトの出力定位を規定する“Pan”がある。図１２では、後述する音色切替処理動作について説明するための図７に示すフローチャートで使用される変数名も、順番に“US”、“HI”、“NO”、“AL”、“PR[p]”、“LV”、“PN”のように規定されている。
【００３７】
次に、図１３に、各インサーションエフェクトブロック２０ｎとは独立して規定される、インサーションエフェクトブロック２０ｎに関連した管理パラメータを示す。各インサーションエフェクトブロック２０ｎとは独立して規定される管理パラメータとしては、アサインの履歴番号を規定する“Total History”がある。図１３では、後述する音色切替処理動作について説明するための図７に示すフローチャートで使用される変数名も“TH”のように規定されている。
【００３８】
図１２に示す“History”と、図１３に示す“Total History”とは、最も古くからインサーションエフェクトブロック２０ｎに割り当てられているエフェクトを検出するのに用いる管理パラメータである。具体的には、インサーションエフェクトブロック２０ｎにエフェクトの割り当てが発生する度に、ＣＰＵ１３は、“Total History”を１インクリメントし、今回エフェクトを割り当てられたインサーションエフェクトブロック２０ｎの“History”に、“Total History”の値を代入する。
【００３９】
図７−Ａ、７−Ｂ、７−Ｃに示すフローチャート内では、図１２、図１３に示すインサーションエフェクトブロック２０ｎに関連した管理パラメータを、“InsInfo”と表し、“InsInfo[ブロック番号].変数名”として特定の管理パラメータを示す。例えば、ｎ＝１のインサーションエフェクトブロック２０ｎの管理パラメータ“History”は、“InsInfo[0].HI”として表される。
【００４０】
続いて、図１４に、音色パートＰＴｓ毎に規定される管理パラメータを示す。音色パートＰＴｓ毎に規定される管理パラメータとしては、音色パートＰＴｓを使用しているかどうかを規定する“Line Select”、選択された音色情報の音色番号を規定する“Tone Number”がある。図１４では、後述する音色切替処理動作について説明するための図７に示すフローチャートで使用される変数名も順番に“LS”、“TN”のように規定されている。
【００４１】
図７−Ａ、７−Ｂ、７−Ｃに示すフローチャート内では、図１４に示す音色パートＰＴｓ毎に規定される管理パラメータを、“PartInfo”と表し、“PartInfo[パート番号].変数名”として特定の管理パラメータを示す。例えば、ｓ＝１１の音色パートＰＴｓ毎に規定される管理パラメータ“Tone Number”は、“PartInfo[11].TN”として表される。
【００４２】
また、“PartNum”を音色情報が選択された音色パートＰＴｓの番号とし、“ToneNum”を選択された音色情報の音色番号とする。
【００４３】
以上のように規定されるパラメータを用いて、図７−Ａ、７−Ｂ、７−Ｃに示すフローチャートにて音色切替処理動作について説明する。
【００４４】
まず、図７−ＡのステップＳ３１において、ＣＰＵ１３は、ユーザによる音色に関するスイッチ部１９のスイッチ操作に応じて、ある音色パートＰＴｓに、ある音色情報を設定する（Partinfo[PartNum]==ToneNum）。
【００４５】
ステップＳ３２において、ＣＰＵ１３は、設定した音色情報のエフェクト情報からエフェクトを使用しないかどうかを判定する（Tone[ToneNum].EE=0?）。ＣＰＵ１３は、エフェクトを使用しない場合にはステップＳ３３へと処理を進める一方、エフェクトを使用する場合にはステップＳ３４へと処理を進める。
【００４６】
ステップＳ３３において、ＣＰＵ１３は、音色パートＰＴｓをダイレクトラインＬＳに接続することを選択し処理を終了する（PartInfo[PartNum].LS=4）。つまり、この場合、ＤＳＰ２０を使用せず、楽音信号にインサーションエフェクトによる音響効果を付加しない。
【００４７】
（共有禁止アルゴリズムのチェック）
ステップＳ３４において、ＣＰＵ１３は、エフェクト情報からエフェクトのアルゴリズムとしてディストーションが選択されているのかどうかを判断する（Tone[ToneNum].AL==Distortion?）。ＣＰＵ１３は、ディストーションが選択されている場合には、ステップＳ４３へと処理を進める一方、ディストーションが選択されていない場合には、ステップＳ３５へと処理を進める。
【００４８】
このステップＳ３４で実行される処理は、相異なる楽音信号に同一の音響効果を付加した場合に、音響効果を付加した結果に、互いに影響を及ぼし合ってしまう音響効果、例えば、ディストーションなどの歪み系のエフェクトなどの音響効果が、別の楽音信号を入力すると他方の楽音信号の効果にも影響を与えてしまうといった問題に対処するための処理である。このステップＳ３４により、あらかじめ、このようなエフェクトは、続く、ステップＳ３５以降の処理対象から除外し、共有して使用することによって生ずる問題を回避するようにする。
【００４９】
（同一の音響効果を付加するインサーションエフェクトブロック２０ｎの存在の判断）
ステップＳ３５からステップＳ４２において、ＣＰＵ１３は、エフェクト情報と、インサーションエフェクトブロック２０ｎ毎の管理パラメータとをそれぞれ比較する処理を実行して、設定した音色情報のエフェクト情報と同一の音響効果を付加するインサーションエフェクトブロック２０ｎが存在するかどうかを判断する（ins:0-3）。
【００５０】
まず、ステップＳ３６において、ＣＰＵ１３は、エフェクト情報のアルゴリズムと、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトのアルゴリズムとを比較し一致しているかどうか判断する（Tone[ToneNum].AL==InsInfo[ins].AL?）。ＣＰＵ１３は、アルゴリズムが一致している場合には、ステップＳ３７へと処理を進める一方、一致していない場合には、ステップＳ４３へと処理を進める。
【００５１】
ステップＳ３７からステップＳ３９において、ＣＰＵ１３は、エフェクト情報の汎用パラメータと、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトの汎用パラメータとを全て比較する処理を実行する（p:0-7）。
【００５２】
ステップＳ３８において、ＣＰＵ１３は、エフェクト情報の汎用パラメータと、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトの汎用パラメータとを比較し、一致するかどうか判断する（Tone[ToneNum].PR[p]==Insinfo[ins].PR[p]?）。ＣＰＵ１３は、汎用パラメータが一致している場合には、ステップＳ４０へと処理を進める一方、汎用パラメータが一致していない場合には、ステップＳ４３へと処理を進める。
【００５３】
ステップＳ４０において、ＣＰＵ１３は、エフェクト情報の出力レベルと、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトの出力レベルとを比較し、一致するかどうか判断する（Tone[ToneNum].LV==InsInfo[ins].LV?）。ＣＰＵ１３は、エフェクトの出力レベルが一致している場合には、ステップＳ４１へと処理を進める一方、エフェクトの出力レベルが一致していない場合には、ステップＳ４３へと処理を進める。
【００５４】
ステップＳ４１において、ＣＰＵ１３は、エフェクト情報の出力定位と、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトの出力定位とを比較し、一致するかどうか判断する（Tone[ToneNum].PN==InsInfo[ins].PN?）。ＣＰＵ１３は、エフェクトの出力定位が一致している場合には、全てのエフェクト設定が一致しているため、ＤＳＰ２０のインサーションエフェクトブロック２０ｎに新規にエフェクトを割り当てる必要がないとして図７−ＣのステップＳ７６へと処理を進める一方、エフェクトの出力定位が一致していない場合には、ステップＳ４３へと処理を進める。
【００５５】
このように、ＣＰＵ１３は、音色パートＰＴｓに設定されている音色情報の設定変更があったことに応じて、まず、エフェクトのアルゴリズム、アルゴリズム毎に規定される汎用パラメータ、エフェクトの出力レベル、エフェクトの出力定位を比較し、全てが完全に一致するエフェクトが設定されているインサーションエフェクトブロック２０ｎを音色パートＰＴｓに割り当てるインサーションエフェクトブロック２０ｎとして選択する。
【００５６】
このように、エフェクトのアルゴリズム、アルゴリズム毎に規定される汎用パラメータ、エフェクトの出力レベル、エフェクトの出力定位が完全に一致したインサーションエフェクトブロック２０ｎを選択することで、ユーザが所望する音作りを最大限に反映させたエフェクトを自動的に付加することができる。
【００５７】
（インサーションエフェクトブロック２０ｎの空き検索）
ステップＳ４３からステップＳ４５において、ＣＰＵ１３は、インサーションエフェクトブロック２０ｎに空きがあるかどうかを検索する（ins:0-3）。
【００５８】
ステップＳ４４において、ＣＰＵ１３は、各インサーションエフェクトブロック２０ｎの管理パラメータを参照し、現在、インサーションエフェクトブロック２０ｎが未使用であるかどうかを判断する（InsInfo[ins].US==0?）。ＣＰＵ１３は、未使用のインサーションエフェクトブロック２０ｎがあった場合には、図７−ＣのステップＳ６５へと処理を進めてこのインサーションエフェクトブロック２０ｎを音色パートＰＴｓに割り当てる処理へ移行する一方、未使用のインサーションエフェクトブロック２０ｎが全くなかった場合には、図７−ＢのステップＳ４６へと処理を進める。
【００５９】
このように、ＣＰＵ１３は、エフェクト情報と一致するインサーションエフェクトブロック２０ｎが存在しなかったとしても、未使用のインサーションエフェクトブロック２０ｎが存在する場合には、音色パートＰＴｓに割り当てるインサーションエフェクトブロック２０ｎとして容易に利用することができる。
【００６０】
（インサーションエフェクトブロック２０ｎが既に割り当てられているかの検索）
図７−Ｂに示すように、ステップＳ４６からステップＳ５１において、ＣＰＵ１３は、このルーチンで対象となっている音色パートＰＴｓに、いずれかのインサーションエフェクトブロック２０ｎが割り当てられているかどうかを検索する処理を実行する。
【００６１】
ステップＳ４６において、ＣＰＵ１３は、このルーチンで対象となっている音色パートＰＴｓにインサーションエフェクトブロック２０ｎが既に割り当てられているかどうかを判断する処理、並びにインサーションエフェクトブロック２０ｎが既に割り当てられていた場合には他の音色パートＰＴｓと共有しているかどうかを判断する処理を実行するための初期設定を行う（ins=PartInfo[PartNum].LS）。
【００６２】
ステップＳ４７において、ＣＰＵ１３は、このルーチンで対象となっている音色パートＰＴｓにダイレクトラインＤＬが接続されているかどうかを判断する（ins==4?）。ＣＰＵ１３は、ダイレクトラインＤＬが接続されている場合には、ステップＳ５２へと処理を進める一方、ダイレクトラインＤＬが接続されていない場合には、ステップＳ４８へと処理を進める。
【００６３】
ステップＳ４８からステップＳ５１において、ＣＰＵ１３は、１６個の全ての音色パートＰＴｓを１つずつ順番に選択して検証することで、このルーチンで対象となっている音色パートＰＴｓが割り当てられているインサーションエフェクトブロック２０ｎを他の音色パートＰＴｓが共有しているかどうかを判断する処理を実行する（part:0-15）。
【００６４】
ステップＳ４９において、ＣＰＵ１３は、パート番号（part:0-15）を順に進め音色パートＰＴｓを選択し、このルーチンで対象となっている音色パートＰＴｓと同じ音色パートＰＴｓかどうかを判断する（PartNum==part?）。ＣＰＵ１３は、このルーチンで対象となっている音色パートＰＴｓと同じ音色パートＰＴｓである場合には、ステップＳ４８へと戻り、次のパート番号の音色パートＰＴｓを選択することを繰り返す一方、このルーチンで対象となっている音色パートＰＴｓと違う音色パートＰＴｓである場合には、ステップＳ５０へと処理を進める。
【００６５】
ステップＳ５０において、ＣＰＵ１３は、ステップＳ４９で選択された音色パートＰＴｓの管理パラメータを参照し、このルーチンで対象となっている音色パートＰＴｓに接続されているインサーションエフェクトブロック２０ｎと同一のインサーションエフェクトブロック２０ｎに接続されているかどうかを判断する（PartInfo[Part].LS==ins?）。ＣＰＵ１３は、このルーチンで対象となっている音色パートＰＴｓに接続されているインサーションエフェクトブロック２０ｎと同一のインサーションエフェクトブロック２０ｎに接続されている場合には、ステップＳ５２へと処理を進める一方、そうでない場合には図７−ＣのステップＳ６５へと処理を進めてこのインサーションエフェクトブロック２０ｎを音色パートＰＴｓへと割り当てる処理へと移行する。
【００６６】
このように、ＣＰＵ１３は、エフェクト情報と一致するインサーションエフェクトブロック２０ｎが存在せず、未使用のインサーションエフェクトブロック２０ｎも存在しなかった場合に、このルーチンで対象となっている音色パートＰＴｓにインサーションエフェクトブロック２０ｎが既に割り当てられているかどうかを検索する。そして、ＣＰＵ１３は、割り当てられているインサーションエフェクトブロック２０ｎが存在する場合、このインサーションエフェクトブロック２０ｎを選択する。このとき、ＣＰＵ１３は、このインサーションエフェクトブロック２０ｎに、新たにエフェクト情報を設定するため、他の音色パートＰＴｓに共有されてないかどうかも判断する。
【００６７】
同じ音色パートＰＴｓでも、発音中のボイスがあるときに、その残響を残したまま音色変更を行うシームレスチェンジという手法がある。音色自体の変更において、シームレスチェンジは、聴覚的に違和感のない楽音信号をユーザに提供することができるが、エフェクトを切り替える際に、このシームレスチェンジを適用すると不必要に音響効果がかかってしまうといった問題がある。そこで、このように、既に音色パートＰＴｓに割り当てられているインサーションエフェクトブロック２０ｎを利用することで、音色の切替と同時に音響効果も瞬時に切り替えることができ、シームレスチェンジの弊害を回避することができる。
【００６８】
（発音数がゼロのインサーションエフェクトブロック２０ｎの検索）
ステップＳ５２からステップＳ５４において、ＣＰＵ１３は、発音数がゼロのインサーションエフェクトブロック２０ｎを検索する（ins:0-3）。
【００６９】
ステップＳ５３において、ＣＰＵ１３は、各インサーションエフェクトブロック２０ｎ毎の管理パラメータを参照し、現在、インサーションエフェクトブロック２０ｎに発振器１６Ａｍが接続されていないかどうかを判断する（InsInfo[ins].NO==0?）。つまり、このステップＳ５３において、ＣＰＵ１３は、楽音を発音していない音色パートＰＴｓに割り当てられたインサーションエフェクトブロック２０ｎが存在するかどうかを判断している。
【００７０】
ＣＰＵ１３は、インサーションエフェクトブロック２０ｎに接続されている発振器１６Ａｍがない場合には、図７−ＣのステップＳ６５へと処理を進めこのインサーションエフェクトブロック２０ｎを音色パートＰＴｓへと割り当てる処理へと移行する一方、インサーションエフェクトブロック２０ｎに接続されている発振器１６Ａｍが存在する場合にはステップＳ５５へと処理を進める。
【００７１】
このように、ＣＰＵ１３は、エフェクト情報と一致するインサーションエフェクトブロック２０ｎが存在せず、未使用のインサーションエフェクトブロック２０ｎも存在せず、対象となる音色パートＰＴｓに単独で割り当てられているインサーションエフェクトブロック２０ｎも存在しない場合に、現在の発音数がゼロのインサーションエフェクトブロック２０ｎ、つまり、楽音を発音していない音色パートＰＴｓに割り当てられたインサーションエフェクトブロック２０ｎを選択することで、新たにエフェクト情報を設定した際の影響を最小限に抑えることができる。
【００７２】
また、ＣＰＵ１３は、現在の発音数がゼロのインサーションエフェクトブロック２０ｎが存在しない場合に、最も発音数の少ないインサーションエフェクトブロック２０ｎ、つまり最も少ない楽音を発音している音色パートＰＴｓに割り当てられたインサーションエフェクトブロック２０ｎを選択するようにしてもよい。
【００７３】
（同一アルゴリズムのインサーションエフェクトブロック２０ｎの検索）
ステップＳ５５からステップＳ５７において、ＣＰＵ１３は、エフェクト情報のアルゴリズムと、各インサーションエフェクトブロック２０ｎに既に設定されているエフェクトのアルゴリズムとを比較し、同一のアルゴリズムのエフェクトが設定されているインサーションエフェクトブロック２０ｎを検索する処理を実行する（ins:0-3）。
【００７４】
ステップＳ５６において、ＣＰＵ１３は、エフェクト情報のアルゴリズムと、インサーションエフェクトブロック２０ｎに既に設定されているエフェクトのアルゴリズムとを比較し一致しているかどうか判断する（InsInfo[ins].AL==Tone[ToneNum].AL?）。ＣＰＵ１３は、アルゴリズムが一致している場合には、図７−ＣのステップＳ６５へと処理を進めこのインサーションエフェクトブロック２０ｎを音色パートＰＴｓへと割り当てる処理へと移行する一方、一致していない場合には、図７−ＣのステップＳ５８へと処理を進める。
【００７５】
このように、ＣＰＵ１３は、エフェクト情報と一致するインサーションエフェクトブロック２０ｎが存在せず、未使用のインサーションエフェクトブロック２０ｎも存在せず、対象となる音色パートＰＴｓに単独で割り当てられているインサーションエフェクトブロック２０ｎも存在せず、現在の発音数がゼロであるインサーションエフェクトブロック２０ｎも存在しない場合に、少なくともエフェクトのアルゴリズムだけでも同一であるインサーションエフェクトブロック２０ｎを選択することで、新たにエフェクト情報を設定した際の影響を最小限に抑えることができる。
【００７６】
（最も古くから使用されているインサーションエフェクトブロック２０ｎの検索）
図７−Ｃに示すように、ステップＳ５８からステップＳ６４において、ＣＰＵ１３は、最も古くから割り当てられているインサーションエフェクトブロック２０ｎを検索する処理を実行する。
【００７７】
ステップＳ５８、ステップＳ５９において、ＣＰＵ１３は、最も古くから割り当てられているインサーションエフェクトブロック２０ｎを検索する処理を実行するためにパラメータの初期設定を行う（ins=0、a=InsInfo[0].HI）。ここでは、まず、ｉｎｓ＝０のインサーションエフェクトブロック２０ｎの管理パラメータである“History”をａとして、ステップＳ６０からステップＳ６４の比較処理の基準値とする。
【００７８】
ステップＳ６０からステップＳ６４において、ＣＰＵ１３は、インサーションエフェクトブロック２０ｎの管理パラメータである“History”の最小値を求める処理を実行する（i:1-3）。
【００７９】
ステップＳ６１において、ＣＰＵ１３は、基準値ａよりも大きな“History”となるインサーションエフェクトブロック２０ｎがあるかどうかを判断する（a<InsInfo[i].HI?）
。ＣＰＵ１３は、基準値ａよりも大きな“History”となるインサーションエフェクトブロック２０ｎがある場合には、ｉｎｓ＝０のインサーションエフェクトブロック２０ｎの“History”が最小であるとしてステップＳ６５へと処理を進め、存在しない場合には、ステップＳ６２へと処理を進める。
【００８０】
ステップＳ６２、ステップＳ６３において、ＣＰＵ１３は、ｉｎｓ＝１〜３のインサーションエフェクトブロック２０ｎの管理パラメータである“History”を順番にａとして比較処理の基準値を変更し（a=InsInfo[i].HI、ins=i）、ステップＳ６１の判断処理を繰り返すことで最小の“History”を検索する。ＣＰＵ１３は、最小の“History”が検索されると、ステップＳ６５へと処理を進める。
【００８１】
ＣＰＵ１３は、最小の“History”を管理パラメータとして有するインサーションエフェクトブロック２０ｎを音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎとし、ステップＳ６５以降の処理を実行することになる。
【００８２】
このように、ＣＰＵ１３は、エフェクト情報と一致するインサーションエフェクトブロック２０ｎが存在せず、未使用のインサーションエフェクトブロック２０ｎも存在せず、対象となる音色パートＰＴｓに単独で割り当てられているインサーションエフェクトブロック２０ｎも存在せず、現在の発音数がゼロであるインサーションエフェクトブロック２０ｎも存在せず、少なくともエフェクトのアルゴリズムだけでも同一であるインサーションエフェクトブロック２０ｎも存在しない場合に、最も古くから割り当てられているインサーションエフェクトブロック２０ｎを選択することで、新たにエフェクト情報を設定した際の影響を最小限に抑えることができる。
【００８３】
（インサーションエフェクトブロック２０ｎの割り当て処理）
ステップＳ６５からステップＳ７６において、ＣＰＵ１３は、選択されたインサーションエフェクトブロック２０ｎの管理パラメータを更新し、このルーチンで対象となっている音色パートＰＴｓに選択されたインサーションエフェクトブロック２０ｎを割り当てる。
【００８４】
ステップＳ６５において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Use”を使用中に設定する（InsInfo[ins].US=1）。
【００８５】
ステップＳ６６において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“History”に“Total History”の値を代入する（InsInfo[ins].HI=TH）。
【００８６】
ステップＳ６７において、ＣＰＵ１３は、管理パラメータ“Total History”の値を１インクリメントする（TH=TH+1）。
【００８７】
ステップＳ６８において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Number of Oscillator”をゼロとする（InsInfo[ins].NO=0）。
【００８８】
ステップＳ６９において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Algorithm”と、エフェクト情報のパラメータ“Algorithm”とを同一に設定する（InsInfo[ins].AL=Tone[ToneNum].AL）。
【００８９】
ステップＳ７０からステップＳ７２において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Parameter[p]”と、エフェクト情報のパラメータ“Parameter[p]”とを全て同一に設定する処理を実行する（p:0-7）。
【００９０】
ステップＳ７１において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Parameter[p]”と、エフェクト情報のパラメータ“Parameter[p]”とを全て同一に設定する（InsInfo[ins].RP[p]=Tone[ToneNum].RP[p]）。
【００９１】
ステップＳ７３において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Level”と、エフェクト情報のパラメータ“Level”とを同一に設定する（InsInfo[ins].LV=Tone[ToneNum].LV）。
【００９２】
ステップＳ７４において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎの管理パラメータ“Pan”と、エフェクト情報のパラメータ“Pan”とを同一に設定する（InsInfo[ins].PN=Tone[ToneNum].PN）。
【００９３】
ステップＳ７５において、ＣＰＵ１３は、音色パートＰＴｓへと割り当てるインサーションエフェクトブロック２０ｎに対応するＤＳＰ２０の設定を実行し、このインサーションエフェクトブロック２０ｎを使用した発音を停止させる。
【００９４】
ステップＳ７６において、ＣＰＵ１３は、音色パートＰＴｓの管理パラメータ“Line Select”を当該音色パートＰＴｓに接続するインサーションエフェクトブロック２０ｎに設定する（PartInfo[PartNum].LS=ins）。
【００９５】
次に、図８に示すフローチャートを用いて、図４のステップＳ３で実行されるユーザにより鍵盤部１１を操作されたことに応じた処理（鍵盤処理）について説明をする。
【００９６】
ＣＰＵ１３は、キースキャナ１２による走査（ステップＳ８１）により、鍵の変化を検出する（ステップＳ８２）。ＣＰＵ１３は、鍵の変化がなかった場合には、処理を終了する一方、鍵の変化として鍵を押下する変化（押鍵）であった場合には、ステップＳ８３へと処理を進め、鍵を離す変化（離鍵）であった場合には、ステップＳ８４へと処理を進める。
【００９７】
ステップＳ８３において、ＣＰＵ１３は、発音時の処理を実行する。図９に示すフローチャートを用いて発音時の処理動作について説明する。
【００９８】
ＣＰＵ１３は、音色パートＰＴｓに接続されているインサーションエフェクトブロック２０ｎを特定し（ステップＳ９１）、発音処理であることに応じて、そのインサーションエフェクトブロック２０ｎの管理パラメータ“Number of Oscillator”の値を１インクリメントする（ステップＳ９２）。そして、ＣＰＵ１３は、ラインセレクタＬＳを物理的に動かして発振器１６Ａｍをインサーションエフェクトブロック２０ｎに接続させて発音処理を実行する（ステップＳ９３）。
【００９９】
ステップＳ８４において、ＣＰＵ１３は、消音時の処理を実行する。図１０に示すフローチャートを用いて消音時の処理動作について説明をする。
【０１００】
ＣＰＵ１３は、音色パートＰＴｓに接続されているインサーションエフェクトブロック２０ｎを特定し（ステップＳ１０１）、消音処理であることに応じて、そのインサーションエフェクトブロック２０ｎの管理パラメータ“Number of Oscillator”の値を１ディクリメントする（ステップＳ１０２）。そして、ＣＰＵ１３は、ラインセレクタＬＳを物理的に動かして発振器１６Ａｍとインサーションエフェクトブロック２０ｎとを切断して消音処理を実行する（ステップＳ９３）。
【０１０１】
このようにして、本発明の実施の形態として示す楽音発生装置１では、ＣＰＵ１３により、対象となる音色パートＰＴｓに対してインサーションエフェクトブロック２０ｎを割り当てる制御を実行する際、既にいずれかの音色パートＰＴｓに割り当てられているインサーションエフェクトブロック２０ｎから、まず音響効果の共通性の高いものを検索し、存在する場合には、このインサーションエフェクトブロック２０ｎを利用する。
【０１０２】
そして、このような音響効果の共通性の高いインサーションエフェクトブロック２０ｎが存在しない場合には、新たに対象となる音色パートＰＴｓに割り当てることによる影響の最も少なくなるような所定の選択基準に基づきインサーションエフェクトブロック２０ｎを選択して、このインサーションエフェクトブロック２０ｎを利用する。
【０１０３】
これにより、ユーザの所望する音作りを阻害することなく、複数の音色パートＰＴｓに設定された音色情報に基づき生成される楽音信号に対し音響効果を個別に自動的に付加することができる。
【０１０４】
なお、本実施の形態として示す楽音発生装置１では、図７−Ａのフローチャート（ステップＳ３５〜ステップＳ４２）を用いて説明したように、音色切替時に必要なエフェクト設定に近いものがすでに割り当てられていないかを、各パラメータ値の比較によって判断していたが、あらかじめプリセットされた音色情報の中に、エフェクトを共有可能な他の音色プリセットの情報を保持しておき、単純にこの情報を参照してエフェクト設定が同等であるかどうかを判断するといった構成も考えられる。
【０１０５】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施の形態として示す楽音発生装置の構成について説明するための図である。
【図２】前記楽音発生装置の音源部とＤＳＰの構成について説明するための図である。
【図３】前記楽音発生装置の音色パートについて説明するための機能概念図である。
【図４】前記楽音発生装置の処理動作のメインルーチンについて説明するためのフローチャートである。
【図５】前記楽音発生装置のスイッチ処理動作について説明するためのフローチャートである。
【図６】前記楽音発生装置の音色スイッチ処理動作について説明するためのフローチャートである。
【図７−Ａ】前記楽音発生装置の音色切替処理動作について説明するための第１のフローチャートである。
【図７−Ｂ】前記楽音発生装置の音色切替処理動作について説明するための第２のフローチャートである。
【図７−Ｃ】前記楽音発生装置の音色切替処理動作について説明するための第３のフローチャートである。
【図８】前記楽音発生装置の鍵盤処理動作について説明するためのフローチャートである。
【図９】前記楽音発生装置の発音時の処理動作について説明するためのフローチャートである。
【図１０】前記楽音発生装置の消音時の処理動作について説明するためのフローチャートである。
【図１１】エフェクト情報のパラメータを示した図である。
【図１２】インサーションエフェクトブロック毎に規定される管理パラメータを示した図である。
【図１３】インサーションエフェクトブロックに関連した管理パラメータを示した図である。
【図１４】音色パート毎に規定される管理パラメータを示した図である。
【符号の説明】
【０１０７】
１  楽音発生装置
１３  ＣＰＵ（Central Processing Unit）
１４  ＲＯＭ（Read Only Memory）
１６  音源部
１６Ａｍ  発振器
１９  スイッチ部
２０  ＤＳＰ（Digital Signal Processor）
２０ｎ  インサーションエフェクトブロック
ＰＴｓ  音色パート
【図１】
2008233236.tif 000003
【図２】
2008233236.tif 000004
【図３】
2008233236.tif 000005
【図４】
2008233236.tif 000006
【図５】
2008233236.tif 000007
【図６】
2008233236.tif 000008
【図７−Ａ】
2008233236.tif 000009
【図７−Ｂ】
2008233236.tif 000010
【図７−Ｃ】
2008233236.tif 000011
【図８】
2008233236.tif 000012
【図９】
2008233236.tif 000013
【図１０】
2008233236.tif 000014
【図１１】
2008233236.tif 000015
【図１２】
2008233236.tif 000016
【図１３】
2008233236.tif 000017
【図１４】
2008233236.tif 000018