JP5463724B2 - 楽音発生装置および楽音発生プログラム - Google Patents

楽音発生装置および楽音発生プログラム Download PDF

Info

Publication number
JP5463724B2
JP5463724B2 JP2009107394A JP2009107394A JP5463724B2 JP 5463724 B2 JP5463724 B2 JP 5463724B2 JP 2009107394 A JP2009107394 A JP 2009107394A JP 2009107394 A JP2009107394 A JP 2009107394A JP 5463724 B2 JP5463724 B2 JP 5463724B2
Authority
JP
Japan
Prior art keywords
generator
performance
generators
assigned
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009107394A
Other languages
English (en)
Other versions
JP2010256661A (ja
Inventor
健 寺尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2009107394A priority Critical patent/JP5463724B2/ja
Publication of JP2010256661A publication Critical patent/JP2010256661A/ja
Application granted granted Critical
Publication of JP5463724B2 publication Critical patent/JP5463724B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、楽音を発生する楽音発生装置および楽音発生プログラムに関する。
従来、楽音発生装置においては、鍵盤を構成する鍵など演奏操作子の1つのオン(押鍵)に対する発音のために1または複数のジェネレータを割り当てている。たとえば、1つの押鍵に対して単一のジェネレータを割り当てた場合には、押鍵ごとに1つずつ楽音波形データを生成するジェネレータ数が増大していく。
また、1つの押鍵に対して2つ以上のジェネレータを割り当てる場合もある。複数のジェネレータを割り当てることは、弦楽器や管楽器の音色であれば、複数の楽器が鳴っているような重厚感を増大させる効果がある。この場合にも、押鍵ごとに、所定数(たとえば2つずつ)だけジェネレータ数が増大していく。
たとえば、特許文献1には、音色ごとに、1つの押鍵に対して使用するジェネレータ(特許文献1ではDCO:Digital Controlled Oscillator)の数を定めておき、押鍵ごとに定められた数のジェネレータへの割り当てを行なう楽音発生装置が開示されている。
特開平7−160258号公報
特許文献1に示すような楽音発生装置においては、押鍵ごとに決められた数だけ楽音波形データを生成するジェネレータが増大する。たとえば、1鍵に2つのジェネレータを割り当てることを設定した場合には、2鍵の押鍵では4つのジェネレータ、3鍵の押鍵では6つのジェネレータが動作して、それぞれが楽音波形データを生成する。すなわち、押鍵数が増大するのにしたがって、音量が大きくなり、また、重厚感も増大する。
ピアノのような鍵盤楽器では、そもそも押鍵数が増大するのに応じて、音量および重厚感は増大する。しかしながら、弦楽器や管楽器のように所定の人数の楽団員がアンサンブルを行なっているような状態を想定すると、各楽団員は基本的には常に演奏をしており、たとえば、ユニゾンによる演奏では、各楽団員が同じ音高の楽音を発するため最も音量および重厚感が大きい。その一方、複数パートに分かれた演奏をする場合、同一パートに属する楽団員のみが同じ音高の楽音を発生するため、パート数が増大するのにしたがって、楽音の音量および重厚感が小さくなる。楽音発生装置でも、弦楽器や管楽器のアンサンブルにおける発音の態様にしたがった楽音の発生が望ましい場合もある。
本発明は、ジェネレータにおける最大発音数を最大限活用して、楽器のアンサンブルにおける発音の態様にしたがった楽音を発生可能な楽音発生装置および楽音発生プログラムを提供することを目的とする。
本発明の目的は、割り当てられた演奏操作子に応じた音高の楽音波形データを生成する複数のジェネレータを有する楽音波形データ生成手段と、
演奏操作子の操作状態を検出する操作状態検出手段と、
前記操作状態検出手段により検出された前記演奏操作子の操作に応じて、前記操作された演奏操作子に応じた音高の楽音を発生するために、前記ジェネレータに音高を割り当てるとともに、発音を指示する割り当て制御手段と、を備えた楽音発生装置において、
前記割り当て制御手段が、オン状態の演奏操作子のそれぞれに対して、最大ジェネレータ数をオン状態の演奏操作子数で除算することにより得られる数のジェネレータ数を割り当てるように構成されたことを特徴とする楽音発生装置により達成される。
好ましい実施態様においては、前記割り当て制御手段が、
オン状態の演奏操作子の何れかが新たにオフ状態となり、オン状態の演奏操作子が減少した場合に、前記オフ状態となった演奏操作子に割り当てられていたジェネレータ群について、発音中の楽音の消音を指示するとともに、オン状態を継続している残りの演奏操作子のそれぞれに対して、前記ジェネレータ群から均等にジェネレータを割り当て、前記消音の後に、前記演奏操作子に応じた音高の楽音を発生させるように構成されている。
より好ましい実施態様においては、前記割り当て制御手段が、
オン状態の演奏操作子のそれぞれに対して割り当てられているジェネレータ数OldGenNumと、新たにオフ状態となった演奏操作子を除いた、前記残りの演奏操作子のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumとを算出し、
前記残りの演奏操作子のそれぞれに対して、前記新たにオフ状態となった演奏操作子に割り当てられていたジェネレータ群から、(GenNum−OldGenNum)個のジェネレータを割り当てるように構成されている。
また、好ましい実施態様においては、前記割り当て制御手段が、
オフ状態であった演奏操作子の何れかが新たにオン状態となり、オン状態の演奏操作子が増大した場合に、前記新たにオン状態となった演奏操作子を含まない、既にオン状態の演奏操作子にそれぞれ割り当てられていたジェネレータ群において、新たにオン状態となった演奏操作子を含むオン状態の演奏操作子ごとにジェネレータの割り当て数が均等となるように、新たにオン状態となった演奏操作子に対して、前記ジェネレータ群中の所定のジェネレータを割り当て、前記発音中の楽音の消音の後に、前記新たにオン状態となった演奏操作子に応じた音高の楽音を発生させるように構成されている。
より好ましい実施態様においては、前記割り当て制御手段が、
前記既にオン状態の演奏操作子のそれぞれに対して割り当てられているジェネレータ数OldGenNumと、新たにオン状態となった演奏操作子を含む、オン状態の演奏操作子のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumとを算出し、
前記既にオン状態の演奏操作子のそれぞれに対して、当該演奏操作子のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを、新たにオン状態になった演奏操作子に対して割り当てるように構成されている。
さらに好ましい実施態様においては、前記ジェネレータごとに、発音すべき音高、発音状態を格納したジェネレータ配列が記憶装置に格納され、
前記割り当て制御手段が、前記ジェネレータ配列中の音高および発音状態を参照し、前記発音状態が、無音状態であるもの、消音中であるものの順に、前記演奏操作子のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを選択するように構成されている。
また、別の好ましい実施態様においては、前記楽音波形データ生成手段が、同一の音高の楽音波形データを生成するジェネレータ数に応じて、前記ジェネレータにより生成される楽音波形データの音量レベルを調整するように構成されている。
また、本発明の目的は、割り当てられた演奏操作子に応じた音高の楽音波形データを生成する複数のジェネレータを有する楽音波形データ生成手段を有するコンピュータに、
演奏操作子の操作状態を検出する操作状態検出ステップと、
前記操作状態検出ステップにおいて検出された前記演奏操作子の操作に応じて、前記操作された演奏操作子に応じた音高の楽音を発生するために、前記ジェネレータに音高を割り当てるとともに、発音を指示する割り当て制御ステップとを実行させ、
前記割り当て制御ステップが、オン状態の演奏操作子のそれぞれに対して、最大ジェネレータ数をオン状態の演奏操作子数で除算することにより得られる数のジェネレータ数を割り当てるステップを有することを特徴とする楽音発生プログラムにより達成される。

本発明によれば、ジェネレータにおける最大発音数を最大限活用して、楽器のアンサンブルにおける発音の態様にしたがった楽音を発生可能な楽音発生装置および楽音発生プログラムを提供することが可能となる。
図1は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。 図2は、本実施の形態にかかる電子楽器にて実行される処理を示すフローチャートである。 図3は、本実施の形態にかかる鍵盤処理を示すフローチャートである。 図4は、本実施の形態にかかる鍵盤処理を示すフローチャートである。 図5(a)は、本実施の形態に鍵状態配列Key[]のデータ構造の例を説明する図、図5(b)は、本実施の形態にかかるジェネレータ配列Gen[]のデータ構造の例を説明する図である。 図6は、本実施の形態にかかる新規押鍵フラグセット処理の例を示すフローチャートである。 図7は、本実施の形態にかかる鍵盤処理を示すフローチャートである。 図8は、本実施の形態にかかる音源処理の例を示すフローチャートである。 図9は、本実施の形態におけるジェネレータ選択の例を示すフローチャートである。 図10(a)は、4つの鍵が押鍵されているときのジェネレータへの割り当ての例を示す図、図10(b)は、1つの鍵が離鍵されたときのジェネレータへの割り当ての例を示す図である。 図11(a)は、2つの鍵が押鍵されているときのジェネレータへの割り当ての例を示す図、図11(b)は、さらに1つの鍵が押鍵されて、3つの鍵が押鍵されたときのジェネレータへの割り当ての例を示す図である。 図12(a)は、第2の実施の形態にかかる押鍵数割り当てテーブルの例を示す図、図12(b)は、ジェネレータ数配列の例を示す図である。 図13は、第2の実施の形態において、図8のステップ808の処理をより詳細に示すフローチャートである。
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる電子楽器の構成を示すブロックダイヤグラムである。図1に示すように、本実施の形態にかかる電子楽器10は、CPU11、ROM12、RAM13、サウンドシステム14、表示部15、鍵盤16および操作部18を備える。
CPU11は、電子楽器10全体の制御、操作部18を構成するスイッチ(図示せず)の操作の検出、鍵盤16の鍵のオン・オフ(押鍵・離鍵)の検出および押鍵・離鍵に応じた発音・消音のための配列へのデータ設定など種々の処理を実行する。
ROM12は、電子楽器10全体の制御、操作部18を構成するスイッチ(図示せず)の操作の検出、鍵盤16の鍵のオン・オフ(押鍵・離鍵)の検出押鍵・離鍵に応じた発音・消音のための配列へのデータ設定など種々の処理を実行するためのプログラムを格納する。また、ROM12は、ピアノ、ギター、ドラムなどの楽音波形データを生成するための元となる波形データを格納する波形データエリアを有している。RAM13は、ROM12から読み出されたプログラムや、処理の過程で生じたデータを記憶する。
サウンドシステム14は、音源部21、オーディオ回路22およびスピーカ23を備える。音源部21は、たとえば、CPU11からの発音指示を受信すると、ROM12の波形データエリアから所定の波形データを読み出して、所定の音高の楽音波形データを生成して出力する。また、音源部21は、スネアドラム、バスドラム、シンバルなど打楽器の音色の波形データを、そのまま楽音波形データとして出力することもできる。オーディオ回路22は、楽音波形データをD/A変換して増幅する。これによりスピーカ23から音響信号が出力される。
本実施の形態において、音源部21は、複数個(たとえば128個)のジェネレータを有し、それぞれが楽音波形データを生成して出力することができる。したがって、1つの押鍵について1つのジェネレータにより楽音波形データを生成するのであれば、最大で128鍵の押鍵に対応することができる。また、後述するように、1つの押鍵に対して最大限の数のジェネレータを割り当てることができ、この場合には、1つの押鍵に対して、複数のジェネレータが同時に楽音波形データを生成する。
図2は、本実施の形態にかかる電子楽器にて実行される処理を示すフローチャートである。電子楽器10のCPU11は、たとえば、RAM13に一時的に記憶されたデータなどのクリアを含むイニシャライズ処理を実行する(ステップ201)。イニシャライズ処理が終了すると、CPU11は、操作部18のスイッチの操作を検出し、検出された操作にしたがった処理を実行するスイッチ処理を実行する(ステップ202)。
スイッチ処理においては、CPU11は、たとえば、音色指定スイッチの操作にしたがって、ROM12の波形データエリアに格納された波形データの種別(音色)を指定する情報をRAM13に格納する。また、本実施の形態において、電子楽器10は、1つの押鍵について予め定められた数(たとえば、1或いは2)のジェネレータによって楽音波形データを生成する通常モードと、1つの押鍵に対して最大数のジェネレータを割り当てて、割り当てられたジェネレータにより楽音波形データを生成する最大発音モードと、の何れかの演奏モードの下で動作する。したがって、スイッチ処理においては、演奏モード指定スイッチの操作も検出され、CPU11は、演奏モード指定スイッチの操作にしたがって、動作モードを切り替え、現在の電子楽器の動作モードを示す情報をRAM13に格納する。
スイッチ処理(ステップ202)の後、CPU11は、表示処理を実行する(ステップ203)。表示処理においては、スイッチ処理において設定された音色名、動作モードなどを、表示部15の画面上に表示する。また、操作されたスイッチがオンであることを示すLED(図示せず)の点灯もスイッチ処理において実行される。表示処理(ステップ203)の後、CPU11は、鍵盤処理を実行する(ステップ204)。図3、図4および図7は、本実施の形態にかかる鍵盤処理を示すフローチャートである。
図3に示すように、CPU11は、RAM13に格納された動作モードを示す情報を参照する(ステップ301)。ステップ301において、最大発音モードと判断された場合には、CPU11は、鍵状態配列Key[]を、旧鍵状態配列OldKey[]にコピーする。これら配列Key[]、OldKey[]は、RAM13に格納される。図5(a)は、鍵状態配列Key[]のデータ構造の例を説明する図である。なお、旧鍵状態配列OldKey[]も、鍵状態配列Key[]と同一のデータ構造を有する。図5(a)に示すように、鍵状態配列Key[](符号501参照)は、鍵盤16の鍵の番号(ノート番号)ごとに、当該鍵がオン状態かオフ状態かを示すフラグを備えている。たとえば、鍵数が61鍵の場合には、61個のフラグを備える。
ステップ302では、鍵の状態を走査するのに先立って、現在の鍵状態を、前回の鍵状態として保持する。次いで、CPU11は、鍵盤16の鍵を走査して、鍵のオン状態、オフ状態に基づいて、鍵状態配列Key[]を生成する(ステップ303)。
また、CPU11は、1鍵あたりに幾つのジェネレータが割り当てられているかを示すパラメータGenNumを、旧ジェネレータ数OldGenNumにコピーする(ステップ304)。ジェネレータ数GenNumおよび旧ジェネレータ数OldGenNumも、RAM13に格納される。次いで、CPU11は、鍵状態配列Key[]を参照して、オン状態の鍵数(押鍵数)をカウントし、最大ジェネレータ数/押鍵数を算出して、これをジェネレータ数GenNumとしてRAM13に格納する(ステップ305)。最大ジェネレータ数は、本実施の形態においては、音源部21に備えられたジェネレータの総数(たとえば128個)としている。ステップ305で算出されたジェネレータ数GenNumは、現在押鍵されている鍵1つあたりに割り当てるべきジェネレータ数を示す。
次いで、CPU11は、新規の離鍵があったかを判断する(ステップ306)。ステップ306においては、CPU11は、旧鍵状態配列OldKey[]と、鍵状態配列Key[]を比較して、OldKey[]において「1」で、Key[]で「0」となるようなノート番号が存在するかを判断すれば良い。ステップ306でYesと判断された場合には、CPU11は、離鍵された鍵のノート番号を含むジェネレータ配列Gen[]の消音待ちフラグをセットする(ステップ307)。
以下、ジェネレータ配列Gen[](i=0〜127)について説明する。図5(b)に示すように、第i番のジェネレータに関するジェネレータ配列Gen[](符号502参照)は、発音している楽音のノート番号、および、各種フラグを含む。したがって、ジェネレータ配列Gen[]は、第i番のジェネレータが、どのノート番号の楽音について、どの状態となっているかを示している。フラグには、消音待ちフラグ、ファストダンプ待ちフラグ、発音待ちフラグ、および、発音中フラグが含まれる。これらフラグは、鍵盤処理においてセット或いはリセットされ、また、後述する音源処理において、音源部21により参照され、また、セット或いはリセットされる。
消音待ちフラグが「1」であることは、現在発音中であるノート番号に示す音高の楽音について、通常の消音(つまり、いわゆるリリースエンベロープを用いた消音)をすべきことを示している。ファストダンプ待ちフラグが「1」であることは、現在発音中であるノート番号に示す音高の楽音について、高速に消音すべきことを示している。発音待ちフラグが「1」であることは、ノート番号に示す音高の楽音を、発音すべきであることを示している。また、発音中フラグが「1」であることは、ノート番号に示す楽音が現在発音中であることを示している。
次いで、CPU11は、ジェネレータ数GenNumと旧ジェネレータ数OldGenNumとを比較して、GenNum<OldGenNumであるかを判断する(ステップ401)。ステップ401でYesと判断されることは、1鍵あたりのジェネレータ数が減ったこと、すなわち、前回より押鍵数が増えたことを意味している。ステップ401でYesと判断された場合には、CPU11は、現在発音中のジェネレータについてのジェネレータ配列Gen[]を特定する(ステップ402)。より具体的には、旧鍵状態配列OldKey[]において「1」で、かつ、鍵状態配列Key[]において「1」であるようなノート番号を特定し、そのようなノート番号を格納したジェネレータ配列Gen[]を特定すれば良い。
CPU11は、同一のノート番号を格納したジェネレータ配列Gen[]のうち、(OldGenNum−GenNum)個のジェネレータ配列について、ファストダンプ待ちフラグを「1」にセットする(ステップ403)。ファストダンプ待ちフラグのセットは、ノート番号ごとに行なわれる。なお、(OldGenNum−GenNum)個のジェネレータ配列Gen[]を選択する際には、以下のようなロジックを採用することができる。図9は、ジェネレータの選択処理の例を示すフローチャートである。
図9に示すように、まず、CPU11は、同一のノート番号を格納したジェネレータ配列Gen[]のうち、消音待ちフラグが「1」であるジェネレータ配列を特定する(ステップ901)。CPU11は、特定されたジェネレータ配列の数が、(OldGenNum−GenNum)以上であるかを判断する(ステップ902)。すなわち、離鍵により消音すべきジェネレータの数が、(OldGenNum−GenNum)以上あるかを判断する。ステップ902でYesと判断された場合には、CPU11は、ステップ901で特定された配列中、(OldGenNum−GenNum)個の配列の消音待ちフラグを「0」にリセットし、かつ、そのファストダンプ待ちフラグを「1」にセットする(ステップ903)。
ステップ902でNoと判断された場合には、CPU11は、まず、ステップ901において特定された配列の消音待ちフラグを「0」にリセットし、かつ、そのファストダンプ待ちフラグを「1」にセットする(ステップ904)。また、CPU11は、残りの配列、つまり、消音待ちフラグが「1」でないような配列中、(OldGenNum−GenNum)−ステップ901で特定された配列数)個の配列において、ファストダンプ待ち配列を「1」にセットする(ステップ905)。このように、本実施の形態においては、既に消音すべきジェネレータについて優先的に高速消音して、次の押鍵による発音を可能としている。
次に、CPU11は、ジェネレータ数GenNumと旧ジェネレータ数OldGenNumとを比較して、GenNum>OldGenNumであるかを判断する(ステップ404)。ステップ404でYesと判断されることは、1鍵あたりのジェネレータ数が増えたこと、すなわち、前回より押鍵数が減ったことを意味している。ステップ404でYesと判断された場合には、CPU11は、離鍵された鍵についてのジェネレータ配列Gen[]を特定して、ファストダンプ待ちフラグを「1」にセットする(ステップ405)。より具体的には、CPU11は、旧鍵状態配列OldKey[]において「1」で、かつ、鍵状態配列Key[]において「0」であるようなノート番号を特定し、そのようなノート番号を格納したジェネレータ配列Gen[]を特定すれば良い。
CPU11は、ステップ405においてファストダンプ待ちフラグをセットされたジェネレータ配列Genの数から、現在押鍵されている鍵のそれぞれに割り当てるべきジェネレータ数(GenNum−OldGenNum)を算出して(ステップ406)、(GenNum−OldGenNum)個のジェネレータ配列Gen[]に、現在押鍵されている鍵のノート番号をセットするとともに、発音待ちフラグに「1」をセットする(ステップ407)。これにより、ファストダンプ待ちフラグがセットされたジェネレータ配列Gen[]中、(GenNum−OldGenNum)個ずつに、現在押鍵されている鍵のノート番号が割り当てられ、高速消音の後、新たにノート番号が示す音高の楽音を発音することができる。
次に、CPU11は、新規の押鍵があったかを判断する(ステップ408)。ステップ408においては、CPU11は、旧鍵状態配列OldKey[]と、鍵状態配列Key[]を比較して、OldKey[]において「0」で、Key[]で「1」となるようなノート番号が存在するかを判断すれば良い。ステップ408でYesと判断された場合には、CPU11は、新規押鍵フラグセット処理を実行する(ステップ409)。図6は、本実施の形態にかかる新規押鍵フラグセット処理の例を示すフローチャートである。
新規押鍵フラグセット処理において、CPU11は、発音中フラグが「0」のジェネレータ配列Gen[]を特定し(ステップ601)、ステップ601において特定されたジェネレータ配列Gen[]中、(GenNum)個のジェネレータ配列Gen[]に、ステップ408で特定されたノート番号をセットするとともに、発音待ちフラグを「1」にセットする(ステップ602)。CPU11は、ステップ602において(GenNum)個のジェネレータ配列Gen[]への割り当てができたかを判断する(ステップ603)。ステップ603でNoと判断された場合には、CPU11は、ステップ601で特定されたジェネレータ配列以外の他のジェネレータ配列Gen[]を参照して、ファストダンプ待ちフラグが「1」のジェネレータ配列Gen[]を特定する(ステップ604)。
CPU11は、ステップ604において特定されたジェネレータ配列Gen[]中、(GenNum−発音中フラグが「0」であったジェネレータ配列の配列数)個のジェネレータ配列Gen[]に、ステップ408で特定されたノート番号をセットするとともに、発音待ちフラグを「1」にセットする(ステップ605)。次いで、CPU11は、ステップ605により、(GenNum)個のジェネレータ配列Gen[]への割り当てができたかを判断する(ステップ606)。
ステップ606でNoと判断された場合には、さらに、CPU11は、他のジェネレータ配列Gen[]を参照して、消音待ちフラグが「1」のジェネレータ配列を特定する(ステップ607)。CPU11は、ステップ607で特定されたジェネレータ配列Gen[]中、(GenNum−発音中フラグが「0」であったジェネレータ配列の配列数−ファストダンプ待ちフラグが「1」であったジェネレータ配列の配列数)個のジェネレータ配列Gen[]に、ステップ408で特定されたノート番号をセットするとともに、発音待ちフラグを「1」にセットする(ステップ608)。
このように、本実施の形態にかかる新規押鍵フラグセット処理においては、停止しているジェネレータ(つまり、ジェネレータ配列の発音中フラグが「0」であるようなジェネレータ、高速消音待ちのジェネレータ、消音待ちのジェネレータの順に、優先して、押鍵されたノート番号を割り当てるようにしている。
次に、ステップ301で、動作モードが通常モードであると判断された場合について説明する。この場合には、図7に示すように、CPU11は、新規離鍵があったかを判断する(ステップ701)。ステップ701においては、旧鍵状態配列OldKey[]と、鍵状態配列Key[]を比較して、OldKey[]において「1」で、Key[]で「0」となるようなノート番号が存在するかを判断すれば良い。ステップ701でYesと判断された場合には、CPU11は、離鍵された鍵のノート番号を含むジェネレータ配列Gen[]の消音待ちフラグを「1」にセットする(ステップ702)。
また、CPU11は、新規押鍵があったかを判断する(ステップ703)。ステップ703においては、旧鍵状態配列OldKey[]と、鍵状態配列Key[]を比較して、OldKey[]において「0」で、Key[]で「1」となるようなノート番号が存在するかを判断すれば良い。ステップ703でYesと判断された場合には、CPU11は、発音中フラグが「0」のジェネレータ配列Gen[]を特定し(ステップ704)、特定されたジェネレータ配列中、1つの鍵の押鍵に対して発音すべきジェネレータ数に応じた個数のジェネレータ配列に、ノート番号をセットするとともに、発音待ちフラグを「1」にセットする(ステップ705)。このジェネレータ数は、予め定められ、RAM13に格納された「1」以上の数である。このように、通常モードにおいては、離鍵された鍵について楽音を生成しているジェネレータを消音させるべく、そのジェネレータ配列に消音待ちフラグをセットし、押鍵された鍵について、所定のジェネレータ数のジェネレータを用いて楽音を生成すべく、発音中フラグが「0」である所定数のジェネレータ配列の発音待ちフラグを「1」にセットする。
鍵盤処理(図2のステップ204)が終了すると、音源部21およびCPU11は、音源処理を実行する(ステップ205)。図8は、本実施の形態にかかる音源処理の例を示すフローチャートである。CPU11は、鍵盤処理においてフラグがセット或いはリセットされたジェネレータ配列を走査して(ステップ801)、以下のようにジェネレータ配列の内容にしたがった所定の処理を音源部21に指示する。
消音待ちフラグが「1」にセットされたジェネレータ配列Gen[]が存在する場合には(ステップ802でYes)、CPU11は、消音待ちフラグが「1」であるジェネレータ配列Gen[]により特定されるジェネレータに対する消音処理を、音源部21に指示する(ステップ803)。また、ステップ803において、CPU11は、上記消音待ちフラグが「1」であったジェネレータ配列Gen[]について、当該消音待ちフラグを「0」にリセットする。
音源部21は、消音処理の指示に応答して、当該ジェネレータについて、ROM12の波形データエリアからノート番号にしたがった音高に基づき読み出された波形データに、リリースエンベロープを乗じて楽音波形データを生成して出力する。このようにして、消音待ちフラグが「1」であったジェネレータ配列Gen[]に対応するジェネレータにおいては、通常のリリースエンベロープを用いて楽音が消音される。なお、音源部21による消音が完了すると、音源部21は、ジェネレータ配列Gen[]の発音フラグを「0」にリセットする。
また、ファストダンプ待ちフラグが「1」にセットされたジェネレータ配列Gen[]が存在する場合には(ステップ804でYes)、CPU11は、ファストダンプ待ちフラグが「1」であるジェネレータ配列Gen[]により特定されるジェネレータについての高速消音処理を、音源部21に指示する(ステップ805)。ステップ805において、CPU11は、上記ファストダンプ待ちフラグが「1」であったジェネレータ配列Gen[]について、当該ファストダンプ待ちフラグを「0」にリセットする。
音源部21は、高速消音処理の指示に応答して、当該ジェネレータについて、ROM12の波形データエリアからノート番号にしたがった音高に基づき読み出された波形データに、高速リリースエンベロープを乗じて楽音波形データを生成して出力する。このようにして、ファストダンプ待ちフラグが「1」であったジェネレータ配列Gen[]に対応するジェネレータにおいては、高速消音のためのリリースエンベロープを用いて楽音が消音される。なお、音源部21による高速消音が完了すると、音源部21は、ジェネレータ配列Gen[]の発音フラグを「0」にリセットする。
発音待ちフラグが「1」にセットされたジェネレータ配列Gen[]が存在する場合には(ステップ806でYes)、CPU11は、当該ジェネレータ配列Gen[]において、発音中フラグが「0」であるかを判断する(ステップ807)。ステップ807は、既に発音中のジェネレータを除外するために実行される。ステップ807でYesと判断された場合には、CPU11は、当該ジェネレータ配列Gen[]のノート番号に示す音高の楽音波形データの生成を、音源部21に指示する(ステップ808)。また、ステップ808において、CPU11は、当該ジェネレータ配列Gen[]の発音待ちフラグを「0」にリセットする。
音源部21は、楽音波形データ生成の指示、つまり、発音の指示に応答して、ROM12の波形データエリアからノート番号にしたがった音高に基づき波形データを読み出し、読み出された波形データに、所定のエンベロープ(アタックのエンベロープなど)を乗算して楽音波形データを生成する。また、音源部21は、楽音波形データが生成されると発音中フラグを「1」にセットする。
以下、最大発音モードの下でのジェネレータへの割り当ての具体例を説明する。まず、押鍵数が減少した場合について説明する。図10(a)は、4つの鍵(ノート番号:N〜N)が押鍵されているときの、ジェネレータへの割り当ての例を示す図である。符号1000に示すように、本実施の形態においては、Gen0〜Gen127の128個のジェネレータが存在すると考える。4つの鍵が押鍵されているときのジェネレータ数GenNum=128/4=32である。また、図10(a)に示すように、ジェネレータGen0〜Gen31にノート番号N、ジェネレータGen32〜Gen63にノート番号N、ジェネレータGen64〜95にノート番号N、ジェネレータGen96〜127にノート番号Nが割り当てられ、それぞれが発音中であると考える。
ノート番号Nの鍵が離鍵されると、GenNum=128/3=42となる。本実施の形態においては、剰余の2は割り当てから除外する。したがって、GenNum>OldGenNum(=32)であり、また、(GenNum−OldGenNum)=10となる。したがって、ノート番号Nの楽音を発音していたジェネレータ中、10個ずつのジェネレータが、それぞれ、ノート番号N〜Nに新たに割り当てられる。
図10(b)に示すように、符号1010に示す例では、もともとノート番号Nに割り当てられていたジェネレータGen96〜Gen127のうち、ジェネレータGen96〜Gen105にノート番号N、ジェネレータGen106〜115にノート番号N、ジェネレータGen116〜125にノート番号Nが割り当てられ、残りのジェネレータ126〜127にはノート番号が割り当てられない。鍵盤処理においては、ジェネレータGen96〜Gen127のジェネレータ配列Gen96[]〜Gen127[]のファストダンプ待ちフラグがセットされ(図4のステップ405)、ジェネレータ配列Gen96[]〜Gen125[]に対応するノート番号および発音待ちフラグ「1」がセットされる(図4のステップ407)。
次に、押鍵数が増大した場合について説明する。図11(a)は、2つの鍵(ノート番号:N〜N)が押鍵されているときの、ジェネレータへの割り当ての例を示す図である。2つの鍵が押鍵されているときのジェネレータ数GenNum=128/2=64であり図11(a)の符号1100に示すように、ジェネレータGen0〜Gen63にノート番号N、ジェネレータGen64〜Gen127にノート番号Nが割り当てられ、それぞれが発音中であると考える。ノート番号Nの鍵が離鍵されると、GenNum=128/3=42となる。本実施の形態においては、剰余の2は割り当てから除外する。したがって、OldGenNum(=64)>GenNumであり、また、(OldGenNum−GenNum)=22となる。したがって、ノート番号Nおよびノート番号Nの楽音を発音していたジェネレータ中、22個ずつのジェネレータが、それぞれ、ノート番号Nに新たに割り当てられる。
図11(b)に示すように、符号1110に示す例では、もともとノート番号Nに割り当てられていたジェネレータGen0〜Gen63のうち、22個のジェネレータGen0〜Gen21がノート番号Nに割り当てられ、また、もともと、ノート番号Nに割り当てられていたジェネレータGen64〜Gen127のうち、22個のジェネレータGen64〜Gen85が、ノート番号Nに割り当てられる。鍵盤処理においては、ジェネレータGen0〜Gen21、Gen64〜85のジェネレータ配列Gen[]〜Gen21[]、Gen64[]〜Gen85[]のファストダンプ待ちフラグがセットされ(図4のステップ403)、ジェネレータ配列Gen[]〜Gen21[]、Gen64[]〜Gen85[]に、対応するノート番号および発音待ちフラグ「1」がセットされる(図4のステップ409、図6)。
本実施の形態によれば、CPU11は、オン状態の鍵のそれぞれに対して、音源部21のジェネレータ数が最大になるように、各ジェネレータに、オン状態の鍵に応じた音高を割り当てる。したがって、たとえば、押鍵数が減少するのにしたがって、各鍵に割り当てられるジェネレータ数は増大する。これにより、一定の人数の楽団員が、アンサンブルを行なっているような音量および重厚感の楽音を発することが可能となる。
本実施の形態においては、CPU11は、オン状態の鍵の何れかが新たにオフ状態となり、オン状態の鍵の数が減少した場合に、オフ状態となった鍵に割り当てられていたジェネレータ群について、発音中の楽音の消音を指示するとともに、オン状態を継続している残りの鍵のそれぞれに対して、ジェネレータ群から均等に、つまり、同数のジェネレータを割り当て、消音の後に、割り当てられた鍵に応じた音高の楽音を発生させる。
これにより、実際の演奏中に、ある鍵が離鍵されると、それに応じて、離鍵された鍵に割り当てられていたジェネレータが、均等に押鍵中の残りの鍵に割り当てられる。したがって、アンサンブルで、あるパートを演奏していた楽団員が、そのパートの終了とともに、残りのパートに均等に分散して、演奏を続行するような演奏形態を再現することができる。
また、本実施の形態においては、CPU11は、オン状態の鍵に対して割り当てられているジェネレータ数OldGenNumと、新たにオフ状態となった鍵を除いた、残りの鍵のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumに基づき、残りの鍵のそれぞれに対して、新たにオフ状態となった鍵に割り当てられていたジェネレータ群から、(GenNum−OldGenNum)個のジェネレータを割り当てている。このようにして、複雑な演算を経ることなく、ジェネレータの均等な割り当てが実現される。
さらに、本実施の形態においては、CPU11は、オフ状態であった鍵の何れかが新たにオン状態となり、オン状態の鍵が増大した場合に、新たにオン状態となった鍵を含まない、既にオン状態の鍵にそれぞれ割り当てられていたジェネレータ群において、新たにオン状態となった鍵を含むオン状態の鍵ごとにジェネレータの割り当て数が均等となるように、新たにオン状態となった鍵に対して、ジェネレータ群中の所定のジェネレータを割り当て、発音中の楽音の消音の後に、新たにオン状態となった鍵に応じた音高の楽音を発生させる。
これにより、実際の演奏中に、ある鍵が追加して押鍵されると、それに応じて、既に押鍵されていた鍵に割り当てられていたジェネレータ中、所定数のジェネレータが、新たに押鍵された鍵に割り当てられる。したがって、アンサンブルで、パートが追加された場合に、追加されたパートを含めて楽団員が均等に分散するように、所定数の楽団員が追加されたパートを演奏するような演奏形態を再現することができる。
また、本実施の形態においては、CPU11は、既にオン状態の鍵のそれぞれに対して割り当てられているジェネレータ数OldGenNumと、新たにオン状態となった鍵を含む、オン状態の鍵のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumとに基づいて、既にオン状態の鍵のそれぞれに対して、当該鍵のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを、新たにオン状態になった鍵に対して割り当てる。これにより、複雑な演算を経ることなく、ジェネレータの均等な割り当てが実現される。
さらに、本実施の形態においては、ジェネレータ配列GENの内容を参照し、発音状態が、無音状態であるもの、消音中であるものの順に、前記演奏操作子のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを選択する。これにより、新たな鍵の割り当ての際に、不自然な消音をできるだけ排除することができる。
次に、本発明の第2の実施の形態について説明する。第1の実施の形態において、ジェネレータの総数が、鍵数で割り切れず、したがって、鍵ごとに発音しているジェネレータ数が異なる場合がある。たとえば、図10に示す例では、押鍵数が4から3になったきに、押鍵中であるノートN〜Nのジェネレータ数は、それぞれ42個で互いに等しい。その一方、図11に示す例では、ノートN、Nのジェネレータ数は、それぞれ42個で等しいが、ノートNのジェネレータ数は44個となる。
そこで、第2の実施の形態においては、ノートごとに割り当てられたジェネレータ数を計数してRAM13に格納し、音源処理で当該ジェネレータ数を参照することで、ジェネレータの出力レベルを調整している。第2の実施の形態において、押鍵数と標準的なジェネレータ数GenNumRefとを対応付けた押鍵数割り当てテーブルをRAM13に保持する。また、鍵盤処理の最後、たとえば、ステップ408のNo、および、ステップ409の後に、CPU11は、ジェネレータ配列Gen[]〜Gen127[]を走査して、発音中フラグが「1」或いは発音待ちフラグが「1」であるジェネレータ配列を参照し、ノート番号ごとのジェネレータ数をカウントして、ノート番号とジェネレータ数との組み合わせをもつジェネレータ数配列を生成してRAM13に格納する。
図12(a)は、第2の実施の形態にかかる押鍵数割り当てテーブルの例を示す図、図12(b)は、ジェネレータ数配列の例を示す図である。図12(a)に示すように、第2の実施の形態において、テーブル1200において、割り当てられるべき標準ジェネレータ数GenNumRefは、押鍵数で割り切れない場合の剰余を無視している(たとえば、符号1201、1302参照)。また、ジェネレータ数配列1210は、5つの鍵(ノート番号:N1〜N5)の楽音が発音中或いは発音待ちであるが、ノート番号N〜Nについては、それぞれ25個のジェネレータが割り当てられているが、ノート番号N5については、28個のジェネレータが割り当てられていることを意味している。
図13は、第2の実施の形態において、図8のステップ808の処理をより詳細に示すフローチャートである。まず、図13に示すように、CPU11はジェネレータ配列Gen[]中のノート番号から、ジェネレータ数配列を参照して、ノート番号に対応付けられたジェネレータ数を特定する(ステップ1301)。そして、ジェネレータ配列に格納されたノート番号の数(押鍵数)に基づいて、押鍵数割り当てテーブルを参照して、標準ジェネレータ数GenNumRefを取得する(ステップ1302)。
ここで、ジェネレータ数と標準ジェネレータ数GenNumRefとが同一である場合には(ステップ1303でYes)、CPU11は、当該ジェネレータ配列Gen[]のノート番号に示す音高の楽音を生成して出力するように音源部21に指示する(ステップ1304)。この場合には、音量レベルは通常どおりであり、音源部21において波形データに通常のエンベロープが乗じられて楽音波形データが生成される。また、その後、CPU11は、当該ジェネレータ配列Gen[]の発音待ちフラグを「0」にリセットする(ステップ1306)。
その一方、ステップ1303でNoと判断された場合には、CPU11は、音源部21に対して当該ジェネレータ配列Gen[]のノート番号に示す音高の楽音で、かつ、音量レベルを調整した楽音波形データの生成を指示する(ステップ1305)。音源部21においては、本来の音量レベルに(GenNumRef/ジェネレータ数)を乗じた補正された音量レベルを用いて、波形データに、補正された音量レベルにしたがったエンベロープが乗じられる。
第2の実施の形態によれば、同一の音高の楽音波形データを生成するジェネレータ数に応じて、ジェネレータにより生成される楽音波形データの音量レベルが調整される。したがって、ジェネレータ数が押鍵数で割り切れず、発音しているジェネレータ数が異なる場合が生じても、音高ごとの音量レベルを均一化することができる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
たとえば、前記実施の形態において、たとえば、128個の全てのジェネレータについて、本発明にかかる割り当てを適用しているが、これに限定されるものではなく、そのうちの所定数(たとえば、96個)のみについて、本発明にかかる割り当てを行なっても良い。
また、本実施の形態においては、ジェネレータ数を押鍵数で除したときの剰余は、割り当てから除外しているが、これに限定されず、剰余となったジェネレータを、たとえば、ノート番号の順に、鍵に割り当てても良い。
10 電子楽器
11 CPU
12 ROM
13 RAM
14 サウンドシステム
15 表示部
16 鍵盤
18 操作部
21 音源部
22 オーディオ回路
23 スピーカ

Claims (8)

  1. 割り当てられた演奏操作子に応じた音高の楽音波形データを生成する複数のジェネレータを有する楽音波形データ生成手段と、
    演奏操作子の操作状態を検出する操作状態検出手段と、
    前記操作状態検出手段により検出された前記演奏操作子の操作に応じて、前記操作された演奏操作子に応じた音高の楽音を発生するために、前記ジェネレータに音高を割り当てるとともに、発音を指示する割り当て制御手段と、を備えた楽音発生装置において、
    前記割り当て制御手段が、オン状態の演奏操作子のそれぞれに対して、最大ジェネレータ数をオン状態の演奏操作子数で除算することにより得られる数のジェネレータ数を割り当てるように構成されたことを特徴とする楽音発生装置。
  2. 前記割り当て制御手段が、
    オン状態の演奏操作子の何れかが新たにオフ状態となり、オン状態の演奏操作子が減少した場合に、前記オフ状態となった演奏操作子に割り当てられていたジェネレータ群について、発音中の楽音の消音を指示するとともに、オン状態を継続している残りの演奏操作子のそれぞれに対して、前記ジェネレータ群から均等にジェネレータを割り当て、前記消音の後に、前記演奏操作子に応じた音高の楽音を発生させるように構成されたことを特徴とする請求項1に記載の楽音発生装置。
  3. 前記割り当て制御手段が、
    オン状態の演奏操作子のそれぞれに対して割り当てられているジェネレータ数OldGenNumと、新たにオフ状態となった演奏操作子を除いた、前記残りの演奏操作子のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumとを算出し、
    前記残りの演奏操作子のそれぞれに対して、前記新たにオフ状態となった演奏操作子に割り当てられていたジェネレータ群から、(GenNum−OldGenNum)個のジェネレータを割り当てるように構成されたことを特徴とする請求項2に記載の楽音発生装置。
  4. 前記割り当て制御手段が、
    オフ状態であった演奏操作子の何れかが新たにオン状態となり、オン状態の演奏操作子が増大した場合に、前記新たにオン状態となった演奏操作子を含まない、既にオン状態の演奏操作子にそれぞれ割り当てられていたジェネレータ群において、新たにオン状態となった演奏操作子を含むオン状態の演奏操作子ごとにジェネレータの割り当て数が均等となるように、新たにオン状態となった演奏操作子に対して、前記ジェネレータ群中の所定のジェネレータを割り当て、前記発音中の楽音の消音の後に、前記新たにオン状態となった演奏操作子に応じた音高の楽音を発生させるように構成されたことを特徴とする請求項1ないし3の何れか一項に記載の楽音発生装置。
  5. 前記割り当て制御手段が、
    前記既にオン状態の演奏操作子のそれぞれに対して割り当てられているジェネレータ数OldGenNumと、新たにオン状態となった演奏操作子を含む、オン状態の演奏操作子のそれぞれに対して割り当てるべき新たなジェネレータ数GenNumとを算出し、
    前記既にオン状態の演奏操作子のそれぞれに対して、当該演奏操作子のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを、新たにオン状態になった演奏操作子に対して割り当てるように構成されたことを特徴とする請求項4に記載の楽音発生装置。
  6. 前記ジェネレータごとに、発音すべき音高、発音状態を格納したジェネレータ配列が記憶装置に格納され、
    前記割り当て制御手段が、前記ジェネレータ配列中の音高および発音状態を参照し、前記発音状態が、無音状態であるもの、消音中であるものの順に、前記演奏操作子のそれぞれに割り当てられていたジェネレータ群から、(OldGenNum−GenNum)個のジェネレータを選択するように構成されたことを特徴とする請求項5に記載の楽音発生装置。
  7. 前記楽音波形データ生成手段が、同一の音高の楽音波形データを生成するジェネレータ数に応じて、前記ジェネレータにより生成される楽音波形データの音量レベルを調整するように構成されたことを特徴とする請求項1ないし6の何れか一項に記載の楽音発生装置。
  8. 割り当てられた演奏操作子に応じた音高の楽音波形データを生成する複数のジェネレータを有する楽音波形データ生成手段を有するコンピュータに、
    演奏操作子の操作状態を検出する操作状態検出ステップと、
    前記操作状態検出ステップにおいて検出された前記演奏操作子の操作に応じて、前記操作された演奏操作子に応じた音高の楽音を発生するために、前記ジェネレータに音高を割り当てるとともに、発音を指示する割り当て制御ステップとを実行させ、
    前記割り当て制御ステップが、オン状態の演奏操作子のそれぞれに対して、最大ジェネレータ数をオン状態の演奏操作子数で除算することにより得られる数のジェネレータ数を割り当てるステップを有することを特徴とする楽音発生プログラム。
JP2009107394A 2009-04-27 2009-04-27 楽音発生装置および楽音発生プログラム Active JP5463724B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009107394A JP5463724B2 (ja) 2009-04-27 2009-04-27 楽音発生装置および楽音発生プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009107394A JP5463724B2 (ja) 2009-04-27 2009-04-27 楽音発生装置および楽音発生プログラム

Publications (2)

Publication Number Publication Date
JP2010256661A JP2010256661A (ja) 2010-11-11
JP5463724B2 true JP5463724B2 (ja) 2014-04-09

Family

ID=43317634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009107394A Active JP5463724B2 (ja) 2009-04-27 2009-04-27 楽音発生装置および楽音発生プログラム

Country Status (1)

Country Link
JP (1) JP5463724B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2650488B2 (ja) * 1990-11-29 1997-09-03 ヤマハ株式会社 電子楽器の楽音制御方法
JP2586740B2 (ja) * 1990-12-28 1997-03-05 ヤマハ株式会社 電子楽器
JP2975510B2 (ja) * 1993-08-25 1999-11-10 株式会社河合楽器製作所 電子楽器
JP3419562B2 (ja) * 1994-10-06 2003-06-23 株式会社河合楽器製作所 楽音信号のレベル制御装置
JP3841520B2 (ja) * 1997-07-08 2006-11-01 株式会社コルグ 電子鍵盤楽器におけるボイス割り当て装置
JP2001125572A (ja) * 1999-10-26 2001-05-11 Kawai Musical Instr Mfg Co Ltd 電子楽器、楽音発生制御方法及び記憶媒体
JP3778361B2 (ja) * 2003-10-23 2006-05-24 株式会社フェイス 音源装置および音源装置を備えた電子機器

Also Published As

Publication number Publication date
JP2010256661A (ja) 2010-11-11

Similar Documents

Publication Publication Date Title
JP2004264501A (ja) 鍵盤楽器
US8017856B2 (en) Electronic musical instrument
JP2011158854A (ja) 電子楽器および楽音生成プログラム
JP4475323B2 (ja) 楽音発生装置、及びプログラム
US8026437B2 (en) Electronic musical instrument generating musical sounds with plural timbres in response to a sound generation instruction
WO2014025041A1 (ja) 発音割り当てのための装置及び方法
JP5897805B2 (ja) 楽音制御装置
JP4787258B2 (ja) 音色記憶装置、音色記憶方法、音色記憶のためのコンピュータプログラム
JP5463724B2 (ja) 楽音発生装置および楽音発生プログラム
JP5453966B2 (ja) 楽音発生装置および楽音発生プログラム
US10805475B2 (en) Resonance sound signal generation device, resonance sound signal generation method, non-transitory computer readable medium storing resonance sound signal generation program and electronic musical apparatus
JP5458494B2 (ja) 電子楽器
JP4978177B2 (ja) 演奏装置、演奏実現方法およびプログラム
JP6410345B2 (ja) サウンドプレビュー装置及びプログラム
JP2006039262A (ja) 効果付与装置及び方法
JP5151603B2 (ja) 電子楽器
JP5560574B2 (ja) 電子楽器および自動演奏プログラム
JP2009186632A (ja) 音律制御方法、音律制御のためのコンピュータプログラム及び音律制御装置。
JP5151523B2 (ja) 電子楽器
JP2006113395A (ja) 電子楽器
JP5983624B6 (ja) 発音割り当てのための装置及び方法
JP5703543B2 (ja) 電子楽器、方法及びプログラム
JP4585023B2 (ja) 電子楽器
JP2008282056A (ja) 電子楽器の調律補正装置、電子楽器の調律補正方法、コンピュータプログラム及び記録媒体
JP2010190942A (ja) 電子楽器および電子楽器のプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140106

R150 Certificate of patent or registration of utility model

Ref document number: 5463724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150