JP7298650B2 - 電子楽器、方法及びプログラム - Google Patents

電子楽器、方法及びプログラム Download PDF

Info

Publication number
JP7298650B2
JP7298650B2 JP2021107845A JP2021107845A JP7298650B2 JP 7298650 B2 JP7298650 B2 JP 7298650B2 JP 2021107845 A JP2021107845 A JP 2021107845A JP 2021107845 A JP2021107845 A JP 2021107845A JP 7298650 B2 JP7298650 B2 JP 7298650B2
Authority
JP
Japan
Prior art keywords
value
musical tone
amplitude value
musical
tone
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
JP2021107845A
Other languages
English (en)
Other versions
JP2023000962A (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 US17/832,528 priority Critical patent/US20220406282A1/en
Priority to CN202210661458.6A priority patent/CN115497440A/zh
Publication of JP2023000962A publication Critical patent/JP2023000962A/ja
Application granted granted Critical
Publication of JP7298650B2 publication Critical patent/JP7298650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本明細書の開示は、電子楽器、方法及びプログラムに関する。
電子楽器において、同一音高の演奏操作子に対して楽音を連続的に発音させる操作(以下「連打操作」と記す。)が行われたとき、楽音が自然に聞こえるように楽音に変化を与える技術が知られている(例えば特許文献1参照)。
特開2020-129040号公報
しかし、電子楽器に対する連打操作時に発音させる楽音を自然な楽音に近付ける技術には改善の余地がある。
本発明は上記の事情に鑑みてなされたものであり、その目的とするところは、連打操作が行われたときに発音させる楽音を自然な楽音に近付けるための改善が加えられた電子楽器、方法及びプログラムを提供することである。
本発明の一実施形態に係る電子楽器は、演奏操作子と、少なくとも1つのプロセッサと、を備え、前記少なくとも1つのプロセッサは、前記演奏操作子への第1操作に応じて、第1楽音の発音を指示し、前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第2操作に応じたタイミングにおける前記第1楽音の第1振幅値を取得するとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得し、前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得し、ランダム関数に基づき発生した乱数と前記パラメータ値に基づく演算に応じた前記第2楽音の発音を指示する。前記パラメータ値は、次式により取得される、パラメータ値=log2(a/b)+N 但し、aは、前記第1振幅値であり、bは、前記第2振幅値であり、Nは、前記パラメータ値をゼロ以上の値とするための調整値である。
本発明の一実施形態によれば、連打操作が行われたときに発音させる楽音を自然な楽音に近付けるための改善が加えられた電子楽器、方法及びプログラムが提供される。
本発明の一実施形態に係る電子楽器の構成を示すブロック図である。 本発明の一実施形態に係る電子楽器に備えられる音源の構成を示すブロック図である。 本発明の一実施形態に係る音源に備えられるピッチエンベロープジェネレータから出力されるピッチエンベロープの一例を示す図である。 本発明の一実施形態に係る音源に備えられるフィルタエンベロープジェネレータから出力されるフィルタエンベロープの一例を示す図である。 本発明の一実施形態に係る音源に備えられるアンプエンベロープジェネレータから出力されるアンプエンベロープの一例を示す図である。 アコースティックピアノのアクション機構の概略図である。 図4のアコースティックピアノを押鍵したときのアクション機構の状態を示す概略図である。 本発明の一実施形態において電子楽器のプロセッサが実行する押鍵処理のフローチャートである。 本発明の一実施形態において電子楽器のプロセッサが実行する押鍵処理のフローチャートである。 本発明の一実施形態において電子楽器のプロセッサが実行するジェネレータセクション割当処理のフローチャートである。 本発明の一実施形態において、第2操作に応じた第2楽音の振幅値と第2操作時のベロシティ値との関係を示すグラフである。 本発明の一実施形態において、第2楽音を決定するためのパラメータ値と第1振幅値と第2振幅値との比との関係を示すグラフである。 比較例1の第1楽音と第2楽音の振幅値を示す図である。 実施例1の第1楽音と第2楽音の振幅値を示す図である。 比較例2の第1楽音と第2楽音の振幅値を示す図である。 実施例2の第1楽音と第2楽音の振幅値を示す図である。 比較例3の第1楽音と第2楽音の振幅値を示す図である。 実施例3の第1楽音と第2楽音の振幅値を示す図である。
図面を参照して、本発明の一実施形態に係る電子楽器について詳細に説明する。なお、本発明の一実施形態に係る方法及びプログラムは、電子楽器のコンピュータ(回路構成要素)に各種処理を実行させることで実現される。
図1は、電子楽器1の構成を示すブロック図である。本実施形態において、電子楽器1は、例えば電子ピアノであり、同一音高の鍵に対する連打操作時にピッチや音色、音量を適度に変えることによって自然な楽音(例えばアコースティック楽器に近い特性の楽音)が聞こえるように構成される。
なお、連打操作時に自然な楽音を発音させるための本発明の技術は電子ピアノ以外の電子楽器にも適用することができる。具体的には、振動体に衝撃を与えて楽音を発生させるタイプのアコースティック楽器(例示的には、打楽器、撥弦楽器、打弦楽器、クロマティックパーカッション等)を電子楽器として構成したものも本発明の範疇である。
図1に示されるように、電子楽器1は、ハードウェア構成として、プロセッサ10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、スイッチパネル13、入出力インタフェース14、LCD(Liquid Crystal Display)15、LCDコントローラ16、鍵盤17、キースキャナ18、音源LSI(Large Scale Integration)19、D/Aコンバータ20及びアンプ21を備える。電子楽器1の各部は、バス22により接続される。
プロセッサ10は、ROM12に格納されたプログラム及びデータを読み出し、RAM11をワークエリアとして用いることにより、電子楽器1を統括的に制御する。
プロセッサ10は、例えばシングルプロセッサ又はマルチプロセッサであり、少なくとも1つのプロセッサを含む。複数のプロセッサを含む構成とした場合、プロセッサ10は、単一の装置としてパッケージ化されたものであってもよく、電子楽器1内で物理的に分離した複数の装置で構成されてもよい。
プロセッサ10は、機能ブロックとして、演奏操作子への第1操作に応じて第1楽音の発音を指示する楽音指示部101と、第1楽音の発音中における演奏操作子への第2操作に応じて、第1楽音の第1振幅値を取得するとともに第2操作に応じて発音させる第2楽音のための第2振幅値を取得する振幅値取得部102と、第1振幅値と第2振幅値との比に基づいて、第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得するパラメータ値取得部103と、を備える。楽音指示部101は、パラメータ値取得部103により取得されたパラメータ値に応じた第2楽音の発音を指示する。なお、図1に示されるプロセッサ10の各機能ブロックは、ソフトウェアにより実現されてもよく、また、一部又は全部が専用の論理回路等のハードウェアにより実現されてもよい。
なお、本明細書中、連続する2つの押鍵操作を第1操作、第2操作と定義する。「連続する2つの押鍵操作」は、1番目の押鍵操作に応じた発音中に次の押鍵操作が行われたことを意味する。そのため、第2操作は、第1操作に応じた発音中(第1楽音の発音中)に行われた、第1操作の次の操作を意味する。補足すると、連続する3つの押鍵操作の場合(すなわち、連続する2つの押鍵操作に応じた2つの楽音を発音中に次の押鍵操作が行われた場合)、2番目の押鍵操作が第1操作となり、3番目の押鍵操作が第2操作となる。
RAM11は、データやプログラムを一時的に保持する。RAM11には、ROM12から読み出されたプログラムやデータ、その他、通信に必要なデータが保持される。
ROM12は、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性の半導体メモリであり、二次記憶装置又は補助記憶装置としての役割を担う。ROM12には、例えば波形データ121が記憶される。附言するに、ROM12には、プロセッサ10が各種処理を行うために使用するプログラム及びデータ並びにプロセッサ10が各種処理を行うことにより生成又は取得されたデータが記憶される。
スイッチパネル13は入力装置の一例である。ユーザがスイッチパネル13を操作すると、その操作内容を示す信号が入出力インタフェース14を介してプロセッサ10に出力される。スイッチパネル13は、例えば、メカニカル方式、静電容量無接点方式、メンブレン方式等のキースイッチ、ボタン等で構成される。スイッチパネル13は、タッチパネルであってもよい。
LCD15は表示装置の一例である。LCD15は、LCDコントローラ16により駆動される。プロセッサ10による制御信号に従ってLCDコントローラ16がLCD15を駆動すると、LCD15に、制御信号に応じた画面が表示される。LCD15は、有機EL(Electro Luminescence)、LED(Light Emitting Diode)等の表示装置に置き換えてもよい。LCD15は、タッチパネルであってもよい。この場合、タッチパネルが入力装置と表示装置を兼ねてもよい。
鍵盤17は、複数の演奏操作子として複数の白鍵及び黒鍵を有する鍵盤を備える。各鍵は、それぞれ異なる音高と対応付けられている。
キースキャナ18は、鍵盤の押鍵及び離鍵を監視する。キースキャナ18は、例えばユーザによる押鍵操作を検出すると、押鍵イベント情報をプロセッサ10に出力する。押鍵イベント情報には、押鍵操作に係る鍵の音高(キーナンバ)とその速度(ベロシティ値)が含まれる。ベロシティ値は、押鍵操作の強さ示す値ともいえる。
プロセッサ10は、鍵(演奏操作子)に対する操作(第1操作又は第2操作)に応じて楽音の発音を指示する楽音指示部101として動作する。音源LSI19は、プロセッサ10の指示のもと、ROM12から読み出した波形データに基づいて楽音を生成する。本実施形態では、音源LSI19は、128の楽音を同時に発音することができる。なお、本実施形態では、プロセッサ10と音源LSI19とが別々の装置として構成されるが、別の実施形態では、プロセッサ10と音源LSI19とが1つのプロセッサとして構成されてもよい。
ROM12に記憶される波形データ121には、「ギター」や「ピアノ」といった各種音色の波形データ情報が登録されている。各種音色の波形データ情報には、対象の音色(例えばピアノ)について全キーナンバの波形データが登録されている。より詳細には、各キーナンバに対し、ベロシティ値(すなわち、演奏操作子に対する操作の強さ)に応じた波形データが登録されている。例示的には、1<n1<n2<n3<127とした場合、各キーナンバに対し、低いベロシティ値(1以上n1未満)に対応する波形データ、やや低いベロシティ値(n1以上n2未満)に対応する波形データ、やや高いベロシティ値(n2以上n3未満)に対応する波形データ、高いベロシティ値(n3以上127以下)に対応する波形データが登録されている。
プロセッサ10は、スイッチパネル13に対するユーザの操作に応じて楽音の音色(ギター、ピアノ等)を設定する。プロセッサ10は、波形データ121のなかから、押鍵イベント情報(すなわち、押鍵されたキーナンバ及び押鍵時のベロシティ値)と現在設定されている音色とに応じた波形データを読み出す。
音源LSI19により生成された楽音の音声信号は、D/Aコンバータ20によるDA変換後、アンプ21により増幅されて、図示省略されたスピーカに出力される。
図2は、音源LSI19の構成を示すブロック図である。図2に示されるように、音源LSI19は、128基のジェネレータセクション19A_1~19A_128及びミキサ19Bを備える。ジェネレータセクション19A_1~19A_128は、128の同時発音チャンネルにそれぞれ対応して備えられる。ミキサ19Bは、ジェネレータセクション19A_1~19A_128の出力をミックスして楽音を生成し、生成された楽音をD/Aコンバータ20に出力する。なお、図2に示される音源LSI19の各機能ブロックは、ソフトウェアにより実現されてもよく、また、一部又は全部が専用の論理回路等のハードウェアにより実現されてもよい。
各ジェネレータセクション19A_1~19A_128は、波形ジェネレータ19a、ピッチエンベロープジェネレータ19b、フィルタ19c、フィルタエンベロープジェネレータ19d、アンプ19e、アンプエンベロープジェネレータ19f及びエンベロープ検出器19gを備える。
波形ジェネレータ19aは、プロセッサ10による指示に応じた波形データを、ピッチエンベロープジェネレータ19bから出力されるピッチエンベロープ波形に対応するピッチでROM12から読み出す。
ピッチエンベロープジェネレータ19bは、波形ジェネレータ19aがROM12から波形データを読み出す際のピッチを時間的に変化させる。
図3Aに、ピッチエンベロープジェネレータ19bから出力されるピッチエンベロープの一例を示す。図3A中、縦軸はピッチのレベルを示し、横軸は時間を示す。ピッチのレベルの可変範囲は、-1200セント~+1200セント(-1オクターブ~+1オクターブ)であり、演奏されたピッチに対して、このエンベロープのレベルが加算される。
ピッチエンベロープジェネレータ19bは、押鍵時、離鍵時、及び連打消音時の3つのピッチエンベロープのうちから、プロセッサ10による指示に応じたピッチエンベロープを出力する。押鍵時のピッチエンベロープは、レベルL0からスタートし、速度R1でレベルL1に到達した後、速度R2で下降して、鍵を押し続けた際に達する固定レベル「0」を維持する。離鍵時のピッチエンベロープは、離鍵時点のレベルから速度R3でL3に到達した後、速度R4で下降して、最終的にレベルL4を維持する。連打消音時のピッチエンベロープは、新しい発音処理と同時に現在の発音を停止するため、速度R5でレベルL5に向かう。
フィルタ19cは、フィルタエンベロープジェネレータ19dから出力されるフィルタエンベロープに応じてカットオフ周波数を変化させて、波形ジェネレータ19aから出力された波形データの周波数特性を調整する。
フィルタエンベロープジェネレータ19dは、フィルタ19cのカットオフ周波数を時間的に変化させる。
図3Bに、フィルタエンベロープジェネレータ19dから出力されるフィルタエンベロープの一例を示す。図3B中、縦軸はフィルタ19cのカットオフ周波数のレベルを示し、横軸は時間を示す。カットオフ周波数のレベルの可変範囲は、最小値0~最大値1.0である。
フィルタエンベロープジェネレータ19dは、押鍵時、離鍵時、及び連打消音時の3つのフィルタエンベロープのうちから、プロセッサ10による指示に応じたフィルタエンベロープを出力する。押鍵時のフィルタエンベロープは、レベルL0からスタートし、速度R1でレベルL1に到達した後、速度R2で下降して、レベルL2を維持する。離鍵時のフィルタエンベロープは、離鍵時点のレベルL2から速度R3でL3に到達した後、速度R4で下降して、最終的にレベルL4を維持する。連打消音時のフィルタエンベロープは、新しい発音処理と同時に現在の発音を停止するため、速度R5でレベルL5に向かう。
アンプ19eは、アンプエンベロープジェネレータ19fから出力されるアンプエンベロープに応じて増幅率を変化させて、フィルタ19cから出力された波形データの音量を調整する。
アンプエンベロープジェネレータ19fは、アンプ19eの増幅率を時間的に変化させる。
図3Cに、アンプエンベロープジェネレータ19fから出力されるアンプエンベロープの一例を示す。図3C中、縦軸はアンプ19eの増幅率のレベルを示し、横軸は時間を示す。増幅率のレベルの可変範囲は、最小値0~最大値1.0である。
アンプエンベロープジェネレータ19fは、押鍵時、離鍵時、及び連打消音時の3つのアンプエンベロープのうちから、プロセッサ10による指示に応じたアンプエンベロープを出力する。押鍵時のアンプエンベロープは、レベルL0からスタートし、速度R1でレベルL1に到達した後、速度R2で下降して、レベルL2を維持する。離鍵時のアンプエンベロープは、離鍵時点のレベルL2から速度R3でL3に到達した後、速度R4で下降して、最終的に固定されたレベル「0」を維持する。連打消音時のアンプエンベロープは、新しい発音処理と同時に現在の発音を停止するため、速度R5でレベル「0」に向かう。
エンベロープ検出器19gは、アンプ19eから出力される波形のエンベロープを検出する。例示的には、エンベロープ検出器19gは、アンプ19eから出力される波形を整流回路で絶対値化し、絶対値化された波形をローパスフィルタで平滑化することにより、アンプ19eから出力される波形のエンベロープ(言い換えると振幅値)を検出する。
なお、波形のレベルが正規化されているのであれば、アンプエンベロープジェネレータ19fの値をアンプ19eから出力される波形のエンベロープとして適用してもよい。波形のレベルが正規化されていない場合にも、別途仮想的なレベルエンベロープジェネレータをジェネレータセクション毎に駆動し、レベルエンベロープジェネレータより得られる値をアンプ19eから出力される波形のエンベロープとして適用してもよい。
ここで、アコースティック楽器の一例であるアコースティックピアノにおいて、振動中の振動体に対して衝撃を与えたときに発生する楽音の特徴について説明する。図4は、アコースティックピアノのアクション機構の概略図である。図5は、押鍵時のハンマー900(衝撃体)と弦902(振動体)の状態を示す概略図である。これらの図では、弦902の上下少なくとも一方に点線や破線を示すことによって弦902が振動している様子を模式的に示している。
図4に示されるように、鍵904が叩かれると、弦902を抑えていたダンパー906が上昇して弦902から離れる。ダンパー906が弦902から離れた状態でハンマー900が弦902を叩くことにより、弦902が振動して楽音が発生する。
ユーザが連打操作を行った場合、ハンマー900は振動中の弦902を叩くことになる。この場合、振動による波が弦902上を移動しているため、ハンマー900が弦902に衝突する時点における波の位置(位相)は基本的に毎回異なる。
また、図5の例1に示されるように、弦902が静止している状態でハンマー900が弦902を叩く場合、ハンマー900の速度で弦902が叩かれる。これに対し、図5の例2に示されるように、振動中の弦902が下方(ハンマー900に近付く方向)に移動している状態でハンマー900と衝突する場合、ハンマー900と弦902との相対速度は例1(弦902が静止している状態)よりも大きい。また、図5の例3に示されるように、振動中の弦902が上方(ハンマー900から離れる方向)に移動している状態でハンマー900と衝突する場合、ハンマー900と弦902との相対速度は例1よりも小さい。
これらの偶発的要素(すなわち、弦902に対するハンマー900の衝突ポイントが弦902上の波のどの位相であるか、これらが衝突する際の相対速度がいくつであるか、など)は、押鍵後の弦902の振動振幅や倍音成分の特性に関わっており、楽音の音色や音量に影響を及ぼす。そのため、連打操作時の楽音のピッチや音色、音量は不確定に変化する。そのため、連打時に全く同じピッチや音色、音量を繰り返すと、いわゆる機械臭さがでてしまい、連打操作時の楽音が不自然な楽音に聞こえる。
そこで、本実施形態では、連打操作時の楽音が自然な楽音に聞こえるように、次に説明する押鍵処理を実行する。
本実施形態に係る押鍵処理では、連打操作で衝撃を加えようとしている振動体の現在の振幅値(第1振幅値a)と今回の押鍵の強さ(第2振幅値b)との比に基づいて、今回発音させようとしている楽音(第2楽音)のピッチ、音色、音量が制御される。ジェネレータセクション19A_1~19A_128がここでの振動体に相当する。振動体の振幅値(第1振幅値a)は、ジェネレータセクションのエンベロープ検出器19gにより検出される。
連打の間隔が短い場合、瞬間的ではあるものの、複数基のジェネレータセクションで同じキーナンバの楽音を並行して生成する状況が発生し得る。同じキーナンバの楽音を生成するジェネレータセクションは同一の振動体として扱われる。同じキーナンバの楽音を生成する全てのジェネレータセクションのエンベロープ検出器19gによる検出値の合計が、そのキーナンバの現在の振幅値(第1振幅値a)として扱われる。
小さく振動する振動体に対して大きな衝撃を加えたときに発生する楽音は、振動体が静止している状態で衝撃を与えたときに発生する楽音(便宜上「静止状態楽音」と記す。)に対してばらつきが小さいことが多い。これに対し、大きく振動する振動体に対して小さな衝撃を加えたときに発生する楽音は、静止状態楽音に対してばらつきが大きいことが多い。すなわち、今回の押鍵の強さ(第2振幅値b)に対する振動体の現在の振幅値(第1振幅値a)の比(a/b)が大きいほど連打操作時の楽音のばらつきが大きくなる傾向にある。なお、「ばらつき」は、先に例示された偶発的要素に起因して不確定に発生するものであり、振動中の振動体に衝撃を加えたときに発生する楽音の、静止状態楽音に対する変化の量を示す。
一例として、大きく振動する弦902に対してハンマー900がゆっくりとした速度で接触した場合にも弦902がハンマー900に激しく衝突するため、両者の衝撃が大きく、また、弦902上を移動する波の形が複雑に変化しやすい。そのため、このとき発生する楽音には、静止状態楽音にはない複雑な倍音が含まれたり、音量が大きくなったりする傾向がある。次に説明する押鍵処理では、このような変化を考慮して楽音が生成されるため、連打操作時の楽音が自然な楽音に聞こえるようになる。
図6は、プロセッサ10が電子楽器1の各部と協働して実行する押鍵処理のフローチャートである。図6に示されるように、プロセッサ10は、押鍵操作を検出したか否かを判定する(ステップS1)。キースキャナ18から押鍵操作に係る鍵のキーナンバとベロシティ値とを示す押鍵イベント情報がプロセッサ10に入力されると、押鍵操作が検出される(ステップS1:YES)。
押鍵操作が検出されると(ステップS1:YES)、プロセッサ10は、ステップS1にて取得されたキーナンバと同じキーナンバの鍵に対する操作に応じた楽音(すなわち第1楽音)を発音中か否かを判定する(ステップS2)。第1楽音を発音中でない場合(ステップS2:NO)、プロセッサ10は、音源LSI19に対し、ステップS1にて取得された押鍵イベント情報に応じた発音を指示(言い換えると、第1楽音の発音を指示)する(ステップS3)。すなわち、ステップS3において、プロセッサ10は、鍵(演奏操作子)に対する第1操作に応じて第1楽音の発音を指示する楽音指示部101として動作する。この発音指示により、ジェネレータセクションにて波形データの読み出しが開始されるとともに各エンベロープジェネレータからエンベロープの出力が開始される。
第1楽音を発音中の場合(ステップS2:YES)、プロセッサ10は、第1楽音の第1振幅値a(例えば第2操作時点の第1楽音の振幅値)を取得するとともに、今回の押鍵操作である第2操作に応じて発音させる第2楽音のための第2振幅値bを取得する(ステップS4)。すなわち、ステップS4において、プロセッサ10は、第1楽音の発音中における鍵(演奏操作子)への第2操作(第1操作と同じキーナンバの鍵に対する操作)に応じて、第1楽音の第1振幅値aを取得するとともに第2操作に応じて発音させる第2楽音のための第2振幅値bを取得する振幅値取得部102として動作する。
プロセッサ10は、ステップS4にて取得された第1振幅値aと第2振幅値bとの比に基づいてパラメータ値rを取得し(ステップS5)、音源LSI19に対し、取得されたパラメータ値rに応じた第2楽音の発音(言い換えると、第2操作に応じた発音)を指示する(ステップS6)。この発音指示により、ジェネレータセクションにて波形データの読み出しが開始されるとともに各エンベロープジェネレータからエンベロープの出力が開始される。
詳しくは後述するが、パラメータ値rは、第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値である。このように、ステップS5において、プロセッサ10は、第1振幅値aと第2振幅値bとの比に基づいて、第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値rを取得するパラメータ値取得部103として動作する。また、ステップS6において、プロセッサ10は、ステップS5にて取得されたパラメータ値rに応じた第2楽音の発音を指示する楽音指示部101として動作する。
パラメータ値rに応じた第2楽音を発音させることにより、第2楽音の変化の傾向(すなわち、比(a/b)が大きいほど第2楽音の変化が大きくなるという傾向)をより忠実に再現することができ、連打操作時の楽音をアコースティック楽器のような自然な楽音の特性に近付けることができる。
上述したように、第2操作時点で前回までの押鍵操作に応じた第1楽音が発音中である場合、図6のステップS4~S6の処理が実行される。ステップS4~S6の処理の実行により、連打操作時の楽音を自然な楽音の特性に近付けることができる。そこで、ステップS4~S6の処理の詳細を、図7のフローチャートを用いて説明する。
図7に示されるように、プロセッサ10は、キースキャナ18より入力した押鍵イベント情報に含まれるキーナンバを取得する(ステップS101)。
プロセッサ10は、ステップS101で取得したキーナンバに基づく発音処理に用いるジェネレータセクションの割り当てを行うジェネレータセクション割当処理を実行する(ステップS102)。
ジェネレータセクション割当処理では、ジェネレータセクション19A_1~19A_128の中から楽音の生成に現在使用されていないジェネレータセクションが検出され、検出されたジェネレータセクションが楽音を生成するジェネレータセクションとして割り当てられる。ジェネレータセクション19A_1~19A_128の全てが楽音の生成に使用されている場合、波形のエンベロープのレベルが最も低いジェネレータセクションに対してダンプ処理が行われ、ダンプ処理されたジェネレータセクションが楽音を生成するジェネレータセクションとして割り当てられる。
図8は、ジェネレータセクション割当処理のフローチャートである。
図8に示されるように、プロセッサ10は、第1振幅値aをゼロに設定する(ステップS201)。第1振幅値aは、今回押鍵されたキーナンバの鍵に対する前回までの押鍵操作に応じて発音された楽音の現在の振幅値であり、「第1操作に応じた第1楽音の第1振幅値」と記すこともできる。ここでは、各エンベロープ検出器19gで検出されるエンベロープの合計値が第1振幅値aとなる。
ジェネレータセクション19A_1~19A_128には、それぞれ、番号1~128が割り当てられている。プロセッサ10は、ステータスを確認する対象のジェネレータセクションの番号を示す変数nを1に設定する(ステップS202)。便宜上、ステータスを確認する対象のジェネレータセクションを「対象ジェネレータセクション」と記す。
プロセッサ10は、変数nと同じ番号が割り当てられた対象ジェネレータセクションのステータスを確認する(ステップS203)。具体的には、プロセッサ10は、対象ジェネレータセクションが楽音の生成に現在使用されているか否かを確認する。
対象ジェネレータセクションが楽音の生成に現在使用されている場合(ステップS203:YES)、プロセッサ10は、対象ジェネレータセクションのエンベロープ検出器19gにて検出されるエンベロープの値を取得する(ステップS204)。取得されるエンベロープの値は、最小値0~最大値100である。
プロセッサ10は、ジェネレータセクション割当処理の実行を開始してからこれまでのステップS204にて取得された各エンベロープの値と今回のステップS204にて取得されたエンベロープの値とを比較し、今回のステップS204にて取得されたエンベロープの値が最も小さい値かどうかを判定する(ステップS205)。
今回のステップS204にて取得されたエンベロープの値が最も小さい値の場合(ステップS205:YES)、プロセッサ10は、対象ジェネレータセクションを、今回の押鍵操作に応じた楽音の生成に使用する候補として設定する(ステップS206)。便宜上、候補として設定されたジェネレータセクションを「割当候補ジェネレータセクション」と記す。なお、割当候補ジェネレータセクションが既に設定されている場合は、対象ジェネレータセクションが新たな割当候補ジェネレータセクションとして上書きで設定される。今回のステップS204にて取得されたエンベロープの値が最も小さい値でない場合(ステップS205:NO)、プロセッサ10は、対象ジェネレータセクションを割当候補ジェネレータセクションとして設定しない。
プロセッサ10は、対象ジェネレータセクションがステップS101にて取得されたキーナンバと同じキーナンバで楽音の生成処理中か否かを判定する(ステップS207)。同じキーナンバで楽音の生成処理中の場合(ステップS207:YES)、プロセッサ10は、今回のステップS204にて取得されたエンベロープの値を第1振幅値aに加算して(ステップS208)、ステップS211へ進む。異なるキーナンバで楽音の生成処理中の場合(ステップS207:NO)、プロセッサ10は、エンベロープの値を第1振幅値aに加算せずに、ステップS211へ進む。
対象ジェネレータセクションが楽音の生成に現在使用されていない場合(ステップS203:NO)、プロセッサ10は、今回の押鍵操作に応じた楽音を生成するジェネレータセクションを既に割り当てたか否かを判定する(ステップS209)。便宜上、今回の押鍵操作に応じた楽音を生成するジェネレータセクションとして割り当てられたものを「使用割当ジェネレータセクション」と記す。
使用割当ジェネレータセクションが割り当てられていない場合(ステップS209:NO)、プロセッサ10は、対象ジェネレータセクションを使用割当ジェネレータセクションとして割り当てて(ステップS210)、ステップS211へ進む。使用割当ジェネレータセクションが既に割り当てられている場合(ステップS209:YES)、プロセッサ10は、ステップS210を実行せずに、ステップS211へ進む。
プロセッサ10は、変数nを1インクリメントする(ステップS211)。プロセッサ10は、インクリメント後の変数nが129か否かを判定する(ステップS212)。変数nが129でない場合(ステップS212:NO)、プロセッサ10は、ステップS203に戻り、インクリメント後の変数nと同じ番号が割り当てられた対象ジェネレータセクションに対してステップS203以降の処理を実行する。
変数nが129の場合(ステップS212:YES)、128基全てのジェネレータセクション19A_1~19A_128に対してステータス確認等の処理が完了した状態にある。そこで、プロセッサ10は、使用割当ジェネレータセクションを割り当て済みか否かを判定する(ステップS213)。使用割当ジェネレータセクションを割り当て済みの場合(ステップS213:YES)、プロセッサ10は、図8のジェネレータセクション割当処理を終了する。
使用割当ジェネレータセクションを割り当てていない場合(ステップS213:NO)、プロセッサ10は、ステップS206にて最終的に設定された割当候補ジェネレータセクションを使用割当ジェネレータセクションとして割り当てて(ステップS214)、割り当てられた使用割当ジェネレータセクションに対して所定の速度での(例えば即時の)ダンプ処理を行う(ステップS215)。
プロセッサ10は、ダンプ処理された使用割当ジェネレータセクションがステップS101にて取得されたキーナンバと同じキーナンバで楽音を生成していたか否かを判定する(ステップS216)。同じキーナンバで楽音を生成していた場合(ステップS216:YES)、プロセッサ10は、ダンプ処理された使用割当ジェネレータセクションにおけるエンベロープの値(すなわちダンプ処理で消音された分)を第1振幅値aから減算して(ステップS217)、図8のジェネレータセクション割当処理を終了する。異なるキーナンバで楽音を生成していた場合(ステップS216:NO)、プロセッサ10は、ステップS217を実行せずに、図8のジェネレータセクション割当処理を終了する。
図7の説明に戻る。プロセッサ10は、キースキャナ18より入力した押鍵イベント情報に含まれるベロシティ値を取得する(ステップS103)。以下、このベロシティ値に符号vを付す。ベロシティ値vは、最小値1~最大値127である。
プロセッサ10は、今回の押鍵の速さ(別の観点では押鍵の強さ)を示すベロシティ値vを用いて、今回の押鍵操作に応じた楽音の第2振幅値bを取得する(ステップS104)。ここでは、第2振幅値bを取得する具体例として、次式(1)を用いて第2振幅値bを計算する方法を示す。
第2振幅値bは、「今回の押鍵操作(第2操作)に応じた第2楽音のための第2振幅値」と記すこともできる。すなわち、ステップS102~S104において、プロセッサ10は、演奏操作子(本実施形態では鍵盤17の鍵)への第1操作に応じた第1楽音の発音中における第2操作(第1操作と同じキーナンバの鍵に対する操作)に応じて、第1楽音の第1振幅値aを取得するとともに第2操作に応じて発音させる第2楽音のための第2振幅値bを取得する振幅値取得部102として動作する。
[式(1)]
b=(v/127)×100
図9は、式(1)により計算される第2振幅値bとベロシティ値vとの関係を示すグラフである。図9中、縦軸は第2振幅値bを示し、横軸はベロシティ値vを示す。図9に示されるように、第2振幅値bはベロシティ値vに応じて指数関数的に増加する。第2振幅値bは、最小値0~最大値100である。
上述したように、今回の押鍵の強さ(第2振幅値b)に対する振動体の現在の振幅値(第1振幅値a)の比(a/b)が大きいほど連打操作時の楽音のばらつきが大きくなる傾向にある。そこで、プロセッサ10は、第2楽音のばらつきの度合いを示すパラメータ値r(すなわち、静止状態楽音のピッチ、音色、音量に対する、連打操作時の第2楽音のピッチ、音色、音量の変化の度合いを示す値)を取得する(ステップS105)。このように、ステップS105において、プロセッサ10は、比(a/b)に基づいて、第2楽音のピッチ、音色、音量を決定するためのパラメータ値rを取得するパラメータ値取得部103として動作する。
ここでは、パラメータ値rを取得する具体例として、次式(2)を用いてパラメータ値rを計算する方法を示す。
[式(2)]
r=log(a/b)+N

N:パラメータ値rをゼロ以上の値とするための調整値
図10は、式(2)により計算されるパラメータ値rと比(a/b)との関係を示すグラフである。図10中、縦軸はパラメータ値rを示し、横軸は比(a/b)を示す。図10に示されるように、パラメータ値rは、比(a/b)に応じて対数関数的に増加する。言い換えると、パラメータ値rは、比(a/b)と相関のある値である。また、比(a/b)が大きいほどパラメータ値rも大きくなる。
比(a/b)が1/2未満の場合、パラメータ値rはゼロにクリップされる。
比(a/b)が大きくなりすぎるとパラメータ値rも大きくなりすぎるため、連打操作時の楽音のばらつきが過大な値に計算される虞がある。そのため、比(a/b)が2を超えた場合、パラメータ値rは所定の最大値にクリップされる。
一例として、調整値Nは5である。この場合、比(a/b)が1/32未満のときにパラメータ値rがゼロにクリップされる。また、比(a/b)が32を超えるときにパラメータ値rが所定の最大値である10にクリップされる。比(a/b)が1/32以上32以下のとき、パラメータ値rは0~10の値を取る。
プロセッサ10は、今回の押鍵操作(第2操作)に応じた第2楽音のピッチに自然な変化(例えば上述の偶発的要素に起因する変化)を与えるため、ランダム関数により乱数rndを発生させる(ステップS106)。乱数rndは、-1~+1までの値である。
プロセッサ10は、自然な変化が与えられた第2楽音のピッチPを取得する(ステップS107)。ここでは、ピッチPを取得する具体例として、次式(3)を用いてピッチPを計算する方法を示す。
[式(3)]
P=P+PDP・(r/10)・(rnd+POFF/100)

:基準ピッチ
DP:ピッチの変化の深さ
OFF:オフセット値
基準ピッチPは、ROM12から読み出される波形データによって一意に決まるピッチ(言い換えると、自然な変化が与えられない場合のピッチであって、現在設定されている音色と押鍵イベント情報とによって一意に決まるピッチ)である。基準ピッチPは、最小値0~最大値100である。
深さPDPは、ピッチの変化の深さ(度合い)であり、最小値0~最大値100である。
オフセット値POFFは、乱数rndに加算されることによってピッチの変化の増減バランスを調整するものであり、-100~+100の値を取る。
深さPDPやオフセット値POFFは、例えば、楽音の音色(ギター、ピアノ等)毎、キーナンバ毎に適切な値が予め設定されている。また、スイッチパネル13に対するユーザ操作によって深さPDPやオフセット値POFFの値を変更できるようにしてもよい。
本実施形態において、ピッチPの範囲は、最小値0~最大値100である。そのため、式(3)によりピッチPがゼロ未満になる場合、ピッチPはゼロにクリップされる。式(3)によりピッチPが100を超える場合、ピッチPは100にクリップされる。
プロセッサ10は、ステップS107にて取得されたピッチPを第2楽音の基準ピッチとして波形ジェネレータ19aに設定する(ステップS108)。これにより、第2楽音が連打操作時の楽音となる場合、自然な変化が与えられたピッチで楽音の生成が行われることとなる。
プロセッサ10は、ステップS108にて設定された基準ピッチを時間的に変化させるため、現在設定されている音色及び押鍵イベント情報より取得される情報から、ピッチエンベロープのレベルL0、L1及び速度R1を設定する(ステップS109)。
プロセッサ10は、今回の押鍵操作(第2操作)に応じた第2楽音の音色に自然な変化(例えば上述の偶発的要素に起因する変化)を与えるため、ランダム関数により乱数rndを発生させる(ステップS110)。乱数rndは、-1~+1までの値である。
プロセッサ10は、自然な変化が与えられた第2楽音に対するカットオフ周波数fを取得する(ステップS111)。ここでは、カットオフ周波数fを取得する具体例として、次式(4)を用いてカットオフ周波数fを計算する方法を示す。
[式(4)]
f=f+fDP・(r/10)・(rnd+fOFF/100)

:基準カットオフ周波数
DP:カットオフ周波数の変化の深さ
OFF:オフセット値
基準カットオフ周波数fは、ROM12から読み出される波形データによって一意に決まるカットオフ周波数(言い換えると、自然な変化が与えられない場合のカットオフ周波数であって、現在設定されている音色と押鍵イベント情報とによって一意に決まるカットオフ周波数)である。基準カットオフ周波数fは、最小値0~最大値100である。
深さfDPは、カットオフ周波数の変化の深さ(度合い)であり、最小値0~最大値100である。
オフセット値fOFFは、乱数rndに加算されることによってカットオフ周波数の変化の増減バランスを調整するものであり、-100~+100の値を取る。なお、連打操作時の楽音は、単打音(すなわち静止状態楽音)よりも音量や倍音成分が増加する傾向にある。そこで、オフセット値fOFFをプラスの値に設定することにより、カットオフ周波数fが元の基準カットオフ周波数fよりも高い値に変化しやすくなるように調整することもできる。附言するに、オフセット値fOFFを+100に設定することにより、カットオフ周波数fが必ず元の基準カットオフ周波数f以上の値に変化するように調整することもできる。
深さfDPやオフセット値fOFFも、音色毎、キーナンバ毎に適切な値が予め設定されてもよく、また、ユーザ操作によって変更可能であってもよい。
本実施形態において、カットオフ周波数fの範囲は、最小値0~最大値100である。そのため、式(4)により、カットオフ周波数fがゼロ未満になる場合、カットオフ周波数fはゼロにクリップされる。式(4)により、カットオフ周波数fが100を超える場合、カットオフ周波数fは100にクリップされる。
プロセッサ10は、ステップS111にて取得された、カットオフ周波数fを第2楽音に対する基準カットオフ周波数としてフィルタ19cに設定する(ステップS112)。これにより、第2楽音が連打操作時の楽音となる場合、自然な変化が与えられたカットオフ周波数で楽音の生成が行われることとなる。
プロセッサ10は、ステップS112にて設定された基準カットオフ周波数を時間的に変化させるため、現在設定されている音色及び押鍵イベント情報より取得される情報から、フィルタエンベロープのレベルL0、L1及び速度R1を設定する(ステップS113)。
プロセッサ10は、今回の押鍵操作(第2操作)に応じた第2楽音の音量に自然な変化(例えば上述の偶発的要素に起因する変化)を与えるため、ランダム関数により乱数rndを発生させる(ステップS114)。乱数rndは、-1~+1までの値である。
プロセッサ10は、自然な変化が与えられた第2楽音の音量レベルAを取得する(ステップS115)。ここでは、音量レベルAを取得する具体例として、次式(5)を用いて音量レベルAを計算する方法を示す。
[式(5)]
A=A・(ADP/100)・2〔(r/10)・{rnd +(A OFF /100)}〕

:基準音量レベル
DP:音量レベルの変化の深さ
OFF:オフセット値
基準音量レベルAは、ROM12から読み出される波形データによって一意に決まる音量レベル(言い換えると、自然な変化が与えられない場合の音量レベルであって、現在設定されている音色と押鍵イベント情報とによって一意に決まる音量レベル)である。基準音量レベルAは、最小値0~最大値100である。
深さADPは、音量レベルの変化の深さ(度合い)であり、最小値0~最大値100である。
オフセット値AOFFは、乱数rndに加算されることによって音量レベルの変化の増減バランスを調整するものであり、-100~+100の値を取る。上述したように、連打操作時の楽音は、単打音よりも音量や倍音成分が増加する傾向にある。そこで、オフセット値AOFFをプラスの値に設定することにより、音量レベルAが元の基準音量レベルAよりも高い値に変化しやすくなるように調整することもできる。
深さADPやオフセット値AOFFも、音色毎、キーナンバ毎に適切な値が予め設定されてもよく、また、ユーザ操作によって変更可能であってもよい。
本実施形態において、音量レベルAの範囲は、最小値0~最大値100である。そのため、式(5)により、音量レベルAが100を超える場合、音量レベルAは100にクリップされる。
プロセッサ10は、ステップS115にて取得された、音量レベルAを第2楽音の基準音量レベルとしてアンプ19eに設定する(ステップS116)。これにより、第2楽音が連打操作時の楽音となる場合、自然な変化が与えられた音量レベル(言い換えると増幅率)で楽音の生成が行われることとなる。
プロセッサ10は、ステップS116にて設定された基準音量レベルを時間的に変化させるため、現在設定されている音色及び押鍵イベント情報より取得される情報から、アンプエンベロープのレベルL0、L1及び速度R1を設定する(ステップS117)。
プロセッサ10は、音源LSI19に対し、図8のジェネレータセクション割当処理で設定された使用割当ジェネレータセクションの発音指示を出す(ステップS118)。すなわち、ステップS118において、プロセッサ10は、ステップS105にて取得されたパラメータ値rに応じた第2楽音の発音を指示する楽音指示部101として動作する。附言するに、楽音指示部101として動作するプロセッサ10は、ランダム関数に基づき発生した乱数とパラメータ値rとを乗算し(ステップS107、S111及びS115参照)、乗算によって得た値に応じた第2楽音の発音を指示する。この発音指示により、使用割当ジェネレータセクションにて波形データの読み出しが開始されるとともに各エンベロープジェネレータからエンベロープの出力が開始されて、図7の押鍵処理が終了する。
図7の押鍵処理の実行により使用割当ジェネレータセクションで生成される第2楽音は、連打操作時に振動中の振動体に再び衝撃が加わった際に発生する予測不能な変化が与えられたものとなる。そのため、本実施形態では、連打操作時の楽音の機械臭さが避けられる。より詳細には、振動体の現在の第1振幅値aと今回の押鍵操作に応じて発音させる第2楽音のための第2振幅値bとの比(a/b)に基づいてパラメータ値rを都度計算し、計算されたパラメータ値rを用いて第2楽音に自然な変化を都度付与するため、第2楽音の変化の傾向(すなわち、比(a/b)が大きいほど第2楽音の変化が大きくなるという傾向)をより忠実に再現することができ、アコースティック楽器のような自然な楽音の特性に近付けることができる。
図11~図16を用いて、図7の押鍵処理の実行により第2楽音に自然な変化を与えた場合の効果を説明する。
図11及び図12は、ケース1を説明する図である。ケース1は、第1振幅値aが大きい時に第1操作と同じキーナンバの鍵が弱く押された(言い換えると、第1振幅値aが大きく第2振幅値bが小さい)ケースである。
図13及び図14は、ケース2を説明する図である。ケース2は、第1振幅値aが中程度の時に第1操作と同じキーナンバの鍵が中程度の強さで押された(言い換えると、第1振幅値aが中程度で第2振幅値bも中程度の)ケースである。
図15及び図16は、ケース3を説明する図である。ケース3は、第1振幅値aが小さい時に第1操作と同じキーナンバの鍵が強く押された(言い換えると、第1振幅値aが小さく第2振幅値bが大きい)ケースである。
図11~図16の各図中、上段図は第1楽音の振幅値を示し、下段図は第2楽音の振幅値を示す。図11~図16の何れの図においても縦軸は振幅値を示し、横軸は時間を示す。符号Tは、第1操作が行われた時点を示し、符号Tは、第2操作が行われた時点を示す。図11~図16の何れの図も、振幅が操作時点で最大値に瞬時に増加しその後徐々に減衰する様子を示す模式的な図となっている。
図11は比較例1(ケース1の比較例)を示し、図12は実施例1(ケース1の実施例)を示す。図13は比較例2(ケース2の比較例)を示し、図14は実施例2(ケース2の実施例)を示す。図15は比較例3(ケース3の比較例)を示し、図16は実施例3(ケース3の実施例)を示す。
各ケースにおいて、比較例と実施例の第2楽音を比較するため、第1楽音は比較例と実施例で同じとする。第2楽音については、第2操作の条件(音色、キーナンバ及びベロシティ値)を比較例と実施例で同じとする。比較例の第2楽音は、自然な変化を与えない場合の第2楽音であり、現在設定されている音色と押鍵イベント情報とによって一意に決まるものである。実施例の第2楽音は、図7の押鍵処理の実行により自然な変化を与えた場合の第2楽音である。
なお、図12、図14及び図16の下段図では、自然な変化を与えた結果、実施例で発音される第2楽音の振幅値が2本の破線で挟まれる範囲内で変動する様子を示している。上側の破線は、自然な変化を与えた結果として第2楽音の振幅値が最も大きな値に変化した場合を示し、下側の破線は、自然な変化を与えた結果として第2楽音の振幅値が最も小さな値に変化した場合を示す。
便宜上、ケース1において、最も大きな値に変化した場合のT時点の第2楽音の振幅値に符号MAXを付し、最も小さな値に変化した場合のT時点の第2楽音の振幅値に符号MINを付す。また、ケース2において、最も大きな値に変化した場合のT時点の第2楽音の振幅値に符号MAXを付し、最も小さな値に変化した場合のT時点の第2楽音の振幅値に符号MINを付す。また、ケース3において、最も大きな値に変化した場合のT時点の第2楽音の振幅値に符号MAXを付し、最も小さな値に変化した場合のT時点の第2楽音の振幅値に符号MINを付す。
比較例では、図11、図13及び図15の下段図に示されるように、第1振幅値aの大きさに拘わらず、常に、第2楽音が第2操作時のベロシティに応じた既定の振幅値となる。そのため、ケース1~3の何れの比較例においても、連打操作時の楽音の機械臭さが避けられない。
これに対し、実施例では、図12、図14及び図16の下段図に示されるように、第2楽音の振幅値が2本の破線で挟まれる範囲内で不確定に変動する。そのため、実施例1~3の何れにおいても、連打操作時の楽音の機械臭さが避けられる。
ケース1は、ケース1~3の中で最も比(a/b)が大きい。ケース3は、ケース1~3の中で最も比(a/b)が小さい。ケース2の比(a/b)は、ケース1の比(a/b)とケース3の比(a/b)の中間程度の値である。図12、図14及び図16の下段図を比較すると、MAXとMINとの差が最も大きく、次にMAXとMINとの差が最も大きく、MAXとMINとの差が最も小さい。すなわち、第2楽音の変動の大きさは、ケース1が最も大きく、ケース3が最も小さい。このように、実施例では、比(a/b)が大きいほど第2楽音の変化が大きくなるという傾向が忠実に再現されていることが判る。そのため、電子楽器1において、連打操作時の楽音を自然な楽音に近付けるための改善が加えられていることが判る。
その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
上記実施形態では、第2楽音のピッチ、音色、音量の全てに対してパラメータ値rに基づく変化を与えたが、本発明の構成はこれに限らない。第2楽音のピッチ、音色、音量のうち1つ又は2つに対してパラメータ値に基づく変化を与えた場合にも、連打操作時の楽音の機械臭さを避けて自然な楽音の特性に近付ける効果が得られる。
以下、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[付記1]
演奏操作子と、
少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、
前記演奏操作子への第1操作に応じて、第1楽音の発音を指示し、
前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第1楽音の第1振幅値を取得するとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得し、
前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得し、
取得された前記パラメータ値に応じた前記第2楽音の発音を指示する、
電子楽器。
[付記2]
前記パラメータ値は、前記比と相関のある値である、
付記1に記載の電子楽器。
[付記3]
前記第2振幅値に対する前記第1振幅値の比が大きいほど前記パラメータ値が大きくなる、
付記1又は付記2に記載の電子楽器。
[付記4]
前記パラメータ値は、次式により取得される、
パラメータ値=log(a/b)+N
但し、aは、前記第1振幅値であり、bは、前記第2振幅値であり、Nは、前記パラメータ値をゼロ以上の値とするための調整値である、
付記1から付記3の何れか一項に記載の電子楽器。
[付記5]
前記少なくとも1つのプロセッサは、ランダム関数に基づき発生した乱数と前記パラメータ値とを乗算し、乗算によって得た値に応じた第2楽音の発音を指示する、
付記1から付記4の何れか一項に記載の電子楽器。
[付記6]
コンピュータに、
電子楽器の演奏操作子への第1操作に応じて第1楽音の発音を指示させ、
前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第1楽音の第1振幅値を取得させるとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得させ、
前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得させ、
取得された前記パラメータ値に応じた前記第2楽音の発音を指示させる、
方法。
[付記7]
コンピュータに、
電子楽器の演奏操作子への第1操作に応じて第1楽音の発音を指示させ、
前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第1楽音の第1振幅値を取得させるとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得させ、
前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得させ、
取得された前記パラメータ値に応じた前記第2楽音の発音を指示させる、
プログラム。
1 :電子楽器
10 :プロセッサ
11 :RAM
12 :ROM
13 :スイッチパネル
14 :入出力インタフェース
15 :LCD
16 :LCDコントローラ
17 :鍵盤
18 :キースキャナ
19 :音源LSI
19A_1~19A_128 :ジェネレータセクション
19B :ミキサ
19a :波形ジェネレータ
19b :ピッチエンベロープジェネレータ
19c :フィルタ
19d :フィルタエンベロープジェネレータ
19e :アンプ
19f :アンプエンベロープジェネレータ
19g :エンベロープ検出器
20 :D/Aコンバータ
21 :アンプ
101 :発音指示部
102 :振幅値取得部
103 :パラメータ値取得部

Claims (7)

  1. 演奏操作子と、
    少なくとも1つのプロセッサと、を備え、
    前記少なくとも1つのプロセッサは、
    前記演奏操作子への第1操作に応じて、第1楽音の発音を指示し、
    前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第2操作に応じたタイミングにおける前記第1楽音の第1振幅値を取得するとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得し、
    前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得し、
    ランダム関数に基づき発生した乱数と前記パラメータ値に基づく演算に応じた前記第2楽音の発音を指示し、
    前記パラメータ値は、次式により取得される、
    パラメータ値=log2(a/b)+N
    但し、aは、前記第1振幅値であり、bは、前記第2振幅値であり、Nは、前記パラメータ値をゼロ以上の値とするための調整値である、
    電子楽器。
  2. 前記パラメータ値は、前記比と相関のある値である、
    請求項1に記載の電子楽器。
  3. 前記第2振幅値に対する前記第1振幅値の比が大きいほど前記パラメータ値が大きくなる、
    請求項1又は請求項2に記載の電子楽器。
  4. 前記少なくとも1つのプロセッサは、前記乱数と前記パラメータ値とを乗算し、乗算によって得た値に応じた前記第2楽音の発音を指示する、
    請求項1から請求項3の何れか一項に記載の電子楽器。
  5. 前記演奏操作子を含む鍵盤を備え、
    前記第1操作及び前記第2操作は、前記鍵盤への押鍵操作である、
    請求項1から請求項4の何れか一項に記載の電子楽器。
  6. コンピュータに、
    電子楽器の演奏操作子への第1操作に応じて第1楽音の発音を指示させ、
    前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第2操作に応じたタイミングにおける前記第1楽音の第1振幅値を取得させるとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得させ、
    前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得させ、
    ランダム関数に基づき発生した乱数と前記パラメータ値に基づく演算に応じた前記第2楽音の発音を指示させ、
    前記パラメータ値は、次式により取得される、
    パラメータ値=log2(a/b)+N
    但し、aは、前記第1振幅値であり、bは、前記第2振幅値であり、Nは、前記パラメータ値をゼロ以上の値とするための調整値である、
    方法。
  7. コンピュータに、
    電子楽器の演奏操作子への第1操作に応じて第1楽音の発音を指示させ、
    前記第1楽音の発音中における前記演奏操作子への第2操作に応じて、前記第2操作に応じたタイミングにおける前記第1楽音の第1振幅値を取得させるとともに前記第2操作に応じて発音させる第2楽音のための第2振幅値を取得させ、
    前記第1振幅値と前記第2振幅値との比に基づいて、前記第2楽音のピッチ、音色、音量のうち少なくとも1つを決定するためのパラメータ値を取得させ、
    ランダム関数に基づき発生した乱数と前記パラメータ値に基づく演算に応じた前記第2楽音の発音を指示させ、
    前記パラメータ値は、次式により取得される、
    パラメータ値=log2(a/b)+N
    但し、aは、前記第1振幅値であり、bは、前記第2振幅値であり、Nは、前記パラメータ値をゼロ以上の値とするための調整値である、
    プログラム。
JP2021107845A 2021-06-17 2021-06-29 電子楽器、方法及びプログラム Active JP7298650B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/832,528 US20220406282A1 (en) 2021-06-17 2022-06-03 Electronic musical instruments, method and storage media therefor
CN202210661458.6A CN115497440A (zh) 2021-06-17 2022-06-13 电子乐器、方法和存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021100632 2021-06-17
JP2021100632 2021-06-17

Publications (2)

Publication Number Publication Date
JP2023000962A JP2023000962A (ja) 2023-01-04
JP7298650B2 true JP7298650B2 (ja) 2023-06-27

Family

ID=84687351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021107845A Active JP7298650B2 (ja) 2021-06-17 2021-06-29 電子楽器、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7298650B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209382A (ja) 2000-01-28 2001-08-03 Roland Corp 電子楽器の連打処理装置
JP2020129040A (ja) 2019-02-07 2020-08-27 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525853B2 (ja) * 1988-03-17 1996-08-21 ローランド株式会社 電子楽器の連打処理装置
JP2646812B2 (ja) * 1990-07-27 1997-08-27 ヤマハ株式会社 電子楽器
JPH07168565A (ja) * 1993-12-13 1995-07-04 Roland Corp 電子楽器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209382A (ja) 2000-01-28 2001-08-03 Roland Corp 電子楽器の連打処理装置
JP2020129040A (ja) 2019-02-07 2020-08-27 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム

Also Published As

Publication number Publication date
JP2023000962A (ja) 2023-01-04

Similar Documents

Publication Publication Date Title
EP2571018B1 (en) Acoustic effect impartment apparatus, and piano
JP5821230B2 (ja) 楽音信号生成装置
JP4978993B2 (ja) 楽音発生装置
JP2007193130A (ja) 共鳴音発生装置
EP3882906A1 (en) Electronic keyboard musical instrument and method of generating musical sound
WO2020054070A1 (ja) 音信号生成装置、鍵盤楽器およびプログラム
JP2004251926A (ja) 電子楽器
JP5257950B2 (ja) 共鳴音発生装置
CN111095395A (zh) 声音信号生成装置、键盘乐器以及程序
JP6856081B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
US20220406282A1 (en) Electronic musical instruments, method and storage media therefor
JP7298650B2 (ja) 電子楽器、方法及びプログラム
JP5305483B2 (ja) 楽音発生装置
JP7215523B2 (ja) 電子楽器、方法及びプログラム
JP2010072417A (ja) 電子楽器及び楽音生成のプログラム
WO2005081222A1 (ja) 演奏指示に従って演奏された自然楽器の楽音判定装置、楽音判定プログラムおよび該プログラムを記録した媒体
JP4785052B2 (ja) 楽音発生装置
US9280962B1 (en) Sound preview device and program
JP7172423B2 (ja) 電子鍵盤楽器、方法およびプログラム
JP3012136B2 (ja) 電子楽器
JP2953217B2 (ja) 電子楽器
JP3090383B2 (ja) 楽音割当装置及び楽音発生装置
JP3012135B2 (ja) 電子楽器
JP3231896B2 (ja) 電子楽器
JP2019168515A (ja) 電子楽器、方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

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: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230529

R150 Certificate of patent or registration of utility model

Ref document number: 7298650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150