(57)【特許請求の範囲】
【請求項１】
音高情報及び音量情報を含む発音指示、又は前記音高情報を含む消音指示を入力する入力手段と、
複数の楽音を発音可能であり、かつ、所定音高の楽音を発音又は消音可能な楽音生成手段に対し、楽音を制御する指示を出力する指示手段と、
前記入力手段から発音指示が入力された場合に、前記発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルを設定する目標レベル設定手段とを備え、
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記発音中である処理対象の楽音に加えて当該発音中の楽音のレベルと同じレベルで発音するよう指示し、それ以降は、前記発音指示に基づき発音する楽音を含む、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記目標レベル設定手段により設定された目標レベルに向かって徐々に変化するよう指示するものである、楽音制御装置。
【請求項２】
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在しない場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記目標レベル設定手段により設定された目標レベルで発音するよう指示するものである、請求項１記載の楽音制御装置。
【請求項３】
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合に、前記楽音生成手段から発音させる処理対象の楽音のレベルを、前記発音中である処理対象の楽音のレベルから、前記目標レベル設定手段により設定された目標レベルへ向かう側へ徐々に変化させて設定するレベル設定手段を備え、
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記レベル設定手段により設定されたレベルで発音するよう指示し、かつ、前記発音中である処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示し、それ以降は、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示するものである、請求項１又は２に記載の楽音制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音制御装置に関し、ベローズを持たない電子楽器であってもアコーディオンのような楽器の演奏を容易かつ十分に模擬させることができる楽音制御装置に関する。
【背景技術】
【０００２】
アコーディオンやバンドネオンなどの楽器は、ベローズの動きに応じて音量が制御される。特許文献１には、アコースティックアコーディオンを模擬する電子アコーディオンが記載されている。この電子アコーディオンによれば、ベローズ（フイゴ）内の圧力を検出し、検出された圧力と操作された鍵盤とに応じた音高及び音量の楽音が発音されるよう、電子回路により構成される音源が制御される。
【０００３】
一方、シンセサイザ等の電子楽器は、多種類の音色の楽音を発音することができる。電子楽器で自然楽器の演奏を模擬する場合には、音色を自然楽器の音色に忠実に似せるだけでなく、演奏者が、その楽器固有の特徴を踏まえた上で、電子楽器のユーザインタフェイス（例えば、鍵盤、ピッチベンドレバー、モジュレーションレバー、ＨＯＬＤペダル等）を演奏中に操作しながら演奏する必要がある。そのため、演奏者が電子楽器を用いてある楽器の演奏を模擬しようとする場合には、演奏者は、模擬しようとする楽器の特徴をよく理解する必要があるとともに、その特徴に応じてユーザインタフェイスを演奏中に駆使するといった高度な演奏技術が要求される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−３６６１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載される電子アコーディオンのような電子楽器ではなく、ベローズを持たないシンセサイザ等の電子楽器を用いて、上述したアコーディオンのような楽器の演奏を模擬する場合には、演奏者は、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを駆使する必要がある。そのため、ユーザインタフェイスを操作するタイミングを自在にコントロールする等、高度な演奏技術が演奏者に要求される。
【０００６】
本発明は、上述した事情を鑑みてなされたものであり、ベローズを持たない電子楽器であってもアコーディオンのような楽器の演奏を容易かつ十分に模擬させることができる楽音制御装置を提供することを目的としている。
【課題を解決するための手段および発明の効果】
【０００７】
この目的を達成するために、請求項１記載の楽音制御装置によれば、入力手段から発音指示が入力されると、目標レベル設定手段により、その発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルが設定される。一方、指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在する場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、発音中である処理対象の楽音に加えて当該発音中の楽音のレベルと同じレベルで発音するよう指示する。さらに、指示手段は、それ以降、発音指示に基づき発音する楽音を含む、楽音生成手段により発音中である全ての処理対象の楽音のレベルを、目標レベル設定手段により設定した目標レベルに向かって徐々に変化するよう、楽音生成手段に対して指示する。よって、新たに入力された発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが共に、発音指示が入力されたときに発音中であった処理対象の楽音のレベルから、新たな発音指示に基づいて設定される目標レベルに向かって徐々に変化する。
【０００８】
このように、請求項１記載の楽音制御装置によれば、楽音生成手段による楽音の発生中に、新たな発音指示が入力された場合には、その新たな発音指示が入力されたときに発音中である処理対象の楽音のレベルを、新たな発音指示に基づいて設定される目標レベル（即ち、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル）に追従させることができるので、ベローズの動きに応じて発音される楽音のレベル（音量）が制御される楽器（例えば、アコーディオン）の演奏を模擬することができる。つまり、発音指示毎の音量情報を変化させるだけで、ベローズの動きに応じて発音される楽音のレベルが制御される楽器の演奏を模擬できるので、アコーディオンのような楽器の演奏を容易に模擬できる。
【０００９】
一方で、新たな発音指示に基づく楽音のレベルは、その新たな発音情報に含まれる音量情報に対応する楽音のレベルではなく、その新たな発音指示が入力されたときに発音中であった処理対象の楽音のレベルと同じレベルで発音が開始され、徐々に目標レベルに向かうように変化する。即ち、新たな発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが、いずれも同じレベルで、目標レベルに向かうように徐々に変化する。よって、新たな発音指示に基づく楽音と、発音中であった処理対象の楽音とが異なるレベルで発音されることはない。また、発音中であった処理対象の楽音のレベルが急激に目標レベル（新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル）に変更されることもない。従って、違和感のないレベル変化によって、ベローズの動きに応じたレベルの変化を模倣できる。
【００１０】
上述の通り、請求項１記載の楽音制御装置によれば、ベローズを持たない電子楽器であってもアコーディオンのような楽器（即ち、ベローズの動きに応じて発音される楽音のレベルが制御される楽器）の演奏を容易かつ十分に模擬させることができるという効果がある。
【００１１】
請求項２記載の楽音制御装置によれば、請求項１が奏する効果に加え、次の効果を奏する。指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在しない場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、目標レベル設定手段により設定された目標レベルで発音するよう指示するので、かかる場合には、新たな発音情報に含まれる音高情報に対応する音高の楽音を、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定される目標レベルで発音させることができる。よって、新たな発音指示が単独で入力された場合もまた、その新たな発音指示に基づく楽音を、音量情報に応じたレベルで発音させることができ、アコーディオンのような楽器の演奏を容易に模擬できるという効果がある。
【００１２】
請求項３記載の楽音制御装置によれば、請求項１又は２が奏する効果に加え、楽音制御装置がレベル設定手段を有しているので、楽音生成手段により発音される楽音のレベルが、目標レベルに達するまでの補間を、楽音制御装置にて実行できるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態である楽音制御装置を搭載する電子楽器の外観図である。
【図２】電子楽器の電気的構成を示すブロック図である。
【図３】変換テーブルの内容をグラフ状にした説明図である。
【図４】電子楽器のＣＰＵが実行するノートイベント処理を示すフローチャートである。
【図５】電子楽器のＣＰＵが実行するタイマイベント処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の一実施形態である楽音制御装置を搭載する電子楽器１の外観図である。図１に示すように、電子楽器１は、複数の鍵２ａから構成される鍵盤２を有する電子鍵盤楽器である。演奏者は、電子楽器１の鍵盤２（鍵２ａ）を押鍵／離鍵操作することにより所望の演奏をすることができる。
【００１５】
鍵盤２は、演奏者により操作されるユーザインタフェイスの１つであり、演奏者による鍵２ａに対する押鍵／離鍵操作に応じたＭＩＤＩ（Musical Instrument Digital Interface）規格の演奏情報としてのノートイベントをＣＰＵ１１（図２参照）へ出力するものである。具体的に、演奏者により鍵２ａが押鍵された場合には、鍵盤２は、鍵２ａの押鍵されたことを示す演奏情報（発音指示）であるノートオンイベント（以下「ノートオン」と称する）をＣＰＵ１１へ出力する。一方で、演奏者により押鍵されていた鍵２ａが離鍵された場合には、鍵盤２は、鍵２ａが離鍵されたことを示す演奏情報（消音指示）であるノートオフイベント（以下「ノートオフ」と称する）をＣＰＵ１１へ出力する。
【００１６】
詳細は後述するが、電子楽器１に搭載される本実施形態の楽音制御装置は、演奏者が、発生中の楽音がある状態で、鍵２ａを新たに押鍵した場合には、発音中の楽音の音量（レベル）が、新たな押鍵のベロシティに基づく楽音の音量に追従するように、音量の制御を行うように構成されている。電子楽器１は、かかる楽音制御装置を搭載しているので、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを高度に駆使する必要もなく、ベローズの動きに応じて音量が制御される楽器（例えば、アコーディオンや、バンドネオンなど）の演奏を容易に模擬することができる。
【００１７】
図２は、電子楽器１の電気的構成を示すブロック図である。図２に示すように、電子楽器１は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、音源１４とを有しており、これらの各部１１〜１４及び鍵盤２は、バスライン１６を介して互いに接続されている。なお、本実施形態の楽音制御装置は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３とから構成される。電子楽器１はまた、デジタルアナログコンバータ（ＤＡＣ）１５を有している。ＤＡＣ１５は、音源１４に接続されると共に、電子楽器１の外部に設けられたアンプ３１に接続される。
【００１８】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶される固定値データや制御プログラムに従って、電子楽器１の各部を制御する中央制御装置である。ＣＰＵ１１は、クロック信号を計数することにより、時刻を計時するタイマ（図示せず）を内蔵している。
【００１９】
ＣＰＵ１１は、ノートオン（鍵２ａが押鍵されたことを示す演奏情報）を鍵盤２から受信すると、音源１４に発音指示を出力することによって、音源１４にノートオンに応じた楽音（オーディオ信号）の生成を開始させる。また、ＣＰＵ１１は、ノートオフ（押鍵されていた鍵２ａが離鍵されたことを示す演奏情報）を鍵盤２から受信すると、音源１４に消音指示を出力することにより消音制御を行う。これにより、音源１４で発生中の楽音が停止される。
【００２０】
ＲＯＭ１２は、書き替え不能なメモリであって、ＣＰＵ１１に実行させる制御プログラム１２ａや、この制御プログラム１２ａが実行される際にＣＰＵ１１により参照される固定値データ（図示せず）などが記憶される。なお、図４及び図５のフローチャートに示す各処理は、制御プログラム１２ａにより実行される。
【００２１】
ＲＡＭ１３は、書き替え可能なメモリであり、ＣＰＵ１１が制御プログラム１２ａを実行するにあたり、各種のデータを一時的に記憶するためのテンポラリエリアを有する。ＲＡＭ１３のテンポラリエリアには、Ｌ１メモリ１３ａと、Ｌ２メモリ１３ｂと、音量アップフラグ１３ｃとが設けられている。
【００２２】
Ｌ１メモリ１３ａは、音源１４から発生させる楽音の現在音量（現在レベル）を規定するレベルＬ１の値を記憶するためのメモリである。Ｌ１メモリ１３ａは、電子楽器１への電源が投入された場合に初期化（ゼロクリア）される。そして、後述するノートイベント処理（図４参照）又はタイマイベント処理（図５参照）においてレベルＬ１の値が設定されると、設定されたレベルＬ１の値がＬ１メモリ１３ａに記憶される。
【００２３】
Ｌ２メモリ１３ｂは、音源１４から発生させる楽音の目標音量（目標レベル）を規定するレベルＬ２の値を記憶するためのメモリである。Ｌ２メモリ１３ｂは、電子楽器１への電源が投入された場合に初期化（ゼロクリア）される。そして、鍵２ａが押鍵されたことにより、ＣＰＵ１１が鍵盤２からノートオンを受信する毎に、受信したノートオンに含まれるベロシティ（音量情報）に基づき設定されたレベルＬ２の値が、Ｌ２メモリ１３ｂに記憶される。
【００２４】
音量アップフラグ１３ｃは、音源１４から発生させる楽音の現在音量（レベルＬ１）を大きくするか、小さくするかを規定するフラグである。音量アップフラグ１３ｃがオンに設定されている場合には、後述するタイマイベント処理（図５参照）において、レベルＬ１の値に定数Ａが加算され、音源１４から発生させる楽音の音量（レベル）が大きくされる。一方で、音量アップフラグ１３ｃがオフに設定されている場合には、タイマイベント処理において、レベルＬ１の値から定数Ａが減算され、音源１４から発生させる楽音の音量が小さくされる。
【００２５】
音量アップフラグ１３ｃは、電子楽器１への電源が投入された場合に初期化（オフに設定）される。その後、音量アップフラグ１３ｃは、発音中の楽音がある状態で、鍵２ａが新たに押鍵された場合に、新たな押鍵に基づくレベルＬ２の値と、Ｌ１メモリ１３ａに記憶されているレベルＬ１の値との大小に応じた状態に設定される。具体的に、レベルＬ２の値がレベルＬ１の値より大きい場合には、音量アップフラグ１３ｃはオンに設定される。一方で、レベルＬ２の値がレベルＬ１の値より小さい場合には、音量アップフラグ１３ｃはオフに設定される。
【００２６】
また、ＲＡＭ１３のテンポラリエリアには、図示されないノートオンマップが設けられている。ノートオンマップは、各鍵２ａに対応する楽音が発音中であるか否かを示すマップである。具体的には、ノートオンマップは、各鍵２ａに対応するノート（ノートナンバ）毎に対応付けられた発音中フラグと、そのノートに対してアサインされた音源１４のボイスを記憶するための領域とにより構成される。音源１４に発音指示が出力された場合には、その発音指示に対応するノートの発音中フラグがオンに設定されるとともに、ボイスアサインされたボイスを示す情報が記憶される。その一方で、音源１４に対して消音指示が出力された場合には、その消音指示に対応するノートの発音中フラグがオフに設定されるとともに、ボイスを示す情報が消去される。
【００２７】
音源１４は、ＣＰＵ１１から受信した発音指示又は消音指示に基づいて、演奏者が設定した音色の楽音を押鍵された鍵２ａに対応する音高で発生（発音）したり、発生中の楽音を停止（消音）したりするものである。音源１４は、１２８の発音チャンネル（図示せず）を有しており、複数の楽音（ボイス）を発音可能に構成されている。音源１４は、ＣＰＵ１１から発音指示を受信すると、その発音指示に応じた音高、音量、音色の楽音（オーディオ信号）を、その発音指示に対してアサインされたボイスから発生する。なお、ボイスは、１つ又は複数の発音チャンネルからなる。
【００２８】
次に、図３を参照して、ベロシティと、レベル（レベルＬ１又はレベルＬ２）との関係について説明する。図３は、変換テーブルの内容をグラフ状にした説明図である。図３に示す変換テーブルは、ベロシティとレベルとの関係を規定するテーブルであり、ＲＯＭ１２に記憶されている。
【００２９】
図３において、横軸は、ＭＩＤＩ規格のベロシティを示す。なお、ベロシティとして取り得る値は１〜１２７である。一方で、縦軸は、レベル（レベルＬ１又はレベルＬ２）を示す。レベルとして取り得る範囲は最小値Ｌｍｉｘ〜最大値Ｌｍａｘである。なお、最小値Ｌｍｉｘは０より大きい所定値である。
【００３０】
図３に示すように、本実施形態の変換テーブルでは、ベロシティとレベルとの間に、直線的な比例関係が設定されている。後述するノートイベント処理（図４参照）において、新たな鍵２ａが押鍵された場合に設定されるレベルＬ２の値は、鍵盤２から受信したノートオンに含まれるベロシティの値から、この変換テーブルを参照することにより設定される。一方、新たな押鍵に基づく楽音のレベルを音源１４へ指示するためのベロシティの値は、Ｌ１メモリ１３ａに記憶されているレベルＬ１の値から、この変換テーブルを参照すことによって設定される。
【００３１】
なお、図３に示す例では、レベル（レベルＬ１又はレベルＬ２）が、ベロシティの増加に対して直線的に増加する関係としたが、ベロシティとレベルとの関係は、直線的な増加に限らず、対数的な増加（上に凸な単調増加、又は、下に凸な単調増加）等であってもよい。
【００３２】
次に、図４を参照して、上記構成を有する本実施形態の電子楽器１のＣＰＵ１１が実行する処理について説明する。図４は、ＣＰＵ１１が実行するノートイベント処理を示すフローチャートである。このノートイベント処理は、アコーディオンの音色が設定されている場合に、ＣＰＵ１１が、鍵盤２からノートイベント（ノートオン又はノートオフ）を受信する毎に実行される。
【００３３】
図４に示すように、ノートイベント処理は、まず、鍵盤２から受信したノートイベントがノートオンであるか否かを判定する（Ｓ１）。Ｓ１において、受信したノートイベントがノートオンであると判定された場合には（Ｓ１：Ｙｅｓ）、受信したノートオンに含まれるベロシティに基づいたレベルＬ２の設定を行う（Ｓ２）。具体的には、受信したノートオンに含まれるベロシティから、変換テーブル（図３参照）を参照してレベルＬ２の値を設定する。設定されたレベルＬ２の値は、Ｌ２メモリ１３ｂに記憶される。
【００３４】
Ｓ２の処理後、押鍵中のノートがあるか否かを判定し（Ｓ３）、押鍵中のノートがないと判定された場合には（Ｓ３：Ｎｏ）、新たな押鍵に基づく発音が単独で発音されるので、レベルＬ２の値を、レベルＬ１として設定する（Ｓ１０）。設定されたレベルＬ１の値は、Ｌ１メモリ１３ａに記憶される。
【００３５】
Ｓ１０の処理後、発音処理を実行し（Ｓ８）、ノートイベント処理を終了する。発音処理（Ｓ８）では、受信したノートオンに含まれるノートナンバ（新たに押鍵されたノートの音高）と、受信したノートオンに含まれるベロシティとに応じた発音指示を、音源１４における空いたボイスにアサインして出力する。このとき、ＲＡＭ１３内のノートオンマップ（図示せず）における、新たに押鍵されたノートに対応する発音フラグをオンに設定するとともに、アサインされたボイスを示す情報を記憶する。
【００３６】
よって、押鍵中のノートがない状態で、新たに鍵２ａが押鍵された場合には、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、受信したノートオンに含まれるベロシティに基づくレベル（即ち、レベルＬ２の値により規定されるレベル）で発音される。
【００３７】
一方で、Ｓ３において、押鍵中のノートがある、即ち、発音中のノートがあると判定された場合には（Ｓ３：Ｙｅｓ）、Ｓ２において設定されたレベルＬ２の値と、Ｌ１メモリ１３ａに記憶されているレベルＬ１の値とが等しいか否かを判定する（Ｓ４）。Ｓ４において、レベルＬ２の値と、レベルＬ１の値とが等しいと判定された場合には（Ｓ４：Ｙｅｓ）、処理を発音処理（Ｓ８）へ移行する。この場合も、新たな押鍵が単独でされた場合（即ち、Ｓ３においてＮｏと判定された場合）と同様に、受信したノートオンに含まれるノートナンバと、受信したノートオンに含まれるベロシティとに応じた発音指示を、音源１４における空いたボイスにアサインして出力する。これにより、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、受信したノートオンに含まれるベロシティに基づくレベルで発音される。
【００３８】
つまり、発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合には、新たな押鍵に基づく楽音のレベルは、新たな押鍵が単独でされた場合と同様に、レベルＬ２の値により規定されるレベル（即ち、新たな押鍵のベロシティに応じたレベル）となる。
【００３９】
Ｓ４において、レベルＬ２の値とレベルＬ１の値とが異なると判定された場合には（Ｓ４：Ｎｏ）、レベルＬ２の値が、レベルＬ１の値より大きいか否かを判定する（Ｓ５）。Ｓ５において、レベルＬ２の値が、レベルＬ１の値より大きいと判定された場合には（Ｓ５：Ｙｅｓ）、音量アップフラグ１３ｃをオンに設定する（Ｓ６）。一方で、Ｓ５において、レベルＬ２の値が、レベルＬ１の値より小さいと判定された場合には（Ｓ５：Ｎｏ）、音量アップフラグ１３ｃをオフに設定する（Ｓ１１）。
【００４０】
Ｓ６又はＳ１１の処理後、処理をＳ７へ移行し、設定されたレベルＬ１に基づいたベロシティの設定を行う（Ｓ７）。具体的には、設定されたレベルＬ１の値から、変換テーブル（図３参照）を参照してベロシティを設定する。
【００４１】
Ｓ７の処理後、処理を発音処理（Ｓ８）へ移行する。発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが異なる場合に実行される発音処理（Ｓ８）では、受信したノートオンに含まれるノートナンバ（新たに押鍵されたノートの音高）と、Ｓ７において設定されたベロシティとに応じた発音指示を、音源１４における空いたボイスにアサインして出力する。
【００４２】
詳細は後述するが、レベルＬ１の値とレベルＬ２の値とが異なる場合、レベルＬ１の値は、タイマイベント処理（図５参照）において設定される。よって、発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが異なる場合には、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、タイマイベント処理において設定されたレベルで発音される。
【００４３】
また、Ｓ１において、受信したノートイベントがノートオフであると判定された場合は（Ｓ１：Ｎｏ）、受信したノートオフに応じた消音処理を実行する（Ｓ９）。即ち、ＲＡＭ１３内のノートオンマップ（図示せず）を参照し、受信したノートオフに応じた消音指示を、対応するボイスに対して出力することにより、離鍵されたノートに対応する楽音の生成を消音させる。
【００４４】
図５は、ＣＰＵ１１が実行するタイマイベント処理を示すフローチャートである。このタイマイベント処理は、上述した図４のノートイベント処理が実行される音色が設定されている場合に、１０ｍｓｅｃ毎の割込処理によって起動する処理である。タイマイベント処理では、まず、Ｌ１メモリ１３ａに記憶されているレベルＬ１の値と、Ｌ２メモリ１３ｂに記憶されているレベルＬ２の値とが等しいか否かを判定する（Ｓ２１）。Ｓ２１において、レベルＬ１の値とレベルＬ２の値とが等しいと判定された場合には（Ｓ２１：Ｙｅｓ）、タイマイベント処理を終了する。
【００４５】
一方、Ｓ２１において、レベルＬ１の値とレベルＬ２の値とが異なると判定された場合には（Ｓ２１：Ｎｏ）、音量アップフラグ１３ｃがオンであるか否かを判定する（Ｓ２２）。Ｓ２２において、音量アップフラグ１３ｃがオンであると判定された場合には（Ｓ２２：Ｙｅｓ）、現在のレベルＬ１の値に定数Ａを加えた値を、レベルＬ１として設定する（Ｓ２３）。Ｓ２３において設定されたレベルＬ１の値は、Ｌ１メモリ１３ａに記憶される。
【００４６】
Ｓ２３の処理後、Ｓ２３において設定されたレベルＬ１の値が、Ｌ２メモリ１３ｂに記憶されているレベルＬ２の値以上であるか否かを判定する（Ｓ２４）。Ｓ２４において、レベルＬ１の値が、レベルＬ２の値より小さいであると判定された場合には（Ｓ２４：Ｎｏ）、処理をＳ２６へ移行する。
【００４７】
一方、Ｓ２４において、レベルＬ１の値が、レベルＬ２の値以上であると判定された場合には（Ｓ２４：Ｙｅｓ）、音源１４から発生させる楽音のレベル（即ち、レベルＬ１）が、最新の押鍵のベロシティに基づいて設定された目標レベル（即ち、レベルＬ２）に到達したので、レベルＬ２の値を、レベルＬ１として設定し（Ｓ２５）、処理をＳ２６へ移行する。なお、Ｓ２５において設定されたレベルＬ１の値は、Ｌ１メモリ１３ａに記憶される。
【００４８】
また、Ｓ２２において、音量アップフラグ１３ｃがオフであると判定された場合には（Ｓ２２：Ｎｏ）、現在のレベルＬ１の値から定数Ａを減じた値を、レベルＬ１として設定する（Ｓ２８）。Ｓ２８において設定されたレベルＬ１の値は、Ｌ１メモリ１３ａに記憶される。
【００４９】
Ｓ２８の処理後、Ｓ２８において設定されたレベルＬ１の値が、Ｌ２メモリ１３ｂに記憶されているレベルＬ２の値以下であるか否かを判定する（Ｓ２９）。Ｓ２９において、レベルＬ１の値が、レベルＬ２の値より大きいと判定された場合には（Ｓ２９：Ｎｏ）、処理をＳ２６へ移行する。
【００５０】
一方、Ｓ２９において、レベルＬ１の値が、レベルＬ２の値以下であると判定された場合には（Ｓ２９：Ｙｅｓ）、処理をＳ２５へ移行する。つまり、音源１４から発生させる楽音のレベル（即ち、レベルＬ１）が、最新の押鍵のベロシティに基づいて設定された目標レベル（即ち、レベルＬ２）に到達したので、レベルＬ２の値を、レベルＬ１として設定する。
【００５１】
Ｓ２６では、発音中の全てのボイスのレベルを、Ｌ１メモリ１３ａに記憶されているレベルＬ１の値に設定する（Ｓ２６）。Ｓ２６の処理後、タイマイベント処理を終了する。Ｓ２６の処理により、発音中の楽音のレベルは、レベルＬ１により規定されるレベルとされる。一方で、上述したノートイベント処理（図４参照）において、新たな押鍵に基づく楽音のレベルもまた、レベルＬ１により規定されるレベルとされるので、鍵２ａが新たに押鍵されたときに、既に発音中の楽音があった場合には、新たな押鍵に基づく楽音も、発音中の楽音も、レベルＬ１により規定される同じレベルで発音される。
【００５２】
上述したタイマイベント処理によれば、鍵２ａが新たに押鍵されたときに、既に発音中の楽音があり、かつ、発音中の楽音のレベルが、新たな押鍵のベロシティに基づくレベルと異なる場合には、Ｓ２６の処理が実行されるので、発音中の楽音のレベルは、音量アップフラグ１３ｃの設定に応じて定数Ａだけ増加又は減少される。本タイマイベント処理は、１０ｍｓｅｃ毎に起動（実行）されるので、発音中の楽音のレベルと、新たな押鍵のベロシティに基づくレベルとが異なる間、発音中の楽音のレベルは、１０ｍｓｅｃ毎に、定数Ａずつ増加又は減少されることになる。
【００５３】
つまり、本タイマイベント処理によれば、鍵２ａが新たに押鍵されたときに、既に発音中の楽音があり、かつ、発音中の楽音のレベルが、新たな押鍵のベロシティに基づくレベルと異なる場合には、新たな押鍵のベロシティに基づくレベルを目標レベルとして、発音中の楽音のレベルを、当該目標レベルへ向けて徐々に変化させる（増加又は減少させる）ことにより、新たな押鍵のベロシティに基づくレベルに追従させることができる。これにより、ベローズの動きに応じて音量が制御される楽器であるアコーディオンらしい演奏を電子楽器１で模擬することができる。
【００５４】
よって、本実施形態の楽音制御装置を搭載する電子楽器１によれば、押鍵がされる毎の各押鍵のベロシティを変化させるだけで、アコーディオンらしい演奏を模擬することができる。つまり、演奏者が、押鍵時の押鍵強さ（又は押鍵速さ）を変化させるだけで、アコーディオンのような、ベローズの動きに応じてレベルが制御される楽器の演奏を模擬できるので、かかる楽器の演奏の模擬を、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを高度に駆使する必要もなく容易に実現できる。
【００５５】
また、新たな押鍵に基づく楽音のレベルは、その新たな押鍵のベロシティに基づくレベル（即ち、レベルＬ２の値により規定されるレベル）ではなく、図５のタイマイベント処理において設定されたレベルＬ１の値により規定されるレベル、即ち、発音中の楽音と同じレベルで発音が開始され、その後、レベルＬ２の値により規定されるレベル（即ち、目標レベル）に向かって徐々に増加又は減少される。よって、新たな押鍵に基づく楽音と発音中の楽音とが異なるレベルで発音されることがない上に、発音中の楽音のレベルが急激に目標レベル（即ち、新たな押鍵のベロシティに基づくレベル）に変更されることもない。そのため、違和感のないレベル変化によって、ベローズの動き（ベローズ内の圧力変化）に応じた音量変化を模倣できる。
【００５６】
また、本実施形態の楽音制御装置を搭載する電子楽器１によれば、発音中の楽音のレベルを、新たな押鍵のベロシティに基づくレベル（目標レベル）に追従させる際には、そのレベル、即ち、レベルＬ１の値により規定されるレベルを、一定速度（本実施形態では、１０ｍｓｅｃ毎に、定数Ａずつの速度）で変化させる。よって、発音中の楽音のレベルと、目標レベルとの差分が大きい程、目標レベルに到達するまでの時間が長くなるので、アコーディオンのような楽器らしい演奏の模擬を容易な制御で実現できる。
【００５７】
以上、実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【００５８】
例えば、上記実施形態では、ＣＰＵ１１が図４及び図５に示す処理を実行することにより、アコーディオンのように、ベローズの動きに応じてレベルが制御される楽器の演奏を容易かつ十分に模擬できる構成としたが、図４に示す処理に相当する処理を音源１４に実行させる構成としてもよい。また、ＣＰＵ１１が、新たな押鍵のベロシティに基づいて目標レベルＬ２を設定するとともに、設定された目標レベルＬ２を音源１４へ出力し、現在レベルＬ１から目標レベルＬ２までの補間を、音源１４が実行する構成としてもよい。即ち、音源１４が、上述したタイマイベント処理（図５参照）のＳ２３又はＳ２８の処理と同様の処理を行い、楽音のレベルを、ＣＰＵ１１が設定した目標レベルＬ２へ向かうよう補間する構成としてもよい。
【００５９】
また、上記実施形態では、図４及び図５に示す処理は、アコーディオンの音色が設定されている場合に実行される構成としたが、アコーディオンに限定されず、アコーディオンのように、ベローズの動きに応じてレベルが制御される楽器（例えば、バンドネオンなど）の音色であれば同様に適用可能である。また、ベローズの動きに応じてレベルが制御される楽器の音色に限らず、それ以外の任意の楽器の音色（例えば、オルガンや管楽器など、種々の楽器の音色）に適用してもよい。
【００６０】
また、上記実施形態では、音源１４として、発音指示に含まれるベロシティの値に応じて発音される楽音のレベル（音量）が変化する音源を採用したが、発音される楽音のレベルがベロシティの値に依存しない音源を採用してもよい。発音される楽音のレベルがベロシティの値に依存しない音源を採用する場合には、図４のノートイベント処理におけるＳ７の処理に換えて、かかる音源から発音されるレベルを制御するレベル制御情報を、レベルＬ１の値に基づいて設定し、発音処理（Ｓ８）において、設定されたレベル制御情報に基づき、音源から発音される楽音のレベルを制御するように構成すればよい。
【００６１】
また、上記実施形態では、レベルＬ１の値を、１０ｍｓｅｃ毎に定数Ａずつの一定速度で変化させる構成としたが、レベルの変化は一定速度であることに限定されない。例えば、１０ｍｓｅｃが経過する毎に、加える値又は減じる値が次第に大きくなるように構成したり、１０ｍｓｅｃが経過する毎に、加える値又は減じる値が次第に小さくなるように構成してもよい。あるいは、例えば、発音中の楽音のレベルと目標レベルとの差分が大きい程、目標レベルに到達するまでの時間が長くなるように、目標レベルに到達するまでの時間を決定した後、目標レベルに到達するまで期間において、レベルＬ１の値を所定の変化態様で変化させる構成としてもよい。所定の変化態様としては、例えば、所定時間毎のレベルＬ１の変化が一定である態様（即ち、変化速度が一定）や、時間経過に応じて変化速度が異なる態様（例えば、時間が経過するにつれてレベルの増分が増える態様）などが挙げられる。あるいは、発音中の楽音のレベルと目標レベルとの差分にかかわらず、目標レベルに到達するまでの時間を一定として、レベルＬ１の値により規定されるレベルを変化させる構成としてもよい。
【００６２】
また、上記実施形態では、レベルＬ１の値を所定タイミング毎（具体的には１０ｍｓｅｃ毎）に変化させる構成としたが、発音中の楽音レベルを更新するタイミングは、実施形態のように定期的であることに限定されない。例えば、時間の経過に伴ってレベルが増加する所定の関数に基づき、所定レベルだけ変化させるタイミングで、発音中の楽音のレベルを変化させるように構成してもよい。
【００６３】
また、上述したノートイベント処理（図４参照）では、新たな押鍵が単独でされた場合（即ち、Ｓ３においてＮｏと判定された場合）、及び、楽音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合（即ち、Ｓ４においてＹｅｓと判定された場合）には、それぞれ処理を発音処理（Ｓ８）へ移行し、受信したノートオンに対応する発音指示を音源１４へ出力する構成とした。これに換えて、Ｓ３においてＮｏと判定された場合や、Ｓ４においてＹｅｓと判定された場合であっても、新たな押鍵に基づく楽音のレベルとして、レベルＬ１に基づいて設定されたベロシティを音源１４に指示する構成としてもよい。即ち、Ｓ３においてＮｏと判定された場合には、Ｓ１０の処理を実行した後、処理をＳ７へ移行し、レベルＬ１に基づいたベロシティを設定する構成としてもよい。同様に、Ｓ４においてＹｅｓと判定された場合に、処理をＳ７へ移行する構成としてもよい。
【００６４】
また、上述したノートイベント処理（図４参照）では、Ｓ３において、押鍵中のノートがあると判定された場合に、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しいか否かを判定する処理（Ｓ４）を実行する構成としたが、Ｓ４の処理を省略してもよい。かかる場合は、楽音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合にも、Ｓ７の処理が実行され、新たな押鍵に基づく楽音のレベルとして、レベルＬ１（レベルＬ２に等しい）に基づいて設定されたベロシティが音源１４に指示される。
【００６５】
また、上記実施形態では、図５に示すタイマイベント処理を、１０ｍｓｅｃ毎の割込処理によって起動する処理としたが、起動間隔は１０ｍｓｅｃに限定されるものではなく、５ｍｓｅｃや１５ｍｓｅｃなど、他の値であってもよい。
【００６６】
また、上記実施形態では、新たな１つの押鍵のベロシティに応じた目標レベルＬ２を設定する構成とした（図４；Ｓ２参照）。これに換えて、最新の複数の押鍵を対象として、これら複数の押鍵の各ベロシティに基づいて（例えば、各ベロシティの加重平均などに基づいて）、目標レベルＬ２を設定する構成としてもよい。そのように構成することにより、目標レベルＬ２が現在レベルＬ１から急激に変化することを防止することができる。あるいは、所定時間内に複数の押鍵があった場合に、これら複数の押鍵の各ベロシティに基づいて（例えば、各ベロシティの平均値などに基づいて）、目標レベルＬ２を設定する構成としてもよい。そのように構成することにより、和音を意図する複数の押鍵があった場合におけるベロシティのばらつきによる影響を減らすことができる。
【００６７】
また、上記実施形態では、鍵盤２の全域を１パートとし、鍵盤２を構成する各鍵２ａに対応する楽音を処理対象とし、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルＬ２の設定、及び、目標レベルＬ２へ向けてのレベルの制御を実行するよう構成した。これに対し、鍵盤２から複数パートの楽音を発生させる場合であっても、本発明は適用可能である。例えば、鍵盤２をスプリットするなどして複数パートの楽音を発生させる場合に、パート毎に独立して、各パートを構成する楽音をそれぞれ処理対象として、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルＬ２の設定、及び、目標レベルＬ２へ向けてのレベルの制御を実行するように構成してもよい。これにより、複数台のアコーディオンによる演奏を模擬することができる。
【００６８】
あるいは、鍵盤２から複数パートの楽音を発生させる場合に、それら複数パートを構成する楽音を処理対象として、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルＬ２の設定、及び、目標レベルＬ２へ向けてのレベルの制御を実行するように構成してもよい。その場合、目標レベルＬ２は、パート毎に異なる値に設定してもよい。これにより、１台のアコーティオンによるメロディパート及びベースパートの演奏を模擬することができる。
【００６９】
また、上記実施形態では、本発明の楽音制御装置が、鍵盤２が一体化された電子楽器１に搭載される構成としたが、本発明の楽音制御装置は、鍵盤２と同様にノートオン及びノートオフを出力する鍵盤を取り外し可能に接続できる音源モジュールに搭載される構成であってもよい。また、本発明の楽音制御装置は、音源１４と別体に構成されるものであってもよい。
＜その他＞
＜手段＞ 
技術的思想１の楽音制御装置は、音高情報及び音量情報を含む発音指示、又は前記音高情報を含む消音指示を入力する入力手段と、複数の楽音を発音可能であり、かつ、所定音高の楽音を発音又は消音可能な楽音生成手段に対し、楽音を制御する指示を出力する指示手段と、前記入力手段から発音指示が入力された場合に、前記発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルを設定する目標レベル設定手段とを備え、前記指示手段は、前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記発音中である処理対象の楽音のレベルと同じレベルで発音するよう指示し、それ以降は、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記目標レベル設定手段により設定された目標レベルに向かって徐々に変化するよう指示するものである。
技術的思想２の楽音制御装置は、技術的思想１の楽音制御装置において、前記指示手段は、前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在しない場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記目標レベル設定手段により設定された目標レベルで発音するよう指示するものである。
技術的思想３の楽音制御装置は、技術的思想１または２の楽音制御装置において、前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合に、前記楽音生成手段から発音させる処理対象の楽音のレベルを、前記発音中である処理対象の楽音のレベルから、前記目標レベル設定手段により設定された目標レベルへ向かう側へ徐々に変化させて設定するレベル設定手段を備え、前記指示手段は、前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記レベル設定手段により設定されたレベルで発音するよう指示し、かつ、前記発音中である処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示し、それ以降は、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示するものである。
＜効果＞ 
技術的思想１の楽音制御装置によれば、入力手段から発音指示が入力されると、目標レベル設定手段により、その発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルが設定される。一方、指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在する場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、発音中である処理対象の楽音のレベルと同じレベルで発音するよう指示する。さらに、指示手段は、それ以降、楽音生成手段により発音中である全ての処理対象の楽音のレベルを、目標レベル設定手段により設定した目標レベルに向かって徐々に変化するよう、楽音生成手段に対して指示する。よって、新たに入力された発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが共に、発音指示が入力されたときに発音中であった処理対象の楽音のレベルから、新たな発音指示に基づいて設定される目標レベルに向かって徐々に変化する。
このように、技術的思想１の楽音制御装置によれば、楽音生成手段による楽音の発生中に、新たな発音指示が入力された場合には、その新たな発音指示が入力されたときに発音中である処理対象の楽音のレベルを、新たな発音指示に基づいて設定される目標レベル（即ち、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル）に追従させることができるので、ベローズの動きに応じて発音される楽音のレベル（音量）が制御される楽器（例えば、アコーディオン）の演奏を模擬することができる。つまり、発音指示毎の音量情報を変化させるだけで、ベローズの動きに応じて発音される楽音のレベルが制御される楽器の演奏を模擬できるので、アコーディオンのような楽器の演奏を容易に模擬できる。
一方で、新たな発音指示に基づく楽音のレベルは、その新たな発音情報に含まれる音量情報に対応する楽音のレベルではなく、その新たな発音指示が入力されたときに発音中であった処理対象の楽音のレベルと同じレベルで発音が開始され、徐々に目標レベルに向かうように変化する。即ち、新たな発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが、いずれも同じレベルで、目標レベルに向かうように徐々に変化する。よって、新たな発音指示に基づく楽音と、発音中であった処理対象の楽音とが異なるレベルで発音されることはない。また、発音中であった処理対象の楽音のレベルが急激に目標レベル（新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル）に変更されることもない。従って、違和感のないレベル変化によって、ベローズの動きに応じたレベルの変化を模倣できる。
上述の通り、技術的思想１の楽音制御装置によれば、ベローズを持たない電子楽器であってもアコーディオンのような楽器（即ち、ベローズの動きに応じて発音される楽音のレベルが制御される楽器）の演奏を容易かつ十分に模擬させることができるという効果がある。
技術的思想２の楽音制御装置によれば、技術的思想１が奏する効果に加え、次の効果を奏する。指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在しない場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、目標レベル設定手段により設定された目標レベルで発音するよう指示するので、かかる場合には、新たな発音情報に含まれる音高情報に対応する音高の楽音を、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定される目標レベルで発音させることができる。よって、新たな発音指示が単独で入力された場合もまた、その新たな発音指示に基づく楽音を、音量情報に応じたレベルで発音させることができ、アコーディオンのような楽器の演奏を容易に模擬できるという効果がある。
技術的思想３の楽音制御装置によれば、技術的思想１又は２が奏する効果に加え、楽音制御装置がレベル設定手段を有しているので、楽音生成手段により発音される楽音のレベルが、目標レベルに達するまでの補間を、楽音制御装置にて実行できるという効果がある。
【符号の説明】
【００７０】
１      電子楽器
２      鍵盤
１１    ＣＰＵ（楽音制御装置の一部）
１２    ＲＯＭ（楽音制御装置の一部）
１３    ＲＡＭ（楽音制御装置の一部）
１４    音源（楽音生成手段）
【図１】
0005827484.tif 000002
【図２】
0005827484.tif 000003
【図３】
0005827484.tif 000004
【図４】
0005827484.tif 000005
【図５】
0005827484.tif 000006