(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】電子楽器、楽音発生方法及びプログラム
(51)【国際特許分類】
G10H 1/053 20060101AFI20230816BHJP
G10H 7/06 20060101ALN20230816BHJP
【FI】
G10H1/053 Z
G10H7/06
(21)【出願番号】P 2018189352
(22)【出願日】2018-10-04
【審査請求日】2021-09-21
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】坂田 吾朗
【審査官】中村 天真
(56)【参考文献】
【文献】特開昭61-140996(JP,A)
【文献】特開平05-134677(JP,A)
【文献】特開2010-113024(JP,A)
【文献】特開平06-161461(JP,A)
【文献】特開平04-301899(JP,A)
【文献】特開平04-052698(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00-7/12
(57)【特許請求の範囲】
【請求項1】
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理外で実行され、前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理と、
を実行し、
前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている、
電子楽器。
【請求項2】
前記ダンパ変位レベル値は、前記弱音化指示に含まれる、離鍵時の音量情報を示すノートオフベロシティ値に応じて異なる、請求項
1に記載の電子楽器。
【請求項3】
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理外で実行され、前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
を実行し、
前記弱音化処理は、入力値として、前記第1音量を示す値を入力することにより、前記入力値との関係が非線形特性を有する出力値として、前記第2音量を示す値を出力する演算処理、
を含
む電子楽器。
【請求項4】
離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理と、
を実行し、
前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている、
請求項3に記載の電子楽器。
【請求項5】
前記演算処理が前記ループ処理内で実行される第1モードと、前記演算処理が前記ループ処理外で実行される第2モードと、を備える、請求項
3又は4に記載の電子楽器。
【請求項6】
電子楽器のコンピュータに、
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理外で実行され、前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理と、
を実行させ、
前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている、
方法。
【請求項7】
電子楽器のコンピュータに、
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理外で実行され、前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理と、
を実行させ、
前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子楽器、楽音発生方法及びプログラムに関する。
【背景技術】
【0002】
アコースティックピアノの離鍵弦振動音および筐体共鳴音を模擬する楽音発生装置を提供するための技術が提案されている。(例えば、特許文献1)
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
前記特許文献に記載された技術は、通常の楽音波形データを記憶する記憶部、離鍵時の弦振動波形データを記憶する記憶部、及び筐体の共鳴音の波形データを記憶する記憶部を個別に設け、それぞれの記憶部が記憶する波形データに基づいて発生させた音をデジタルフィルタを介して適宜減衰させ、加算して出力するようにした技術である。
【0005】
ところでPCM音源において、メモリから読出した短い波形データを励振信号として、ディレイループ回路で循環的に適宜減衰を与えながら処理して、所望の長さの楽音を発生させる構成を採ることで、メモリの容量も含めて回路構成を簡略化することが可能な技術が知られている。
この種のPCM音源においては、励振信号としてどのような波形データを用いるかが確立されておらず、また離鍵時にはどのような減衰、消音の処理を行なうと自然な音質の楽音となるか、そのための技術が模索されている。
【0006】
本発明は前記のような実情に鑑みてなされたもので、その目的とするところは、離鍵時の演奏操作を反映したリアルな音質の楽音を再現することが可能な電子楽器、楽音発生方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の一態様に係る電子楽器は、或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、前記ループ処理外で実行され、前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理と、を実行し、前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている。
【発明の効果】
【0008】
本発明によれば、離鍵時の演奏操作を反映したリアルな音質の楽音を再現することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係る電子鍵盤楽器の基本的なハードウェア回路の構成を示すブロック図。
【
図2】同実施形態に係る音源回路の構成を示すブロック図。
【
図3】同実施形態に係る音源回路の他の構成を示すブロック図。
【
図4】同実施形態に係る波形メモリに格納される励振信号用の88鍵分の波形データを例示する図。
【
図5】同実施形態に係る波形読出し部と窓掛け処理部の回路構成を示すブロック図。
【
図6】同実施形態に係る
図2及び
図3の非線形特性処理部の構成を示すブロック図。
【
図7】同実施形態に係る録音、収集された、或る鍵における音の強さ(ベロシティ値)の異なる楽音波形を例示する図である。
【
図8】同実施形態に係る波形データに前処理として施される正規化処理の過程を例示する図。
【
図9】同実施形態に係る強弱波形の加算合成から励振信号を生成する方法を例示する図。
【
図10】同実施形態に係るベロシティ値に応じて波形メモリの読出しアドレスを変化させる過程を例示する図。
【
図11】同実施形態に係る波長(ピッチ)に応じた窓関数の関係を例示する図。
【
図12】同実施形態に係る非線形特性処理部での減衰特性の例を示す図。
【
図13】同実施形態に係るノートオフ時のダンパエンベロープジェネレータによるダンパ変位信号とリリースされる波形のエンベロープを示す図。
【
図14】同実施形態に係る離鍵時の周波数スペクトラム特性の分布変化を例示する図。
【発明を実施するための形態】
【0010】
以下、本発明を電子鍵盤楽器に適用した場合の一実施形態について、図面を参照して説明する。
【0011】
図1は、同実施形態に係る電子鍵盤楽器10の基本的なハードウェア回路の構成を示すブロック図である。同図で、演奏操作子である鍵盤部11での操作に応じた、ノートナンバー(音高情報)と音量情報としてのベロシティ値(押鍵速度)とを含む操作信号が、LSI12のCPU12Aに入力される。
【0012】
LSI12は、バスBを介してCPU12A、ROM12B、音源12C、D/A変換部(DAC)12Dを接続している。
【0013】
CPU12Aは、電子鍵盤楽器10全体の動作を制御する。ROM12Bは、CPU12Aが実行する動作プログラムや演奏のための励振信号用波形データ等を記憶する。CPU12Aは、演奏動作時に音源12Cに対して、ノートナンバーやベロシティ値などのパラメータを与える。
【0014】
音源12Cは、CPU12Aから与えられたパラメータに応じて、ROM12Bから必要な励振信号用波形データに基づく部分データを読出し、信号処理によって楽音信号を生成し、生成した楽音信号をD/A変換部12Dへ出力する。
【0015】
D/A変換部12Dは、楽音信号をアナログ化してアンプ13へ出力する。アンプ13で増幅されたアナログの楽音信号により、スピーカ14が楽音を拡声放音する。
【0016】
図2は、主として音源12Cの詳細な回路構成を示すブロック図である。同図は、後述するノートイベント処理部31、波形メモリ34、加算器44を除いて、図中にIIで示す範囲が鍵盤に含まれる1鍵に相当する。この電子鍵盤楽器10では、鍵盤部11に88鍵あるものとして、同様の回路が88鍵分設けられる。
【0017】
また電子鍵盤楽器10では、実際のアコースティックピアノに準じて、1鍵当たりで1本(最低音域)、2本(低音域)または3本(中音域以上)の弦モデルの信号循環回路を有するものとする。
図2では、3本の弦モデルの信号循環回路を有する鍵用の回路IIを抽出して示している。
【0018】
前記鍵盤部11での鍵の操作に応じたノートオン/オフ信号が、CPU12Aからノートイベント処理部31に入力される。
【0019】
ノートイベント処理部31は、操作された鍵に応じて、発音開始(ノートオン)時のノートナンバーとベロシティ値の各情報を波形読出し部32及び窓掛け処理部33に送出するとともに、各弦モデルのゲートアンプ35A~35Cにノートオン信号とベロシティ値に応じた乗数とを送出する。
【0020】
さらにノートイベント処理部31は、ダンパエンベロープジェネレータ(EG)42に対してノートオン/オフ信号とベロシティ値信号とを送出する。
【0021】
波形読出し部32は、ノートナンバーとベロシティ値の情報とに応じた読出しアドレスを発生して、波形メモリ34から励振信号としての波形データを読出す。
【0022】
図4は、波形メモリ34に格納されている、励振信号用の88鍵分の励振信号用波形データを例示するものである。Wave(0)が最低音の波形データ、Wave(87)が最高音の波形データである。同一波長数分だけ波形データを格納するのに際し、低音の方が波長が長いため、高いノートナンバーに対応する波形データよりも低いノートナンバーに対応する波形データの方が、波形データが長くなり、メモリにおける占有領域が大きくなる。
【0023】
発音する音高にしたがって、この88音の励振信号用波形データのどれかの先頭アドレスに、発音のベロシティ値に応じて各Wave(n)内でオフセットした値が加算されたアドレス値が、オフセットアドレスとして与えられる。
【0024】
波形読出し部32は、波形メモリ34から読出した部分データを窓掛け処理部33へ出力する。
【0025】
窓掛け処理部33は、ノートナンバー情報から当該ノートナンバーに応じた音高の波長に対応した時間幅で窓掛け(窓関数)処理を実行し、窓掛け処理後の波形データをゲートアンプ35A~35Cへ送出する。
【0026】
以下、3本の弦モデルの信号循環回路の1つ、例えば最上段のゲートアンプ35Aの後段側を例にとって説明する。
【0027】
ゲートアンプ35Aにおいて、窓掛け処理後の波形データに対し、ベロシティ値に応じた乗数での増幅処理を施し、処理後の波形データを加算器36Aへ出力する。この加算器36Aにはまた、後述する非線形特性処理部41Aの出力する、ダンパの変位に応じた減衰が与えられた波形データが帰還入力されており、その加算出力がディレイ回路37Aに送られる。
【0028】
ディレイ回路37Aは、アコースティックピアノにおいて、当該弦が振動した際に出力される音の1波長の整数部に応じた値(例えば、高音の鍵に対応している場合は20、低音の鍵に対応している場合は2000といった整数値)として、弦長ディレイPT0_r[n]が設定されており、その弦長ディレイPT0_f[n]分だけ波形データを遅延して、後段のオールパスフィルタ(APF)38Aへ出力する。
【0029】
オールパスフィルタ38Aは、当該1波長の小数部に応じた値として、弦長ディレイPT0_f[n]が設定されており、その弦長ディレイPT0_f[n]分だけ波形データを遅延して、後段のローパスフィルタ(LPF)39Aへ出力する。つまり、ディレイ回路37A(~37C)及びオールパスフィルタ38A(~38C)により、入力されたノートナンバー情報(音高情報)に応じて決定されている時間(1波長分の時間)、遅延される。
【0030】
ローパスフィルタ39Aは、その弦長の周波数に対して設定された広域減衰用のカットオフ周波数Fc[n]より低域側の波形データを通過させて、減衰アンプ40Aへ出力する。
【0031】
減衰アンプ40Aは、ダンパ変位に関係ない通常の減衰処理を行ない、減衰後の波形データを非線形特性処理部41Aへ出力する。
【0032】
非線形特性処理部41Aは、ダンパエンベロープジェネレータ(EG)42から与えられるダンパ変位の情報に基づいてノートオフ(消音化を含む弱音化指示)後の波形データを減衰させ、減衰後の波形データを前述したように加算器36Aに出力すると共に、加算器43へも出力する。
【0033】
加算器43は、非線形特性処理部41Aの出力する波形データと、同様に励振信号の循環回路を構成する他の2系統の弦モデルの非線形特性処理部41B,41Cの出力する波形データとを加算処理し、その和を当該鍵の操作に応じた楽音信号として、加算器44に出力する。
【0034】
加算器44では、押されている各鍵それぞれに応じた楽音信号を加算し、その和を次段のD/A変換部12Dへ出力する。
【0035】
図3は、前記
図2の回路構成に代えて、主として音源12Cの詳細な他の回路構成を示すブロック図である。この
図3においては、各弦モデルの信号循環回路において、減衰アンプ40A(~40C)の出力する自然減衰後の波形データを、非線形特性処理部41A(~41C)へ出力すると共に、加算器36A(~36C)に直接帰還させる循環回路としている。
【0036】
このように、循環する弦モデルの閉ループ回路中にあえて非線形特性処理部41A(~41C)を含めないことによって、ダンパ変位の量に応じて作用する非線形特性処理部41A(~41C)による、ダンパによる減衰が閉ループ回路により過剰にかかることなく、閉ループ内の減衰乗算器としての乗数を離鍵時に適切な値に設定して、処理を安定化することができる。
加えて、
図3に示したようにダンパによる減衰を閉ループ回路外に設けることで、例えばエレキギターなどのように、特に弦の振動をピックアップした音を出力するような楽器の楽音を再現する場合に好適となる。
一方で、
図2に示したようにダンパによる減衰を閉ループ回路内に設けるものとした場合、例えばアコースティックピアノなどのように、特に弦の振動を直接出力するような楽器の楽音を再現する場合に好適となる。
本実施形態では採用しないが、前記ダンパによる減衰を閉ループ回路内に設ける場合を第1モード、ダンパによる減衰を閉ループ回路外に設ける場合を第2モードとして、ユーザの任意のモード切換え操作により選択可能な電子鍵盤楽器としても良い。
【0037】
図5は、波形読出し部32と窓掛け処理部33の回路構成を示すブロック図である。
【0038】
鍵盤部11での押鍵があった場合、発音すべきノートナンバーとベロシティ値とに応じた先頭アドレスを示すオフセットアドレスが、オフセットアドレスレジスタ51に保持される。このオフセットアドレスレジスタ51の保持内容が加算器52に出力される。
【0039】
一方、発音初期時にリセットされて「0(ゼロ)」となるカレントアドレスカウンタ53のカウント値が、加算器52、補間部56、加算器55、窓掛け部57に出力される。
【0040】
カレントアドレスカウンタ53は、励振信号の再生ピッチを保持するピッチレジスタ54の保持値と、自身のカウント値とが加算器55で加算された結果により、順次カウント値を増加させるカウンタとなる。
【0041】
ピッチレジスタ54の設定値である再生ピッチは、通常の場合、波形メモリ34内の波形データのサンプリングレートが弦モデルと一致していれば「1.0」となる一方、マスタチューニングやストレッチチューニング、音律等によりピッチが変更された場合には「1.0」から加減された値が与えられる。
【0042】
カレントアドレスにオフセットアドレスを加算する加算器52の出力(アドレス整数部)が読出しアドレスとして波形メモリ34に出力され、波形メモリ34から対応する波形データが読出される。
【0043】
読出された波形データは、補間部56において、カレントアドレスカウンタ53の出力する、ピッチに応じたアドレス小数部に応じて補間処理された後に、窓掛け部57へ出力される。窓掛け部57では、カレントアドレスカウンタ53の出力するカレントアドレスの進行に伴い、窓テーブル58に記憶される、ハニング(ハン/ハミング)窓やブラックマン窓などの窓関数テーブルに基づいて、波形データに対する窓掛け処理を行ない、窓掛け処理後の波形データを励振信号として、ゲートアンプ35A~35Cへ出力する。
【0044】
図6は、弦モデルの信号循環回路を構成する非線形特性処理部41A(~41C)の構成を示すブロック図である。前段の減衰アンプ40Aが出力する、自然減衰した波形データと、ダンパエンベロープジェネレータ42からのダンパ変位の情報とが入力される。
【0045】
ダンパ変位の情報は、図中に示す如く、符号がプラスの領域で減衰を示すカーブ波形であり、その情報が、直接コンパレータ(CMP)61に入力される一方、反転アンプ62で符号が反転(×-1)されてコンパレータ66に入力される。
【0046】
コンパレータ61は、波形データの入力に対し、ダンパ変位の情報より大きい波形部分を抽出して通過させる。コンパレータ61の出力は、ローパスフィルタ(LPF)63により高周波成分が除去された後、アンプ64で所定増幅率により増幅されて、減算器65に減数として与えられる。
【0047】
一方、コンパレータ66は、波形データの入力に対し、反転されたダンパ変位の情報より小さい波形部分を抽出して通過させる。コンパレータ66の出力は、ローパスフィルタ67により高周波成分が除去された後、アンプ68で所定増幅率により増幅されて、加算器69に与えられる。
【0048】
加算器69は、入力された波形データに、アンプ68からのマイナス側の極大波形部分を加算することで、当該極大波形部分をカットした波形データを得て、減算器65に出力する。
【0049】
減算器65は、加算器69からの波形データに対し、アンプ64の出力する、プラス側の極大波形部分を減算することで、当該極大波形部分をカットした波形データを得る。
【0050】
結果として、減算器65の出力する波形データは、プラス側及びマイナス側の双方で、ダンパ変位の情報として与えられる波形範囲を超える部分が抑制された波形データとして、次段の加算器36Aに帰還入力される。
【0051】
次に前記実施形態の動作について説明する。
まず、
図7乃至
図10により、波形メモリ34(ROM12B)に格納される波形データについて説明する。
【0052】
図7は、録音、収集された、同一ノートナンバーでベロシティ値の異なる楽音波形を例示する図である。
図7(A)がピアノ(p)、
図7(B)がメゾフォルテ(mf)、
図7(C)がフォルテ(f)の各波形を示している。モデリングにおいては、波形の最初の部分に近く、衝撃以降で倍音構成が安定した部分(図中のt2区間)のみを使用することが望ましい。
【0053】
また、前処理として、これら複数の録音データに対し、振幅が等しくなるように正規化処理しておくことが望ましい。
【0054】
図8は、ピアノの楽音波形データに対する事前処理の過程を示す。
図8(A)では、説明を簡略化するために、強打(f)側の波形と弱打(p)側の波形とを処理するものとして説明する。
強打側の波形データに対し、窓掛け(窓関数)処理P11を施した後、離散フーリエ変換(DFT)としての高速フーリエ変換(FFT)処理P12を施し、周波数次元に変換して複素数の実数値(R)と虚数値(I)とを得る。これら複素数は、極座標変換処理P13により極座標化されて、第1振幅信号と第1位相情報とに変換される。
【0055】
弱打側の波形データも同様であり、窓掛け(窓関数)処理P14、高速フーリエ変換(FFT)処理P15、極座標変換処理P16により、第2振幅情報と第2位相情報とが得られる。
【0056】
その後、弱打側の波形データの第2位相情報が強打側の第1位相情報に置換されて、再び直交座標変換処理P17により複素数に変換される。この複素数が、逆高速フーリエ変換(逆FFT)処理P18により波形データ化される。
【0057】
得られた波形データは、さらに窓掛け(窓関数)処理P19により不要な波形部分が除去されて、弱打のベース音の波形データが得られる。
【0058】
また、減算処理P20により、弱打のベース音の波形データを減数として、強打側の波形データから減算処理することで、強打側との差分音の波形データが得られる。
【0059】
図8(B)は、
図8(A)で示した波形データの処理を施すことで、波形メモリ34(ROM12B)に格納するための波形データを取得していることを示している。
【0060】
前記のような波形処理を通じて、複数の波形データに対し、それぞれ倍音位相を揃えることができる。特定の楽器の強弱の楽音を組み合わせる場合において、強度の異なる録音データの加算結果が、加算比とは異なる変化を生じる可能性を抑制するためにも、前記波形処理が有効となる。
【0061】
図9は、或るノートナンバーに対応する音高において、強弱波形の加算合成から励振信号を生成する方法を例示する図である。強弱に応じた波形データの先頭部分のデータを、図中にそれぞれ示す加算比率で示すような値で、格納アドレスの進行と同様の時系列に沿って、それぞれ強度が変化するように加算する。
【0062】
具体的には、
図9(A)は、強度の高い(音の強さが、強い)第1の波形データであるフォルテ(f)の波形データの約6周期分を示すもので、この波形データに対して
図9(B)に示すように、始めの約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器(アンプ)21では、「1.0」~「0.0」の間で変化する、この加算比信号を乗数(増幅率)として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0063】
同様に、
図9(C)は、強度が中庸な(音の強さが、やや強い)第2の波形データであるメゾフォルテ(mf)の波形データの約6周期分を示すもので、この波形データに対して
図9(D)に示すように、中央の約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器22がこの加算比信号を乗数として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0064】
同じく、
図9(E)は、強度が低い(音の強さが、弱い)第3の波形データであるピアノ(p)の波形データの約6周期分を示すもので、この波形データに対して
図9(F)に示すように、終盤の約2周期分を有効とするための加算比信号が与えられている。したがって、乗算器23がこの加算比信号を乗数として波形データを乗算処理し、その積となる波形データを加算器24へ出力する。
【0065】
したがって、これらの波形データを加算する加算器24の出力は、
図9(G)に示すように、2周期毎に「強」→「中」→「弱」と連続的に波形が変化する。
【0066】
このような波形データ(励振信号用波形データ)を波形メモリ34に格納しておき、演奏強度に応じた開始アドレスを指定することで、必要な波形データ(部分データ)を励振信号として読出す。読出した波形データは、
図9(H)に示すように、窓掛け処理部33により窓掛け処理されて、後段の各信号循環回路に供給される。
【0067】
波形データとして2~3波長分を用いるために、音高によって、波形データを構成するサンプリングデータの数は異なる。例えば、アコースティックピアノの88鍵の場合、低音から高音で、サンプリングデータの数は約2000~20程度(サンプリング周波数:44.1[kHz]の場合)となる。
【0068】
なお、前記した波形データの加算方法は、同じ楽器の演奏強度が異なる波形データの組合わせのみに限るものではない。例えば、エレクトリックピアノの場合、鍵を弱打した場合は正弦波に近い波形特性を有する一方で、強打した場合はサチュレーションした矩形波のような波形の形状となる。これらの明らかに形状の異なる波形や、例えばギターなどから抽出した波形など、様々な異なる楽器の楽音を連続して加算し、演奏強度やその他の演奏操作子により連続的に変化させるようなモデリングの楽音を発生させることができる。
【0069】
図10は、音源12Cを駆動時に、波形読出し部32がベロシティ値に応じて波形メモリ34の読出しアドレスを変化させる過程を例示する。波形メモリ34に、
図10(A)に示すように、フォルテ(f)からピアノ(p)に連続して変化するような波形データを格納しておき、演奏時のベロシティ値に応じた波形データ部分を読出すべく、読出し開始アドレスを変化させる。
【0070】
図10(B)は、ベロシティ値がフォルテ(f)の場合、
図10(C)は、ベロシティ値がメゾフォルテ(mf)の場合、
図10(D)は、ベロシティ値がピアノ(p)の場合の、それぞれ波形データの読出し範囲を示している。
【0071】
実際には前記3段階に限らず、図中に破線で窓掛け波形を示すように、ベロシティ値に応じて、例えばベロシティ値の分解能が7ビットであれば128段階に分けて、当該ノートナンバーでの波形データの読出し位置を連続的に変化させる。
【0072】
なお、読出した波形データに対する窓掛け処理を施すに当たっては、当該音程によって波長が異なるため、窓掛け処理を施す「窓」部分の時間長も異ならせる必要がある。
【0073】
図11は、波長(ピッチ)に応じた窓関数の関係を例示する図である。
図11(A)は、音高F4(MIDI:65)のフォルテ(f)の場合の波形データに対する、波形読出し範囲と窓関数とを示す。同様に、
図11(B)は、1オクターブ高い音高F5(MIDI:77)の場合、
図11(C)は、さらに1オクターブ高い音高F6(MIDI:89)の場合を示している。
【0074】
各図に示すように、波形メモリ34に格納している波形データに対して窓掛け処理した結果を励振信号として用いる際、指定されたノートナンバーに応じた音高によって波長の時間幅が異なるため、楽音として発生させる発音ピッチに応じて窓掛けを行なうサイズ(時間幅)も変更する必要がある。
【0075】
なお、前述したように波形メモリ34から波形読出し部32が読出した波形データに対して、窓掛け処理部33により窓掛け処理を行なうのに加えて、波形メモリ34に格納している波形データ自体を、前記
図8でも説明したように、事前に窓掛け処理を施して不要な周波数成分を除去したものとする。
【0076】
ここで用いる、格納用の波形データに施す窓関数としては、例えばハニング(ハン/ハミング)窓、ブラックマン窓、カイザー窓など、楽音の原音の倍音成分に影響が少ない関数であれば良い。
【0077】
波形読出し部32により波形メモリ34から読出され、窓掛け処理部33で窓掛け処理された波形データが、ゲートアンプ35A~35Cを介して、操作されたベロシティ値に応じた乗数で処理された後に、弦モデルを構成する信号循環回路に入力される。
【0078】
1つの弦モデルにおいては、発生する楽音の波長分の遅延を生じさせるディレイ回路37A(~37C)を含んだ閉ループで構成されており、ループ内にはオールパスフィルタ38A(~38C)、ローパスフィルタ39A(~39C)、減衰アンプ40A(~40C)、非線形特性処理部41A(~41C)、モデルの信号の励振信号を加算する加算器36A(~36C)で構成されている。
【0079】
ディレイ回路37A(~37C)、オールパスフィルタ38A(~38C)は、発生する楽音のピッチ周波数の小数部の逆数と1とを加算した値をデジタル処理で遅延させる関係上、波長の整数部が弦長ディレイPT0_r[n](~PT2_r[n])としてディレイ回路37A(~37C)に与えられる一方で、波長の小数部が弦長ディレイPT0_f[n] (~PT2_f[n])としてオールパスフィルタ38A(~38C)に与えられる。
【0080】
前述した如く、
図2及び
図3では、アコースティックピアノに準じて1鍵に対応して3本の弦モデルが設けられた、中音域乃至高音域の鍵位置に対応する回路の構成を示している。
【0081】
アコースティックピアノの場合、これら3弦のモデルのピッチの調整具合がユニゾンと称され、微小に異なるピッチに設定される。これら異なるピッチは、モデリングするピアノによって調整されるパラメータである。
【0082】
発音からの時間と共に倍音成分の減衰を調整するローパスフィルタ39A(~39C)へのカットオフ周波数Fc[n]も、同様にモデリングするピアノや弦に応じて設定される。
【0083】
各弦モデルの出力は加算器43で加算され、さらに88鍵分の出力が加算器44で加算されて、次段のD/A変換部12Dへ出力される。
【0084】
閉ループの弦モデルを励振する信号となる波形データは、波形読出し部32により波形メモリ34から読出され、窓掛け処理部33により窓掛け処理された後に、ゲートアンプ35A~35Cにおいてベロシティ値に応じた乗数が乗算されて、弦モデルを構成する各信号循環回路に供給される。
【0085】
ノートオン(押鍵)があった時点で、ノートイベント処理部31からダンパエンベロープジェネレータ42にノートオン信号が送られ、ダンパエンベロープジェネレータ42はダンパの変位を示す信号に変換して非線形特性処理部41A~41Cに送出する。
【0086】
具体的には、弦の振動抑制が一時的に解除される。その直後に、波形読出し部32が波形メモリ34から、ノートナンバーとベロシティ値とに応じた、励振信号としての波形データを読出すように制御される。
【0087】
離鍵時のノートオフが発生する(消音化を含む弱音化指示を受け付ける)と、閉ループに内装された減衰用乗算器である非線形特性処理部41A~41Cにより減衰係数が調整されるよう、ダンパエンベロープジェネレータ42がノートオフベロシティ値に応じた速度でダンパ変位の情報を調整する。
【0088】
具体的には、強いノートオフベロシティ値では速く減衰し、弱いノートオフベロシティ値ではよりゆっくりとダンパが弦を抑えて振動を抑制する方向でダンパエンベロープジェネレータ42が調整する。
【0089】
なお、ノートオフイベントは、一般的にはベロシティ値で表現されるが、MIDIのコントロールデータのような連続的に変化する信号値を、非線形特性処理部41A~41Cに与えるような構成を採るものとして良い。
【0090】
図12は、非線形特性処理部41A~41Cにおける減衰特性の例を示す図である。図中の横軸が入力、縦軸が出力となる。
【0091】
ノートオン時に、弦がダンパから開放されている状態では、弦の減衰率は1.0であり、図中にXIIAで示すように、入力=出力となる。
【0092】
ダンパが変位し、現に徐々に接触し、振動するエネルギを吸収、抑制し始めると、接触した弦の変位から滑らかに振動の変位(出力)が一定の値になる。図中のXIIBに示すように、この一定となる量はダンパの変化量に応じており、ダンパが多く接触するようになると、より低い出力レベルで弦の振動が抑制されるようになる。
【0093】
図中のXIICは、ノートオフ時の特性を示すものであり、入力に対して出力がさらに小さくなるように抑制されている状態を示す。
【0094】
ピアノのダンパは、余分な音を発生させずに、弦の振動を抑制するように設計される必要があるため、この特性は、なるべく滑らかな曲線を描き、一定の出力値に達するように調整されている。
【0095】
実際の非線形特性処理部41A~41Cにおいては、例えば
図5に示した回路構成により、前述したようなダンパ変位に応じた減衰を実現させる。その場合、非線形特性処理部41A~41Cを構成するローパスフィルタ63,66のカットオフ周波数は、より高い周波数であれば、滑らかさが少なく、離鍵時に発生する倍音も多くなる。
【0096】
例えば、楽器がハープシコードである場合のように、離鍵時の音がはっきりと大きく、高周波成分を含む場合には、カットオフ周波数を高めに設定する。反対に、楽器がピアノである場合のように、離鍵時に発生する倍音の成分が少ない場合には、十分にカットオフ周波数を低く設定する。
【0097】
図13は、ノートオフ時のダンパエンベロープジェネレータによるダンパ変位信号とリリースされる波形のエンベロープを示す図である。同図に示すように、ノートオフが発生するまでの間は、図中にXIIIAで示すように、減衰アンプ40A~40Cに設定された少ない自然減衰のみで、ダンパで抑えられた出力信号が出力される。
【0098】
その後にノートオフとなった時点で、ダンパエンベロープジェネレータ42がノートオフ時のベロシティ値の強さに応じてダンパ変位を減衰させる。図中、XIIIBが、ノートオフ時のベロシティ値によるリリースエンベロープカーブの違いを示している。ベロシティ値が大きい(=離鍵時の速度が高い)程、ダンパの変位量を大きくし、減衰量が大きくなる。ダンパの変位が減衰するのに伴い、弦信号はサチュレーションをしながら減衰して消音する。
【0099】
図14は、離鍵時の周波数スペクトラムの特性の変化を例示する図である。
図14(A)は、離鍵直前のノートオンの状態での周波数スペクトルの分布特性を例示している。
図14(B)は、離鍵中の周波数スペクトラムの分布特性を例示している。
【0100】
図14(A)に、本実施例における離鍵直前の周波数スペクトラムの分布特性を示す。
【0101】
図14(B)に、本実施例における離鍵中の周波数スペクトラムの分布特性を示す。本実施例を適用した場合、図中の範囲のXIV部分に示す如く、離鍵直前には表れていなかった周波数成分(主に、10KHz付近)が表れていることが確認できる。より具体的には、本実施例によれば、押鍵に応じた音高の基音周波数(例えば、200Hz)の偶数次倍音成分が、離鍵に応じて適度に発生しているといえ、アコースティックピアノの離鍵時の音によく似た特性の楽音が得られていることが分かる。この音は、弦(ピアノ線)にダンパ(圧縮フェルト)が当たった制動成分音に近似しており、アコースティックピアノの楽音をきわめて自然に再現できているものと考えられる。
【0102】
以上詳述した如く本実施形態によれば、離鍵時の演奏操作を反映したリアルな音質の楽音を再現することが可能となる。
【0103】
また前記実施形態では、離鍵時のベロシティに応じたダンパ変位を非線形特性処理部41A~41Cに与えて減衰させるものとしたので、特にアコースティックピアノなどの弦振動を行なう楽器の演奏操作に応じた消音時の楽音をよりリアルに再現できる。
【0104】
特に前記実施形態では、ダンパエンベロープジェネレータ42からのダンパ変位に応じて非線形特性処理部41A~41Cが減衰処理するため、滑らかなサチュレーション処理によるリアルな音質での消音が再現できる。
【0105】
なお各弦モデルの閉ループによる信号循環回路として、弦長のピッチ周波数の波長の整数部分だけ遅延させるディレイ回路、同小数部分だけ遅延させるオールパスフィルタ、循環過程で高周波側を減衰させるローパスフィルタ、自然減衰分を与える乗算器、及び乗算器の出力を帰還入力して励振信号と加算し、その和を前記ディレイ回路へ出力する加算器を有する構成としたので、比較的簡易な構成で高い音質での楽音を発生させることができる。
【0106】
なお、前述した如く、本実施形態は電子鍵盤楽器に適用した場合について説明したものであるが、本発明は楽器や特定のモデルに限定されるものではない。
【0107】
その他、本願発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、前記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0108】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[請求項1]
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
を実行する電子楽器。
[請求項2]
離鍵に応じて変位するダンパの変位レベルを示すダンパ変位レベル値を取得する取得処理、
をさらに実行し、
前記第2音量を示す値は、前記第1音量を示す値と、前記取得処理により取得された前記ダンパ変位レベル値と、に基づいて決定されている、請求項1に記載の電子楽器。
[請求項3]
前記ダンパ変位レベル値は、前記弱音化指示に含まれる、離鍵時の音量情報を示すノートオフベロシティ値に応じて異なる、請求項2に記載の電子楽器。
[請求項4]
入力値として、前記第1音量を示す値を入力することにより、前記入力値との関係が非線形特性を有する出力値として、前記第2音量を示す値を出力する演算処理、
をさらに実行する請求項1乃至3のいずれかに記載の電子楽器。
[請求項5]
前記演算処理は、前記ループ処理内で実行されている、請求項4に記載の電子楽器。
[請求項6]
前記演算処理は、前記ループ処理外で実行されている、請求項4に記載の電子楽器。
[請求項7]
前記演算処理が前記ループ処理内で実行される第1モードと、前記演算処理が前記ループ処理外で実行される第2モードと、を備える、請求項4に記載の電子楽器。
[請求項8]
電子楽器のコンピュータに、
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
を実行させる方法。
[請求項9]
電子楽器のコンピュータに、
或る音高において、音の強さがそれぞれ異なる複数の波形データに基づいて生成されている励振信号用波形データに含まれている部分データに対して、窓関数を掛けることにより生成されている励振データに対する遅延処理及び減衰処理を繰り返すループ処理により生成され、前記ループ処理中に出力されている楽音データに対する消音化を含む弱音化指示を受け付ける弱音化指示受付処理と、
前記ループ処理中の或るタイミングにおいて、前記弱音化指示受付処理による前記弱音化指示を受け付けていないときは、前記楽音データを第1音量で出力するのに対し、前記弱音化指示を受け付けたときは、前記第1音量に応じて決定される、前記第1音量より小さい第2音量で出力する弱音化処理と、
を実行させるプログラム。
【符号の説明】
【0109】
10…電子鍵盤楽器
11…鍵盤部
12…LSI
12A…CPU
12B…ROM
12C…音源
12D…D/A変換部(DAC)
13…アンプ
14…スピーカ
21~23…乗算器(アンプ)
24…加算器
31…ノートイベント処理部
32…波形読出し部
33…窓掛け処理部
34…(励振信号生成用)波形メモリ
35A~35C…ゲートアンプ
36A~36C…加算器
37A~37C…ディレイ回路
38A~38C…オールパスフィルタ(APF)
39A~39C…ローパスフィルタ(LPF)
40A~40C…減衰アンプ
41A~41C…非線形特性処理部
42…ダンパエンベロープジェネレータ(ダンパEG)
43,44…加算器
51…オフセットアドレスレジスタ
52…加算器
53…カレントアドレスカウンタ
54…ピッチレジスタ
55…加算器
56…補間部
57…窓掛け部
58…窓テーブル
61…コンパレータ(CMP)
62…反転アンプ
63…ローパスフィルタ(LPF)
64…アンプ
65…減算器
66…コンパレータ(CMP)
67…ローパスフィルタ(LPF)
68…アンプ
69…加算器
B…バス