(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024015217
(43)【公開日】2024-02-01
(54)【発明の名称】電子楽器、方法、プログラム
(51)【国際特許分類】
G10H 1/00 20060101AFI20240125BHJP
G10H 1/053 20060101ALI20240125BHJP
G10H 1/14 20060101ALI20240125BHJP
【FI】
G10H1/00 C
G10H1/053 A
G10H1/053 B
G10H1/053 C
G10H1/14
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023205739
(22)【出願日】2023-12-06
(62)【分割の表示】P 2022176482の分割
【原出願日】2020-09-11
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(72)【発明者】
【氏名】伊藤 直明
(57)【要約】
【課題】共鳴音を発音可能な電子楽器、方法、プログラムに関し、良好な共鳴音を発音する。
【解決手段】押鍵された第1鍵に対応する楽音は、第1鍵の鍵番号に直接対応する楽音と、第1鍵の音高と音高が倍音関係にある複数の第2鍵の各鍵番号に対応する各共鳴音と、を合成することにより生成される。
図3のテーブルデータに示されるように、第2鍵の鍵番号に対応して生成される共鳴音は、第2鍵がダンプ状態にあるか又は非ダンプ状態にあるかに応じて異なる共鳴音が生成される。即ち、第2鍵が非ダンプ状態と判断されたときは第2鍵の共鳴音は少なくとも第1の共鳴音高及び第1の音色の何れかで生成され、第2鍵がダンプ状態と判断されたときは第2鍵の共鳴音は少なくとも例えば第1の共鳴音高よりも高い第2の共鳴音高及び第2の音色の何れかで生成される。これにより、実際の様々なアコースティックピアノの特性を再現することが可能になる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断し、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成し、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成する、
処理を実行する電子楽器。
【請求項2】
前記第2鍵は、複数の鍵を含む、請求項1に記載の電子楽器。
【請求項3】
前記第2鍵に対応する前記第2共鳴音高は、前記第1共鳴音高より高い、請求項1又は2に記載の電子楽器。
【請求項4】
前記第2鍵の共鳴音は、複数の倍音関係の夫々に対して設定されている共鳴強度情報に基づいて生成されている、請求項1乃至3の何れかに記載の電子楽器。
【請求項5】
前記非ダンプ状態は、ダンパペダルがオンされることにより設定される場合と、操作された演奏操作子に対して設定される場合と、の何れかを含み、
前記ダンプ状態は、前記ダンパペダルがオフされているときに、操作されていない演奏操作子に設定されている場合を含む、
請求項1乃至4の何れかに記載の電子楽器。
【請求項6】
前記第2鍵に対応する共鳴音を含む楽音の発音中における新たな押鍵に応じて、前記第2鍵に対応する共鳴音を新たに生成する場合に、発音中の共鳴音の第1ベロシティと、前記新たな押鍵に応じて生成される共鳴音の第2ベロシティと、を比較し、
比較結果に応じて、共鳴音の生成を制御する、請求項1乃至5の何れかに記載の電子楽器。
【請求項7】
電子楽器のコンピュータが、
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断し、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成し、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成する、
方法。
【請求項8】
電子楽器のコンピュータに、
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断させ、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成させ、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、共鳴音を発音可能な電子楽器、方法、プログラムに関する。
【背景技術】
【0002】
電子楽器において、ダンパペダルを踏んだ際や、複数の鍵盤を押鍵した際に、弦同士の共鳴効果の発音をする電子楽器が知られている(例えば特許文献1に記載の技術)。
【0003】
上述の従来技術では、押鍵やダンパペダルを踏むことでダンパが外れて開放された弦、ダンパ構造の無い高域鍵やアリコートなどの常時開放されている弦などの開放されている弦に対してのみ、押鍵音に対する共鳴音が発音されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
実際のアコースティックピアノでは、ダンパのある弦でダンパが開放されていない状態(ダンプされている状態)でも弦の共鳴が発生していてピアノの豊かな響きを構成している。しかし、従来技術ではこのようなダンプ状態の効果を実現する手段がないため、アコースティックピアノにおけるダンプ状態の効果に基づく共鳴効果を再現するのが難しかった。
【0006】
本発明は、良好な共鳴音を発音することを目的とする。
【課題を解決するための手段】
【0007】
態様の一例の電子楽器は、第1鍵が押鍵された場合に、第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断し、第2鍵が非ダンプ状態であると判断された場合は、第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成し、第2鍵がダンプ状態であると判断された場合は、第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成する、処理を実行する。
【発明の効果】
【0008】
本発明によれば、良好な共鳴音を発音することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】電子楽器の実施形態のハードウェア構成例を示す図である。
【
図2】音源LSIの構成例を示すブロック図である。
【
図3】鍵毎共鳴音高算出テーブルデータの構成例を示す図(その1)である。
【
図4】鍵毎共鳴音高算出テーブルデータの構成例を示す図(その2)である。
【
図5】ピッチ差毎共鳴強度テーブルデータ、押鍵対応共鳴音高候補テーブルデータ、及び発音共鳴音情報テーブルデータの各構成例を示す図である。
【
図6】メイン処理の処理例を示すフローチャートである。
【
図7】鍵盤処理の詳細例を示すフローチャートである。
【
図8】押鍵対応共鳴音高候補テーブル作成処理の詳細例を示すフローチャートである。
【
図9】発音共鳴音情報テーブル作成処理の詳細例を示すフローチャートである。
【
図10】共鳴音調停処理の第1の実施形態の詳細例を示すフローチャートである。
【
図11】共鳴音調停処理の第2の実施形態の詳細例を示すフローチャートである。
【
図12】共鳴音調停処理の第3の実施形態の詳細例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、電子楽器の一例である電子鍵盤楽器の実施形態のハードウェア構成例を示す図である。
図1において、電子鍵盤楽器100は、例えば電子ピアノとして実現され、CPU(中央演算処理装置)101、ROM(リードオンリーメモリ)102、RAM(ランダムアクセスメモリ)103、鍵盤部104、スイッチ部105、及び音源LSI106を備え、それらがシステムバス108によって相互に接続された構成を有する。また、音源LSI106の出力はサウンドシステム107に入力する。
【0011】
CPU101は、RAM103を作業用メモリとして使用しながらROM102に記憶された制御プログラムをRAM103にロードして実行することにより、
図1の電子楽器100の制御動作を実行する。
【0012】
鍵盤部104は、複数の演奏操作子としての各鍵の押鍵又は離鍵操作を検出し、CPU101に通知する。
【0013】
スイッチ部105は、演奏者による各種スイッチの操作を検出し、CPU101に通知する。スイッチ部105は、ダンパペダルを含む。
【0014】
音源LSI106は、CPU101から入力する発音指示データに基づいて、デジタル楽音波形データを生成し、サウンドシステム107に出力する。サウンドシステム107は、音源LSI106から入力したデジタル楽音波形データをアナログ楽音波形信号に変換した後、そのアナログ楽音波形信号を内蔵のアンプで増幅して内蔵のスピーカから放音する。
【0015】
音源LSI106は、後述する楽音生成処理を実行する専用の大規模集積回路である。音源LSI106は、CPU101からの命令に基づいて、特には図示しない波形メモリから、演奏で指定された鍵の音高に対応する速度で波形データを読み出し、その読み出した波形データに対して演奏で指定されたベロシティの振幅エンベロープを付加し、その結果として得られる波形データを出力楽音波形データとして出力する。
【0016】
図2は、
図1の音源LSI106の構成例を示すブロック図である。この音源LSI106は、256個の波形データを同時に発振できる#1から#256の波形発生装置210を更に備える波形発生器201と、DSP(Digital Signal Processor:デジタル信号処理プロセッサ)202と、ミキサ204と、バスインターフェース203と、を備え、波形発生器201、DSP202及びミキサ204は、バスインターフェース203を介して
図1のシステムバス108に接続されて、
図1のRAM103へのアクセスや、CPU101との通信が行われる。
【0017】
波形発生器201の#1から#256の波形発生装置210の夫々は、例えば時分割処理によって動作し、特には図示しない波形ROMから波形データを読み出して音色の波形を再生する発振器であり、DSP202は、音声信号に音響効果をもたらすデジタル信号処理回路である。ミキサ204は、各波形発生装置210からの信号を混合したり、DSP202との間で信号を送受信したりすることにより全体の音声信号の流れを制御して、外部に出力する。すなわち、ミキサ204は、演奏に応じて波形発生器201の各波形発生装置210により波形ROMから読み出された波形データに対して、DSP202によりCPU101から供給される楽音パラメータに応じたエンベロープを付加して、出力楽音波形データとして出力する。ミキサ204の楽音出力データは、
図1のサウンドシステム107に出力され、サウンドシステム107内の特には図示しないD/Aコンバータ及びアンプを介して所定の信号レベルのアナログ楽音信号として、特には図示しないスピーカやヘッドホン等に出力される。
【0018】
図3及び
図4は、鍵毎共鳴音高算出テーブルデータの構成例を示す図である。この鍵毎共鳴音高算出テーブルデータは、鍵盤部104の例えば88鍵の鍵の夫々につき、当該鍵が演奏により押鍵されるときの音高を示す鍵キーと、当該鍵が非ダンプ(開放弦)状態のときのその鍵のピアノ弦(以下単に「弦」と記載する)の振動を模擬する第1の共鳴音高と、当該鍵がダンプ状態のときのその鍵の弦の振動を模擬する第2の共鳴音高を記憶するテーブルデータである。この鍵毎共鳴音高算出テーブルデータは、電子鍵盤楽器100の例えばパワーオン時に、
図1のROM102からRAM103にロードされる。なお、
図3及び
図4における「補足」欄は実施形態の説明のための表示であり、鍵毎共鳴音高算出テーブルデータには含まれない。
【0019】
実際のアコースティックピアノでは、基本動作として、押鍵やダンパペダルを踏むことでダンパが外れて開放された弦、ダンパ構造の無い高域鍵やアリコートなどの常時開放されている弦などの開放されている弦が非ダンプ状態となって、押鍵音に対応する弦の振動に共鳴して振動し共鳴音が発音される。しかしこの基本動作だけでなく、ダンパのある弦でダンパが開放されていないダンプ状態の弦においても、押鍵された弦に対する共鳴が発生していて、これによりピアノの豊かな響きが発生する。この場合、或る鍵キーにおける弦がダンプ状態のときにその弦が共鳴音として振動するときの第2の共鳴音高は、その弦が非ダンプ状態のときのその弦本来の振動数に対応する第1の共鳴音高に比較して、
図3及び
図4の「補足」欄に示されるように、周波数的に3倍音になったり2倍音になったりする。これは、鍵キーの鍵域によっても変化し得るほか、アコースティックピアノの製造メーカーや種別によっても変化し得る。更には、実際のアコースティックピアノでは、例えば
図4の鍵番号54番から68番として例示されるように、構造的に共鳴しないように設計されている弦も存在する。加えて、鍵番号69番から88番として例示されるように、高音側の鍵域で構造的にダンパを備えてなく常に非ダンプ状態となって第1の共鳴音高で共鳴する弦も存在する。更に、図示しないが、いわゆるアリコート張弦と呼ばれる方式では、例えば高音側の3オクターブの個々の鍵域でアリコート弦と呼ばれる追加(4本目)の弦が他の3本の弦よりもハンマで叩かれないわずかに高い位置に張設され、ハンマが従来の3本の弦を叩く時にアリコート弦は常に非ダンプ状態となって第1の共鳴音高で共鳴する弦も存在する。アリコート張弦は楽器全体にわたって振動エネルギーを拡大し、非常に複雑で色鮮かな音色を作り出すことができる。加えて、各鍵に割り当てられる鍵キー、第1の共鳴音高、及び第2の共鳴音高は、各弦の調律状態によっても微妙に変化し、調律によって意図的に変化させられる場合もある。
【0020】
そこで、実施形態では、実際のアコースティックピアノの上述のような共鳴特性をシミュレートできるようにするために、例えば88鍵の鍵番号の夫々に対して、鍵キー、第1の共鳴音高、及び第2の共鳴音高を、例えば
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータとして個別に持つことができるようにした。実施形態における共鳴音の発音制御は、この鍵毎共鳴音高算出テーブルデータを参照することにより実行される。これにより、実施形態は、実際の様々なアコースティックピアノの特性を再現することを可能にするものである。
【0021】
即ち一実施形態によれば、押鍵された第1鍵に対応する楽音は、第1鍵の鍵番号に直接対応する楽音と、第1鍵の音高と音高が倍音関係にある複数の第2鍵の各鍵番号に対応する各共鳴音と、を合成することにより生成される。
図3及び
図4は、第2鍵の鍵番号に対応して生成される共鳴音は、第2鍵がダンプ状態にあるか又は非ダンプ状態にあるかに応じて異なる音になるような設定がなされていることを示す。一実施形態では、第2鍵が非ダンプ状態と判断されたときは第1の音色のデータが用いられ、ダンプ状態と判断されたときは第2の音色のデータが用いられる。別の実施形態では、第2鍵が非ダンプ状態と判断されたときは第2鍵の共鳴音が第1の共鳴音高で生成され、第2鍵がダンプ状態と判断されたときは第2鍵の共鳴音が例えば第1の共鳴音高よりも高い第2の共鳴音高で生成される。もちろん、これらの実施形態を任意に組み合わせることができる。
【0022】
ここで第2鍵のダンプ状態とは、第2鍵が押鍵されておらずかつダンパペダルが踏み込まれていない場合が該当する。第2鍵の非ダンプ状態とは、第2鍵が押鍵されている場合及び、ダンパペダルが踏み込まれている場合の何れかに該当する。
【0023】
なお、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルの鍵キーに、調律後の音高を登録し、
図1の鍵盤105の鍵の押鍵時には、この鍵キーを参照して押鍵音を決定することにより、調律情報を反映させた押鍵音を指定することが可能となる。
【0024】
図5(a)は、ピッチ差毎共鳴強度テーブルデータの構成例を示す図である。このピッチ差毎共鳴強度テーブルには、押鍵された鍵の音高を相対値0として、その鍵の押鍵音に対して発生し得る共鳴音の当該押鍵音に対する倍音関係に対応する半音階単位の相対的な音高差と、各音高差(各倍音関係)における共鳴音の共鳴強度比が設定される。このピッチ差毎共鳴強度テーブルデータは、電子鍵盤楽器100の例えばパワーオン時に、
図1のROM102からRAM103にロードされる。なお、各共鳴強度比は、ユーザが設定を変更できるようにしてもよい。また、
図5(a)において「補足(倍音)」欄は、音高差と倍音の関係をわかりやすくするための表示であり、ピッチ差毎共鳴強度テーブルデータには含まれない。
【0025】
即ち
図5(a)に例示される一実施形態によれば、第2鍵の音高が、押鍵された第1鍵の音高と2倍音の倍音関係にある場合は、第2鍵の鍵番号に対応する共鳴音は第1鍵と同じ強度(1倍で)、第1鍵の鍵番号に直接対応する楽音と合成される。また第2鍵の音高が、押鍵された第1鍵の音高と3倍音の倍音関係にある場合は、第2鍵の鍵番号に対応する共鳴音は2倍音の時よりも強度が弱められて(0.8倍で)、第1鍵の鍵番号に直接対応する楽音と合成される。更に、第2鍵の音高が、第1鍵の音高と5倍音の倍音関係にある場合は、第2鍵の鍵番号に対応する共鳴音は3倍音の時よりも強度が更に弱められて(0.6倍で)、第1鍵の鍵番号に直接対応する楽音と合成される。
【0026】
図5(b)は、押鍵対応共鳴音高候補テーブルデータの構成例を示す図である。この押鍵対応共鳴音高候補テーブルデータには、押鍵された鍵の音高を相対値0として、押鍵音高を基準としてマイナス方向とプラス方向にそれぞれ、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータに設定されている各音高差分(各倍音関係分)の音高を有して発音される可能性のある各共鳴音に対する当該各音高差と、押鍵音高の実際の音高値に対する各共鳴音の各音高差分の音高候補である各共鳴音高候補と、各音高差に対応して
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータから取得される各共鳴強度比候補とが記憶される。CPU101は、後述する鍵盤処理の実行時に押鍵を検出する毎に、押鍵対応共鳴音高候補テーブルデータをRAM103に作成する。
【0027】
図5(c)は、発音共鳴音情報テーブルデータの各構成例を示す図である。この発音共鳴音情報テーブルデータには、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータとして算出された各共鳴音高候補のうち実際に発音可能な共鳴音に関する情報が算出される。具体的には、発音共鳴音情報テーブルデータには、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータとして算出された各共鳴音高候補のうち、
図1の鍵盤部104の88鍵のうちの何れかの鍵の弦で共鳴音として実際に発音可能な鍵キーである発音共鳴鍵キーと、その共鳴音の音色である発音共鳴音色と、その共鳴音の音高である発音共鳴音高と、その共鳴音の発音時の共鳴強度(ベロシティ)を示す発音共鳴強度とが記憶される。CPU101は、鍵盤処理の実行時に押鍵を検出する毎に、RAM103に
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータを作成した後、この押鍵対応共鳴音高候補テーブルデータの各エントリ毎に、そのエントリの共鳴音高候補が、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータの第1の共鳴音高又は第2の共鳴音高として登録されているか否かを検索する。この場合、CPU101は、鍵毎共鳴音高算出テーブルデータ上で、対応する鍵キーが非ダンプ状態であると判定しているときは第1の共鳴音高を検索し、対応する鍵キーがダンプ状態であると判定しているときは第2の共鳴音高を検索する。そして、CPU101は、1つの共鳴音高候補について、第1の共鳴音高を検索できたときには、
図5(c)に例示される発音共鳴音情報テーブルデータの新たなエントリに、検索できた第1の共鳴音高に対応する鍵キーを発音共鳴鍵キーとして登録し、第1の音色である開放弦用の共鳴音色(以下「開放弦共鳴音色」と記載)を発音共鳴音色として登録し、検索できた第1の共鳴音高を発音共鳴音高として登録し、検出された押鍵のベロシティに、共鳴音高候補に対応して
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータに登録されている共鳴強度比候補を乗算して得られる値を、発音される共鳴音のベロシティの値を示す発音共鳴強度として登録する。一方、CPU101は、1つの共鳴音高候補について、第2の共鳴音高を検索できたときには、
図5(c)に例示される発音共鳴音情報テーブルデータの新たなエントリに、検索できた第2の共鳴音高に対応する鍵キーを発音共鳴鍵キーとして登録し、第2の音色である非開放弦用の共鳴音色(以下「非開放弦共鳴音色」と記載)を発音共鳴音色として登録し、検索できた第2の共鳴音高を発音共鳴音高として登録し、検出された押鍵のベロシティに、共鳴音高候補に対応して
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータに登録されている共鳴強度比候補を乗算して得られる値を、発音される共鳴音のベロシティの値を示す発音共鳴強度として登録する。
【0028】
ここで、CPU101は、
図1のスイッチ部105に含まれるダンパペダルがオンされた場合に、88鍵の全ての鍵キーを、非ダンプ状態であると判定する。また、CPU101は、鍵盤部104において押鍵が発生している鍵キーを、非ダンプ状態であると判定する。更に、CPU101は、鍵毎共鳴音高算出テーブルデータにおいて、
図4の鍵番号54番から88番として例示されるように、第2の共鳴音高が登録されておらずダンプ状態の指定が禁止されている又は共鳴しないとして設定されている鍵キーを、非ダンプ状態であると判定する。一方、CPU101は、ダンパペダルがオフされている場合に、鍵盤部104において押鍵が発生しておらず、かつ第2の共鳴音高が登録されておらずダンプ状態の指定が禁止されている又は共鳴しないとして設定されている鍵キー以外の鍵キーを、ダンプ状態であると判定する。CPU101は、この非ダンプ状態又はダンプ状態に基づいて、各鍵の押鍵時の発音を制御することにより、実際のアコースティックピアノ等におけるダンパペダルの挙動を模擬することができる。
【0029】
CPU101は、押鍵により発生した押鍵音と共に、
図5(c)に登録されている発音共鳴音情報テーブルデータの各エントリに対応する各共鳴音の発音を指示するノートオンイベントを作成し、
図1の音源LSI106に指示する。
【0030】
電子楽器100の実施形態では、以下に説明する
図6から
図12のフローチャート等で実現される機能を搭載した制御プログラムをCPU101が実行することで、電子鍵盤楽器100の制御が実現される。その制御プログラムは、例えば特には図示しない可搬記録媒体に記録して配布し、あるいは特には図示しない通信インタフェースによりネットワークから取得して、ROM102に記憶できるようにしてもよい。
【0031】
図2は、
図1のCPU101がROM102に記憶された制御プログラムをRAM103にロードして実行する動作として実現されるメイン処理の処理例を示すフローチャートである。
図1のスイッチ部105内の特には図示しない電源スイッチがオンされると、CPU101は、
図2のフローチャートで例示されるメイン処理をスタートさせる。
【0032】
CPU101はまず、初期化処理を実行し、RAM103内の変数群の初期化を行う。また、CPU101は、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータと、
図5(a)に示されるピッチ差毎共鳴強度テーブルデータを、ROM102からRAM103にロードする(以上、ステップS601)。これ移行、CPU101は、RAM103上の各テーブルデータへのランダムアクセスが可能となる。
【0033】
次に、CPU101は、ステップS602のスイッチ部処理、ステップS603の鍵盤処理、及びステップS604のその他の処理を繰り返し実行する。
【0034】
ステップS602のスイッチ部処理において、CPU101は、
図1のスイッチ部105の各操作状態を検出し、その情報をRAM103の対応する各変数に設定する。特に、CPU101は、スイッチ部105内のダンパペダルが操作された場合に、ダンパペダルのオン又はオフの状態を、RAM103にダンパペダル変数として記憶させる。
【0035】
ステップS603の鍵盤処理については、後述する。
【0036】
ステップS604のその他の処理では、CPU101は、ステップS602のスイッチ部処理及びステップS603の鍵盤処理以外の電子鍵盤楽器100の制御に関する処理を実行する。
【0037】
図7は、
図6のステップS603の鍵盤処理の詳細例を示すフローチャートである。まず、CPU101は、
図1の鍵盤104上の各鍵を走査する(ステップS701)。
【0038】
次に、CPU101は、鍵の押鍵状態に変化があったか否かを判定する(ステップS702)。
【0039】
CPU101は、鍵の押鍵状態に変化がなければ、そのまま
図7のフローチャートで例示される
図6のステップS603の鍵盤処理を終了する。
【0040】
CPU101は、ステップS702で押鍵を検出した場合には、押鍵時の鍵盤104上の鍵の鍵番号に対応する鍵キー(
図3又は
図4の鍵毎共鳴音高算出テーブルデータ参照)として決定した押鍵音高とベロシティにより、ノートオンイベントを作成し(ステップS703)、そのノートオンイベントを
図1の音源LSI106に送付する(ステップS704)。音源LSI106は、そのノートオンイベントを受け取ると、
図2に例示した波形発生器201内の#1から#256の波形発生装置210に対応する何れか1つの発音チャネル(CHi)(1≦i≦256)を割り当てる。割当てを受けた波形発生装置210は、例えば時分割処理に基づくその発音チャネル(CHi)を使って、特には図示しない波形ROMから、上記鍵キーに対応する波形読出し速度で、スイッチ部105で予め指定されている音色の波形データを読み出して、その波形データをミキサ204内において上記ノートオンイベントで指定されたベロシティ分だけ増幅し、楽音波形データを生成する。
【0041】
次に、CPU101は、押鍵が発生した鍵キーが押鍵されたことを示す押鍵フラグを、RAM103に作成する(ステップS705)。
【0042】
次に、CPU101は、押鍵対応共鳴音高候補テーブル作成処理を実行する(ステップS706)。ここで、CPU101は、前述した
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータをRAM103上に作成する処理を実行する。この処理の詳細については、
図8に例示されるフローチャートを用いて後述する。
【0043】
続いて、CPU101は、発音共鳴音情報テーブル作成処理を実行する(ステップS707)。ここで、CPU101は、前述した
図5(c)に例示される発音共鳴音情報テーブルデータをRAM103上に作成する処理を実行する。この処理の詳細については、
図9に例示されるフローチャートを用いて後述する。
【0044】
その後、CPU101は、ステップS707で作成した発音共鳴音情報テーブルデータの各エントリとして算出された各共鳴音のノートオンイベントを作成し(ステップS708)、そのノートオンイベントを
図1の音源LSI106に送付する(ステップS709)。音源LSI106は、各共鳴音のノートオンイベントを受け取ると、
図2に例示した波形発生器201内の#1から#256の波形発生装置210の何れかの発音チャネル(CHi)(1≦i≦256)を夫々割り当てる。これにより、各発音チャネルを使って、各波形発生装置210から各共鳴音の波形データが出力される。ステップS704に基づいて1つの波形発生装置210の発音チャネルを使って生成された押鍵音と、ステップS709に基づいて1つ以上の各波形発生装置210の各発音チャネルを使って生成された各共鳴音は、ミキサ204で混合され、DSP202にて夫々振幅エンベロープ特性が付与等された後に、
図1のサウンドシステム107に楽音出力データとして出力される。その後、CPU101は、
図7のフローチャートで例示される
図6のステップS603の鍵盤処理を終了する。
【0045】
CPU101は、ステップS702で離鍵を検出した場合には、離鍵時の鍵盤104上の鍵の鍵番号に対応する鍵キーにより、ノートオフイベントを作成し(ステップS710)、そのノートオフイベントを
図1の音源LSI106に送付する(ステップS711)。音源LSI106は、そのノートオフイベントを受け取ると、ノートオフイベント内の鍵キーが割り当てられている発音チャネルでの波形発生装置210からの押鍵音の波形データの出力を停止させる消音処理を実行する。
【0046】
次に、CPU101は、離鍵が発生した鍵キーに対応してRAM103に作成されていた押鍵フラグを削除する(ステップS712)。
【0047】
続いて、CPU101は、離鍵が発生した鍵キーに対応してRAM103に作成してあった
図5(c)に例示される発音共鳴音情報テーブルデータの各エントリの発音共鳴音高により、各共鳴音のノートオフイベントを作成し(ステップS713)、各ノートオフイベントを音源LSI106に送付する(ステップS714)。音源LSI106は、各ノートオフイベントを受け取ると、各ノートオフイベント内の各発音共鳴音高が割り当てられている各発音チャネルでの各波形発生装置210からの各共鳴音の波形データの出力を停止させる消音処理を実行する。
【0048】
最後にCPU101は、離鍵が発生した鍵キーに対応してRAM103に作成してあった
図5(c)に例示される発音共鳴音情報テーブルデータを、RAM103から削除する(ステップS715)。その後、CPU101は、
図7のフローチャートで例示される
図6のステップS603の鍵盤処理を終了する。
【0049】
図8は、
図7のステップS706で実行される押鍵対応共鳴音高候補テーブル作成処理の詳細例を示すフローチャートである。まず、CPU101は、
図7のステップS701で取得した押鍵音の鍵番号(押鍵番号)をRAM103上の変数key_num_onに格納する(ステップS801)。なお、以下の説明において、変数名を変数値として表す場合がある。例えば変数key_num_onに記憶されている値を「変数値key_num_on」などと記載する場合がある。
【0050】
次に、CPU101は、押鍵音高を基準として音高差がマイナス側に最も大きい方向から押鍵音高まで処理をするために、RAM103上の変数iに、値6をセットし(
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータにおけるNo.=6に対応する)、処理方向を示すRAM103上の変数flagに、マイナス方向(
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータにおいてNo.が値6から値0に向かって減少する方向)を示す値-1をセットする(ステップS802)。
【0051】
その後、CPU101は、変数iの値を変数flagの値ずつ加算しながら、即ち変数flagの値が-1なので値1ずつ減算しながら、ステップS809の判定がYESとなった後に、変数iの値が値6から順次減少して値-1に到達したと判定するまで(ステップS810)、以下のステップS803からS807の一連の処理を繰り返し実行する。
【0052】
ステップS803からS807の一連の処理において、CPU101はまず、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータの変数iが示すi番目のエントリ情報を取得する(ステップS803)。この結果、CPU101は、i番目のエントリから取得した音高差に変数flagの値-1を乗算して得たマイナス方向の音高差の値をRAM103上の変数pitch_defにセットし、同様に得た共鳴強度比の値をRAM103上の変数pitch_def_ampにセットする。
【0053】
次に、CPU101は、ステップS801でRAM103上の変数にセットした押鍵番号値key_num_onに、ステップS803でRAM103上の変数にセットした音高差値pich_defを加算することにより、その加算結果として押鍵音高から現在の音高差だけ離れた位置の音高を算出し、その値をRAM103上の変数key_num_cに格納する(ステップS804)。
【0054】
続いて、CPU101は、上記変数値key_num_cが、88鍵に対応する1番から88番の範囲に入っているか否かを判定する(ステップS805)。
【0055】
ステップS805の判定がNOならば、その音高は88鍵の範囲を超えており共鳴音として発音できないため、CPU101は、ステップS808に移行して、変数値iを更新する。
【0056】
ステップS805の判定がYESならば、その音高は共鳴音候補となり得る。そこで、CPU101はまず、
図3又は
図4に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号がステップS804で算出した共鳴音候補の鍵番号値key_num_cに対応するエントリの鍵キーを取得して、RAM103上の変数key_cにセットする(ステップS806)。
【0057】
そして、CPU101は、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータに1エントリを追加し、音高差=変数値pitch_def、共鳴音高候補=変数値key_c、共鳴強度比候補=変数値pitch_def_ampを登録する。
【0058】
その後、CPU101は、ステップS808に進んで、変数値iを更新する。
【0059】
以上のステップS803からS807の一連の処理により、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの各エントリを作成することができる。いま例えば押鍵音の鍵キーがC3であると仮定すると、ステップS801で、
図3に例示される鍵毎共鳴音高算出テーブルデータより、鍵キーC3の押鍵番号として28番が取得され、key_num_on=28がセットされる。そして、まず、変数値i=6、変数値flag=-1とすると、ステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=6のエントリから、変数値pitch_def=音高差36×変数値flag=-36が演算され、変数値pitch_def_amp=0.2が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-36=-8が計算される。この結果、ステップS805の判定はNOとなるため、押鍵対応共鳴音高候補テーブルのエントリは作成されず、ステップS808に移行してi=6-1=5となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0060】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=5のエントリから、変数値pitch_def=音高差31×変数値flag=-31が演算され、変数値pitch_def_amp=0.4が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-31=-3が計算される。この結果、ステップS805の判定はNOとなるため、押鍵対応共鳴音高候補テーブルのエントリは作成されず、ステップS808に移行してi=6-1=4となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0061】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=4のエントリから、変数値pitch_def=音高差28×変数値flag=-28が演算され、変数値pitch_def_amp=0.6が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-28=0が計算される。この結果、ステップS805の判定はNOとなるため、押鍵対応共鳴音高候補テーブルのエントリは作成されず、ステップS808に移行してi=6-1=4となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0062】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=3のエントリから、変数値pitch_def=音高差24×変数値flag=-24が演算され、変数値pitch_def_amp=0.8が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-24=4が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図3に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=4に対応するエントリの鍵キー=C1が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=-24、共鳴音高候補=key_c=C1、共鳴強度比候補=pitch_def_amp=0.8として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの1行目のエントリが作成される。その後、ステップS808に移行してi=3-1=2となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0063】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=2のエントリから、変数値pitch_def=音高差19×変数値flag=-19が演算され、変数値pitch_def_amp=0.8が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-19=9が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図3に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=9に対応するエントリの鍵キー=F1が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=-19、共鳴音高候補=key_c=F1、共鳴強度比候補=pitch_def_amp=0.8として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの2行目のエントリが作成される。その後、ステップS808に移行してi=2-1=1となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0064】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=1のエントリから、変数値pitch_def=音高差12×変数値flag=-12が演算され、変数値pitch_def_amp=1が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-12=16が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図3に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=16に対応するエントリの鍵キー=C2が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=-12、共鳴音高候補=key_c=C2、共鳴強度比候補=pitch_def_amp=1として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの3行目のエントリが作成される。その後、ステップS808に移行してi=2-1=1となって、ステップS809の判定がYES、ステップS810の判定がNOとなって、ステップS803の処理に戻る。
【0065】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=0のエントリから、変数値pitch_def=音高差0×変数値flag=±0が演算され、変数値pitch_def_amp=1が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28-0=28が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図3に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=28に対応するエントリの鍵キー=C3が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=±0、共鳴音高候補=key_c=C3、共鳴強度比候補=pitch_def_amp=1として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの4行目のエントリが作成される。その後、ステップS808に移行してi=0-1=-1となる。ここで、ステップS809の判定がYES、ステップS810の判定がYESとなる。
【0066】
このようにして、変数値iが値6から値0まで変化して、音高差がマイナスとなる側の共鳴音候補に対応するエントリと押鍵音に対応するエントリ(音高差が-24から±0までの最初の4行のエントリ)が、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータとして作成される。それに続いて、CPU101は、押鍵音高を基準としてプラス方向の押鍵音高に最も近い音高差から最も遠い音高差の音高まで処理をするために、RAM103上の変数iに値1をセットし(
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータにおけるNo.=1に対応する)、処理方向を示すRAM103上の変数flagに、プラス方向(
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータにおいてNo.が値1から値6に向かって増加する方向)を示す値1をセットする(ステップS811)。
【0067】
その後、CPU101は、変数iの値を変数flagの値ずつ加算しながら、即ち変数flagの値が1なので値1ずつ加算しながら、ステップS809の判定がNOとなった後に、変数iの値が値1から順次増加して値7に到達したと判定するまで(ステップS812)、前述したのと同様のステップS803からS807の一連の処理を順次実行する。
【0068】
具体的には、まず、ステップS811で変数値i=1、変数値flag=1がセットされた後に、ステップS803の処理に戻る。ステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=1のエントリから、変数値pitch_def=音高差12×変数値flag=+12が演算され、変数値pitch_def_amp=1が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+12=40が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図3に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=40に対応するエントリの鍵キー=C4が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+12、共鳴音高候補=key_c=C4、共鳴強度比候補=pitch_def_amp=1として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの5行目のエントリが作成される。その後、ステップS808に移行してi=1+1=2となって、ステップS809の判定がNO、ステップS812の判定がNOとなって、ステップS803の処理に戻る。
【0069】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=2のエントリから、変数値pitch_def=音高差19×変数値flag=+19が演算され、変数値pitch_def_amp=0.8が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+19=47が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図4に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=47に対応するエントリの鍵キー=G4が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+19、共鳴音高候補=key_c=G4、共鳴強度比候補=pitch_def_amp=0.8として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの6行目のエントリが作成される。その後、ステップS808に移行してi=2+1=3となって、ステップS809の判定がNO、ステップS812の判定がNOとなって、ステップS803の処理に戻る。
【0070】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=3のエントリから、変数値pitch_def=音高差24×変数値flag=+24が演算され、変数値pitch_def_amp=0.8が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+24=52が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図4に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=52に対応するエントリの鍵キー=C5が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+24、共鳴音高候補=key_c=C5、共鳴強度比候補=pitch_def_amp=0.8として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの7行目のエントリが作成される。その後、ステップS808に移行してi=3+1=4となって、ステップS809の判定がNO、ステップS812の判定がNOとなって、ステップS803の処理に戻る。
【0071】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=4のエントリから、変数値pitch_def=音高差28×変数値flag=+28が演算され、変数値pitch_def_amp=0.6が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+28=56が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図4の鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=56に対応するエントリの鍵キー=E5が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+28、共鳴音高候補=key_c=E5、共鳴強度比候補=pitch_def_amp=0.6として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの8行目のエントリが作成される。その後、ステップS808に移行してi=4+1=5となって、ステップS809の判定がNO、ステップS812の判定がNOとなって、ステップS803の処理に戻る。
【0072】
続くステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=5のエントリから、変数値pitch_def=音高差31×変数値flag=+31が演算され、変数値pitch_def_amp=0.4が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+31=59が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図4に例示される鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=59に対応するエントリの鍵キー=G5が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+31、共鳴音高候補=key_c=G5、共鳴強度比候補=pitch_def_amp=0.4として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの8行目のエントリが作成される。その後、ステップS808に移行してi=5+1=6となって、ステップS809の判定がNO、ステップS812の判定がNOとなって、ステップS803の処理に戻る。
【0073】
最後に、ステップS803では、
図5(a)に例示されるピッチ差毎共鳴強度テーブルデータのNo.=i=6のエントリから、変数値pitch_def=音高差36×変数値flag=+36が演算され、変数値pitch_def_amp=0.2が得られる。次に、ステップS804で、変数値key_num_c=変数値key_num_on+変数値pich_def=28+36=64が計算される。この結果、ステップS805の判定はYESとなるため、ステップS806で、
図4の鍵毎共鳴音高算出テーブルデータから、鍵番号が変数値key_num_c=64に対応するエントリの鍵キー=C6が変数key_cに取得される。そして、ステップS807で、音高差=pitch_def=+36、共鳴音高候補=key_c=C6、共鳴強度比候補=pitch_def_amp=0.2として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの最後の行のエントリが作成される。その後、ステップS808に移行してi=6+1=7となって、ステップS809の判定がNOとなった後、ステップS812の判定がYESとなって、全ての処理を終了する。
【0074】
以上のようにして、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータがRAM103上に作成される。その後、CPU101は、
図8のフローチャートで例示される
図7のステップS706の押鍵対応共鳴音高候補テーブル作成処理を終了する。
【0075】
図9は、
図7のステップS707で実行される発音共鳴音情報テーブル作成処理の詳細例を示すフローチャートである。まず、CPU101は、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの上から順に、1エントリずつの情報を取得し、そのエントリから取得した共鳴音高候補の値をRAM103上の変数res_pitch_cに格納し、同じく共鳴強度比候補の値をRAM103上の変数res_amp_cに格納する(ステップS901)。
【0076】
次に、CPU101は、鍵番号を指定するRAM103上の変数Nに値1をセットする(ステップS902)。
【0077】
その後、CPU101は、変数Nの値を+1ずつインクリメントしながら(ステップS912)、その値が88鍵に対応する値88を超えたと判定するまで(ステップS913)、ステップS903からS911までの一連の処理を繰り返し実行する。
【0078】
ステップS903からS911の一連の処理において、CPU101はまず、鍵番号変数値Nが、
図7のステップS701で検出された押鍵番号に等しいか否かを判定する(ステップS903)。このステップS903の判定がYESの場合には、押鍵された鍵の弦は共鳴弦とはみなさないので、CPU101は、発音共鳴音情報テーブルのエントリは作成せず、ステップS912に移行して鍵番号変数値Nの値を1進める。
【0079】
ステップS903の判定がNOならば、CPU101は、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータの変数値Nが示す鍵番号のエントリから、鍵キー、第1の共鳴音高、及び第2の共鳴音高を取得する(ステップS904)。
【0080】
次に、CPU101は、
図6のステップS602のスイッチ部処理によってRAM103にセットされたダンパペダル変数の値がオンを示しているか否か即ちダンパペダルがオンされているか否か、ステップS904で取得した鍵キーに対応してRAM103に押鍵フラグが作成されていてその鍵キーが押鍵により非ダンプ状態となっているか(
図7のステップS705参照)、又はステップS904で取得した第1の共鳴音高のみに値があり第2の共鳴音高には値がない常時非ダンプ状態の鍵キーである(
図4の鍵番号69から鍵番号88までのエントリである)か否かを判定する(ステップS905)。
【0081】
ステップS905の判定がYESの場合には、ステップS904で取得した第1の共鳴音高がステップS901で取得した変数値res_pitch_c(共鳴音高候補の値)に等しいか否かを判定する(ステップS906)。
【0082】
ステップS906の判定がNOならば、CPU101は、発音共鳴音情報テーブルのエントリの作成は行わずに、ステップS912に移行して鍵番号変数値Nの値を1進める。
【0083】
ステップS906の判定がYESならば、CPU101は、RAM103上の変数である選択音色の値を「開放弦共鳴音色」(非ダンプ状態の音色)にセットする(ステップS907)。
【0084】
一方、前述したステップS905の判定がNOの場合には、ステップS904で取得した第2の共鳴音高がステップS901で取得した変数値res_pitch_c(共鳴音高候補)に等しいか否かを判定する(ステップS908)。
【0085】
ステップS908の判定がNOならば、CPU101は、発音共鳴音情報テーブルのエントリの作成は行わずに、ステップS912に移行して鍵番号変数値Nの値を1進める。
【0086】
ステップS908の判定がYESならば、CPU101は、RAM103上の変数である選択音色の値を「非開放弦共鳴音色」(ダンプ状態の音色)にセットする(ステップS909)。
【0087】
上述のステップS907又はS909の処理の後、CPU101は、後述する共鳴音調停処理を実行することにより、既に発音されている他の同じ音高の共鳴音との関係で、現在の共鳴音高候補による共鳴音を発音させるべきか否かを決定する(ステップS910)。
【0088】
ステップS910での共鳴音調停処理の結果、現在の共鳴音高候補による共鳴音を発音させると決定した場合には、CPU101は、
図5(c)に例示した発音共鳴音情報テーブルデータに1エントリを追加し、発音共鳴鍵キー=ステップS904で取得した鍵キー、発音共鳴音色=ステップS907又はS909でRAM103上の変数に設定した選択音色、発音共鳴音高=ステップS901で取得した共鳴音高候補変数値res_pitch_c、発音共鳴強度=
図7のステップS701で取得した押鍵ベロシティ×ステップS901で取得した共鳴強度比候補変数値res_amp_cを登録する。即ち、発音される共鳴音は、押鍵音のベロシティに対して、共鳴強度比候補の割合だけ減少させられたベロシティ(発音共鳴強度)で発音されることになる。この共鳴強度比は、
図5(a)に例示されるピッチ差毎共鳴強度テーブルに定義されており、押鍵音に対して高い倍音の共鳴音であるほど、発音強度は弱くなる。
【0089】
その後、CPU101は、ステップS912に進んで、鍵番号変数Nの値を更新する。
【0090】
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの1つのエントリ(ステップS901)についてステップS902からS913の一連の処理が終了したら、CPU101は、押鍵対応共鳴音高候補テーブルデータに未処理のエントリがあるか否かを判定する(ステップS914)。
【0091】
ステップS914の判定がYESならば、CPU101は、ステップS901の処理に戻って、押鍵対応共鳴音高候補テーブルデータの次のエントリに対する上記一連の処理の実行に移行する。
【0092】
ステップS914の判定がNOになったら、CPU101は、
図9のフローチャートで例示される
図7のステップS707の発音共鳴音情報テーブル作成処理を終了する。
【0093】
以上のステップS904からS911の一連の処理により、
図5(c)に例示される発音共鳴音情報テーブルデータの各エントリを作成することができる。具体例として、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから
図5(c)に例示される発音共鳴音情報テーブルデータを作成する処理について説明する。いま、ダンパペダルはオフで、C4とG4の2つの鍵キーに対応する2つの鍵が既に押鍵されていて、新たにC3の鍵キーに対応する鍵が押鍵されたとする。
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータは、C3の鍵キーに対応する鍵が押鍵されたときに作成されているデータである。この条件より、非ダンプ状態の鍵であることによりステップS905の判定がYESとなって第1の共鳴音高が判定されるのは、
図3に例示される鍵番号40番と
図4に例示される鍵番号47番だけで、あとは全てダンプ状態の鍵であることによりステップS905の判定がNOとなって第2の共鳴音高が判定される。
【0094】
まず、ステップS901で、押鍵対応共鳴音高候補テーブルデータの1行目のエントリの情報が取得され、変数値res_pitch_c=C1、変数値res_amp_c=0.8がセットされる。
【0095】
次に、CPU101は、鍵番号を指定するRAM103上の変数Nに値1をセットする(ステップS902)。その後、変数Nの値を+1ずつインクリメントされながら(ステップS912)、その値が88鍵に対応する値88を超えたと判定するまで(ステップS913)、ステップS903からS911までの一連の処理を繰り返し実行する。これにより、鍵番号Nが40番又は47番のときには、ステップS905の判定がYESとなった後にステップS906において、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=C1が、
図3又は
図4に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号Nの第1の共鳴音高と一致するか否かが判定される。また、鍵番号Nが40番及び47番以外のときには、ステップS905の判定がNOとなった後にステップS908において、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=C1が、
図3又は
図4に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号Nの第2の共鳴音高と一致するか否かが判定される。この結果、共鳴音高候補値res_pitch_c=C1は、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータ上で、どの鍵番号の第1の共鳴音高及び第2の共鳴音高とも一致しないため、共鳴音高候補値res_pitch_c=C1は
図5(c)に例示される発音共鳴音情報テーブルデータとしては登録されない。
【0096】
その後、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの2行目の共鳴音高候補値res_pitch_c=F1及び3行目の共鳴音高候補値res_pitch_c=C2についても、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS903からS911までの一連の処理が繰り返し実行されるが、やはり共鳴音高候補値res_pitch_c=F1及びC2共に、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータ上で、どの鍵番号の第1の共鳴音高及び第2の共鳴音高とも一致しないため、共鳴音高候補値res_pitch_c=F1及びC2は
図5(c)に例示される発音共鳴音情報テーブルデータとしては登録されない。
【0097】
その後、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの4行目の共鳴音高候補値res_pitch_c=C3について、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS904からS911までの一連の処理が繰り返し実行される。この結果、鍵番号N=16のときに、ステップS908において
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=C3が、
図3に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号16番の第2の共鳴音高と一致し、ステップS908の判定がYESになる。この結果、ステップS909及びS910を経て、ステップS911で、
図5(c)に例示される発音共鳴音情報テーブルデータの1行目のエントリとして、発音共鳴鍵キー=C2(=
図3に例示される鍵毎共鳴音高算出テーブルデータの鍵番号16番の鍵キー)、発音共鳴音色=「非開放弦共鳴音色」、発音共鳴音高=res_pitch_c=C3、発音共鳴強度=押鍵ベロシティ×共鳴強度比候補値(=1)が登録される。
【0098】
その後、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの5行目の共鳴音高候補値res_pitch_c=C4について、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS904からS911までの一連の処理が繰り返し実行される。
図3に例示される鍵毎共鳴音高算出テーブルデータにおいて鍵番号28番の第2の共鳴音高としてはC4が登録されているが、これは押鍵番号に一致しているため、鍵番号N=28のときにステップS903の判定がYESとなって
図5(c)に例示される発音共鳴音情報テーブルデータへのエントリの登録(ステップS911)は実行されない。また、
図3に例示される鍵毎共鳴音高算出テーブルデータにおいて鍵番号40番の第1の共鳴音高としてはC4が登録されているが、この鍵はダンプ状態であるため、鍵番号N=40のときにステップS905の判定がNOとなってステップS907は実行されず、
図5(c)に例示される発音共鳴音情報テーブルデータへのエントリの登録(ステップS911)は実行されない。結局、共鳴音高候補値res_pitch_c=C4は、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータ上で、どの鍵番号の第1の共鳴音高及び第2の共鳴音高とも一致しないため、共鳴音高候補値res_pitch_c=C4は
図5(c)に例示される発音共鳴音情報テーブルデータとしては登録されない。
【0099】
その後、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの5行目の共鳴音高候補値res_pitch_c=G4について、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS904からS911までの一連の処理が繰り返し実行される。この結果、鍵番号N=35のときに、ステップS908において
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=G4が、
図3に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号35番の第2の共鳴音高と一致すると判定され、ステップS908の判定がYESになる。この結果、ステップS909及びS910を経て、ステップS911で、
図5(c)に例示される発音共鳴音情報テーブルデータの2行目のエントリとして、発音共鳴鍵キー=G3(=
図3に例示される鍵毎共鳴音高算出テーブルデータの鍵番号35番の鍵キー)、発音共鳴音色=「非開放弦共鳴音色」、発音共鳴音高=res_pitch_c=G4、発音共鳴強度=押鍵ベロシティ×共鳴強度比候補(=0.8)が登録される。更に、鍵番号N=47のときに、今度はステップS906において
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=G4が、
図4に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号47番の第1の共鳴音高と一致すると判定され、ステップS906の判定がYESになる。この結果、ステップS907及びS910を経て、ステップS911で、
図5(c)に例示される発音共鳴音情報テーブルデータの3行目のエントリとして、発音共鳴鍵キー=G4(=
図4に例示される鍵毎共鳴音高算出テーブルデータの鍵番号47番の鍵キー)、発音共鳴音色=「開放弦共鳴音色」、発音共鳴音高=res_pitch_c=G4、発音共鳴強度=押鍵ベロシティ×共鳴強度比候補(=0.8)が登録される。この例では、発音共鳴音高=G4については、ダンプ状態にある鍵番号35番の共鳴弦と、先行して押鍵されていて非ダンプ状態にある鍵番号47番の共鳴弦の2組の共鳴弦が共鳴することになり、音源LSI106内の異なる発音チャネルの異なる波形発生装置210から共鳴音の波形データが出力されることになる。
【0100】
この場合、発音共鳴音高は同じG4であるが、
図5(c)に例示される発音共鳴音情報テーブルデータの2行目及び3行目の2つの発音共鳴音情報に基づいて、
図7のステップS708及びS709で、発音共鳴音色が「非開放弦共鳴音色」と「開放弦共鳴音色」というように異なる音色による2つのノートオンイベントが生成され音源LSI106に送られることになる。この場合、後述するステップS910の共鳴音調停処理において、音源LSI106における発音チャネルの消費を抑えるために、どちらか一方のみの共鳴音のみが発音されるようにしてもよいが、音色が異なる場合には両方とも異なる発音チャネルで発音されるようにしてもよい(
図10又は
図11のステップS1001参照)。これにより、発音チャネルは消費するが、非常に表現豊かな共鳴音を発音させることが可能になる。
【0101】
その後、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの7行目及び9行目の共鳴音高候補値res_pitch_c=C5及びG5については、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS904からS911までの一連の処理が繰り返し実行されるが、共鳴音高候補値res_pitch_c=C5及びG5共に、
図3及び
図4に例示される鍵毎共鳴音高算出テーブルデータ上で、どの鍵番号の第1の共鳴音高及び第2の共鳴音高とも一致しないため、共鳴音高候補値res_pitch_c=F1及びC2は
図5(c)に例示される発音共鳴音情報テーブルデータとしては登録されない。
【0102】
一方、ステップS914を経て、ステップS901で、
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータの8行目及び10行目の共鳴音高候補値res_pitch_c=E5及びC6について、上記と同様にして鍵番号変数値Nが1から88まで変化させられながらステップS904からS911までの一連の処理が繰り返し実行される。この結果、鍵番号N=44のときに、ステップS908において
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=E5が、
図3に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号44番の第2の共鳴音高と一致すると判定され、ステップS908の判定がYESになり、また、鍵番号N=52のときに、ステップS908において
図5(b)に例示される押鍵対応共鳴音高候補テーブルデータから取得した共鳴音高候補値res_pitch_c=C6が、
図4に例示される鍵毎共鳴音高算出テーブルデータから取得した鍵番号52番の第2の共鳴音高と一致すると判定され、ステップS908の判定がYESになる。これらの結果、ステップS909及びS910を経て、ステップS911で、
図5(c)に例示される発音共鳴音情報テーブルデータの4行目及び5行目のエントリが登録される。
【0103】
図10は、
図9のステップS910の共鳴音調停処理の第1の実施形態の詳細例を示すフローチャートである。CPU101はまず、既にRAM103上に先行して作成されている他の押鍵に対応する発音共鳴音情報テーブルデータにおいて、
図9のステップS907又はS908の処理の後に発音共鳴音情報テーブルデータとして登録しようとしている共鳴音高候補値res_pitch_cと同じ発音共鳴音高を含み、かつ発音共鳴音色が同じエントリを検索する(ステップS1001)。
【0104】
次に、CPU101は、ステップS1001での検索に成功したか否かを判定する(ステップS1002)。
【0105】
ステップS1002の判定がNOの場合には、共鳴音の調停は特に行う必要がないので、そのまま
図10のフローチャートで例示される
図9のステップS910の共鳴音調停処理を終了する。
【0106】
ステップS1002の判定がYESの場合には、CPU101は、
図7のステップS701で検出された押鍵ベロシティに
図9のステップS907又はS908の処理の後に発音共鳴音情報テーブルデータとして登録しようとしている共鳴強度比候補値res_amp_cを乗算して得た値が、ステップS1001で検索された全てのエントリの同じ音高の全ての発音共鳴強度(
図5(c)参照)よりも大きいか否かを判定する(ステップS1003)。
【0107】
ステップS1003の判定がNOならば、CPU101は、今回の発音共鳴音情報テーブルデータへの登録は行わず、
図9のステップS912に移行して鍵番号変数値Nの値を1進める。
【0108】
ステップS1003の判定がYESならば、CPU101は、ステップS1001で検索された発音共鳴音情報テーブルデータのエントリの発音共鳴音高により、その発音共鳴音高に対応する共鳴音のノートオフイベントを作成し(ステップS1004)、そのノートオフイベントを音源LSI106に送付する(ステップS1005)。音源LSI106は、そのノートオフイベントを受け取ると、そのノートオフイベント内の発音共鳴音高に対応する発音チャネルでの波形発生装置210からの共鳴音の波形データの出力を停止させる消音処理を実行する。
【0109】
最後に、CPU101は、ステップS1001で検索された発音共鳴音情報テーブルデータのエントリを、その発音共鳴音情報テーブルデータから削除する(ステップS1006)。これにより、今回の押鍵による共鳴音の発音が優先されることになる。その後、CPU101は、
図10のフローチャートで例示される
図9のステップS910の共鳴音調停処理を終了し、
図9のステップS912の発音共鳴音情報テーブルデータの登録処理に進む。
【0110】
図11は、
図9のステップS910の共鳴音調停処理の第2の実施形態の詳細例を示すフローチャートである。
図11のステップS1001、S1002、及びS1003は、
図10の第1の実施形態の場合と同様である。
【0111】
ステップS1003の判定がYESならば、CPU101は、ステップS1001で検索された発音共鳴音情報テーブルデータのエントリの発音共鳴音高の発音チャネルに対する振幅エンベロープをアップするイベントを作成し(ステップS1101)、そのイベントを音源LSI106に送付する(ステップS1102)。音源LSI106は、そのイベントを受け取ると、DSP202を制御して、そのイベント内の発音共鳴音高に対応する発音チャネルの振幅エンベロープをアップさせる処理を実行する。
【0112】
最後に、CPU101は、ステップS1001で検索された発音共鳴音情報テーブルデータのエントリの発音共鳴強度を、
図7のステップS701で検出された押鍵ベロシティに共鳴強度比候補値res_amp_cを乗算して得た値に更新する。その後、CPU101は、今回の発音共鳴音情報テーブルデータへの登録は行わず、
図9のステップS912に移行して鍵番号変数値Nの値を1進める。
【0113】
図12は、
図9のステップS910の共鳴音調停処理の第3の実施形態の詳細例を示すフローチャートである。まず、CPU101は、既にRAM103上に先行して作成されている全ての発音共鳴音情報テーブルデータに登録されている全ての発音共鳴音高数をカウントし、そのカウント結果をRAM103上の変数res_numに格納する(ステップS1201)。
【0114】
次に、CPU101は、ステップS1201でのカウント値res_numが、共鳴音の許容最大値、例えば32に達したか否かを判定する(ステップS1202)。
【0115】
ステップS1202の判定がNOの場合には、共鳴音の調停は特に行う必要がないので、そのまま
図12のフローチャートで例示される
図9のステップS910の共鳴音調停処理を終了する。
【0116】
ステップS1202の判定がYESならば、CPU101は、既にRAM103上に先行して作成されている発音共鳴音情報テーブルデータに登録されている発音共鳴強度のうち値が最小のものに対応するエントリの発音共鳴音高に対応する共鳴音のノートオフイベントを作成し(ステップS1203)、そのノートオフイベントを音源LSI106に送付する(ステップS1204)。音源LSI106は、そのノートオフイベントを受け取ると、そのノートオフイベント内の発音共鳴音高に対応する発音チャネルでの波形発生装置210からの共鳴音の波形データの出力を停止させる消音処理を実行する。
【0117】
最後に、CPU101は、ステップS1203で検索したエントリを、そのエントリを含むRAM103上の発音共鳴音情報テーブルデータから削除する(ステップS1205)。これにより、共鳴音の最大発音数(例えば32発音チャネル)の範囲内で、今回の押鍵による共鳴音の発音が優先されることになる。その後、CPU101は、
図10のフローチャートで例示される
図9のステップS910の共鳴音調停処理を終了し、
図9のステップS912の発音共鳴音情報テーブルデータの登録処理に進む。
【0118】
以上説明した実施形態により、弦がダンプされている状態でも共鳴音の発音を行い、また弦の開放状態に応じて、共鳴弦周波数や共鳴音量、共鳴音色を変えて共鳴発音をすることで、よりアコーステックに共鳴を得ることが可能となる。
【0119】
以上説明した実施形態は、電子ピアノを例として説明したが、本発明は、電子弦楽器を始めとする様々な電子楽器に適用することができる。
【0120】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができる。
【0121】
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
【0122】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断し、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成し、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成する、
処理を実行する電子楽器。
(付記2)
前記第2鍵は、複数の鍵を含む、付記1に記載の電子楽器。
(付記3)
前記第2鍵に対応する前記第2共鳴音高は、前記第1共鳴音高より高い、付記1又は2に記載の電子楽器。
(付記4)
前記第2鍵の共鳴音は、複数の倍音関係の夫々に対して設定されている共鳴強度情報に基づいて生成されている、付記1乃至3の何れかに記載の電子楽器。
(付記5)
前記非ダンプ状態は、ダンパペダルがオンされることにより設定される場合と、操作された演奏操作子に対して設定される場合と、の何れかを含み、
前記ダンプ状態は、前記ダンパペダルがオフされているときに、操作されていない演奏操作子に設定されている場合を含む、
付記1乃至4の何れかに記載の電子楽器。
(付記6)
前記第2鍵に対応する共鳴音を含む楽音の発音中における新たな押鍵に応じて、前記第2鍵に対応する共鳴音を新たに生成する場合に、発音中の共鳴音の第1ベロシティと、前記新たな押鍵に応じて生成される共鳴音の第2ベロシティと、を比較し、
比較結果に応じて、共鳴音の生成を制御する、付記1乃至5の何れかに記載の電子楽器。
(付記7)
電子楽器のコンピュータが、
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断し、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成し、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成する、
方法。
(付記8)
電子楽器のコンピュータに、
第1鍵が押鍵された場合に、前記第1鍵の音高と倍音関係にある音高の第2鍵が、ダンプ状態又は非ダンプ状態の何れであるかを判断させ、
前記第2鍵が前記非ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第1の共鳴音高及び第1の音色の何れかで生成させ、
前記第2鍵が前記ダンプ状態であると判断された場合は、前記第2鍵の共鳴音を少なくとも第2の共鳴音高及び第2の音色の何れかで生成させる、
プログラム。
【符号の説明】
【0123】
100 電子楽器
101 CPU
102 ROM
103 RAM
104 鍵盤
105 スイッチ部
106 音源LSI
107 サウンドシステム
108 システムバス
201 波形発生器
202 DSP
203 バスインタフェース
204 ミキサ
210 波形発生装置
【手続補正書】
【提出日】2023-12-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1鍵が押鍵された場合に、前記第1鍵と異なる第2鍵がダンプ状態又は非ダンプ状態かに応じた共鳴音を含む、前記第1鍵に対応する楽音を出力する、
処理を実行する電子楽器。
【請求項2】
前記第2鍵は、複数の鍵を含む、請求項1に記載の電子楽器。
【請求項3】
前記第2鍵の音高は、前記第1鍵の音高の倍音である、
請求項1又は2に記載の電子楽器。
【請求項4】
前記非ダンプ状態である場合に、前記第2鍵に対応する第1の共鳴音高の共鳴音又は第1の音色の共鳴音と、前記第1鍵に直接対応する楽音と、を合成し、
前記ダンプ状態である場合に、前記第2鍵に対応する前記第1の共鳴音高より高い第2の共鳴音高の共鳴音又は第2の音色の共鳴音と、前記第1鍵に直接対応する楽音と、を合成する、
請求項1乃至3の何れかに記載の電子楽器。
【請求項5】
前記共鳴音は、複数の倍音関係の夫々に対して設定されている共鳴強度情報に基づいて生成されている、
請求項1乃至4の何れかに記載の電子楽器。
【請求項6】
前記非ダンプ状態は、ダンパペダルがオンされることにより設定される場合と、操作された演奏操作子に対して設定される場合と、の何れかを含み、
前記ダンプ状態は、前記ダンパペダルがオフされているときに、操作されていない演奏操作子に設定されている場合を含む、
請求項1乃至5の何れかに記載の電子楽器。
【請求項7】
前記第2鍵に対応する共鳴音を含む楽音の発音中における新たな押鍵に応じて、前記第2鍵に対応する共鳴音を新たに生成する場合に、発音中の共鳴音の第1ベロシティと、前記新たな押鍵に応じて生成される共鳴音の第2ベロシティと、を比較し、
比較結果に応じて、共鳴音の生成を制御する、
請求項1乃至6の何れかに記載の電子楽器。
【請求項8】
前記第2鍵に対応する共鳴音を含む楽音の発音中における新たな押鍵に応じて、前記第2鍵に対応する共鳴音を新たに生成する場合に、発音中の音高数及び前記共鳴強度情報に応じて共鳴音の生成を制御する、
請求項5に記載の電子楽器。
【請求項9】
電子楽器のコンピュータが、
第1鍵が押鍵された場合に、前記第1鍵と異なる第2鍵がダンプ状態又は非ダンプ状態かに応じた共鳴音を含む、前記第1鍵に対応する楽音を出力させる、
方法。
【請求項10】
電子楽器のコンピュータに、
第1鍵が押鍵された場合に、前記第1鍵と異なる第2鍵がダンプ状態又は非ダンプ状態かに応じた共鳴音を含む、前記第1鍵に対応する楽音を出力させる、
プログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
態様の一例の電子楽器は、第1鍵が押鍵された場合に、前記第1鍵と異なる第2鍵がダンプ状態又は非ダンプ状態かに応じた共鳴音を含む、前記第1鍵に対応する楽音を出力する、処理を実行する。