IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

<>
  • 特許-電子楽器、楽音発生方法及びプログラム 図1
  • 特許-電子楽器、楽音発生方法及びプログラム 図2
  • 特許-電子楽器、楽音発生方法及びプログラム 図3
  • 特許-電子楽器、楽音発生方法及びプログラム 図4
  • 特許-電子楽器、楽音発生方法及びプログラム 図5
  • 特許-電子楽器、楽音発生方法及びプログラム 図6
  • 特許-電子楽器、楽音発生方法及びプログラム 図7
  • 特許-電子楽器、楽音発生方法及びプログラム 図8
  • 特許-電子楽器、楽音発生方法及びプログラム 図9
  • 特許-電子楽器、楽音発生方法及びプログラム 図10
  • 特許-電子楽器、楽音発生方法及びプログラム 図11
  • 特許-電子楽器、楽音発生方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】電子楽器、楽音発生方法及びプログラム
(51)【国際特許分類】
   G10H 1/00 20060101AFI20221101BHJP
   G10H 1/10 20060101ALI20221101BHJP
   G10H 7/02 20060101ALI20221101BHJP
【FI】
G10H1/00 C
G10H1/10 Z
G10H7/02
【請求項の数】 10
(21)【出願番号】P 2019172949
(22)【出願日】2019-09-24
(65)【公開番号】P2021051144
(43)【公開日】2021-04-01
【審査請求日】2021-06-04
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】坂田 吾朗
【審査官】米倉 秀明
(56)【参考文献】
【文献】特開平10-063270(JP,A)
【文献】特開2012-203145(JP,A)
【文献】特開平02-310596(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00- 7/12
(57)【特許請求の範囲】
【請求項1】
第1音高に対応する第1閉ループからの第1出力信号と、第2音高に対応する第2閉ループからの第2出力信号と、を加算することで加算信号を生成し、
前記加算信号から前記第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより、前記第2音高に応じた信号成分を含む楽音信号を、前記第1音高に応じた楽音信号として出力し、
前記減算信号は、発音中の音高に対応する閉ループに帰還させ、発音中ではない音高に対応する閉ループには帰還させない、
電子楽器。
【請求項2】
前記第1音高に対応する第1操作子及び前記第2音高に対応する第2操作子を含む複数の操作子と、音源と、を備え、
前記音源が、
前記第1操作子及び前記第2操作子の指定に応じて、前記第1音高に対応する前記第1閉ループからの前記第1出力信号と、前記第2音高に対応する前記第2閉ループからの前記第2出力信号と、を生成し、
前記第1出力信号と前記第2出力信号とを加算することで前記加算信号を生成し、
前記加算信号から前記第1閉ループ内を循環する信号を減算した前記減算信号を前記第1閉ループに帰還させることにより、前記第2音高に応じた信号成分を含む前記楽音信号を、前記第1音高に応じた楽音信号として出力する、請求項1に記載の電子楽器。
【請求項3】
前記音源は、
前記加算信号を生成するために、前記第1閉ループからの第1出力信号と、前記第2閉ループからの第2出力信号と、の加算結果の信号の極性を反転させる、請求項2に記載の電子楽器。
【請求項4】
前記音源は、
前記第1操作子及び第2操作子の指定に応じて、
前記第1音高に応じた励振信号を循環させている前記第1閉ループに、前記第2音高に応じた励振信号を循環させている第2閉ループからの第2出力信号に基づく信号を加えることにより前記第2音高に応じた信号成分を含む前記第1音高に応じた楽音信号を生成するとともに、前記第2閉ループに、前記第1閉ループからの第1出力信号に基づく信号を加えることにより前記第1音高に応じた信号成分を含む前記第2音高に応じた楽音信号を生成する、請求項2または3に記載の電子楽器。
【請求項5】
前記励振信号は、対応する音高において音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して窓関数を掛けることにより生成されている、請求項4に記載の電子楽器。
【請求項6】
音高データ及び音量データを含む演奏操作データの入力に応じて、入力された前記演奏操作データに含まれる音高データが示す音高に応じた励振信号用波形データから、入力された前記演奏操作データに含まれる音量データに応じた部分データを読み出し、
読み出された前記部分データに対して窓関数を掛けることにより前記励振信号を生成する、請求項4または5に記載の電子楽器。
【請求項7】
読み出される前記部分データのサンプル数は前記音高データが示す音高に応じて異なり、前記窓関数の窓の幅も前記音高データが示す音高に応じて異なる、請求項6に記載の電子楽器。
【請求項8】
複数の音高それぞれを指定する複数の操作子と、
前記複数の音高にそれぞれ対応する出力信号を生成する複数の閉ループを有する音源と、
を備え、前記音源は、
前記複数の操作子の操作で指定される音高の出力信号を、指定された音高に対応する閉ループから出力し、
前記複数の閉ループそれぞれから出力される出力信号を加算することで加算信号を生成し、
前記複数の閉ループそれぞれについて、前記加算信号から各閉ループ内を循環する信号を減算した減算信号を各閉ループに帰還させることにより、複数の音高による共鳴音信号を含む楽音信号を各閉ループから出力し、
前記減算信号は、発音中の音高に対応する閉ループに帰還させ、発音中ではない音高に対応する閉ループには帰還させない、
電子楽器。
【請求項9】
電子楽器が、
第1操作子及び第2操作子の指定に応じて、第1音高に対応する第1閉ループからの第1出力信号と、第2音高に対応する第2閉ループからの第2出力信号と、を生成し、
前記第1出力信号と前記第2出力信号とを加算することで加算信号を生成し、
前記加算信号から前記第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより、前記第2音高に応じた信号成分を含む楽音信号を、前記第1音高に応じた楽音信号として出力し、
前記減算信号は、発音中の音高に対応する閉ループに帰還させ、発音中ではない音高に対応する閉ループには帰還させない、
方法。
【請求項10】
電子楽器のコンピュータに、
第1操作子及び第2操作子の指定に応じて、第1音高に対応する第1閉ループからの第1出力信号と、第2音高に対応する第2閉ループからの第2出力信号と、を生成させ、
前記第1出力信号と前記第2出力信号とを加算することで加算信号を生成させ、
前記加算信号から前記第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより、前記第2音高に応じた信号成分を含む楽音信号を、前記第1音高に応じた楽音信号として出力させ、
前記減算信号は、発音中の音高に対応する閉ループに帰還させ、発音中ではない音高に対応する閉ループには帰還させない、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器、楽音発生方法及びプログラムに関する。
【背景技術】
【0002】
アコースティックピアノの共鳴音をより忠実に模擬できる共鳴音生成装置の技術が提案されている。(例えば、特許文献1)
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-143764号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
電子楽器、特に弦のモデルを使用する電子楽器において、弦のモデルを遅延出力と帰還出力とを含めたコムフィルタやウェーブガイドにより、弦同士のストリングレゾナンス効果と称される共鳴音を、弦モデル同士の信号をクロストークさせることにより発生させることは、異常発振につながる可能性が高く、実現が困難であった。
【0005】
これは、すべての弦モデルの累積出力を各弦モデルに再入力すると、その累積出力自体に各弦モデルの出力が含まれているために、コムフィルタの安定した帰還量を超えたフィードバックが発生するのが主な要因となるためである。
【0006】
遅延ループを応用した音源では、弦同士の共鳴を実現するために累積出力を再び各弦モデルに入力する(フィードバック型)と異常発振することが多いために、あえて共鳴器をモデル出力の後段に接続すること(フィードフォワード型)で実現されている例がある。これは、換言すると共鳴器を別途設置する方法となる。
【0007】
特許文献1に記載された技術もこのフィードフォワード型に相当し、弦モデルと同等の共鳴器をフィードフォワード型で接続することで、実際の物理的な共鳴を安定して発生させることができる。しかしながらその反面、弦モデルと共に共鳴器を設けるために、回路規模は非常に大きくなると言う不具合を生じる。
【0008】
本発明は前記のような実情に鑑みてなされたもので、その目的とするところは、回路規模を増大することなく、異常発振を抑制しながら共鳴音を生成することが可能な電子楽器、楽音発生方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の一態様に係る電子楽器は、第1音高に対応する第1閉ループからの第1出力信号と、第2音高に対応する第2閉ループからの第2出力信号と、を加算することで加算信号を生成し、前記加算信号から前記第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより、前記第2音高に応じた信号成分を含む楽音信号を、前記第1音高に応じた楽音信号として出力し、前記減算信号は、発音中の音高に対応する閉ループに帰還させ、発音中ではない音高に対応する閉ループには帰還させない
【発明の効果】
【0010】
本発明によれば、回路規模を増大することなく、異常発振を抑制しながら共鳴音を生成することが可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の一実施形態に係る共鳴する鍵相対位置に対応して共鳴音として発音させる相対音程の関係を示す図。
図2】同実施形態に係るシステム全体を簡略化して示す図。
図3】同実施形態に係る電子鍵盤楽器の基本的なハードウェア回路の構成を示すブロック図。
図4】同実施形態に係る音源のDSPが実行する機能をハードウェア構成として示すブロック図。
図5】同実施形態に係る波形メモリに格納される励振信号用の88鍵分の波形データを例示する図。
図6】同実施形態に係る波形読出し部と窓掛け処理部の回路構成を示すブロック図。
図7】同実施形態に係るオールパスフィルタの回路構成を示すブロック図。
図8】同実施形態に係るローパスフィルタの回路構成を示すブロック図。
図9】同実施形態に係る録音、収集された、或る鍵における音の強さ(ベロシティ値)の異なる楽音波形を例示する図。
図10】同実施形態に係る強弱波形の加算合成から励振信号を生成する方法を例示する図。
図11】同実施形態に係るベロシティ値に応じて波形メモリの読出しアドレスを変化させる過程を例示する図。
図12】同実施形態に係る波長(ピッチ)に応じた窓関数の関係を例示する図。
【発明を実施するための形態】
【0012】
以下、本発明を電子鍵盤楽器に適用した場合の一実施形態について、図面を参照して説明する。
[本実施形態の基本概念]
本発明を電子楽器に適用した場合の実施形態の具体的な構成と動作の説明を行なう前に、本実施形態での基本的な概要について説明しておく。
【0013】
発生すべき共鳴音を予めノートの関係から算出しておくことで、共鳴音を生成する方法もある。例えば、A4(440Hz)とA5(880Hz)の各音高の音を同時に重ね合わせて発音させた場合、A4の第2倍音(880Hz)とA5の基音(880Hz)が同じ周波数となり、A5(880Hz)の共鳴音が発生する。この場合の相対音高差は12半音となる。
【0014】
図1は、共鳴する鍵相対位置(半音単位)に対応して共鳴音として発音させる相対音程(半音単位)の関係を示す図である。図1中、鍵相対位置「+12」を検索し、発音する相対音程「+12」を得る。すなわち、ある音高を基準にした場合、例えばA4に12半音をプラスした結果のA5を得る、というように、2音の相対的な音高差と発音すべき共鳴相対音程をルックアップテーブル等により記憶しておくか、あるいはその都度2つの音程の基音周波数の公倍数を算出することで、共鳴音を発生させる各音高を示すデータを取得し、取得されたデータに基づいて、共鳴音を発生させることができる。
【0015】
このような方法を採る場合、特別な共鳴器がなく、実際に共鳴するものでもないために異常発振を生じることもない。ただし、2音を発音させる場合は1音の共鳴音を発音させるだけでよいが、3音を発音させる場合には3通りの音の組合わせで3つの共鳴関係を考慮する必要があり、共鳴音も3音となる。つまり、発音数の増加に伴って発生すべき共鳴音の組み合わせの数が急激に増加する。すなわち、各共鳴音を発音させるための発音チャンネルがそれぞれ必要となる。それゆえ、共鳴音の発生数に制限を設けるならば、発生すべき共鳴音のすべてが発生できなくなるというデメリットが生じることになるうえ、組み合わせのすべてをプロセッサで演算するならば、ソフトウェア上の負担が増すことにもなる。
【0016】
そこで本実施形態では、複数の弦のモデルのストリングレゾナンス効果による共鳴音を、多くの演算リソースを追加せずに実現する。すなわち、複数の鍵の押鍵に応じて、複数の弦モデルがそれぞれ出力する各出力データを累算した全弦モデルの累算データから、自弦モデルからの出力データを減算することで得られる自弦モデルを除く他弦モデルの累算データを自弦モデルにフィードバックとして帰還入力させることで、異常発振を起こりにくくしたものである。
【0017】
図2は、本実施形態に係る弦モデルシステムを簡略化して示す図である。例えばピアノの電子楽器の場合、最大88鍵部の弦モデルSM1~SM88を備えるもので、それぞれの出力信号が加算器AD1で累算され、その累算出力を楽音信号として出力させる。同時に、同累算出力を反転アンプMP1により極性(位相)を反転(-1を乗算)させた上で帰還ループ信号として各弦モデルSM1~SM88に帰還入力させる。
【0018】
各弦モデルSM1~SM88では、それぞれ自身の弦モデルで出力した内容を帰還ループ信号から減算した上で、その差となる信号をモデル内のループ回路に加算することで、共鳴音を伴う楽音を発生する。
【0019】
図2に示したように、累算出力を反転アンプMP1により極性(位相)を反転(×-1)させる負帰還型の構成とすることで、各弦自身の帰還値が負帰還係数を減じた分低くなり、安定度を増すことができる。
【0020】
そして、安定度が増すことで、共鳴値の上限をより高く設定することができ、大きなストリングレゾナンス効果を得ることができる。
【0021】
ちなみに、負帰還の構成にすることで、各弦自身の帰還値が負帰還係数を減じた分低くなり、すなわち各弦の帰還率が低くなることで利得が小さくなる。弦モデルは、正帰還の遅延ループであるから各弦の音程は異なるが、各弦の直流利得は等しい。各弦の直流利得が小さくなることで、利得が高いことに起因する残留も減少できるというわけである。
【0022】
[構成]
図3は、同実施形態を電子鍵盤楽器10に適用した場合の基本的なハードウェア回路の構成を示すブロック図である。同図で、演奏操作子である鍵盤部11での操作に応じた、ノートナンバー(音高情報)と音量情報としてのベロシティ値(押鍵速度)とを含む操作信号が、LSI12のCPU12Aに入力される。
【0023】
LSI12は、バスBを介してCPU12A、ROM12B、RAM12C、音源12D、D/A変換部(DAC)12Eを接続している。
【0024】
CPU12Aは、電子鍵盤楽器10全体の動作を制御する。ROM12Bは、CPU12Aが実行する動作プログラムや演奏のための励振信号用波形データ等を記憶する。RAM12Cは、CPU12AがROM12Bに記憶されている動作プログラムを読み出して展開記憶し、当該プログラムを実行する際のワークメモリである。CPU12Aは、演奏動作時に音源12Dに対して、ノートナンバーやベロシティ値などのパラメータを与える。
【0025】
音源12Dは、DSP(デジタルシグナルプロセッサ)12D1、プログラムメモリ12D2、ワークメモリ12D3を有する。DSP12D1がプログラムメモリ12D2に記憶される動作プログラムや固定データを読み出してワークメモリ12D3上に展開して記憶させた上で動作プログラムを実行することにより、CPU12Aから与えられたパラメータに応じて、ROM12Bから必要な励振信号用波形データに基づく部分データを読出し、信号処理によって楽音信号を生成し、生成した楽音信号をD/A変換部12Eへ出力する。
【0026】
D/A変換部12Eは、楽音信号をアナログ化してアンプ(amp.)13へ出力する。アンプ13で増幅されたアナログの楽音信号により、スピーカ14が楽音を拡声放音する。
【0027】
図4は、主として音源12DのDSP12D1が実行する機能をハードウェア構成として示すブロック図である。同図は、後述するノートイベント処理部31、波形メモリ34、加算器44、遅延保持部48、反転アンプ49を除いて、図中にIVで示す範囲が鍵盤に含まれる1鍵に相当する。この電子鍵盤楽器10では、鍵盤部11に88鍵あるものとして、同様の回路が88鍵分設けられる。
【0028】
また電子鍵盤楽器10では、実際のアコースティックピアノに準じて、1鍵当たりで1本(最低音域)、2本(低音域)または3本(中音域以上)の弦モデルの信号循環回路を有するものとする。図4では、3本の弦モデルの信号循環回路を有する鍵用の回路IVを抽出して示している。
【0029】
前記鍵盤部11での鍵の操作に応じたノートオン/オフ信号が、CPU12Aからノートイベント処理部31に入力される。
【0030】
ノートイベント処理部31は、操作された鍵に応じて、共鳴音として図1で示した発音する相対音程を考慮した上で、発音開始(ノートオン)時のノートナンバーとベロシティ値の各情報を波形読出し部32及び窓掛け処理部33に送出するとともに、各弦モデルのゲートアンプ35A~35Cにノートオン信号とベロシティ値に応じた乗数とを送出する。
【0031】
さらにノートイベント処理部31は、エンベロープジェネレータ(EG)42と減衰アンプ40A~40Cに対して帰還減衰量を示す信号を送出する。
【0032】
波形読出し部32は、ノートナンバーとベロシティ値の情報とに応じた読出しアドレスを発生して、波形メモリ34から励振信号としての波形データを読出す。
【0033】
図5は、波形メモリ34に格納される、励振信号用の88鍵分の波形データを例示するものである。Wave(0)が最低音の波形データ、Wave(87)が最高音の波形データである。同一波長数分だけ波形データを格納するのに際し、低音の方が波長が長いため、高いノートナンバーに対応する波形データよりも低いノートナンバーに対応する波形データの方が、波形データが長くなり、メモリにおける占有領域が大きくなる。
【0034】
発音する音高にしたがって、この88音の励振信号用波形データのどれかの先頭アドレスに、発音のベロシティ値に応じて各Wave(n)内でオフセットした値が加算されたアドレス値が、オフセットアドレスとして与えられる。
【0035】
波形読出し部32は、波形メモリ34から読出した部分データを窓掛け処理部33へ出力する。
【0036】
窓掛け処理部33は、ノートナンバー情報から当該ノートナンバーに応じた音高の波長に対応した時間幅で窓掛け(窓関数)処理を実行し、窓掛け処理後の波形データをゲートアンプ35A~35Cへ送出する。
【0037】
以下、3本の弦モデルの信号循環回路の1つ、例えば最上段のゲートアンプ35Aの後段側を例にとって説明する。
【0038】
ゲートアンプ35Aにおいて、窓掛け処理後の波形データに対し、ベロシティ値に応じた乗数での増幅処理を施し、処理後の波形データを加算器36Aへ出力する。加算器36Aにはまた、後述する加算器41Aの出力する、共鳴音が重畳された波形データが帰還入力されており、その加算出力がこの弦モデルの出力として、ディレイ回路37A及び加算器43に出力される。
【0039】
ディレイ回路37Aは、アコースティックピアノにおいて、当該弦が振動した際に出力される音の1波長の整数部に応じた値(例えば、高音の鍵に対応している場合は20、低音の鍵に対応している場合は2000といった整数値)として、弦長ディレイPt0_r[n]が設定されており、その弦長ディレイPt0_f[n]分だけ波形データを遅延して、後段のオールパスフィルタ(APF)38Aへ出力する。
【0040】
オールパスフィルタ38Aは、当該1波長の小数部に応じた値として、弦長ディレイPt0_f[n]が設定されており、その弦長ディレイPt0_f[n]分だけ波形データを遅延して、後段のローパスフィルタ(LPF)39Aへ出力する。つまり、ディレイ回路37A(~37C)及びオールパスフィルタ38A(~38C)により、入力されたノートナンバー情報(音高情報)に応じて決定されている時間(1波長分の時間)、遅延される。
【0041】
ローパスフィルタ39Aは、その弦長の周波数に対して設定された広域減衰用のカットオフ周波数Fc[n]より低域側の波形データを通過させて、減衰アンプ40A及び遅延保持部45Aへ出力する。
【0042】
減衰アンプ40Aは、共鳴音の重畳に関係ない通常の減衰処理を行ない、減衰後の波形データを加算器41Aへ出力する。
【0043】
遅延保持部45Aは、ローパスフィルタ39Aが出力した波形データを1サンプリング周期分だけ(Z-1)保持した上で減算器46Aへ減数として出力する。
【0044】
減算器46Aにはまた、後述する反転アンプ49から全弦モデルを重畳した、1サンプリング周期前の共鳴音の波形データが入力されており、ローパスフィルタ39Aの出力である、自身の弦モデルの波形データを減数として、その差の波形データが減衰アンプ47Aに出力される。
【0045】
ところで、エンベロープジェネレータ42はノートイベント処理部31からの帰還減衰量を示す信号により、時間的に変化するADSR(Attach(立ち上がり)/Decay(減衰)/Sustain(減衰後の保持)/Release(余韻))の段階に応じた音量を示す信号を乗算器50に送出する。乗算器50は、これと共鳴レベルの信号とを乗算して積を共鳴値を示す信号として減衰アンプ47A(~47C)に出力する。
【0046】
減衰アンプ47Aは、乗算器50から入力される、共鳴値に応じた減衰率での減衰処理を行ない、減衰後の波形データを加算器41Aへ出力する。
【0047】
加算器41Aは、減衰アンプ40Aが出力する、自身の弦モデルにおける波形データと、減衰アンプ47Aが出力する、自身の弦モデル分のみを減算した他の全弦モデルを重畳した共鳴音の波形データとを加算して、和となる波形データを帰還入力として加算器36Aへ与える。
【0048】
前述した如く加算器36Aでの加算出力が、この弦モデルの出力として、同ループ回路内のディレイ回路37Aに出力されると共に、加算器43に出力される。
【0049】
加算器43は、加算器36Aの出力する波形データと、同様に励振信号の循環回路を構成する他の2系統の弦モデルの加算器36B,36Cの出力する波形データとを加算処理し、その和を当該鍵の操作に応じた楽音信号として、加算器44に出力する。
【0050】
加算器44では、押されている各鍵の楽音信号を加算し、その和を楽音発生のために次段のD/A変換部12Dへ出力する一方で、加工前の共鳴音の波形データとして遅延保持部48へ出力する。
【0051】
遅延保持部48は、加算器44が出力した波形データを1サンプリング周期分だけ(Z-1)保持した上で、各鍵用の回路の減算器46A~46Cへ出力する。
【0052】
図6は、波形読出し部32と窓掛け処理部33の回路構成を示すブロック図である。
鍵盤部11での押鍵があった場合、発音すべきノートナンバーとベロシティ値とに応じた先頭アドレスを示すオフセットアドレスが、オフセットアドレスレジスタ51に保持される。このオフセットアドレスレジスタ51の保持内容が加算器52に出力される。
【0053】
一方、発音初期時にリセットされて「0(ゼロ)」となるカレントアドレスカウンタ53のカウント値が、加算器52、補間部56、加算器55、窓掛け部57に出力される。
【0054】
カレントアドレスカウンタ53は、励振信号の再生ピッチを保持するピッチレジスタ54の保持値と、自身のカウント値とが加算器55で加算された結果により、順次カウント値を増加させるカウンタとなる。
【0055】
ピッチレジスタ54の設定値である再生ピッチは、通常の場合、波形メモリ34内の波形データのサンプリングレートが弦モデルと一致していれば「1.0」となる一方、マスタチューニングやストレッチチューニング、音律等によりピッチが変更された場合には「1.0」から加減された値が与えられる。
【0056】
カレントアドレスにオフセットアドレスを加算する加算器52の出力(アドレス整数部)が読出しアドレスとして波形メモリ34に出力され、波形メモリ34から対応する波形データが読出される。
【0057】
読出された波形データは、補間部56において、カレントアドレスカウンタ53の出力する、ピッチに応じたアドレス小数部に応じて補間処理された後に、窓掛け部57へ出力される。窓掛け部57では、カレントアドレスカウンタ53の出力するカレントアドレスの進行に伴い、窓テーブル58に記憶される、ハニング(ハン/ハミング)窓やブラックマン窓などの窓関数テーブルに基づいて、波形データに対する窓掛け処理を行ない、窓掛け処理後の波形データを励振信号として、ゲートアンプ35A~35Cへ出力する。
【0058】
図7は、オールパスフィルタ38A(~38C)の詳細な回路構成を示すブロック図である。前段のディレイ回路37Aからの出力が、減算器71に入力される。減算器71は、アンプ72が出力する、1サンプリング周期前の波形データを減数として減算を実行し、その差となる波形データを遅延保持部73及びアンプ74へ出力する。アンプ74は、弦長ディレイPt_fに応じて減衰させた波形データを加算器75へ出力する。
【0059】
遅延保持部73は、送られてきたデータを保持し、1サンプリング周期分(Z-1)遅延してアンプ72及び加算器75へ出力する。アンプ72は、弦長ディレイPt_fに応じて減衰させた波形データを減算器71へ減数として出力する。加算器75の和出力が、前段のディレイ回路37A(~37C)での遅延動作と合わせて、入力されたノートナンバー情報(音高情報)に応じて決定されている時間(1波長分の時間)分だけ遅延した波形データとして、後段のローパスフィルタ39A(~39C)へ送出される。
【0060】
図8は、ローパスフィルタ39A(~39C)の詳細な回路構成を示すブロック図である。前段のオールパスフィルタ38A(~38C)からの遅延された波形データが減算器81に入力される。減算器81には、アンプ82が出力する、カットオフ周波数Fc以上の波形データが減数として与えられるもので、その差として、カットオフ周波数Fc未満の低域側の波形データが算出され、加算器83に出力される。
【0061】
加算器83には、遅延保持部84が出力する、1サンプリング周期前の同波形データが合わせて入力され、その和となる波形データが遅延保持部84へ出力される。遅延保持部84は、加算器83から送られてきたデータを保持し、1サンプリング周期分(Z-1)遅延して、このローパスフィルタ39Aの出力とする一方で、アンプ82、加算器83へも出力する。
【0062】
結果としてローパスフィルタ39A(~39C)は、その弦長の周波数に対して設定された広域減衰用のカットオフ周波数Fcより低域側の波形データを通過させて、後段の減衰アンプ40A及び遅延保持部45Aへ出力する。
【0063】
[動作]
次に前記実施形態の動作について説明する。
まず、波形メモリ34(ROM12B)に格納される波形データについて説明する。
【0064】
図9は、録音、収集された、同一ノートナンバーでベロシティ値の異なる楽音波形を例示する図である。図9(A)がピアノ(p)、図9(B)がメゾフォルテ(mf)、図9(C)がフォルテ(f)の各波形を示している。モデリングにおいては、波形の最初の部分に近く、衝撃以降で倍音構成が安定した部分(図中のt2区間)のみを使用することが望ましい。
【0065】
また、前処理として、これら複数の録音データに対し、振幅が等しくなるように正規化処理しておくことが望ましい。
【0066】
図10は、或るノートナンバーに対応する音高において、強弱波形の加算合成から励振信号を生成する方法を例示する図である。強弱に応じた波形データの先頭部分のデータを、図中にそれぞれ示す加算比率で示すような値で、格納アドレスの進行と同様の時系列に沿って、それぞれ強度が変化するように加算する。
【0067】
具体的には、図10(A)は、強度の高い(音の強さが、強い)第1の波形データであるフォルテ(f)の波形データの約6周期分を示すもので、この波形データに対して図10(B)に示すように、始めの約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器(アンプ)21では、「1.0」~「0.0」の間で変化する、この加算比信号を乗数(増幅率)として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0068】
同様に、図10(C)は、強度が中庸な(音の強さが、やや強い)第2の波形データであるメゾフォルテ(mf)の波形データの約6周期分を示すもので、この波形データに対して図10(D)に示すように、中央の約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器22がこの加算比信号を乗数として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0069】
同じく、図10(E)は、強度が低い(音の強さが、弱い)第3の波形データであるピアノ(p)の波形データの約6周期分を示すもので、この波形データに対して図10(F)に示すように、終盤の約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器23がこの加算比信号を乗数として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0070】
したがって、これらの波形データを加算する加算器24の出力は、図10(G)に示すように、2周期毎に「強」→「中」→「弱」と連続的に波形が変化する。
【0071】
このような波形データ(励振信号用波形データ)を波形メモリ34に格納しておき、演奏強度に応じた開始アドレスを指定することで、必要な波形データ(部分データ)を励振信号として読出す。読出した波形データは、図10(H)に示すように、窓掛け処理部33により窓掛け処理されて、後段の各信号循環回路に供給される。
【0072】
波形データとして2~3波長分を用いるために、音高によって、波形データを構成するサンプリングデータの数は異なる。例えば、アコースティックピアノの88鍵の場合、低音から高音で、サンプリングデータの数は約2000~20程度(サンプリング周波数:44.1[kHz]の場合)となる。
【0073】
なお、前記した波形データの加算方法は、同じ楽器の演奏強度が異なる波形データの組合わせのみに限るものではない。例えば、エレクトリックピアノの場合、鍵を弱打した場合は正弦波に近い波形特性を有する一方で、強打した場合はサチュレーションした矩形波のような波形の形状となる。これらの明らかに形状の異なる波形や、例えばギターなどから抽出した波形など、様々な異なる楽器の楽音を連続して加算し、演奏強度やその他の演奏操作子により連続的に変化させるようなモデリングの楽音を発生させることができる。
【0074】
図11は、音源12Dを駆動時に、波形読出し部32がベロシティ値に応じて波形メモリ34の読出しアドレスを変化させる過程を例示する。波形メモリ34に、図11(A)に示すように、フォルテ(f)からピアノ(p)に連続して変化するような波形データを格納しておき、演奏時のベロシティ値に応じた波形データ部分を読出すべく、読出し開始アドレスを変化させる。
【0075】
図11(B)は、ベロシティ値がフォルテ(f)の場合、図10(C)は、ベロシティ値がメゾフォルテ(mf)の場合、図10(D)は、ベロシティ値がピアノ(p)の場合の、それぞれ波形データの読出し範囲を示している。
【0076】
実際には前記3段階に限らず、図中に破線で窓掛け波形を示すように、ベロシティ値に応じて、例えばベロシティ値の分解能が7ビットであれば128段階に分けて、当該ノートナンバーでの波形データの読出し位置を連続的に変化させる。
【0077】
なお、読出した波形データに対する窓掛け処理を施すに当たっては、当該音程によって波長が異なるため、窓掛け処理を施す「窓」部分の時間長も異ならせる必要がある。
【0078】
図12は、波長(ピッチ)に応じた窓関数の関係を例示する図である。図12(A)は、音高F4(MIDI:65)のフォルテ(f)の場合の波形データに対する、波形読出し範囲と窓関数とを示す。同様に、図12(B)は、1オクターブ高い音高F5(MIDI:77)の場合、図12(C)は、さらに1オクターブ高い音高F6(MIDI:89)の場合を示している。
【0079】
各図に示すように、波形メモリ34に格納している波形データに対して窓掛け処理した結果を励振信号として用いる際、指定されたノートナンバーに応じた音高によって波長の時間幅が異なるため、楽音として発生させる発音ピッチに応じて窓掛けを行なうサイズ(時間幅)も変更する必要がある。
【0080】
なお、前述したように波形メモリ34から波形読出し部32が読出した波形データに対して、窓掛け処理部33により窓掛け処理を行なうのに加えて、波形メモリ34に格納している波形データ自体を、事前に窓掛け処理を施して不要な周波数成分を除去したものとする。
【0081】
ここで用いる、格納用の波形データに施す窓関数としては、例えばハニング(ハン/ハミング)窓、ブラックマン窓、カイザー窓など、楽音の原音の倍音成分に影響が少ない関数であれば良い。
【0082】
波形読出し部32により波形メモリ34から読出され、窓掛け処理部33で窓掛け処理された波形データが、ゲートアンプ35A~35Cを介して、操作されたベロシティ値に応じた乗数で処理された後に、弦モデルを構成する信号循環回路に入力される。
【0083】
1つの弦モデルにおいては、発生する楽音の波長分の遅延を生じさせるディレイ回路37A(~37C)を含んだ閉ループで構成されており、ループ内にはオールパスフィルタ38A(~38C)、ローパスフィルタ39A(~39C)、減衰アンプ40A(~40C)と、他の音高の全弦モデルの共鳴音の波形データを帰還入力させるための遅延保持部45A(~45C)、減算器46A(~46C)、減衰アンプ47A(~47C)、それらを加算する加算器41A(~41C)、モデルの信号の励振信号を加算する加算器36A(~36C)で構成されている。
【0084】
ディレイ回路37A(~37C)、オールパスフィルタ38A(~38C)は、発生する楽音のピッチ周波数の小数部の逆数と1とを加算した値をデジタル処理で遅延させる関係上、波長の整数部が弦長ディレイPt0_r[n](~Pt2_r[n])としてディレイ回路37A(~37C)に与えられる一方で、波長の小数部が弦長ディレイPt0_f[n] (~Pt2_f[n])としてオールパスフィルタ38A(~38C)に与えられる。
【0085】
前述した如く、図4では、アコースティックピアノに準じて1鍵に対応して3本の弦モデルが設けられた、中音域乃至高音域の鍵位置に対応する回路の構成を示している。
【0086】
アコースティックピアノの場合、これら3弦のモデルのピッチの調整具合がユニゾンと称され、微小に異なるピッチに設定される。これら異なるピッチは、モデリングするピアノによって調整されるパラメータである。
【0087】
発音からの時間と共に倍音成分の減衰を調整するローパスフィルタ39A(~39C)へのカットオフ周波数Fc[n]も、同様にモデリングするピアノや弦に応じて設定される。
【0088】
各弦モデルの出力は加算器43で加算され、さらに88鍵分の出力が加算器44で加算されて、次段のD/A変換部12Eへ出力されるとともに、共鳴音の波形データとして遅延保持部48、反転アンプ49により負帰還入力される。
【0089】
閉ループの弦モデルを励振する信号となる波形データは、波形読出し部32により波形メモリ34から読出され、窓掛け処理部33により窓掛け処理された後に、ゲートアンプ35A~35Cにおいてベロシティ値に応じた乗数が乗算されて、弦モデルを構成する各信号循環回路に供給される。
【0090】
ノートオン(押鍵)があった時点で、ノートイベント処理部31からエンベロープジェネレータ42に信号が送られ、エンベロープジェネレータ42の出力と共鳴レベルとによって算出される共鳴値が減衰アンプ47A(~47C)に乗数(増幅率)として与えられる。
【0091】
各弦モデルの遅延系の出力であるローパスフィルタ39A(~39C)の出力は、直接減衰アンプ40A(~40C)に送られる一方で、遅延保持部45A(~45C)により1サンプリング周期分遅延された後に、減算器46A(~46C)で減数として、その時点で発音されているすべての弦モデルの波形データを重畳した負帰還の共鳴音の波形データから減算される。したがって、減算器46Aの出力する波形データは、共鳴音から当該弦モデルの成分を除去したものとなり、減衰アンプ47A(~47C)で共鳴値に応じた減衰が施された後に、加算器41A(~41C)で自身の弦モデルの波形データと加算され、その和出力が当該閉ループでの帰還入力となる。
【0092】
このように、予め自身の弦モデルの成分が除去された共鳴音の波形データと当該弦モデルの波形データとが加算されて閉ループ回路の帰還入力となるため、共鳴音による異常発振を抑制できる。
【0093】
離鍵時のノートオフが発生する(消音化を含む弱音化指示を受け付ける)と、閉ループに内装された共鳴音用の減衰用乗算器である減衰アンプ47Aにより減衰係数が調整されるよう、エンベロープジェネレータ42がR(Release(余韻))の段階の音量に対応した共鳴値の信号を出力する。
【0094】
このとき、ノートオン信号が途絶えることで、新たに波形読出し部32によって読み出された励振信号用の波形データがゲートアンプ35A~35Cで遮断されて閉ループ回路に入力されなくなり、各弦モデルでは、発生する楽音信号、共鳴音分も含めて、設定されている減衰係数にしたがって自然に消音処理される。
【0095】
[実施形態の効果]
以上詳述した如く本実施形態によれば、回路規模を増大することなく、異常発振を抑制しながら共鳴音を生成することが可能となる。
【0096】
また本実施形態では、ノートイベント処理部31が鍵操作に応じて出力するノートオンの信号に応じて、共鳴音も含めて対応する鍵の弦モデルでの楽音信号を発生させることができ、回路の構成と制御を簡易化できる。
【0097】
さらに本実施形態では、エンベロープジェネレータ42が出力する、楽音の音量の時間変化を制御する信号を用いて共鳴音の減衰を制御するものとしたので、共鳴音を発生させるための構成を比較的に簡易化なものとしながら、きわめて自然な減衰処理を施すことが可能となる。
【0098】
加えて本実施形態では、励振信号となる波形データに対して窓関数を用いた窓掛け処理を施した後に閉ループ回路に入力させるものとしたので、波形データを閉ループ回路で共鳴音の波形データと合わせて繰り返し演算処理する際の取り扱いを効率的に実行できる。
【0099】
なお、前述した如く、本実施形態は電子鍵盤楽器に適用した場合について説明したものであるが、本発明は楽器や特定のモデルに限定されるものではない。
【0100】
その他、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0101】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
第1音高を含む複数の音高の指定に応じて、指定された音高に対応して設けられる閉ループそれぞれの出力信号が累算された累算信号から、前記第1音高に応じた第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより前記複数の音高が共鳴する共鳴音信号を含む前記第1音高に応じた楽音信号を出力する、電子楽器。
[請求項2]
前記累算信号の極性を反転させた信号から、前記第1音高に応じた第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させる、
請求項1に記載の電子楽器。
[請求項3]
前記第1音高及び第2音高の指定に応じて、前記第1音高に応じた励振信号を循環させている前記第1閉ループに、前記第2音高に応じた励振信号を循環させている第2閉ループからの出力信号に基づく信号を加えることにより前記第2音高との共鳴音信号を含む前記第1音高に応じた楽音信号を生成するとともに、前記第2閉ループに、前記第1閉ループからの出力信号に基づく信号を加えることにより前記第1音高との共鳴音信号を含む前記第2音高の第2楽音信号を生成する、
請求項1または2に記載の電子楽器。
[請求項4]
前記励振信号は、対応する音高において音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して窓関数を掛けることにより生成されている、
請求項3に記載の電子楽器。
[請求項5]
音高データ及び音量データを含む演奏操作データの入力に応じて、入力された前記演奏操作データに含まれる音高データが示す音高に応じた励振信号用波形データから、入力された前記演奏操作データに含まれる音量データに応じた部分データを読み出し、
読み出された前記部分データに対して窓関数を掛けることにより前記励振信号を生成する、
請求項3または4に記載の電子楽器。
[請求項6]
読み出される前記部分データのサンプル数は前記音高データが示す音高に応じて異なり、前記窓関数の窓の幅も前記音高データが示す音高に応じて異なる、
請求項5に記載の電子楽器。
[請求項7]
減算信号は、ノートオン中の音高に対応する閉ループに帰還させ、ノートオン中以外の音高に対応する閉ループには帰還させない、
請求項1乃至6のいずれかに記載の電子楽器。
[請求項8]
電子楽器のコンピュータに、
第1音高を含む複数の音高の指定に応じて、指定された音高に対応して設けられる閉ループそれぞれの出力信号が累算された累算信号から、前記第1音高に応じた第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより前記複数の音高が共鳴する共鳴音信号を含む前記第1音高に応じた楽音信号を出力させる、方法。
[請求項9]
電子楽器のコンピュータに、
第1音高を含む複数の音高の指定に応じて、指定された音高に対応して設けられる閉ループそれぞれの出力信号が累算された累算信号から、前記第1音高に応じた第1閉ループ内を循環する信号を減算した減算信号を前記第1閉ループに帰還させることにより前記複数の音高が共鳴する共鳴音信号を含む前記第1音高に応じた楽音信号を出力する、プログラム。
【符号の説明】
【0102】
10…電子鍵盤楽器
11…鍵盤部
12…LSI
12A…CPU
12B…ROM
12C…RAM
12D…音源
12D1…デジタルシグナルプロセッサ(DSP)
12D2…プログラムメモリ
12D3…ワークメモリ
12E…D/A変換部(DAC)
13…アンプ(amp.)
14…スピーカ
31…ノートイベント処理部
32…波形読出し部
33…窓掛け処理部
34…(励振信号生成用)波形メモリ
35A~35C…ゲートアンプ
36A~36C…加算器
37A~37C…ディレイ回路
38A~38C…オールパスフィルタ(APF)
39A~39C…ローパスフィルタ(LPF)
40A~40C…減衰アンプ
41A~41C…加算器
42…エンベロープジェネレータ(EG)
43,44…加算器
45A~45C…遅延保持部(Z-1
46A~46C…減算器
47A~47C…減衰アンプ
48…遅延保持部(Z-1
49…反転アンプ(×-1.0)
50…加算器
51…オフセットアドレスレジスタ
52…加算器
53…カレントアドレスカウンタ
54…ピッチレジスタ
55…加算器
56…補間部
57…窓掛け部
58…窓テーブル
71…減算器
72…アンプ
73…遅延保持部(Z-1
74…アンプ
75…加算器
81…減算器
82…アンプ
83…加算器
84…遅延保持部(Z-1
AD1…加算器
B…バス
MP1…反転アンプ(×-1.0)
SM1~SM88…弦モデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12