説明

楽音制御装置

【課題】アコーディオンのような楽器の演奏を容易かつ十分に模擬させることができる楽音制御装置を提供すること。
【解決手段】本発明によれば、新たな発音指示が入力されたときに、発音中である処理対象の楽音が存在する場合に、指示手段は、楽音生成手段に対し、発音指示に基づく楽音を、発音中である処理対象の楽音のレベルと同じレベルで発音するよう指示し、それ以降は、発音中である全ての処理対象の楽音のレベルを、新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づいて設定された目標レベルに向かって徐々に変化するよう指示する。これにより、ベローズの動きに応じて発音される楽音のレベルが制御される楽器の演奏を容易かつ十分に模擬させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、楽音制御装置に関し、ベローズを持たない電子楽器であってもアコーディオンのような楽器の演奏を容易かつ十分に模擬させることができる楽音制御装置に関する。
【背景技術】
【0002】
アコーディオンやバンドネオンなどの楽器は、ベローズの動きに応じて音量が制御される。特許文献1には、アコースティックアコーディオンを模擬する電子アコーディオンが記載されている。この電子アコーディオンによれば、ベローズ(フイゴ)内の圧力を検出し、検出された圧力と操作された鍵盤とに応じた音高及び音量の楽音が発音されるよう、電子回路により構成される音源が制御される。
【0003】
一方、シンセサイザ等の電子楽器は、多種類の音色の楽音を発音することができる。電子楽器で自然楽器の演奏を模擬する場合には、音色を自然楽器の音色に忠実に似せるだけでなく、演奏者が、その楽器固有の特徴を踏まえた上で、電子楽器のユーザインタフェイス(例えば、鍵盤、ピッチベンドレバー、モジュレーションレバー、HOLDペダル等)を演奏中に操作しながら演奏する必要がある。そのため、演奏者が電子楽器を用いてある楽器の演奏を模擬しようとする場合には、演奏者は、模擬しようとする楽器の特徴をよく理解する必要があるとともに、その特徴に応じてユーザインタフェイスを演奏中に駆使するといった高度な演奏技術が要求される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−366145号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載される電子アコーディオンのような電子楽器ではなく、ベローズを持たないシンセサイザ等の電子楽器を用いて、上述したアコーディオンのような楽器の演奏を模擬する場合には、演奏者は、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを駆使する必要がある。そのため、ユーザインタフェイスを操作するタイミングを自在にコントロールする等、高度な演奏技術が演奏者に要求される。
【0006】
本発明は、上述した事情を鑑みてなされたものであり、ベローズを持たない電子楽器であってもアコーディオンのような楽器の演奏を容易かつ十分に模擬させることができる楽音制御装置を提供することを目的としている。
【課題を解決するための手段および発明の効果】
【0007】
この目的を達成するために、請求項1記載の楽音制御装置によれば、入力手段から発音指示が入力されると、目標レベル設定手段により、その発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルが設定される。一方、指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在する場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、発音中である処理対象の楽音のレベルと同じレベルで発音するよう指示する。さらに、指示手段は、それ以降、楽音生成手段により発音中である全ての処理対象の楽音のレベルを、目標レベル設定手段により設定した目標レベルに向かって徐々に変化するよう、楽音生成手段に対して指示する。よって、新たに入力された発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが共に、発音指示が入力されたときに発音中であった処理対象の楽音のレベルから、新たな発音指示に基づいて設定される目標レベルに向かって徐々に変化する。
【0008】
このように、請求項1記載の楽音制御装置によれば、楽音生成手段による楽音の発生中に、新たな発音指示が入力された場合には、その新たな発音指示が入力されたときに発音中である処理対象の楽音のレベルを、新たな発音指示に基づいて設定される目標レベル(即ち、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル)に追従させることができるので、ベローズの動きに応じて発音される楽音のレベル(音量)が制御される楽器(例えば、アコーディオン)の演奏を模擬することができる。つまり、発音指示毎の音量情報を変化させるだけで、ベローズの動きに応じて発音される楽音のレベルが制御される楽器の演奏を模擬できるので、アコーディオンのような楽器の演奏を容易に模擬できる。
【0009】
一方で、新たな発音指示に基づく楽音のレベルは、その新たな発音情報に含まれる音量情報に対応する楽音のレベルではなく、その新たな発音指示が入力されたときに発音中であった処理対象の楽音のレベルと同じレベルで発音が開始され、徐々に目標レベルに向かうように変化する。即ち、新たな発音指示に基づく楽音と、その新たな発音指示が入力されたときに発音中であった処理対象の楽音とが、いずれも同じレベルで、目標レベルに向かうように徐々に変化する。よって、新たな発音指示に基づく楽音と、発音中であった処理対象の楽音とが異なるレベルで発音されることはない。また、発音中であった処理対象の楽音のレベルが急激に目標レベル(新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定されるレベル)に変更されることもない。従って、違和感のないレベル変化によって、ベローズの動きに応じたレベルの変化を模倣できる。
【0010】
上述の通り、請求項1記載の楽音制御装置によれば、ベローズを持たない電子楽器であってもアコーディオンのような楽器(即ち、ベローズの動きに応じて発音される楽音のレベルが制御される楽器)の演奏を容易かつ十分に模擬させることができるという効果がある。
【0011】
請求項2記載の楽音制御装置によれば、請求項1が奏する効果に加え、次の効果を奏する。指示手段は、入力手段から発音指示が入力された場合に、楽音生成手段により発音中である処理対象の楽音が存在しない場合には、楽音生成手段に対し、その発音指示に含まれる音高情報に対応する音高の楽音を、目標レベル設定手段により設定された目標レベルで発音するよう指示するので、かかる場合には、新たな発音情報に含まれる音高情報に対応する音高の楽音を、その新たな発音指示に含まれる音量情報に対応する楽音のレベルに基づき設定される目標レベルで発音させることができる。よって、新たな発音指示が単独で入力された場合もまた、その新たな発音指示に基づく楽音を、音量情報に応じたレベルで発音させることができ、アコーディオンのような楽器の演奏を容易に模擬できるという効果がある。
【0012】
請求項3記載の楽音制御装置によれば、請求項1又は2が奏する効果に加え、楽音制御装置がレベル設定手段を有しているので、楽音生成手段により発音される楽音のレベルが、目標レベルに達するまでの補間を、楽音制御装置にて実行できるという効果がある。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態である楽音制御装置を搭載する電子楽器の外観図である。
【図2】電子楽器の電気的構成を示すブロック図である。
【図3】変換テーブルの内容をグラフ状にした説明図である。
【図4】電子楽器のCPUが実行するノートイベント処理を示すフローチャートである。
【図5】電子楽器のCPUが実行するタイマイベント処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。図1は、本発明の一実施形態である楽音制御装置を搭載する電子楽器1の外観図である。図1に示すように、電子楽器1は、複数の鍵2aから構成される鍵盤2を有する電子鍵盤楽器である。演奏者は、電子楽器1の鍵盤2(鍵2a)を押鍵/離鍵操作することにより所望の演奏をすることができる。
【0015】
鍵盤2は、演奏者により操作されるユーザインタフェイスの1つであり、演奏者による鍵2aに対する押鍵/離鍵操作に応じたMIDI(Musical Instrument Digital Interface)規格の演奏情報としてのノートイベントをCPU11(図2参照)へ出力するものである。具体的に、演奏者により鍵2aが押鍵された場合には、鍵盤2は、鍵2aの押鍵されたことを示す演奏情報(発音指示)であるノートオンイベント(以下「ノートオン」と称する)をCPU11へ出力する。一方で、演奏者により押鍵されていた鍵2aが離鍵された場合には、鍵盤2は、鍵2aが離鍵されたことを示す演奏情報(消音指示)であるノートオフイベント(以下「ノートオフ」と称する)をCPU11へ出力する。
【0016】
詳細は後述するが、電子楽器1に搭載される本実施形態の楽音制御装置は、演奏者が、発生中の楽音がある状態で、鍵2aを新たに押鍵した場合には、発音中の楽音の音量(レベル)が、新たな押鍵のベロシティに基づく楽音の音量に追従するように、音量の制御を行うように構成されている。電子楽器1は、かかる楽音制御装置を搭載しているので、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを高度に駆使する必要もなく、ベローズの動きに応じて音量が制御される楽器(例えば、アコーディオンや、バンドネオンなど)の演奏を容易に模擬することができる。
【0017】
図2は、電子楽器1の電気的構成を示すブロック図である。図2に示すように、電子楽器1は、CPU11と、ROM12と、RAM13と、音源14とを有しており、これらの各部11〜14及び鍵盤2は、バスライン16を介して互いに接続されている。なお、本実施形態の楽音制御装置は、CPU11と、ROM12と、RAM13とから構成される。電子楽器1はまた、デジタルアナログコンバータ(DAC)15を有している。DAC15は、音源14に接続されると共に、電子楽器1の外部に設けられたアンプ31に接続される。
【0018】
CPU11は、ROM12やRAM13に記憶される固定値データや制御プログラムに従って、電子楽器1の各部を制御する中央制御装置である。CPU11は、クロック信号を計数することにより、時刻を計時するタイマ(図示せず)を内蔵している。
【0019】
CPU11は、ノートオン(鍵2aが押鍵されたことを示す演奏情報)を鍵盤2から受信すると、音源14に発音指示を出力することによって、音源14にノートオンに応じた楽音(オーディオ信号)の生成を開始させる。また、CPU11は、ノートオフ(押鍵されていた鍵2aが離鍵されたことを示す演奏情報)を鍵盤2から受信すると、音源14に消音指示を出力することにより消音制御を行う。これにより、音源14で発生中の楽音が停止される。
【0020】
ROM12は、書き替え不能なメモリであって、CPU11に実行させる制御プログラム12aや、この制御プログラム12aが実行される際にCPU11により参照される固定値データ(図示せず)などが記憶される。なお、図4及び図5のフローチャートに示す各処理は、制御プログラム12aにより実行される。
【0021】
RAM13は、書き替え可能なメモリであり、CPU11が制御プログラム12aを実行するにあたり、各種のデータを一時的に記憶するためのテンポラリエリアを有する。RAM13のテンポラリエリアには、L1メモリ13aと、L2メモリ13bと、音量アップフラグ13cとが設けられている。
【0022】
L1メモリ13aは、音源14から発生させる楽音の現在音量(現在レベル)を規定するレベルL1の値を記憶するためのメモリである。L1メモリ13aは、電子楽器1への電源が投入された場合に初期化(ゼロクリア)される。そして、後述するノートイベント処理(図4参照)又はタイマイベント処理(図5参照)においてレベルL1の値が設定されると、設定されたレベルL1の値がL1メモリ13aに記憶される。
【0023】
L2メモリ13bは、音源14から発生させる楽音の目標音量(目標レベル)を規定するレベルL2の値を記憶するためのメモリである。L2メモリ13bは、電子楽器1への電源が投入された場合に初期化(ゼロクリア)される。そして、鍵2aが押鍵されたことにより、CPU11が鍵盤2からノートオンを受信する毎に、受信したノートオンに含まれるベロシティ(音量情報)に基づき設定されたレベルL2の値が、L2メモリ13bに記憶される。
【0024】
音量アップフラグ13cは、音源14から発生させる楽音の現在音量(レベルL1)を大きくするか、小さくするかを規定するフラグである。音量アップフラグ13cがオンに設定されている場合には、後述するタイマイベント処理(図5参照)において、レベルL1の値に定数Aが加算され、音源14から発生させる楽音の音量(レベル)が大きくされる。一方で、音量アップフラグ13cがオフに設定されている場合には、タイマイベント処理において、レベルL1の値から定数Aが減算され、音源14から発生させる楽音の音量が小さくされる。
【0025】
音量アップフラグ13cは、電子楽器1への電源が投入された場合に初期化(オフに設定)される。その後、音量アップフラグ13cは、発音中の楽音がある状態で、鍵2aが新たに押鍵された場合に、新たな押鍵に基づくレベルL2の値と、L1メモリ13aに記憶されているレベルL1の値との大小に応じた状態に設定される。具体的に、レベルL2の値がレベルL1の値より大きい場合には、音量アップフラグ13cはオンに設定される。一方で、レベルL2の値がレベルL1の値より小さい場合には、音量アップフラグ13cはオフに設定される。
【0026】
また、RAM13のテンポラリエリアには、図示されないノートオンマップが設けられている。ノートオンマップは、各鍵2aに対応する楽音が発音中であるか否かを示すマップである。具体的には、ノートオンマップは、各鍵2aに対応するノート(ノートナンバ)毎に対応付けられた発音中フラグと、そのノートに対してアサインされた音源14のボイスを記憶するための領域とにより構成される。音源14に発音指示が出力された場合には、その発音指示に対応するノートの発音中フラグがオンに設定されるとともに、ボイスアサインされたボイスを示す情報が記憶される。その一方で、音源14に対して消音指示が出力された場合には、その消音指示に対応するノートの発音中フラグがオフに設定されるとともに、ボイスを示す情報が消去される。
【0027】
音源14は、CPU11から受信した発音指示又は消音指示に基づいて、演奏者が設定した音色の楽音を押鍵された鍵2aに対応する音高で発生(発音)したり、発生中の楽音を停止(消音)したりするものである。音源14は、128の発音チャンネル(図示せず)を有しており、複数の楽音(ボイス)を発音可能に構成されている。音源14は、CPU11から発音指示を受信すると、その発音指示に応じた音高、音量、音色の楽音(オーディオ信号)を、その発音指示に対してアサインされたボイスから発生する。なお、ボイスは、1つ又は複数の発音チャンネルからなる。
【0028】
次に、図3を参照して、ベロシティと、レベル(レベルL1又はレベルL2)との関係について説明する。図3は、変換テーブルの内容をグラフ状にした説明図である。図3に示す変換テーブルは、ベロシティとレベルとの関係を規定するテーブルであり、ROM12に記憶されている。
【0029】
図3において、横軸は、MIDI規格のベロシティを示す。なお、ベロシティとして取り得る値は1〜127である。一方で、縦軸は、レベル(レベルL1又はレベルL2)を示す。レベルとして取り得る範囲は最小値Lmix〜最大値Lmaxである。なお、最小値Lmixは0より大きい所定値である。
【0030】
図3に示すように、本実施形態の変換テーブルでは、ベロシティとレベルとの間に、直線的な比例関係が設定されている。後述するノートイベント処理(図4参照)において、新たな鍵2aが押鍵された場合に設定されるレベルL2の値は、鍵盤2から受信したノートオンに含まれるベロシティの値から、この変換テーブルを参照することにより設定される。一方、新たな押鍵に基づく楽音のレベルを音源14へ指示するためのベロシティの値は、L1メモリ13aに記憶されているレベルL1の値から、この変換テーブルを参照すことによって設定される。
【0031】
なお、図3に示す例では、レベル(レベルL1又はレベルL2)が、ベロシティの増加に対して直線的に増加する関係としたが、ベロシティとレベルとの関係は、直線的な増加に限らず、対数的な増加(上に凸な単調増加、又は、下に凸な単調増加)等であってもよい。
【0032】
次に、図4を参照して、上記構成を有する本実施形態の電子楽器1のCPU11が実行する処理について説明する。図4は、CPU11が実行するノートイベント処理を示すフローチャートである。このノートイベント処理は、アコーディオンの音色が設定されている場合に、CPU11が、鍵盤2からノートイベント(ノートオン又はノートオフ)を受信する毎に実行される。
【0033】
図4に示すように、ノートイベント処理は、まず、鍵盤2から受信したノートイベントがノートオンであるか否かを判定する(S1)。S1において、受信したノートイベントがノートオンであると判定された場合には(S1:Yes)、受信したノートオンに含まれるベロシティに基づいたレベルL2の設定を行う(S2)。具体的には、受信したノートオンに含まれるベロシティから、変換テーブル(図3参照)を参照してレベルL2の値を設定する。設定されたレベルL2の値は、L2メモリ13bに記憶される。
【0034】
S2の処理後、押鍵中のノートがあるか否かを判定し(S3)、押鍵中のノートがないと判定された場合には(S3:No)、新たな押鍵に基づく発音が単独で発音されるので、レベルL2の値を、レベルL1として設定する(S10)。設定されたレベルL1の値は、L1メモリ13aに記憶される。
【0035】
S10の処理後、発音処理を実行し(S8)、ノートイベント処理を終了する。発音処理(S8)では、受信したノートオンに含まれるノートナンバ(新たに押鍵されたノートの音高)と、受信したノートオンに含まれるベロシティとに応じた発音指示を、音源14における空いたボイスにアサインして出力する。このとき、RAM13内のノートオンマップ(図示せず)における、新たに押鍵されたノートに対応する発音フラグをオンに設定するとともに、アサインされたボイスを示す情報を記憶する。
【0036】
よって、押鍵中のノートがない状態で、新たに鍵2aが押鍵された場合には、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、受信したノートオンに含まれるベロシティに基づくレベル(即ち、レベルL2の値により規定されるレベル)で発音される。
【0037】
一方で、S3において、押鍵中のノートがある、即ち、発音中のノートがあると判定された場合には(S3:Yes)、S2において設定されたレベルL2の値と、L1メモリ13aに記憶されているレベルL1の値とが等しいか否かを判定する(S4)。S4において、レベルL2の値と、レベルL1の値とが等しいと判定された場合には(S4:Yes)、処理を発音処理(S8)へ移行する。この場合も、新たな押鍵が単独でされた場合(即ち、S3においてNoと判定された場合)と同様に、受信したノートオンに含まれるノートナンバと、受信したノートオンに含まれるベロシティとに応じた発音指示を、音源14における空いたボイスにアサインして出力する。これにより、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、受信したノートオンに含まれるベロシティに基づくレベルで発音される。
【0038】
つまり、発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合には、新たな押鍵に基づく楽音のレベルは、新たな押鍵が単独でされた場合と同様に、レベルL2の値により規定されるレベル(即ち、新たな押鍵のベロシティに応じたレベル)となる。
【0039】
S4において、レベルL2の値とレベルL1の値とが異なると判定された場合には(S4:No)、レベルL2の値が、レベルL1の値より大きいか否かを判定する(S5)。S5において、レベルL2の値が、レベルL1の値より大きいと判定された場合には(S5:Yes)、音量アップフラグ13cをオンに設定する(S6)。一方で、S5において、レベルL2の値が、レベルL1の値より小さいと判定された場合には(S5:No)、音量アップフラグ13cをオフに設定する(S11)。
【0040】
S6又はS11の処理後、処理をS7へ移行し、設定されたレベルL1に基づいたベロシティの設定を行う(S7)。具体的には、設定されたレベルL1の値から、変換テーブル(図3参照)を参照してベロシティを設定する。
【0041】
S7の処理後、処理を発音処理(S8)へ移行する。発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが異なる場合に実行される発音処理(S8)では、受信したノートオンに含まれるノートナンバ(新たに押鍵されたノートの音高)と、S7において設定されたベロシティとに応じた発音指示を、音源14における空いたボイスにアサインして出力する。
【0042】
詳細は後述するが、レベルL1の値とレベルL2の値とが異なる場合、レベルL1の値は、タイマイベント処理(図5参照)において設定される。よって、発音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが異なる場合には、新たな押鍵に基づく楽音は、受信したノートオンに含まれるノートナンバに対応する音高、及び、タイマイベント処理において設定されたレベルで発音される。
【0043】
また、S1において、受信したノートイベントがノートオフであると判定された場合は(S1:No)、受信したノートオフに応じた消音処理を実行する(S9)。即ち、RAM13内のノートオンマップ(図示せず)を参照し、受信したノートオフに応じた消音指示を、対応するボイスに対して出力することにより、離鍵されたノートに対応する楽音の生成を消音させる。
【0044】
図5は、CPU11が実行するタイマイベント処理を示すフローチャートである。このタイマイベント処理は、上述した図4のノートイベント処理が実行される音色が設定されている場合に、10msec毎の割込処理によって起動する処理である。タイマイベント処理では、まず、L1メモリ13aに記憶されているレベルL1の値と、L2メモリ13bに記憶されているレベルL2の値とが等しいか否かを判定する(S21)。S21において、レベルL1の値とレベルL2の値とが等しいと判定された場合には(S21:Yes)、タイマイベント処理を終了する。
【0045】
一方、S21において、レベルL1の値とレベルL2の値とが異なると判定された場合には(S21:No)、音量アップフラグ13cがオンであるか否かを判定する(S22)。S22において、音量アップフラグ13cがオンであると判定された場合には(S22:Yes)、現在のレベルL1の値に定数Aを加えた値を、レベルL1として設定する(S23)。S23において設定されたレベルL1の値は、L1メモリ13aに記憶される。
【0046】
S23の処理後、S23において設定されたレベルL1の値が、L2メモリ13bに記憶されているレベルL2の値以上であるか否かを判定する(S24)。S24において、レベルL1の値が、レベルL2の値より小さいであると判定された場合には(S24:No)、処理をS26へ移行する。
【0047】
一方、S24において、レベルL1の値が、レベルL2の値以上であると判定された場合には(S24:Yes)、音源14から発生させる楽音のレベル(即ち、レベルL1)が、最新の押鍵のベロシティに基づいて設定された目標レベル(即ち、レベルL2)に到達したので、レベルL2の値を、レベルL1として設定し(S25)、処理をS26へ移行する。なお、S25において設定されたレベルL1の値は、L1メモリ13aに記憶される。
【0048】
また、S22において、音量アップフラグ13cがオフであると判定された場合には(S22:No)、現在のレベルL1の値から定数Aを減じた値を、レベルL1として設定する(S28)。S28において設定されたレベルL1の値は、L1メモリ13aに記憶される。
【0049】
S28の処理後、S28において設定されたレベルL1の値が、L2メモリ13bに記憶されているレベルL2の値以下であるか否かを判定する(S29)。S29において、レベルL1の値が、レベルL2の値より大きいと判定された場合には(S29:No)、処理をS26へ移行する。
【0050】
一方、S29において、レベルL1の値が、レベルL2の値以下であると判定された場合には(S29:Yes)、処理をS25へ移行する。つまり、音源14から発生させる楽音のレベル(即ち、レベルL1)が、最新の押鍵のベロシティに基づいて設定された目標レベル(即ち、レベルL2)に到達したので、レベルL2の値を、レベルL1として設定する。
【0051】
S26では、発音中の全てのボイスのレベルを、L1メモリ13aに記憶されているレベルL1の値に設定する(S26)。S26の処理後、タイマイベント処理を終了する。S26の処理により、発音中の楽音のレベルは、レベルL1により規定されるレベルとされる。一方で、上述したノートイベント処理(図4参照)において、新たな押鍵に基づく楽音のレベルもまた、レベルL1により規定されるレベルとされるので、鍵2aが新たに押鍵されたときに、既に発音中の楽音があった場合には、新たな押鍵に基づく楽音も、発音中の楽音も、レベルL1により規定される同じレベルで発音される。
【0052】
上述したタイマイベント処理によれば、鍵2aが新たに押鍵されたときに、既に発音中の楽音があり、かつ、発音中の楽音のレベルが、新たな押鍵のベロシティに基づくレベルと異なる場合には、S26の処理が実行されるので、発音中の楽音のレベルは、音量アップフラグ13cの設定に応じて定数Aだけ増加又は減少される。本タイマイベント処理は、10msec毎に起動(実行)されるので、発音中の楽音のレベルと、新たな押鍵のベロシティに基づくレベルとが異なる間、発音中の楽音のレベルは、10msec毎に、定数Aずつ増加又は減少されることになる。
【0053】
つまり、本タイマイベント処理によれば、鍵2aが新たに押鍵されたときに、既に発音中の楽音があり、かつ、発音中の楽音のレベルが、新たな押鍵のベロシティに基づくレベルと異なる場合には、新たな押鍵のベロシティに基づくレベルを目標レベルとして、発音中の楽音のレベルを、当該目標レベルへ向けて徐々に変化させる(増加又は減少させる)ことにより、新たな押鍵のベロシティに基づくレベルに追従させることができる。これにより、ベローズの動きに応じて音量が制御される楽器であるアコーディオンらしい演奏を電子楽器1で模擬することができる。
【0054】
よって、本実施形態の楽音制御装置を搭載する電子楽器1によれば、押鍵がされる毎の各押鍵のベロシティを変化させるだけで、アコーディオンらしい演奏を模擬することができる。つまり、演奏者が、押鍵時の押鍵強さ(又は押鍵速さ)を変化させるだけで、アコーディオンのような、ベローズの動きに応じてレベルが制御される楽器の演奏を模擬できるので、かかる楽器の演奏の模擬を、エクスプレッションペダルやボリュームペダル等のユーザインタフェイスを高度に駆使する必要もなく容易に実現できる。
【0055】
また、新たな押鍵に基づく楽音のレベルは、その新たな押鍵のベロシティに基づくレベル(即ち、レベルL2の値により規定されるレベル)ではなく、図5のタイマイベント処理において設定されたレベルL1の値により規定されるレベル、即ち、発音中の楽音と同じレベルで発音が開始され、その後、レベルL2の値により規定されるレベル(即ち、目標レベル)に向かって徐々に増加又は減少される。よって、新たな押鍵に基づく楽音と発音中の楽音とが異なるレベルで発音されることがない上に、発音中の楽音のレベルが急激に目標レベル(即ち、新たな押鍵のベロシティに基づくレベル)に変更されることもない。そのため、違和感のないレベル変化によって、ベローズの動き(ベローズ内の圧力変化)に応じた音量変化を模倣できる。
【0056】
また、本実施形態の楽音制御装置を搭載する電子楽器1によれば、発音中の楽音のレベルを、新たな押鍵のベロシティに基づくレベル(目標レベル)に追従させる際には、そのレベル、即ち、レベルL1の値により規定されるレベルを、一定速度(本実施形態では、10msec毎に、定数Aずつの速度)で変化させる。よって、発音中の楽音のレベルと、目標レベルとの差分が大きい程、目標レベルに到達するまでの時間が長くなるので、アコーディオンのような楽器らしい演奏の模擬を容易な制御で実現できる。
【0057】
以上、実施形態に基づき本発明を説明したが、本発明は上記形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の変形改良が可能であることは容易に推察できるものである。
【0058】
例えば、上記実施形態では、CPU11が図4及び図5に示す処理を実行することにより、アコーディオンのように、ベローズの動きに応じてレベルが制御される楽器の演奏を容易かつ十分に模擬できる構成としたが、図4に示す処理に相当する処理を音源14に実行させる構成としてもよい。また、CPU11が、新たな押鍵のベロシティに基づいて目標レベルL2を設定するとともに、設定された目標レベルL2を音源14へ出力し、現在レベルL1から目標レベルL2までの補間を、音源14が実行する構成としてもよい。即ち、音源14が、上述したタイマイベント処理(図5参照)のS23又はS28の処理と同様の処理を行い、楽音のレベルを、CPU11が設定した目標レベルL2へ向かうよう補間する構成としてもよい。
【0059】
また、上記実施形態では、図4及び図5に示す処理は、アコーディオンの音色が設定されている場合に実行される構成としたが、アコーディオンに限定されず、アコーディオンのように、ベローズの動きに応じてレベルが制御される楽器(例えば、バンドネオンなど)の音色であれば同様に適用可能である。また、ベローズの動きに応じてレベルが制御される楽器の音色に限らず、それ以外の任意の楽器の音色(例えば、オルガンや管楽器など、種々の楽器の音色)に適用してもよい。
【0060】
また、上記実施形態では、音源14として、発音指示に含まれるベロシティの値に応じて発音される楽音のレベル(音量)が変化する音源を採用したが、発音される楽音のレベルがベロシティの値に依存しない音源を採用してもよい。発音される楽音のレベルがベロシティの値に依存しない音源を採用する場合には、図4のノートイベント処理におけるS7の処理に換えて、かかる音源から発音されるレベルを制御するレベル制御情報を、レベルL1の値に基づいて設定し、発音処理(S8)において、設定されたレベル制御情報に基づき、音源から発音される楽音のレベルを制御するように構成すればよい。
【0061】
また、上記実施形態では、レベルL1の値を、10msec毎に定数Aずつの一定速度で変化させる構成としたが、レベルの変化は一定速度であることに限定されない。例えば、10msecが経過する毎に、加える値又は減じる値が次第に大きくなるように構成したり、10msecが経過する毎に、加える値又は減じる値が次第に小さくなるように構成してもよい。あるいは、例えば、発音中の楽音のレベルと目標レベルとの差分が大きい程、目標レベルに到達するまでの時間が長くなるように、目標レベルに到達するまでの時間を決定した後、目標レベルに到達するまで期間において、レベルL1の値を所定の変化態様で変化させる構成としてもよい。所定の変化態様としては、例えば、所定時間毎のレベルL1の変化が一定である態様(即ち、変化速度が一定)や、時間経過に応じて変化速度が異なる態様(例えば、時間が経過するにつれてレベルの増分が増える態様)などが挙げられる。あるいは、発音中の楽音のレベルと目標レベルとの差分にかかわらず、目標レベルに到達するまでの時間を一定として、レベルL1の値により規定されるレベルを変化させる構成としてもよい。
【0062】
また、上記実施形態では、レベルL1の値を所定タイミング毎(具体的には10msec毎)に変化させる構成としたが、発音中の楽音レベルを更新するタイミングは、実施形態のように定期的であることに限定されない。例えば、時間の経過に伴ってレベルが増加する所定の関数に基づき、所定レベルだけ変化させるタイミングで、発音中の楽音のレベルを変化させるように構成してもよい。
【0063】
また、上述したノートイベント処理(図4参照)では、新たな押鍵が単独でされた場合(即ち、S3においてNoと判定された場合)、及び、楽音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合(即ち、S4においてYesと判定された場合)には、それぞれ処理を発音処理(S8)へ移行し、受信したノートオンに対応する発音指示を音源14へ出力する構成とした。これに換えて、S3においてNoと判定された場合や、S4においてYesと判定された場合であっても、新たな押鍵に基づく楽音のレベルとして、レベルL1に基づいて設定されたベロシティを音源14に指示する構成としてもよい。即ち、S3においてNoと判定された場合には、S10の処理を実行した後、処理をS7へ移行し、レベルL1に基づいたベロシティを設定する構成としてもよい。同様に、S4においてYesと判定された場合に、処理をS7へ移行する構成としてもよい。
【0064】
また、上述したノートイベント処理(図4参照)では、S3において、押鍵中のノートがあると判定された場合に、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しいか否かを判定する処理(S4)を実行する構成としたが、S4の処理を省略してもよい。かかる場合は、楽音中のノートがあり、かつ、受信したノートオンに含まれるベロシティに基づく楽音のレベルと、発音中の楽音のレベルとが等しい場合にも、S7の処理が実行され、新たな押鍵に基づく楽音のレベルとして、レベルL1(レベルL2に等しい)に基づいて設定されたベロシティが音源14に指示される。
【0065】
また、上記実施形態では、図5に示すタイマイベント処理を、10msec毎の割込処理によって起動する処理としたが、起動間隔は10msecに限定されるものではなく、5msecや15msecなど、他の値であってもよい。
【0066】
また、上記実施形態では、新たな1つの押鍵のベロシティに応じた目標レベルL2を設定する構成とした(図4;S2参照)。これに換えて、最新の複数の押鍵を対象として、これら複数の押鍵の各ベロシティに基づいて(例えば、各ベロシティの加重平均などに基づいて)、目標レベルL2を設定する構成としてもよい。そのように構成することにより、目標レベルL2が現在レベルL1から急激に変化することを防止することができる。あるいは、所定時間内に複数の押鍵があった場合に、これら複数の押鍵の各ベロシティに基づいて(例えば、各ベロシティの平均値などに基づいて)、目標レベルL2を設定する構成としてもよい。そのように構成することにより、和音を意図する複数の押鍵があった場合におけるベロシティのばらつきによる影響を減らすことができる。
【0067】
また、上記実施形態では、鍵盤2の全域を1パートとし、鍵盤2を構成する各鍵2aに対応する楽音を処理対象とし、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルL2の設定、及び、目標レベルL2へ向けてのレベルの制御を実行するよう構成した。これに対し、鍵盤2から複数パートの楽音を発生させる場合であっても、本発明は適用可能である。例えば、鍵盤2をスプリットするなどして複数パートの楽音を発生させる場合に、パート毎に独立して、各パートを構成する楽音をそれぞれ処理対象として、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルL2の設定、及び、目標レベルL2へ向けてのレベルの制御を実行するように構成してもよい。これにより、複数台のアコーディオンによる演奏を模擬することができる。
【0068】
あるいは、鍵盤2から複数パートの楽音を発生させる場合に、それら複数パートを構成する楽音を処理対象として、発音中の楽音の有無を判断し、新たな押鍵のベロシティに基づく目標レベルL2の設定、及び、目標レベルL2へ向けてのレベルの制御を実行するように構成してもよい。その場合、目標レベルL2は、パート毎に異なる値に設定してもよい。これにより、1台のアコーティオンによるメロディパート及びベースパートの演奏を模擬することができる。
【0069】
また、上記実施形態では、本発明の楽音制御装置が、鍵盤2が一体化された電子楽器1に搭載される構成としたが、本発明の楽音制御装置は、鍵盤2と同様にノートオン及びノートオフを出力する鍵盤を取り外し可能に接続できる音源モジュールに搭載される構成であってもよい。また、本発明の楽音制御装置は、音源14と別体に構成されるものであってもよい。
【符号の説明】
【0070】
1 電子楽器
2 鍵盤
11 CPU(楽音制御装置の一部)
12 ROM(楽音制御装置の一部)
13 RAM(楽音制御装置の一部)
14 音源(楽音生成手段)


