JP2008076440A - 楽音発生装置および電子楽器 - Google Patents

楽音発生装置および電子楽器 Download PDF

Info

Publication number
JP2008076440A
JP2008076440A JP2006252185A JP2006252185A JP2008076440A JP 2008076440 A JP2008076440 A JP 2008076440A JP 2006252185 A JP2006252185 A JP 2006252185A JP 2006252185 A JP2006252185 A JP 2006252185A JP 2008076440 A JP2008076440 A JP 2008076440A
Authority
JP
Japan
Prior art keywords
frequency
parameter
musical sound
filter
waveform data
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.)
Granted
Application number
JP2006252185A
Other languages
English (en)
Other versions
JP4432951B2 (ja
Inventor
Yoji Kaneko
洋二 金子
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 JP2006252185A priority Critical patent/JP4432951B2/ja
Priority to US11/901,472 priority patent/US7622665B2/en
Priority to CN2007101533592A priority patent/CN101149916B/zh
Priority to EP07018319.9A priority patent/EP1903556B1/en
Publication of JP2008076440A publication Critical patent/JP2008076440A/ja
Priority to US12/571,181 priority patent/US8067684B2/en
Application granted granted Critical
Publication of JP4432951B2 publication Critical patent/JP4432951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】自然楽器の音色変化と同等の音色変化を実現する。
【解決手段】 フィルタ係数算出回路26は、周波数に基づく第1のパラメータ及びフィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられた、フィルタ係数の組を複数種記憶したパラメータテーブルを有し、楽音信号の周波数及び強度に対応して決定される第1のパラメータ及び第2のパラメータにより、パラメータテーブルから、フィルタ係数の組を取り出し、かつ、発音すべき楽音の周波数と波形ROMに記憶されたオリジナル楽音波形データの周波数との差分に基づいて第2のパラメータを補正して、フィルタ手段22に出力する。
【選択図】図5

Description

本発明は、楽音発生装置および当該楽音発生装置を搭載した電子楽器に関する。
自然楽器の音色変化は、基音に対する倍音の振幅比率が変化することによって生ずる。特に、演奏の強弱による音色変化において、強く演奏する(たとえばピアノでは強く打鍵する)ほど高次倍音の振幅比率が大きくなる。その一方、弱く演奏する(ピアノでは弱く打鍵する)ほど高次倍音の振幅比率は小さくなる。
図17(a)、(b)は、アコースティックピアノの波形を示すグラフであり、図17(a)は、フォルテシモで打鍵したときの波形、図7(b)はメゾピアノで打鍵したときの波形である。図18(a)、(b)は、図17(a)、(b)のそれぞれの波形から算出されたスペクトルを示すグラフである。図18(a)、(b)において、横軸(周波数軸)はリニアであり、縦軸はdBである。これらは、図17(a)、(b)に示す波形の発音開始近傍から4096サンプルを、ブラックマン(Blackmann)の窓関数で切り取ったものに基づいて算出されている。
図19は、図18(a)、(b)に示すスペクトルから抽出したスペクトラム・エンベロープを示す図である。図19に示すように、スペクトラム・エンベロープは、基本波から高調波に向かってほぼ一定の傾きをもち、かつ、その傾きが、演奏の強さにより一様に変化することがわかる。図19の例では、演奏の強さが強くなるのにしたがって、傾きが大きくなる(つまり0に近づく)。したがって、電子楽器においてフィルタ回路によって、音色を変化させる場合にも、フィルタ回路が、図19に示すようなスペクトラム・エンベロープを持つようなフィルタ特性を持っているのが望ましい。
特開平4−78213号公報
従来のフィルタの伝達関数を(1)式に示す。
なお、ω=2πfc/fs (0<ω<1)
ここに、fcはカットオフ周波数、fsはサンプリング周波数、ωはカットオフ角周波数、Qは選択度を表す。
従来のフィルタ回路においては、フィルタ特性をω(或いはfc)とQとによって変化させるため、フィルタ回路は、パラメータとしてω(或いはfc)およびQを受け入れ、これに基づいて、その特性を変化させるように構成されている。
図20は、(1)式に示す特性をもつ二次IIRフィルタにおいて、パラメータとしてfcを変更したときのフィルタ特性を示すグラフである。図20においても、横軸(周波数軸)はリニア(0〜10kHz)であり、縦軸はdBである。図20に示すように、fcを変更しても、変更されたフィルタ特性は、図18(a)、(b)、図19に示すような特性とは程遠く、したがって、カットオフ周波数を制御してピアノ音色の変化と同等の変化を実現することが非常に難しいという問題点があった。
たとえば、特許文献1には、カットオフ周波数fcではなく、伝達特性が変化し始める特定の周波数f0とその変化率をパラメータとするフィルタが提案されている。しかしながら、特許文献1に開示されたフィルタを用いても、特に、ピアノ音色の変化と同等の変化を実現することは困難であった。特に、所定の周波数における減衰或いは増強の最大レベルから所定の比率となる周波数(以下、本明細書においては、「遷移周波数」と称する)が、パラメータの変化により移動するという問題点があった。
また、現在、電子楽器においては、PCM方式を採用しているものが多い。このPCM方式においては、波形メモリ(波形ROM)の容量を小さくするために、全ての鍵の音高に対応する周波数の波形データを辞するのではなく、所定の間隔で(たとえば、オクターブごとに)複数の周波数のオリジナル波形データのみを保持している。したがって、オリジナル波形データの周波数の波形データを生成する場合には、その周波数により近い周波数のオリジナル波形データを読み出して、そのピッチを変更することにより実現している。
しかしながら、オリジナル波形データからピッチを変更する際に、基本波に対する高調波の比率が変化するという問題が生じる。
図21(a)、(b)はオリジナル波形データの例およびそのスペクトルを示す図である。図22(a)、(b)は、オリジナル波形データを、その周波数をオリジナル周波数の1/2倍として読み出したときの波形データおよびそのスペクトルを示す図である。図22(b)に示すスペクトルをみると、図21(b)に示すスペクトルを横方向(周波数軸の方向)に圧縮したような状態となり、基本波に対する高次倍音の比率が小さくなっていることがわかる。
図23(a)、(b)は、オリジナル波形データを、その周波数をオリジナル周波数の2倍として読み出したときの波形データおよびそのスペクトルを示す図である。図23(b)に示すスペクトルを見ると、図21(b)のスペクトルを横方向(周波数軸の方向)に伸張したような状態となり、基本波に対する高次倍音の比率が大きくなっていることがわかる。
本来、自然楽器は、楽器の材質、形状に起因したフォルマントを持っているものであり、これが基本波に対する高次倍音の比率を規定する。したがって、上述したようなピッチ(周波数)の変更に伴うスペクトルの変化、特に、高次倍音の比率の変化は自然楽器らしくない不自然な音色変化をもたらすという問題点がある。
本発明は、自然楽器の音色変化と同等の音色変化を実現できる楽音発生装置および電子楽器を提供することを目的とする。
本発明の目的は、所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、発音すべき楽音の周波数と前記所定の周波数とに基づいて決定された速度で読み出すことにより、発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、フィルタ係数の組を出力するフィルタ係数出力手段と、前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、を有することを特徴とする楽音発生装置により達成される。
好ましい実施態様において、前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第2のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第1のパラメータとして、前記複数の第1のパラメータのそれぞれについて、第1のパラメータ及び最大レベルが異なる複数の第2のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納する。
また、好ましい実施態様において、前記パラメータ生成手段は、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より高いときに、前記第2のパラメータを減少させ、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より低いときに、前記第2のパラメータを増大させる。
別の好ましい実施態様において、前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分値を算出し、当該差分値に基づいて前記第2のパラメータを補正する。
また、別の好ましい実施態様において、前記波形記憶手段には、前記オリジナル楽音波形データが周波数帯域ごとに異なる周波数にて記憶され、前記パラメータ生成手段は、発音すべき楽音の周波数が属する周波数帯域に基づき、前記オリジナル楽音波形データを記憶する際の周波数を特定する。
さらに別の好ましい実施態様においては、前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正する。
また、本発明の目的は、発音すべき楽音の周波数及び強度を指定する発音指示手段と、
所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、前記発音すべき楽音の周波数と前記所定の周波数とから決定される速度で前記オリジナル楽音波形データを読み出すことにより当該発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、を備えたことを特徴とする電子楽器により達成される。
また、本発明の目的は、楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、フィルタ係数の組を出力するフィルタ係数出力手段と、前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
前記フィルタ係数出力手段が、複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベルの夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、前記パラメータ生成手段からにより生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、を有することを特徴とする楽音発生装置により達成される。
好ましい実施態様においては、前記パラメータテーブルは、
発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第2のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第1のパラメータとして、前記複数の第1のパラメータのそれぞれについて、第1のパラメータ及び最大レベルが異なる複数の第2のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納する。
また、好ましい実施態様においては、前記パラメータ生成手段は、前記新たな周波数が前記発音中の楽音の周波数より高いときに、前記第2のパラメータを減少させ、前記新たな周波数が前記発音中の楽音の周波数より低いときに、前記第2のパラメータを増大させる。
別の好ましい実施態様においては、前記パラメータ生成手段は、前記新たな周波数と前記発音中の楽音の周波数との差分値を算出し、当該差分値に基づいて前記第2のパラメータを補正する。
さらに別の好ましい実施態様においては、前記パラメータ生成手段は、前記発音中の楽音の周波数と前記新たな周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正する。
また、本発明の目的は、発音すべき楽音の周波数及び強度を指定する発音指示手段と、
楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、を備えたことを特徴とする電子楽器により達成される。
本発明によれば、自然楽器、特に、アコースティックピアノの音色変化と同等の音色変化を実現できる楽音発生装置および電子楽器を提供することが可能となる。
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。図1に示すように、電子楽器は、マイクロコンピュータ1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、スイッチ類4、タッチ検出回路5、鍵盤6、楽音発生回路7、波形ROM8、D/A変換器(DAC)9、増幅回路10およびスピーカ11、12を備えている。マイクロコンピュータ1、ROM2、RAM3および楽音発生回路7は、データバス13に接続される。また、タッチ検出回路5はマイクロコンピュータ1に接続される。
マイクロコンピュータ1は、電子楽器全体を制御し、プログラムやデータを格納したROM2から、プログラムやデータを読み出して、プログラムを実行する。プログラムの実行にて生成されるデータなどはワークエリアであるRAM3に記憶される。スイッチ類4は、電子楽器のコンソールパネル上に配置されている。マイクロコンピュータ1は、演奏者によるスイッチ類4の操作を検出する。タッチ検出回路5は、所定のタイミングで鍵盤6に対して走査信号を送出し、各鍵盤6の鍵に配置された2つのスイッチのオンに応答して、演奏操作データ(音高およびタッチレスポンスデータ)を生成して、マイクロコンピュータ1に出力する。本実施の形態において、鍵盤6は88個の鍵を有し、各鍵には、その長手方向に2つのスイッチが配置され、鍵の押下によってまず第1のスイッチがオンされ、さらに、鍵が押下されることにより第2のスイッチがオンされるようになっている。
マイクロコンピュータ1は、スイッチ類4の操作により指定された音色と、および、タッチ検出回路5から出力されたタッチレスポンスデータおよび音高を含む演奏操作データとに基づき、楽音発生回路7を制御して、所定の楽音を発生させる。楽音発生回路7は、波形ROM8から指定された音色の波形データを読み出して、演奏操作データにしたがった音高および音量(ベロシティ)の楽音を生成してDAC9に出力する。DAC9は、楽音発生回路7から出力されたディジタルデータをアナログ信号に変換する。アナログ信号は増幅回路10を介してスピーカ11、12から放音される。
本実施の形態においては、マイクロコンピュータ1は、鍵が押下された際のタッチ検出回路5からの演奏操作データに基づいて、キーオンを検出してノートオン処理を実行して、楽音発生回路7を制御して、楽音を発音させる。また、タッチ検出回路5は、鍵のスイッチのオフに基づき、離鍵された鍵の音高を含む離鍵データをマイクロコンピュータ1に出力する。マイクロコンピュータ1は、離鍵データを受信すると、ノートオフ処理を実行して、楽音発生回路7を制御して、発音中の楽音を減衰させる。図2は、本実施の形態にかかるマイクロコンピュータにおけるノートオン処理、図3は、ノートオフ処理を示すフローチャートである。ここでは、処理の概略について説明し、エンベロープ補正処理については後に詳細に説明する。
図2、3に示すように、システム(電子楽器全体)および楽音発生回路7の初期化の後(ステップ201)、マイクロコンピュータ1は、ノートオンおよびノートオフを監視する(ステップ202、図3のステップ301)。ノートオンがあった場合(ステップ202でYes)、マイクロコンピュータ1は、発音可能な空きチャンネルを検出する(ステップ203)。なお、本実施の形態において、「n」個の楽音を同時に発音することが可能であり、楽音発生回路7においては、「n」に時分割したチャンネルを有し、それぞれのチャンネルにおいて楽音波形データを生成している。
次いで、マイクロコンピュータ1は、ノートオンにかかる音高(ノートナンバー)が所属する鍵域を算出する(ステップ204)。本実施の形態においては、図4に示すように、波形ROM8には、複数の鍵ごとに、複数の鍵による鍵域のほぼ中心のノートナンバーのオリジナル波形データが用意され、当該鍵域に含まれるノートナンバーについては、そのオリジナル波形データのピッチを変更して波形データを得るようにしている。たとえば、鍵はN個の鍵域に分割される。鍵域iには複数の鍵F4〜A4が含まれ、G4の音高の波形データが、その鍵域のオリジナル波形データとして波形ROM8に格納されている(符号401参照)。
マイクロコンピュータ1は、ステップ1804で算出された鍵域のオリジナル波形データの波形ROM8におけるアドレス、後述するミキサ24における左右チャンネルへの重みを示すパンニング情報など各種パラメータを楽音発生回路7に転送する(ステップ205)。次いで、マイクロコンピュータ1はピッチ処理を実行する(ステップ206)。ピッチ処理において、マイクロコンピュータ1は、発音すべき楽音のノートナンバーと、オリジナル波形データのノートナンバーとの差分を算出して、差分値を周波数変更データとして楽音発生回路7に転送する。
また、マイクロコンピュータ1はフィルタ補正処理を実行する(ステップ207)。概略的には、フィルタ補正処理においては、マイクロコンピュータ1は、発音すべき楽音のノートナンバーに基づいて、後述する遷移周波数を算出し、かつ、ベロシティデータに基づいて、後述するゲインエンベロープ(第1のエンベロープ)を算出する。また、マイクロコンピュータ1は、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの差分値に基づいて、ゲインエンベロープを補正して、補正されたゲインエンベロープを、楽音発生回路7に転送する。なお、本実施の形態においては、マイクロコンピュータ1は、ゲインエンベロープの目標値(Target)と、エンベロープの速度(傾き)に相当するレート(rate)を楽音発生回路7に与える。目標値およびレートは、必要なだけ繰り返し、マイクロコンピュータ1から楽音発生回路7に与えられる。
さらに、マイクロコンピュータ1はアンプ補正処理を実行する(ステップ208)。概略的には、アンプ補正処理においては、マイクロコンピュータ1は、ベロシティデータに基づいてアンプエンベロープ(第2のエンベロープ)を算出する。また、マイクロコンピュータ1は、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの差分値に基づいて、アンプエンベロープを補正して、補正されたアンプエンベロープを、楽音発生回路7に転送する。ゲインエンベロープと同様に、アンプエンベロープの目標値(Target)と、エンベロープの速度(傾き)に相当するレート(rate)を楽音発生回路7に与える。
ノートオフがあった場合(ステップ301でYes)には、マイクロコンピュータ1は、ノートオフとなったノートナンバーと同一のノートナンバーで発音している発音チャンネルを検索する(ステップ302)。次いで、マイクロコンピュータ1は、キーオフ用のフィルタ処理を実行する(ステップ303)。ここでは、マイクロコンピュータ1は、キーオフ用ゲインエンベロープを算出し、ノートオフすべきノートナンバーと、オリジナル波形データのノートナンバーとの差分値に基づいて、キーオフ用ゲインエンベロープを補正して、補正されたキーオフ用ゲインエンベロープを、楽音発生回路7に転送する。
また、マイクロコンピュータ1はキーオフ用アンプ補正処理を実行する(ステップ304)。キーオフ用アンプ補正処理において、マイクロコンピュータ1は、キーオフ用アンプエンベロープを算出し、ノートオフすべきノートナンバーと、オリジナル波形データのノートナンバーとの差分値に基づいて、キーオフ用アンプエンベロープを補正して、補正されたアンプエンベロープを、楽音発生回路7に転送する。
図5は、本実施の形態にかかる楽音発生回路をより詳細に示すブロックダイヤグラムである。図5に示すように、楽音発生回路7は、インタフェース20、波形発生回路21、フィルタ回路22、乗算回路23、ミキサ24、および、フィルタ係数算出回路26を有している。インタフェース20、波形発生回路21、フィルタ回路22、ミキサ24およびフィルタ係数算出回路26は、内部バス28に接続される。
インタフェース20は、図1に示すデータバス13と接続され、楽音発生回路7内の、波形発生回路21、フィルタ回路22などの各演算ユニットに、内部バス28を介して設定データなどを書き込む。
波形発生回路21は、波形ROM8と接続されている。波形発生回路21は、マイクロコンピュータ1において生成された周波数変更データを受け入れ、波形ROM8の所定のアドレスから、PCM波形データ(オリジナル波形データ)を読み出して、かつ、周波数変更データに基づいて、ピッチ変更をして、発音すべき楽音の音高(ノートナンバー)の楽音波形データを生成する。
フィルタ係数回路26は、インタフェース20を介してマイクロコンピュータ1から与えられた演奏操作信号に基づくパラメータと、マイクロコンピュータ1から与えられた時間変化する、補正されたゲインエンベロープ(第1のエンベロープ)とにしたがってフィルタ係数を算出する。なお、現在のゲインエンベロープは、目標値に到達しない限り、前回の処理の際のゲインエンベロープにマイクロコンピュータ1から与えられたレートを加算することにより得ることができる。第1のエンベロープにより、その周波数特性に変化が与えられるため、フィルタ係数は時間の経過とともに変化する。フィルタ回路22は、フィルタ係数にしたがって、楽音波形データにフィルタ処理を施す。
乗算器23は、楽音波形データと、マイクロコンピュータ1から与えられた、時間変化する補正されたアンプエンベロープ(第2のエンベロープ)とを乗算する。アンプエンベロープも、ゲインエンベロープと同様に、目標値に到達しない限り、前回の処理の際のアンプエンベロープにマイクロコンピュータ1から与えられたレートを加算することにより得ることができる。これにより、鍵盤6の鍵のオン・オフにしたがった楽音の立ち上がり、立下りや、タッチレスポンスデータにしたがった音量を制御する。なお、波形発生回路21、フィルタ回路22、フィルタ係数算出回路26および乗算器23は、最大同時発音数の処理を時分割に行うことによって、鍵盤演奏に十分なチャンネル数(Nチャンネル)の楽音を生成することができる。
ミキサ24は、生成された最大同時発音数のチャンネルの楽音を、それぞれ、パンニング情報にしたがって、所定の重みで累算して、最終的に、左右2つのチャンネルの楽音として配分する。ミキサ24の出力は、DAC9に出力される。
以下、本発明にかかるフィルタ回路22およびフィルタ係数算出回路26の概略について説明する。図6は、演奏強弱によるアコースティックピアノの音色フィルタを実現するための理想的なフィルタ特性を説明する図である。図6において縦軸はゲイン、横軸はリニアな周波数を表す。
図6に示すように、理想的なフィルタ特性においては、図18に示すアコースティックピアノのスペクトラム・エンベロープから類推されるもので、基本波に対する倍音成分が、基本波に基づく一定のポイントからほぼリニアに減衰していくようなものとなっている。また、その傾きは、音量が小さい場合には小さく(つまり右下がりの度合いが大きく:傾きが小さく)、音量が大きくなるにしたがって大きくなる(つまり右下がりの度合いが小さくなり、より水平に近くなる:傾きが大きくなる)。
以下、基本波に基づいてリニアに減衰し或いは増強を始めるポイント(周波数)を基準周波数、サンプリング周波数fsの1/2の周波数における減衰量(dB)をゲイン、ゲインに対して所定の比率となるような周波数(本実施の形態においては、fs/2における減衰量の1/2となるような周波数)を遷移周波数と称する。また、基準周波数からのリニアに減衰し或いは増強する度合いを傾きと称する。傾きは、周波数軸をx軸、減衰量をy軸とする。したがって、負の減衰量が大きくなるほど、周波数特性における傾きは小さくなり、負の減衰量が0に近づくほど、その傾きは大きくなり0に近づく。正の現推量が大きくなるほど、周波数特性における傾きは大きくなる。
また、本実施の形態において、基本波が変化することにより基準周波数は変化する。また、基準周波数の変化に伴って遷移周波数も一定の規則で変化する。
本実施の形態においては、後述するように、フィルタ回路は、基本波に基づいて変化する遷移周波数と、フィルタの深さを示すゲインとによって制御される。これによって、アコースティックピアノの実際の音色変化とほぼ同様な、基本波に対する高調波成分の制御を実現する。
なお、本実施の形態においては、高調波成分を減衰させるだけでなく、増強する場合も考えている。これは、波形ROM8のPCMデータからの音色をより広範囲に変化させるためである。このような特性を実現するには、FIR(Finite Impulse Response:有限インパルス応答)フィルタが適する。しかしながら、FIRフィルタは演算量が多く、大規模なハードウェアを要する。そこで、本実施の形態においては、図6に示す理想のフィルタ特性に近似した特性を、低次のIIR(Infinite
Impulse Resonance:無限インパルス応答)フィルタで実現し、フィルタ係数を、理想のフィルタ特性とほぼ同等となるように制御している。
上述したようなフィルタ特性を有するフィルタを得るためには、様々な方法が考えられるが、演算量を最小限にするために、一次IIRフィルタでの近似を試み、それを拡張することにより、理想に近い周波数特定を得た。まず、一次IIRフィルタの伝達関数を(2)式と考える。
(2)式において、最大ゲイン(つまり、サンプリング周波数fsの1/2の周波数での最大ゲインをA)とすると、Aは、(3)式のように表すことができる。
また、遷移周波数f0のときに、最大ゲインの1/2のゲインとなるとすると、(4)式が導き出される。
上記(3)式および(4)式を解くと、係数b、cは(5)式および(6)式に示すようになる。
したがって、(2)式に示す一次IIRフィルタの係数b、cは、最大ゲインAおよび遷移周波数f0とから、(5)式および(6)式に示すように求めることができる。なお、上記(5)式からフィルタ係数には2通りのセットが存在するが、その係数範囲から制御しやすい方を選択すればよい。
一次IIRフィルタは、その減衰特性が穏やか過ぎる。そこで、本実施の形態においては、遷移周波数の異なる2つの一次フィルタIIRを直列に接続し、二次IIRフィルタとすることにより、より理想フィルタに近似したフィルタ特性を得ている。(7)式は、一次IIRフィルタを直列に接続した二次IIRフィルタの伝達関数を示す図である。
図7は、ある遷移周波数で、ゲインを変更したときの二次IIRフィルタの特性を示す。図7に示す特性は、図6に示す理想的な特性に近似していることが理解できる。なお、本実施の形態においては、二次IIRフィルタにより理想フィルタを近似しているが、フィルタの次数を上げることにより、その特性を、さらに理想フィルタの特性と近似させることが可能である。
図8は、図7に示すフィルタ特性を実現するための、二次のフィルタ係数を示すグラフである。なお、横軸は負のゲインのレベルを表す。レベル1は、最も負のレベルが大きい(つまり、傾きが最小である)ようなゲインを表し、レベル0は、最も負のレベルが小さい(つまり、傾きが0である)ようなゲインを表す。このように、本実施の形態においては、レベル1〜9のそれぞれにおいて、フィルタ係数b、c、d、eおよびfが決定される。
正のゲインに対するフィルタ係数は、上記(7)式の分母と分子を入れ替えることにより算出できる((8)式参照)。
したがって、負のゲインの係数のb〜fをそれぞれ、
b:e/d、c:f/d、d:1/d、e:b/d、f:c/d
と入れ替えることにより、正のゲイン特性のフィルタ係数を得ることができる。
本実施の形態においては、このフィルタ係数を演算により算出するのではなく、遷移周波数およびゲインをアドレスとするテーブル(パラメータテーブル)をフィルタ係数算出回路26に設け、テーブルからデータ値を取り出し、さらにそのデータ値を補間することにより、適切なフィルタ係数を算出するようにしている。
図9は、本実施の形態におけるフィルタ特性およびパラメータテーブルを説明するための図である。図9(a)は、ある基準周波数fに基づく遷移周波数Fのときのフィルタ特性を示す図である。先に述べたように、基本波の周波数にしたがって基準周波数fは決定される。たとえば、基準周波数は基本波とほぼ同じとしても良いし、基本波の所定倍数の周波数としても良い。図9(a)に示すように、単一の遷移周波数Fについて、複数の傾きを有するフィルタ特性が考えられる。図9(a)の例では、負の特性(減衰する特性)として小さい方からゲインのレベルG11、G12、・・・G1i(=減衰「0」)、正の特性として、G1(i+1)、・・・G1(2i−1)が示されている。また、基本波が異なることに伴って、基準周波数がfからf(f<f)に変化した場合を考えると、図9(b)に示すように、基準周波数の変更にともなって、遷移周波数Fは変更される。また、ゲインのレベルG21、G22、・・・、G2i、・・・、G2(2i−1)も変更され得る。
たとえば、図9(a)では、単一の遷移周波数Fについて、2i−1個のレベルが存在する。したがって、この例では、遷移周波数Fとあるレベルとの組み合わせについて、1つのフィルタ係数の組(b、c、d、e、f)が存在する。つまり、2i−1個のレベルがあれば、2i−1個のフィルタ係数の組が存在する。図9(b)についても同様である。したがって、遷移周波数がn種類存在すれば、n×(レベルの数(図9の例では、(2i−1))個のフィルタ係数の組が存在しえる。
遷移周波数ごとに各ゲインのフィルタ係数のセットを保持すると、膨大な大きさ(遷移周波数の設定数×ゲインの設定数×フィルタ係数の種類(5))のテーブルを用意する必要がある。そこで、遷移周波数の設定数およびゲインの設定数を限定して、これらの組み合わせに応じた一連のフィルタ係数を格納したテーブルのみを用意し、遷移周波数およびゲインの双方について補間(二次元の補間)を実現することで、テーブルのサイズを小さくし、かつ、フィルタ係数の適切化を実現している。
以下、本実施の形態にかかるフィルタ係数算出回路26およびフィルタ回路22の構成についてより詳細に説明する。
図10は、本実施の形態にかかるフィルタ係数算出回路の構成を示すブロックダイヤグラムである。図10に示すように、フィルタ係数算出回路26は、インタフェース31、加算器32〜34、パラメータテーブル35、補間回路36およびレジスタ37〜41を備える。また、図10には示していないが、フィルタ係数算出回路26は、所定のタイミングで、パラメータテーブル35へのアドレス信号のインクリメント信号X1、Y1、および、パラメータテーブル35の選択信号SELを出力する制御回路を有している。
インタフェース31は、楽音発生回路7の内部バス28に接続され、マイクロコンピュータ1からインタフェース20を介して送信される2種類のパラメータ、つまり、遷移周波数データF[15:0]およびゲインデータG[15:0]を受信して保持し、フィルタ算出回路26内に出力する。遷移周波数データFは、上述した遷移周波数に相当し、ゲインデータGが、上記ゲインに相当する。ゲインデータG[15:0]は加算器32に与えられる。加算器32にはもう一方の入力として、経時的に変化する第1のエンベロープが与えられる。したがって、加算器から出力されるゲインデータG[15:0]は、第1のエンベロープに基づいて、その値が時間の経過に伴って変化する。
ゲインデータG[15:0]のうちG[15:12]が加算器33に与えられる。また、遷移周波数データF[15:0]のうちF[15:13]が加算器45に与えられる。加算器33、34においては、必要に応じて所定のタイミングでインクリメント信号「1」が加算され、パラメータテーブル35のアドレスとして出力される。加算器33においては、G[15:12]の出力の次のタイミングで、インクリメント信号X1を加算することで、連続するアドレス(G[15:12]+1)を出力することができる。また、加算器34においても、F[15:13]の出力の次のタイミングで、インクリメント信号Y1を加算することで、連続するアドレス(F[15:13]+1)を出力することができる。
パラメータテーブル35の下位アドレスA[4:0]には、加算器33からの信号が与えられ、その次に上位のアドレスA[8:5]には、加算器34からの信号が与えられる。さらに、最上位アドレスA[11:9]には制御回路(図示せず)からの選択信号SELが与えられる。
本実施の形態において、パラメータテーブル35には、9種類の遷移周波数×17種類のゲイン(8種類のマイナスのゲイン、ゲイン「0」、および、9種類のプラスのゲイン)×5種類のフィルタ係数を記憶する。したがって、パラメータテーブル35は、9×17×5=765ワードのフィルタ数を記憶している。
遷移周波数については、上位3ビット(8種類)の値を下位13ビットで補間するため、9種類のアドレスが用意される。また、ゲインについては、上位4ビット(16種類)の値を、下位12ビットで補完するため、17種類のアドレスが用意される。また選択信号SELは、5種類の係数b〜fの何れかを選択するために使用される。
パラメータテーブル35の出力、つまり補間前のフィルタ係数の組は、補間回路36に与えられる。また、遷移周波数データの下位データF[12:0]およびゲインデータの下位データG[11:0]も補間回路36に与えられる。補間回路36においては、5種類の補間後のフィルタ係数b〜fが算出されて出力される。レジスタ37〜41は、順次出力される補間後のフィルタ係数b〜fをそれぞれ保持する。
図11は、本実施の形態にかかる補間回路をより詳細に示すブロックダイヤグラムである。図11に示すように、補間回路36は、レジスタ51〜54、減算器55、乗算器56、加算器57、レジスタ58、減算器65、乗算器66、加算器67、レジスタ68、減算器70、乗算器71、および、加算器72を有している。
減算器55により、レジスタ51の出力から、レジスタ51の出力を減算した差分値が算出され、この差分値と、ゲインデータの下位データG[11:0]とが乗算器56において乗算され、乗算値は加算器57に出力される。加算器57は、乗算値と、レジスタ51からの出力とを加算し、加算された値が、レジスタ58に記憶される。
同様に、減算器65により、レジスタ53の出力から、レジスタ54の出力を減算した差分値が算出され、この差分値と、ゲインデータの下位データG[11:0]とが乗算器66において乗算され、乗算値は加算器67に出力される。加算器67は、乗算値と、レジスタ53からの出力とを加算し、加算された値が、レジスタ68に記憶される。
さらに、減算器70において、レジスタ58の出力から、レジスタ68の出力を減算した差分値が算出され、この差分値と、遷移周波数データの下位データF[12:0]とが乗算器71において乗算され、乗算値は加算器72に出力される。加算器72は、乗算値と、レジスタ58からの出力とを加算する。加算器72からの出力が、補間されたフィルタ係数となる。
図12は、本実施の形態にかかるフィルタ回路の概略を示すブロックダイヤグラムである。図12に示すように、フィルタ回路22は、加算器80,88、乗算器81、82、85、86、87、および、遅延回路83、84を有する。乗算器81、82、85、86、87のそれぞれに、フィルタ係数算出回路22にて算出されたフィルタ係数b、c、d、e、fが与えられ、乗算器のそれぞれの入力に印加される信号とフィルタ係数とが乗算される。
以下、本実施の形態にかかる二次元の補間について説明する。図13は、本実施の形態にかかる二次元補間を説明する図である。説明の便宜のため、x=G[15:12]、dx=G[11:0]、y=F[15:13]、dy=F[12:0]とする。図11のレジスタ51〜54には、以下の値が格納される。
レジスタ51:o[x,y](なお、o[x,y]は、アドレスxyでのパラメータテーブル35の出力を表す。)
レジスタ52:o[x+1,y]
レジスタ53:o[x,y+1]
レジスタ54:o[x+1,y+1]
減算器55により、レジスタ52の出力o[x+1,y]からレジスタ51の出力o[x,y]が減算され、かつ、乗算器56により、減算値とdxとが乗算される。その後、加算器57により、乗算値とo[x,y]とが加算されてレジスタ58に格納される。したがって、レジスタ58には以下のような値が格納される。
レジスタ58:o[x,y]+(o[x+1,y]−o[x,y])*dx
=o[x+dx,y]
図13に示すように、これは、o[x,y]とo[x+1,y]との間をdxに基づいて直線補間したものに相当する。
また、減算器65により、レジスタ54の出力o[x+1,y+1]からレジスタ53の出力o[x,y+1]が減算され、かつ、乗算器66により、減算値とdxとが乗算される。その後、加算器67により、乗算値とo[x,y+1]とが加算されてレジスタ58に格納される。したがって、レジスタ68には以下のような値が格納される。
レジスタ68:o[x,y+1]+
(o[x+1,y+1]−o[x,y+1])*dx
=o[x+dx,y+1]
図13に示すように、これは、o[x,y+1]とo[x+1,y+1]との間をdxに基づいて直線補間したものに相当する。
さらに、減算器70により、レジスタ68の出力o[x+dx,y+1]からレジスタ58の出力o[x+dx,y]が減算され、かつ、乗算器71により、減算値とdyとが乗算される。その後、加算器72により、乗算値とo[x+dx,y]とが加算されて出力される。したがって、出力値は以下のようなものとなる。
出力値:o[x+dx,y]+
(o[x+dx,y+1]−o[x+dx,y])*dy
=o[x+dx,y+dy]
図13に示すように、出力値は、o[x+dx,y]とo[x+dx,y+1]との間をdyに基づいて補間したものに相当する。したがって、得られた出力値は、dx、dyに基づく二次元の補間値となる。
本実施の形態については、選択信号SELを順次変更して、パラメータテーブル35から、フィルタ係数b、c、d、e、fの補間前の値を出力することで、補間回路36において、b、c、d、e、fの補間値が生成され出力される。
図14は、フィルタ係数算出の際のタイミングチャートである。図14において、R0〜R5は、それぞれ、図11のレジスタ51〜54、58、68に対応し、B〜Fは、それぞれ、図10のレジスタ37〜41に相当する。
図14において、信号X1より、アドレスA[4:0]が、「x」或いは「x+1」に切り替えられ、また、信号Y1により、アドレスA[8:5]が、「y」或いは「y+1」に切り替えられる。また、選択信号SELにより、アドレスA[9:11]が変更される。最初のY1の一周期(符号1401参照)では、選択信号SELは、「b」を示すものであり、したがって、最初のY1の周期でパラメータテーブル35に与えられる4種類のアドレスによって、フィルタ係数bに関するo[x,y]、o[x+1,y]、o[x,y+1]およびo[x+1,y+1]が出力され、それがR0〜R3に格納される。
R0、R1にそれぞれ格納されたo[x,y]、o[x+1,y]に基づいて、o[x+dx,y]が算出されて、これがR4に格納される。また、R2、R3にそれぞれ格納されたo[x,y+1]およびo[x+1,y+1]に基づいて、o[x+dx,y+1]が算出されて、これがR5に格納される。R4およびR5に格納されたo[x+dx,y]およびo[x+dx,y+1]に基づいて、フィルタ係数bについての補間後の値b[x+dx,y+dy]が算出されて、これがBに格納される。
同様に、選択信号SELが、「c」、「d」、「e」および「f」を示す場合には、最終的に、フィルタ係数c〜fのそれぞれの補間後の値c[x+dx,y+dy]、d[x+dx,y+dy]、e[x+dx,y+dy]およびf[x+dx,y+dy]が算出されて、算出された値は、それぞれC〜Fに格納される。
次に、図2および図3を参照して説明したフィルタ補正処理(ステップ207)およびアンプ補正処理(ステップ208)についてより詳細に説明する。上述したように、本実施の形態においては、音高(ノートナンバー)により遷移周波数が決定され、かつ、ベロシティデータによりレベルが決定される。さらに、フィルタ係数算出回路26において、レベルには、時間の経過とともに変化する補正されたゲインエンベロープ(第1のエンベロープ)が加算されている。
以下、補正されたゲインエンベロープの目標値をGainEnvelopeTarget’、ベロシティデータに基づくゲインエンベロープの目標値をGainEnvelopeTarget、オリジナル波形データのノートナンバーをOriginalKey、ノートオンすべきノートナンバーをNoteNoとすると、GainEnvelopeTarget’は、以下のように表される。
GainEnvelopeTarget’=GainEnvelopeTarget−Gsence*(NoteNo−OriginalKey)
ここに、Gsenseは、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、適当な値に設定される。
上記補正式によれば、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより高ければ、補正により、ゲインエンベロープのレベルは小さくなる。つまり、Gsense以降が正であるため、GainEnvelopeTargetが減算される。その一方、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより低ければ、ゲインエンベロープのレベルは大きくなる。つまり、Gsense以降が負であるため、GainEnvelopeTargetが加算される。
このように、本実施の形態においては、発音すべき楽音のノートナンバーがオリジナル波形のノートナンバーより高い場合、つまり、補正なしでは、ピッチの変更によりスペクトルが図23(b)のようになる場合には、高次倍音のレベルがより低くなるように、補正されたゲインエンベロープGainEnvelopeTarget’を算出する。これに対して、発音すべき楽音のノートナンバーがオリジナル波形のノートナンバーより低い場合、つまり、補正なしでは、ピッチ変更によりスペクトルが図22(b)のようになる場合には、高次倍音のレベルがより高くなるように、補正されたゲインエンベロープGainEnvelopeTarget’を算出する。
なお、ゲインエンベロープは、時間の経過とともに変化するため、補正されたゲインエンベロープデータも時間の経過とともに変化する時系列データとなる。
本実施の形態においては、ゲインエンベロープを調整することにより、フィルタのパラメータの1つであるゲインを調整して音色を補正する(フィルタ補正処理)一方、ピッチ変更に伴う音量の変化をアンプエンベロープの補正により調整している(アンプ補正処理)。
以下、補正されたアンプエンベロープの目標値をAmpEnvelopeTarget’、ベロシティデータに基づくアンプエンベロープの目標値をAmpEnvelopeTarget、オリジナル波形データのノートナンバーをOriginalKey、ノートオンすべきノートナンバーをNoteNoとすると、AmpEnvelopeTarget’は、以下のように表される。
AmpEnvelopeTarget’=AmpEnvelopeTarget−Asence*(NoteNo−OriginalKey)
ここに、Asenseは、Gsenseと同様に、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、適当な値に設定される。
このように、アンプエンベロープの補正においても、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより高ければ、補正により、アンプエンベロープのレベルは小さくなり、音量をより小さくするように補正される。その一方、発音すべき楽音のノートナンバーが、オリジナル波形データのノートナンバーより低ければ、アンプエンベロープのレベルは大きくなり、音量はより大きくなるように補正される。
ノートオフ時のフィルタ補正処理(ステップ303)およびアンプ補正処理(ステップ304)についても同様である。フィルタ補正処理においては、GainEnvelopeTargetとしてキーオフ用ゲインエンベロープを用いればよい。アンプ処理においても、AmpEnvelopTargetとして、キーオフ用アンプエンベロープを用いればよい。
本実施の形態によれば、遷移周波数およびゲインに基づいてフィルタ係数を出力するパラメータテーブルを設け、パラメータテーブルを利用したフィルタ係数によりフィルタ回路を制御している。遷移周波数は発音すべき楽音の基本波の周波数に基づくものであり、かつ、ゲインは、その減衰の程度(または増強の程度)を示す。したがって、直感的な理解が容易なパラメータによって、また、複雑な演算を行うことなく、アコースティック楽器、特に、アコースティックピアノのフィルタ特性にきわめて近似したフィルタ特性を有するディジタルフィルタを実現することが可能となる。
また、本実施の形態によれば、発音すべき楽音の音高(ノートナンバー)と波形ROMから読み出されたオリジナル波形データの音高(ノートナンバー)との差分に基づいて、ゲインを増大させ、或いは、減少させることで、基本波に対する高次倍音のレベルを調整している。本実施の形態によれば、オリジナル波形データのピッチの変更の際のフォルマントを補正し、ピッチが変更された場合であってもフォルマントが変わらないようにすることができる。
次に、本発明の第2の実施の形態について説明する。図15に示すように、第2の実施の形態にかかる電子楽器は、第1の実施の形態の構成に加えて、ベンダーボリューム14を備えている。ベンダーボリューム14は、マイクロコンピュータ1に内蔵されるA/Dコンバータ(図示せず)の入力端子に接続されており、そのボリューム値がA/Dコンバータによりディジタル値に変換され、マイクロコンピュータ1は、ディジタル化されたボリューム値に基づいて発音中の楽音のピッチを変更するための処理を実行する。なお、ボリューム値に基づく発音中の楽音のピッチ変更処理(以下、「ベンダー処理」と称する。)は、ピッチ変更による不連続感が感じられない程度の周期で実行される。
図16は、第2の実施の形態にかかるベンダー処理を示すフローチャートである。ベンダー処理は、上述したように所定の周期で実行される割り込み処理である。図16に示すように、ベンダーボリュームのボリューム値を取り込み(ステップ1601)、前回の処理時の値と比較して、変化があったか否かを判断する(ステップ1602)。変化があった場合には(ステップ1602でYes)、ボリューム値と、ベンドレンジデータとからピッチ変化量を算出し、算出されたピッチ変化量にしたがってピッチデータを生成して楽音発生回路7に転送する(ステップ1603)。なお、ベンドレンジデータとは、ベンダーをフルスケールで動かしたときのピッチの変更範囲を示すものであり、RAM3に記憶されている。
次いで、マイクロコンピュータ1は、先に算出されたピッチ変化量から、ゲインエンベロープ(第1のエンベロープ)を補正し、補正されたゲインエンベロープを、レートとともに、楽音発生回路7に転送する(ステップ1604)。
補正されたゲインエンベロープの目標値をGainEnvelopeTarget’、ベロシティデータに基づくゲインエンベロープの目標値をGainEnvelopeTarget、ピッチ変化量をPitchChangeとすると、GainEnvelopeTarget’は、以下のように表される。
GainEnvelopeTarget’=GainEnvelopeTarget−Gsence*PitchChange
ここに、Gsenseは、補の感度データであり、どの程度、エンベロープを変化させるかを表すものであり、ピッチ変化量に応じて適当な値に設定される。なお、ピッチ変化量は、ピッチ変化後の新たな周波数(新たなピッチデータの周波数)から発音中の楽音の周波数を引いた差分値であり、前記新たな周波数が前記発音中の楽音の周波数より高いときに正となる。したがって、この場合に、補正されたゲインエンベロープは、もとのエンベロープから減少する。その一方、ピッチ変化量は、新たな周波数が発音中の楽音の周波数より低いときに負となる。したがって、この場合には、補正されたゲインエンベロープは、もとのエンベロープより増大する。
また、マイクロコンピュータ1は、ピッチ変化量から、アンプエンベロープ(第2のエンベロープ)を補正し、補正されたアンプエンベロープを、レートとともに、楽音発生回路7に転送する(ステップ1605)。
以下、補正されたアンプエンベロープの目標値をAmpEnvelopeTarget’、ベロシティデータに基づくアンプエンベロープの目標値をAmpEnvelopeTarget、ピッチ変化量をPitchChangeとすると、AmpEnvelopeTarget’は、以下のように表される。
AmpEnvelopeTarget’=AmpEnvelopeTarget−Asence*PitchChange
ここに、Asenseは、Gsenseと同様に、補正感度データであり、どの程度、エンベロープを変化させるかを表すものであり、ピッチ変化量に応じて適当な値に設定される。
このように、ベンダーボリュームの操作に伴って発音中の楽音のピッチが変更される場合にも、ピッチ変化量に基づいて、ゲインエンベロープおよびアンプエンベロープを補正する。したがって、発音中の楽音のピッチが変更されるときであっても、フォルマントが変わらないようにすることができ、不自然な音色等の変化を防止することが可能となる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
なお、前記第1の実施の形態において、補正されたゲインエンベロープを算出するために、発音すべき楽音のノートナンバーと、オリジナル波形データのノートナンバーとの差分値を、元のゲインエンベロープに加算(減算)している。しかしながら、このような演算に限定されず、発音すべき楽音のノートナンバーとオリジナル波形データのノートナンバーとの比や、差分値に基づく比を算出し、ゲインエンベロープを比に基づいて(たとえば乗算して)変化させても良い。アンプエンベロープの補正についても同様である。
また、前記実施の形態において、マイクロコンピュータから楽音発生回路に関して、ゲインエンベロープ(第1のエンベロープ)の目標値およびレートが与えられ、また、アンプエンベロープ(第2のエンベロープ)の目標値およびレートが与えられている。したがって、楽音発生回路7では、目標値に到達するまでレートにしたがってそれぞれのエンベロープを補間するようになっている。しかしながらこのような構成に限定されるものではない。
図1は、本発明の第1の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。 図2は、本実施の形態にかかるマイクロコンピュータにおけるノートオン処理を示すフローチャートである。 図3は、本実施の形態にかかるマイクロコンピュータにおけるノートオフ処理を示すフローチャートである。 図4は、本実施の形態にかかる鍵域を説明するための図である。 図5は、本実施の形態にかかる楽音発生回路をより詳細に示すブロックダイヤグラムである。 図6は、演奏強弱によるアコースティックピアノの音色フィルタを実現するための理想的なフィルタ特性を説明する図である。 図7は、ある遷移周波数で、ゲインを変更したときの二次IIRフィルタの特性を示す。 図8は、図7に示すフィルタ特性を実現するための、二次のフィルタ係数を示すグラフである。 図9は、本実施の形態におけるフィルタ特性およびパラメータテーブルを説明するための図である。 図10は、本実施の形態にかかるフィルタ係数算出回路の構成を示すブロックダイヤグラムである 図11は、本実施の形態にかかる補間回路をより詳細に示すブロックダイヤグラムである。 図12は、本実施の形態にかかるフィルタ回路の概略を示すブロックダイヤグラムである。 図13は、本実施の形態にかかる二次元補間を説明する図である。 図14は、本実施の形態にかかるフィルタ係数算出の際のタイミングチャートである。 図15は、本発明の第2の実施の形態にかかる電子楽器の概略を示すブロックダイヤグラムである。 図16は、本実施の形態にかかるマイクロコンピュータにおけるベンダー処理を示すフローチャートである。 図17(a)、(b)は、アコースティックピアノの波形を示すグラフである。 図18(a)、(b)は、図17(a)、(b)のそれぞれの波形から算出されたスペクトルを示すグラフである。 図19は、図18(a)、(b)に示すスペクトルから抽出したスペクトラム・エンベロープを示す図である。 図20は、従来の帰還形二次フィルタにおいて、パラメータとしてfcを変更したときのフィルタ特性を示すグラフである。 図21(a)、(b)はオリジナル波形データの例およびそのスペクトルを示す図である。 図22(a)、(b)は、オリジナル波形データを、その周波数をオリジナル周波数の1/2倍として読み出したときの波形データおよびそのスペクトルを示す図である。 図23(a)、(b)は、オリジナル波形データを、その周波数をオリジナル周波数の2倍として読み出したときの波形データおよびそのスペクトルを示す図である。
符号の説明
1 マイクロコンピュータ
2 ROM
3 RAM
4 スイッチ類
5 タッチ検出回路
6 鍵盤
7 楽音発生回路
8 波形ROM
9 DAC
10 増幅回路
11、12 スピーカ
20 インタフェース
21 波形発生回路
22 フィルタ回路
23 乗算器
24 ミキサ
26 フィルタ係数算出回路

Claims (13)

  1. 所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、発音すべき楽音の周波数と前記所定の周波数とに基づいて決定された速度で読み出すことにより、発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
    フィルタ係数の組を出力するフィルタ係数出力手段と、
    前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
    前記フィルタ係数出力手段が、
    複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
    前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
    前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、
    を有することを特徴とする楽音発生装置。
  2. 前記パラメータテーブルは、
    発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
    予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第2のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第1のパラメータとして、
    前記複数の第1のパラメータのそれぞれについて、第1のパラメータ及び最大レベルが異なる複数の第2のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納したことを特徴とする請求項1に記載の楽音発生装置。
  3. 前記パラメータ生成手段は、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より高いときに、前記第2のパラメータを減少させ、前記発音すべき楽音の周波数が前記オリジナル楽音波形データの周波数より低いときに、前記第2のパラメータを増大させることを特徴とする請求項2に記載の楽音発生装置。
  4. 前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分値を算出し、当該差分値に基づいて前記第2のパラメータを補正することを特徴とする請求項2または3に記載の楽音発生装置。
  5. 前記波形記憶手段には、前記オリジナル楽音波形データが周波数帯域ごとに異なる周波数にて、記憶され、
    前記パラメータ生成手段は、発音すべき楽音の周波数が属する周波数帯域に基づき、前記オリジナル楽音波形データを記憶する際の周波数を特定することを特徴とする請求項1ないし4の何れか一項に記載の楽音発生装置。
  6. 前記パラメータ生成手段は、前記発音すべき楽音の周波数と前記オリジナル楽音波形データの周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正することを特徴とする請求項1ないし5の何れか一項に記載の楽音発生装置。
  7. 発音すべき楽音の周波数及び強度を指定する発音指示手段と、
    所定の周波数のオリジナル楽音波形データを記憶した波形記憶手段から、前記発音すべき楽音の周波数と前記所定の周波数とから決定される速度で前記オリジナル楽音波形データを読み出すことにより当該発音すべき楽音の周波数の楽音波形データを生成する楽音波形データ生成手段と、
    複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
    前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音すべき楽音の周波数と、前記オリジナル楽音波形データの周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
    前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
    前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、
    を備えたことを特徴とする電子楽器。
  8. 楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
    フィルタ係数の組を出力するフィルタ係数出力手段と、
    前記楽音波形データ生成手段により生成された楽音波形データに対して、前記フィルタ係数出力手段から出力されたフィルタ係数の組により規定されたフィルタ特性に基づくフィルタ処理を施すフィルタ手段と、を備えた楽音発生装置であって、
    前記フィルタ係数出力手段が、
    複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベルの夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
    前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
    前記パラメータ生成手段からにより生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して前記フィルタ手段に出力するフィルタ係数生成手段と、
    を有することを特徴とする楽音発生装置。
  9. 前記パラメータテーブルは、
    発音すべき楽音の周波数により規定され、その高低に伴って高低し、かつ、そこからフィルタのゲインの減衰或いは増強が開始される基準周波数から、ほぼ一定の傾きをもって減衰或いは増強され、かつ前記傾きが、前記発音すべき楽音の強度が大きくなるのにともなって、大きくなるように変化するフィルタ特性となるように、
    予め定められた所定の周波数におけるゲインの減衰或いは増強の最大レベルを第2のパラメータとし、かつ、ゲインのレベルが前記最大レベルから所定の比率となるような周波数である遷移周波数を第1のパラメータとして、
    前記複数の第1のパラメータのそれぞれについて、第1のパラメータ及び最大レベルが異なる複数の第2のパラメータのそれぞれの組に基づく、フィルタ係数の組を格納したことを特徴とする請求項8に記載の楽音発生装置。
  10. 前記パラメータ生成手段は、前記新たな周波数が前記発音中の楽音の周波数より高いときに、前記第2のパラメータを減少させ、前記新たな周波数が前記発音中の楽音の周波数より低いときに、前記第2のパラメータを増大させることを特徴とする請求項9に記載の楽音発生装置。
  11. 前記パラメータ生成手段は、前記新たな周波数と前記発音中の楽音の周波数との差分値を算出し、当該差分値に基づいて前記第2のパラメータを補正することを特徴とする請求項9または10に記載の楽音発生装置。
  12. 前記パラメータ生成手段は、前記発音中の楽音の周波数と前記新たな周波数との差分に基づいて、前記楽音波形データの強度を制御するアンプエンベロープを補正することを特徴とする請求項8ないし11の何れか一項に記載の楽音発生装置。
  13. 発音すべき楽音の周波数及び強度を指定する発音指示手段と、
    楽音波形データを記憶した波形記憶手段から所定の周波数の楽音波形データを読み出すとともに、ピッチ変更の指示の受信に応答して、その周波数を変更した新たな周波数の楽音波形データを生成する楽音波形データ生成手段と、
    複数の周波数夫々について、当該周波数に基づく第1のパラメータ、及び、前記フィルタ特性におけるフィルタのゲインの減衰或いは増強の度合いを表わす複数のレベル夫々に基づく第2のパラメータに関連付けられたフィルタ係数の組を記憶したパラメータテーブルと、
    前記発生すべき楽音の周波数及び強度に対応して第1のパラメータ及び第2のパラメータを決定するとともに、前記発音中の楽音の周波数とピッチ変更の指示による新たな周波数との差分に基づいて、前記決定された第2のパラメータを補正するパラメータ生成手段と、
    前記パラメータ生成手段により生成される第1のパラメータ及び第2のパラメータに基づいて、前記パラメータテーブルから、該当するフィルタ係数の組を取り出して出力するフィルタ係数生成手段と、
    前記楽音波形データ生成手段からの楽音波形データに対して、このフィルタ係数生成手段からのフィルタ係数の組により規定されるフィルタ特性に基づくフィルタ処理を施して出力するフィルタ手段と、
    を備えたことを特徴とする電子楽器。
JP2006252185A 2006-09-19 2006-09-19 楽音発生装置および電子楽器 Active JP4432951B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006252185A JP4432951B2 (ja) 2006-09-19 2006-09-19 楽音発生装置および電子楽器
US11/901,472 US7622665B2 (en) 2006-09-19 2007-09-17 Filter device and electronic musical instrument using the filter device
CN2007101533592A CN101149916B (zh) 2006-09-19 2007-09-18 滤波装置以及使用滤波装置的电子乐器
EP07018319.9A EP1903556B1 (en) 2006-09-19 2007-09-18 Filter device and electronic musical instrument using the filter device
US12/571,181 US8067684B2 (en) 2006-09-19 2009-09-30 Filter device and electronic musical instrument using the filter device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006252185A JP4432951B2 (ja) 2006-09-19 2006-09-19 楽音発生装置および電子楽器

Publications (2)

Publication Number Publication Date
JP2008076440A true JP2008076440A (ja) 2008-04-03
JP4432951B2 JP4432951B2 (ja) 2010-03-17

Family

ID=39348617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006252185A Active JP4432951B2 (ja) 2006-09-19 2006-09-19 楽音発生装置および電子楽器

Country Status (1)

Country Link
JP (1) JP4432951B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4961946B2 (ja) * 2006-10-27 2012-06-27 カシオ計算機株式会社 フィルタ装置および電子楽器

Also Published As

Publication number Publication date
JP4432951B2 (ja) 2010-03-17

Similar Documents

Publication Publication Date Title
JP4661745B2 (ja) フィルタ装置および電子楽器
JP7331746B2 (ja) 電子鍵盤楽器、楽音発生方法及びプログラム
US5270954A (en) Filter device and electronic musical instrument using the filter device
JP4702392B2 (ja) 共鳴音発生装置および電子楽器
JP2722795B2 (ja) 楽音合成装置
JP2009175677A (ja) 共鳴音付加装置および電子楽器
JP4935556B2 (ja) 電子楽器の共鳴音付加装置および電子楽器
JP4432951B2 (ja) 楽音発生装置および電子楽器
JP4961946B2 (ja) フィルタ装置および電子楽器
JP2016038543A (ja) 効果付加装置、方法、およびプログラム、電子楽器
US8067684B2 (en) Filter device and electronic musical instrument using the filter device
JP5169753B2 (ja) 共鳴音付加装置および電子楽器
JP5549691B2 (ja) フィルタ装置および電子楽器
JP2005024997A (ja) 弦楽器および効果装置
JP3419175B2 (ja) エンベロープ検出方法
JP2687698B2 (ja) 電子楽器の楽音制御装置
JP5035388B2 (ja) 共鳴音発生装置および電子楽器
JP3727110B2 (ja) 楽音合成装置
JP3706372B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3282438B2 (ja) 楽音信号合成装置
JP3353516B2 (ja) 楽音合成装置
JP2580795B2 (ja) 電子楽器
JPH09120281A (ja) 効果装置
JPH0926788A (ja) 楽音合成装置のパラメータ設定装置及び方法
JPH0594193A (ja) 電子楽器のフイルタ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091119

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091214

R150 Certificate of patent or registration of utility model

Ref document number: 4432951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3