【特許請求の範囲】
【請求項1】
音高情報及び音量情報を含む発音指示、又は前記音高情報を含む消音指示を入力する入力手段と、
複数の楽音を発音可能であり、かつ、所定音高の楽音を発音又は消音可能な楽音生成手段に対し、楽音を制御する指示を出力する指示手段と、
前記入力手段から発音指示が入力された場合に、前記発音指示に含まれる音量情報に対応する楽音のレベルに基づいて目標レベルを設定する目標レベル設定手段とを備え、
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記発音中である処理対象の楽音のレベルと同じレベルで発音するよう指示し、それ以降は、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記目標レベル設定手段により設定された目標レベルに向かって徐々に変化するよう指示するものである、楽音制御装置。
【請求項2】
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在しない場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記目標レベル設定手段により設定された目標レベルで発音するよう指示するものである、請求項1記載の楽音制御装置。
【請求項3】
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合に、前記楽音生成手段から発音させる処理対象の楽音のレベルを、前記発音中である処理対象の楽音のレベルから、前記目標レベル設定手段により設定された目標レベルへ向かう側へ徐々に変化させて設定するレベル設定手段を備え、
前記指示手段は、
前記入力手段から発音指示が入力された場合に、前記楽音生成手段により発音中である処理対象の楽音が存在する場合には、前記楽音生成手段に対し、前記発音指示に含まれる音高情報に対応する音高の楽音を、前記レベル設定手段により設定されたレベルで発音するよう指示し、かつ、前記発音中である処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示し、それ以降は、前記楽音生成手段により発音中である全ての処理対象の楽音のレベルを、前記レベル設定手段により設定されたレベルに変更するよう指示するものである、請求項1又は2に記載の楽音制御装置。







【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate