楽音信号生成装置
【課題】 音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにする。
【解決手段】 各音高の弦信号であって、音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に消音指示に応じて減衰を加速する弦信号を複数生成する弦信号生成部30と、各音高と対応する複数のループ部を備え、該複数のループ部がそれぞれ、共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、該共鳴信号を減衰する減衰部とを含む弦共鳴模擬部40とを設け、弦共鳴模擬部40において、上記複数のループ部を循環する複数の共鳴信号と、弦信号生成部30が生成した複数の弦信号とを合成して上記複数のループ部に供給し、楽音の発音指示及び消音指示、ならびにダンパペダルのオン指示及びオフ指示に基づいて、上記複数のループ部の各々の減衰部に減衰係数を設定する。
【解決手段】 各音高の弦信号であって、音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に消音指示に応じて減衰を加速する弦信号を複数生成する弦信号生成部30と、各音高と対応する複数のループ部を備え、該複数のループ部がそれぞれ、共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、該共鳴信号を減衰する減衰部とを含む弦共鳴模擬部40とを設け、弦共鳴模擬部40において、上記複数のループ部を循環する複数の共鳴信号と、弦信号生成部30が生成した複数の弦信号とを合成して上記複数のループ部に供給し、楽音の発音指示及び消音指示、ならびにダンパペダルのオン指示及びオフ指示に基づいて、上記複数のループ部の各々の減衰部に減衰係数を設定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、各音高の楽音の発音指示および消音指示と、ダンパペダルのオン指示およびオフ指示とに基づき、ピアノタイプの自然楽器の音色の楽音信号を生成する楽音信号生成装置に関する。
【背景技術】
【0002】
従来から、自然楽器の挙動をシミュレートすることにより、自然楽器の発する楽音を電子的に再現しようとする試みが行われている。
自然楽器のうち、例えばピアノにおいては、多数並んだ弦のうち、鍵盤で押鍵された鍵に対応する弦をハンマーで叩いて発音させ、離鍵と同時に弦にダンパを当てて振動を静止することにより発音を停止させる。また、ある弦を叩いて振動させると、その弦から音が発せられるだけでなく、付近の弦が共鳴したり、また、弦の振動が響板を伝わって他の弦に伝達され、他の弦を振動させたりすることにより、他の弦からも音が発せられることになる。そして、このような共鳴や振動の伝達も、ピアノの演奏音を形成する大きな要素となっている。さらに、全ての弦からダンパを離し、離鍵しても弦にダンパを当てないようにするサスティンペダルも知られている。
【0003】
このようなピアノの演奏音を電子的に再現しようとする試みとしては、例えば特許文献1乃至3に記載のものが知られている。
特許文献1には、各音高の弦と対応する共鳴音形成チャンネルを設けて、音源が生成した、押鍵された鍵に対応する音高の楽音信号をその各共鳴音形成チャンネルに入力して各音高の弦と対応する共鳴音を形成させることが記載されている。また、各鍵のオンオフ状態やサスティンペダルのオンオフ状態に基づき定まるダンパの状態に応じて、各共鳴音形成チャンネルに入力する楽音信号のレベルを定める係数を制御することにより、ダンパが離れている弦のみについて共鳴音を生成することも記載されている。
【0004】
特許文献2には、ピアノにおける駒から響板への振動の伝播状態をシミュレートしたフィルタを用意して、このフィルタにピアノの弦の振動をシミュレートした楽音信号を供給し、フィルタから出力される楽音信号、またはそれと共にフィルタ処理する前の楽音信号、を楽音の音響として出力することが記載されている。
特許文献3には、アコースティックピアノの各鍵に対応した弦、ピアノフレーム及び棚板支柱の振動状態を示す信号を用意しておき、鍵の押鍵を検出した場合に、その押鍵内容(キー番号、ハンマー速度など)に応じてこれらの振動状態を示す信号を読み出して響板駆動ユニットに供給し、響板を駆動することにより、鍵へのタッチに応じてアコースティックピアノと同様な音色の発音をさせることが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第2828872号公報
【特許文献2】特許第2650509号公報
【特許文献3】特許第2917609号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、アコースティックピアノにおいては、ある弦から別の弦へ、空気、駒、フレーム等を介して振動が伝播する。そして、この伝播自体は、各弦におけるダンパの状態(弦に触れているか、離れているか)の影響を受けない。
従って、特許文献1にあるように、ダンパの状態に応じて各共鳴音形成チャンネルに入力する楽音信号のレベルを制御する方式は、アコースティックピアノの物理的な構造を正しく反映したアルゴリズムとは言えない。
【0007】
また、アコースティックピアノにおいては、ある弦から別の弦へ伝播した振動は、伝播先の弦からさらに別の弦へも伝播する。しかし、特許文献1に記載の方式では、このような伝播先の弦からさらに別の弦への振動の伝播は、再現されていない。
特許文献2及び3においても、このような点を改良した楽音信号生成のアルゴリズムについて、特に記載はない。
【0008】
この発明は、このような背景に基づいてなされたものであり、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するため、この発明のリモート制御システムは、各音高の楽音の発音指示および消音指示を供給する発音指示部と、ダンパペダルのオン指示およびオフ指示を供給するダンパ状態指示部と、それぞれ、各音高の弦信号であって、その音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に、その音高に対応する消音指示に応じてその減衰を加速する弦信号を、複数生成する弦信号生成部と、各音高の共鳴信号が循環する、その各音高と対応する複数のループ部を備え、その複数のループ部がそれぞれ、その共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、その共鳴信号を減衰する減衰部とを含む弦共鳴模擬部と、上記複数のループ部を循環する複数の共鳴信号と、上記弦信号生成部が生成した複数の弦信号とを合成し、上記複数のループ部に供給する供給部と、上記複数のループ部を循環する複数の共鳴信号と、上記弦信号生成部が生成した複数の弦信号とに基づき、楽音信号を形成して出力する出力部と、上記楽音の発音指示及び消音指示、ならびに上記ダンパペダルのオン指示及びオフ指示に基づいて、上記複数のループ部の各々の減衰部に減衰係数を供給する制御部とを設けたものである。
【0010】
上記の楽音信号生成装置において、上記制御部が、上記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、上記ダンパペダルがオフ状態の場合、上記消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、上記ダンパペダルがオン状態の場合、上記消音指示がなされた音高に対応する減衰部に、上記第1の減衰係数を供給するようにするとよい。
【0011】
あるいは、上記制御部が、上記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、上記消音指示がなされた音高が所定音高以下であり、かつ、上記ダンパペダルがオフ状態の場合、その消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、上記消音指示がなされた音高が所定音高より高いか、または、上記ダンパペダルがオン状態の場合、その消音指示がなされた音高に対応する減衰部に、上記第1の減衰係数を供給するようにするとよい。
【発明の効果】
【0012】
以上のようなこの発明の楽音信号生成装置によれば、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることができる。
【図面の簡単な説明】
【0013】
【図1】この発明の楽音信号生成装置の実施形態のハードウェア構成を示す図である。
【図2】図1に示した弦信号生成部の構成を示す図である。
【図3】波形サンプリング時のピアノの状態を模式的に示す図である。
【図4】図1に示した弦共鳴模擬部の一部の構成を示す図である。
【図5】その別の一部の構成を示す図である。
【図6】図4に示した乗算器43へのパラメータの設定について説明するための図である。
【図7】図6に示した補間回路47による補間について説明するための図である。
【図8】図1に示した響板模擬部の構成を示す図である。
【図9】ピアノの駒及び響板上における、響きに関与する代表的な点の配置を示す図である。
【図10】図1に示した楽音信号生成装置においてノートオンイベント発生時にCPUが実行する処理のフローチャートである。
【図11】同じくノートオフイベント発生時の処理のフローチャートである。
【図12】同じくダンパペダルオン時の処理のフローチャートである。
【図13】同じくダンパペダルオフ時の処理のフローチャートである。
【発明を実施するための形態】
【0014】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
以下の説明では、説明を簡単にするため、1つの音色データに基づき1つのタイプのピアノ音色の楽音波形を生成する楽音信号生成装置について説明する。しかしながら、複数のタイプのピアノ音色の音色データを用意して、その中から選択された音色データに基づき、所望のピアノ音色の楽音波形を生成できるようにしてもよいのは無論である。
【0015】
まず図1に、この発明の楽音信号生成装置の実施形態のハードウェア構成を示す。
この図に示すように、楽音信号生成装置10は、CPU11,ROM12,RAM13,MIDI_I/F(インタフェース)14,パネルスイッチ15,パネル表示器16,弦信号生成部30,弦共鳴模擬部40,響板模擬部50を備え、これらがシステムバス20により接続されている。また、楽音信号生成装置10は、DAC(デジタル/アナログコンバータ)17,サウンドシステム18、波形メモリ19も備えている。
【0016】
そして、CPU11は、楽音信号生成装置10全体を制御する制御手段であり、ROM12に記憶された所要の制御プログラムを実行することにより、パネルスイッチ15の操作検出、パネル表示器16における表示の制御、MIDI_I/F14を介した通信の制御、及び、前記1の音色データに基づく、弦信号生成部30、弦共鳴模擬部40及び響板模擬部50における楽音信号の生成及び処理の制御等の制御動作を行う。
【0017】
ROM12は、CPU11が実行する制御プログラムや、パネル表示器16に表示させる画面の内容を示す画面データ、弦信号生成部30、弦共鳴模擬部40及び響板模擬部50に楽音信号の生成及び処理を行わせる際に設定するパラメータのデータ(上記1つの音色データ)等、あまり頻繁に変更する必要のないデータを記憶する、フラッシュメモリ等による書き換え可能な不揮発性記憶手段である。
RAM13は、CPU11のワークメモリとして使用する記憶手段である。
MIDI_I/F14は、MIDIシーケンサ等の外部装置との間でMIDIデータの入出力を行うためのインタフェースである。
【0018】
パネルスイッチ15は、楽音信号生成装置10の操作パネル上に設けた、ボタン、ノブ、スライダ、タッチパネル等の操作子であり、パラメータの設定や、画面や動作モードの切り替え等、ユーザからの種々の指示を受け付けるための操作子である。
パネル表示器16は、液晶ディスプレイ(LCD)や発光ダイオード(LED)ランプ等によって構成され、楽音信号生成装置10の動作状態や設定内容あるいはユーザへのメッセージ、ユーザからの指示を受け付けるためのグラフィカル・ユーザ・インタフェース(GUI)等を表示するための表示手段である。
【0019】
弦信号生成部30は、各音高の楽音の発音指示(ノートオンイベント)及び消音指示(ノートオフイベント)、ならびにダンパペダルのオン指示及びオフ指示を検出し、それに応じて、上記1つの音色データ中の弦信号の生成に係る複数のパラメータ(弦信号パラメータ)に基づき、アコースティックピアノ(以下単に「ピアノ」といった場合にはこれを指す)における、発音指示のあった音高の弦の振動により発生する楽音のデジタル波形データである弦信号を生成する。この弦信号生成部30が生成する弦信号は、ハンマーが弦を叩いたことによりその弦が振動して発する音を示す信号で、駒やピンを通じた振動の伝播により他の弦で引き起こされる振動(弦の共鳴)や、響板の振動による音色の変化(響板の響き)などの成分は、余り含まれていない信号である。波形メモリ19に、このような音の波形のデータを予め記憶させておくためのメモリであり、弦信号生成部30は、ここから波形データを読み出して、エンベロープ処理等を行って出力する。
【0020】
弦共鳴模擬部40は、ピアノにおける88の音高に対応する長さを有する88セットの弦の各々に対応する88の共鳴部を備えている。ピアノにおいては、ある弦に生じた振動(弦信号)が他の弦に伝播して、他の弦が共鳴することにより共鳴音が生じる。それと同様に、この弦共鳴模擬部40は、上記1つの音色データ中の弦共鳴に係る複数のパラメータ(弦共鳴パラメータ)に基づき、弦信号生成部30から入力する弦信号に、各弦に対応する共鳴部中を循環させることにより、その弦の共鳴音に相当する共鳴信号を発生する。なお、各共鳴部の共鳴信号を誘起する入力信号には、弦信号生成部30からの弦信号だけでなく、弦共鳴模擬部40自身が生成している共鳴信号も含まれる。また、ある弦から他の弦への振動の伝播は、駒やピンを通して起こるものだけでなく、空気を通して起こるものも含まれる。
【0021】
響板模擬部50は、上記1つの音色データ中の響板共鳴に係る複数のパラメータ(響板パラメータ)に基づき、入力する楽音信号に対して、ピアノにおける駒から伝播した音の響板の振動による音色の変化に相当する効果(響板の響き)を付与する処理を行い、その処理後の波形データを出力する出力部である。楽音信号生成装置10においては、弦信号生成部30及び弦共鳴模擬部40において、弦が発する音が駒上で響きに関与する代表的な5点の各々に与える振動を5チャンネル(ch)のデジタル波形データ(楽音信号)として生成し、その駒上の5つの点(響板の加振点)から響板上で放音に関与する代表的な3点(響板の放音点)に振動が伝達されるときの音の特性の変化を、響板模擬部50により再現する。
【0022】
響板模擬部50が、その3点の各々における振動を、3chのデジタル波形データとして出力し、DAC17によってこれをアナログ音響信号に変換してサウンドシステム18の、上記代表的な3点に対応する3つの位置に配置された3chのスピーカを駆動することにより、楽音信号生成装置10は、各音高の楽音の発音指示及び消音指示、ならびにダンパペダルのオン指示及びオフ指示に応じて、ピアノにおける弦の共鳴や響板による反響を適切に反映した楽音を発音することができる。
【0023】
なお、発音指示やペダル操作等の情報は、実際に鍵盤やペダル等の演奏操作子を設けてユーザに操作させ、その操作内容を楽音信号生成装置10が検出して取得してもよいし、予め記憶されている楽曲データを再生して(楽曲データに従って、規定された時刻に規定されたイベントを発生させることにより)取得してもよい。また、操作内容あるいは再生された楽曲データに係るイベントの情報をMIDIデータとしてMIDI_I/F14から受信して取得してもよい。
【0024】
ここで、通常のピアノ物理モデル音源は、自然楽器のピアノと同様に、各弦の弦波形の生成と複数の弦間の共鳴の2つの現象を複数の弦の弦モデルの演算によって実現している。それと比較すると、この実施形態の楽音信号生成装置10においては、その2つの現象を実現するブロックを分離し、各弦の弦波形の生成は、波形メモリ音源(弦波形生成部30)により行い、複数の弦間の共鳴は、エフェクタ(弦共鳴模擬部40)により行うようにした点に、従来の物理モデル音源とは異なる特徴がある。
【0025】
次に、図1に示した弦信号生成部30、弦共鳴模擬部40及び響板模擬部50の構成について、より詳細に説明する。以下に示すこれら各部の機能は、専用ハードウェアによって実現しても、ソフトウェアによって実現しても、それらの組み合わせでもよい。
【0026】
まず図2に、弦信号生成部30の構成を示す。
図2に示すように、弦信号生成部30は、64個の発音ch31を備える。これらの発音chは、ノートオンイベントの検出に応じて、そのノートオンイベントに係る音高(ノートナンバ)の発音に割り当てられ、弦信号生成部30は、弦信号生成部30は、該割り当てられた発音chにおいて、該音高の弦信号を生成する。なお、上述した発音指示(ノートオンイベント)には、パラメータとして、音高(ノートナンバ)と強度(ベロシティ)とが含まれている。
そして、各発音ch31は、波形読出部32,信号処理部33,エンベロープ処理部34及び、93系統の出力に対応する93個の乗算器35(35sd1〜35sd5及び35g1〜35g88)を有する。
【0027】
このうち波形読出部32は、サンプリング周期毎に、発音が割り当てられた各発音chについて、上記弦信号パラメータに基づいて、波形メモリ19から、その発音chで生成する弦信号の基になる波形データを、その波形データの音高がその発音の音高となるようピッチシフトしつつ読み出す。波形メモリ19には、自然楽器のピアノの1つの鍵を、1つの強度で押鍵することにより発生する弦音の波形データ(弦波形)が、複数の音域(各音域は連続する3〜10鍵分の音高で構成される)毎、かつ、複数の強度(例えば、強、中、弱の3段階)毎に、それぞれ記憶されている。そして、波形読出部32は、上記弦信号パラメータに基づいて、それらの波形データの中から発音指示に係る音高と強度に対応する1つの波形データを選択し、選択された波形データを読み出すようになっている。波形メモリに記憶する弦波形のサンプリングにおいては、収音される弦音の波形データに、他の弦の共鳴や、響板の響きが含まれないように、以下に述べるような特殊な方法が用いられる。
【0028】
図3に、このサンプリング時のピアノの状態を模式的に示す。
図3において、101が、発音させる弦である。そして、それ以外の弦には、フェルト布102を絡ませ、振動しないようにする。また、筐体103及び響板104には、それぞれ十分な質量の制振ゲル105,106を接触させ、筐体103及び響板104も振動しないようにする。
【0029】
この状態で鍵盤において弦101と対応する鍵を押鍵して、弦101をハンマーで叩くと、弦101の振動による音(及びハンマーが弦101を叩く音)は通常通り発せされるが、他の弦の共鳴や、響板の振動は起こらない。従って、マイク107でこの音を立ち上がりから減衰して聞こえなくなるまで全て収音し、デジタルの波形データに変換して記憶することにより、他の弦の共鳴の成分や、響板の響きの成分を殆ど含まない、ハンマーによる弦101の打撃およびそのエネルギによって生じる弦101の振動による純粋な弦音の波形データを取得することができる。
波形データメモリ19には、ピアノが備える88本の弦全てについて以上のような波形データを記憶してもよく、その場合には、ピッチシフトの処理が不要になる。
【0030】
図2の説明に戻ると、信号処理部33は、上記弦信号パラメータに基づいて、波形読出部32が読み出した弦音の波形データに対し、強度(ベロシティ)に応じた音色の変化を付与するためのフィルタ処理を行う。このフィルタ処理により、各弦音の波形データから、弦信号として、その弦波形をサンプリングしたときの押鍵の強度とは異なる強度の弦音の波形データを生成することができる。
【0031】
エンベロープ処理部34は、上記弦信号パラメータに基づいて、各弦音の波形データの振幅の時間変化を制御する。ピアノにおいて、弦音の振幅は、押鍵に応じてハンマーが弦を叩いた時に立ち上がり(アタック状態)、その後、所定のディケイ速度で徐々に減衰する(ディケイ状態)。また、ダンパペダルを踏んでいない(ペダルがオフである)状態では、鍵を離すとダンパが弦に押しつけられ、減衰が加速され、所定のリリース速度で減衰する(リリース状態)。
【0032】
ダンパペダルを踏んでいる(ペダルがオンである)状態では、鍵を離してもダンパは弦から離れた状態であり、減衰速度は押鍵状態の場合と変わらない。そして、その後ダンパペダルを離すと、ダンパが弦に押しつけられ、弦信号が所定のリリース速度で減衰する(リリース状態)。波形メモリ19から読み出される各弦音の波形データは全波形データであり、アタックからディケイまでの音量変化を有している。従って、エンベロープ処理部34では、発音指示以降、アタックからディケイまでの状態であれば、弦音の波形データの振幅を、一定の振幅エンベロープ(音量レベル)で制御し、時間変化については制御する必要はない。そして、消音指示以降は、ディケイ状態を継続していれば、一定の振幅エンベロープによる制御を継続し、リリース状態に移行していたら、弦音の波形データの振幅を、所定の速度で減衰する振幅エンベロープで制御する。
【0033】
なお、弦を有する自然楽器において、ダンパ、人間の指、その他の部材を弦に押しつけることにより弦に生じている振動の減衰時間を短縮することを「ダンプ」と呼ぶ。
ピアノの場合、ダンプされていない弦の80db(デシベル)から40dBまでの減衰時間(上記ディケイ速度に対応)は、数秒から数十秒であり、低域の減衰時間が長く、高域に行くに従って減衰時間が短くなる。また、ダンプされた弦の減衰時間(上記リリース速度に対応)は1秒以下であり、やはり低域の方が減衰に時間がかかる。
【0034】
またこのため、高音域の弦にはダンパが装備されないこともあり、一般的にダンパが装備されているのは低い方から66〜72番目程度の弦までである。ダンパの装備されない弦については、ダンパペダルがオフの状態で鍵を離しても、減衰が加速されることはない。何番目の弦までダンパが装備されるかは、同じメーカーでも機種毎に異なる場合があるので、この値はユーザが1つの音色パラメータとして設定できるようにしてもよい。
【0035】
エンベロープ処理部34は、ある弦信号の発音指示(ノートオン)に応じて、波形メモリ19から読み出される弦音の波形データの振幅を、強度(ベロシティ)に応じた一定の振幅エンベロープ(音量レベル)で制御し、その弦信号の消音指示(ノートオフ)以降は、ダンパペダルがオフであれば、その弦音の波形データの振幅を、所定の速度(上記リリース速度と上記ディケイ速度の差分に相当)で減衰する振幅エンベロープで制御し、ダンパペダルがオンであれば、(それまでと同じ)時間変化しない振幅エンベロープで制御する。なお、弦信号生成部30から出力される弦音の波形データ(弦信号)の振幅が聞こえない程度に充分に減衰した発音chについては、次の発音指示がその発音chに供給されるまでの間、エンベロープ処理部におけるその発音chの音量エンベロープ(音量レベル)が0(−∞dB)とされ、無音の波形データが出力される。
なお、本願では、減衰時間が数秒以上の弦を「ダンプされていない弦」、1秒以下の弦を「ダンプされた弦」と定義する(ここではピアノを例に挙げて説明しているが、これには限らない)。
【0036】
乗算器35は、エンベロープ処理部34における処理後の波形データに対し、生成する弦信号が各出力先にどの程度影響を与えるかに応じて予め設定された係数を乗じる。出力先は、響板模擬部50における駒上の5つの点(響板の加振点)と対応する入力(SSd1〜SSd5)と、弦共鳴模擬部40における、各弦と対応する共鳴部41の入力(SSg1〜SSg88)である。
【0037】
そこで、各乗算器35に設定すべき係数は、生成する弦信号に係る音高の弦が、駒上の5つの点(響板の加振点)及び他の弦(共鳴部)の振動にどれほど影響を与えるかに応じて予め定めて、ROM12に上記弦信号パラメータの一部として記憶させておく。例えば、各駒に関する係数は、弦が直接固定されている駒上の点に対してはそうでない駒上の点より影響が大きく、また、弦から目標の点までの距離が近いほど影響が大きいとして定めることができる。各弦に対する係数は、物理的に近い距離にある弦についてより大きく、同一の駒に固定されている弦に対してより大きくするように定めることができる。また、生成する弦信号に係る音高の弦の共鳴は、弦音生成部30が生成する弦音の波形データに含まれているので、その弦に対する係数は0(−∞db:送出しない)に設定する。
【0038】
もちろん、これらの係数の値は、発音ch31に割り当てられる音高に応じて異なった値となる。従って、発音ch31をある音高の発音に割り当てた時点で、その音高と対応する係数の値を、各乗算器35に設定する。
また、弦信号生成部30は、弦出力ミキサOMsd1〜OMsd5及びOMg1〜OMg88を備え、64の発音ch31(実際には発音中の発音chのみ)が出力する弦信号の全てを、弦出力ミキサで出力先毎にミキシングして出力する。
弦信号生成部30は、以上の構成により、弦がハンマーで叩かれることにより発生する楽音の波形データを、弦共鳴模擬部40及び響板模擬部50に対して出力することができる。複数の押鍵に応じて複数の弦が同時に楽音を発生する場合には、それらを混合した波形データを出力することができる。
【0039】
次に、図4及び図5に、弦共鳴模擬部40の構成を示す。
図4に示すように、弦共鳴模擬部40は、ピアノが備える88本の弦の各々と対応する88系統の共鳴部41(41−1〜41−88)及び、各共鳴部41の前段に配置された共鳴入力ミキサIMg1〜IMg88と、各共鳴部41の後段に配置された出力乗算器46(46−1〜46−88)とを備える。
【0040】
このうち共鳴部41は、加算器42,乗算器43,フィルタ44,ディレイ45を備える(図4では、共鳴部41−1に備える構成を、符号に添え字「−1」を付けて示した)。
そして、加算機42が、共鳴入力ミキサからの入力に、ディレイ45の出力を加算することにより、ループ部を構成している。ここで、ディレイ45における遅延量は、共鳴部41と対応する弦の音高に応じた時間であり、加算器42、乗算器43、フィルタ44での遅延も考慮して、ディレイ45の出力が、加算器42において、その音高における1周期後の入力波形に加算されるような値に設定する。従って、このループ部により、共鳴部41への入力波形のうち、共鳴部41と対応する弦の音高の周波数成分が強調されることになり、対応する音高の共鳴音を再現することができる。
【0041】
乗算器43は、弦における振動の減衰を再現するためのものであり、設定された係数を入力波形データに乗じる機能を有する。乗算器43には、ダンパが弦に押しつけられている場合(オン)と、ダンパが外れている場合(オフ)とで異なる係数を、ダンパの状態に合わせてリアルタイムで設定する。設定する係数の値は、ダンパが外れている状態の方が大きい(減衰しにくい)値である。
【0042】
ここで、乗算器43の係数として同じ値を設定したとしても、低音の方が単位時間当たりのループ回数が少ない(ディレイ45における遅延量が大きいため)ので減衰が起こりにくくなる。また、実際の弦における振動の減衰は、上述のように低音の方が時間がかかる。そこで、これらを考慮して、乗算器43の係数は、低音域の弦と高音域の弦とで減衰時間が余り異ならないように、音高に応じて異なる値を用意するのが良く、さらに、ピアノの弦と同じように、高音域から低音域にいくほど減衰時間が徐々に長くなるように、その係数の値を微調整しても良い。
なお、乗算器43への係数の設定は、ダンパのオンオフに応じた値を直接設定するのではなく、ノイズを防止するため、急激な値の変化を防ぐ構成を設けるとよい。
【0043】
図6及び図7に示すように、ダンパのオンオフに応じた値をリアルタイムで一旦係数レジスタ48に設定し、係数レジスタ48の値が変化した場合に、補間回路47によってその変化をゆるやかに乗算器43の係数値に反映させる等である。
この例では、係数レジスタの値が3段階の値を取っているが、これは、ダンパのオン時の係数値(図7の最大ゲイン)とオフ時の係数値(同最小ゲイン)に加え、ハーフダンパの状態を示す係数値(該最大と最小の中間のゲイン)を採れるようにした例を示すものである。
【0044】
図4の説明に戻る。
フィルタ44は、各弦に対応する共鳴部41を循環する共鳴信号に対して、その弦の物理的な共鳴特性に応じた、音色の変化を付与するためのフィルタ処理を行うディジタルフィルタである。ピアノの弦の共鳴特性は、一般的に、その素材、形状、寸法、張力、保持の仕方等によって異なる。
以上の共鳴部41は、ディレイ45の出力を、対応する弦が共鳴により発生する楽音を示す波形データである共鳴信号として、出力乗算器46を通して出力する。なお、各ディレイ45の遅延量、各フィルタ44のフィルタ係数、各乗算器31の係数は、上記1の音色データ中の前記弦共鳴パラメータの一部として、ROM12に記憶されている。
【0045】
出力乗算器46は、93の出力先に対応した93の乗算器を有し、それぞれ、共鳴部41が出力するディレイ45における処理後の波形データである共鳴信号に対し、対応する弦の振動が各出力先の振動にどの程度影響を与えるかに応じて予め設定され、上記弦共鳴パラメータの一部としてROM12に記憶されている係数を乗じる。出力先は、響板模擬部50における、駒上の5つの点(響板の加振点)と対応する入力(n番目の弦と対応する共鳴部からの出力がRSnd1〜RSnd5)と、弦共鳴模擬部40における、各弦(共鳴部)と対応する共鳴入力ミキサの入力(n番目の弦と対応する共鳴部からの出力がSn−1〜Sn−88)である。
【0046】
そこで、出力乗算器46が備える各乗算器に設定すべき係数は、弦信号生成部30の乗算器35の場合と同様な事項を考慮して予め定めて、ROM12に記憶させておく。ただし、具体的な値が乗算器35の場合と同じである必要はない。
また、共鳴部41と対応する弦自身に対しては、ディレイ45の出力は加算器42により共鳴部41の入力に加算されており、出力乗算器46及び共鳴入力ミキサを通してさらに共鳴部41に入力すると二重になるため、係数は0(−∞db:送出しない)に設定する。なお、加算器42を設けず、これに代えて、ディレイ45の出力を出力乗算器46及び共鳴入力ミキサを通して共鳴部41に入力する経路によりループを形成することも考えられる。この場合、係数は1(0dB:レベルを変更しない)に設定するとよい。
【0047】
これらの係数の値は、共鳴部41と対応する音高に応じて異なった値となる。そして、楽音信号生成装置10における楽音生成に先だって、CPU11が、上記1つの音色データ中の弦共鳴パラメータに含まれる各係数の値を、出力乗算器46が備える各乗算器に設定する。
また、n番目の弦と対応する共鳴入力ミキサIMgnは、弦信号生成部30が共鳴部41−nに対して出力した弦信号(弦出力ミキサOMgnからn番目の弦と対応する共鳴部に入力する信号SSgn)と、88系統の共鳴部41から出力乗算器46を経て共鳴部41に対して出力された共鳴信号(n番目の弦と対応する共鳴部に入力する信号S1−n〜S88−n)とを合成して、対応する共鳴部41−nに入力する。
【0048】
従って、各共鳴部41には、ハンマーで叩かれた弦で発生した弦信号のみならず、その振動に起因して共鳴した弦の共鳴信号も入力され、それら入力された信号のエネルギにより、共鳴部41を循環する共鳴信号が生成されることになる。また、各共鳴部41に、各弦の弦信号と各弦の共鳴信号とをどの程度入力するかは、ピアノの物理的な構造を反映した係数(乗算器35の係数及び出力乗算器46の係数)により設定可能であるため、ピアノの物理的な構造に基づく適切な共鳴信号を生成することができる。
【0049】
なお、図5に示すように、弦共鳴模擬部40は、響板模擬部50の5つの加振点に対応する5つの共鳴出力ミキサOMrdを備えており、n番目の加振点nに対応する共鳴出力ミキサOMrdnは、88の共鳴部41に対応する88の出力乗算器46からその加振点nに対して出力される共鳴信号RS1dn〜RS88dnをミキシングして、共鳴混合信号RSdnを響板模擬部50に供給する。
【0050】
次に、図8に、響板模擬部50の構成を示す。
図8に示すように、響板模擬部50は、響板入力ミキサIMd1〜IMd5、FIR(有限インパルスレスポンス:Finite Inpulse Response)フィルタ部51a〜51c、および響板出力ミキサOMa〜OMcを有する。
【0051】
響板入力ミキサIMd1〜IMd5は、上述した駒上の5つの点(響板の加振点)に対応して設けたものであり、点毎に、弦信号生成部30が生成した弦信号と弦共鳴模擬部40が生成した共鳴信号とをミキシングして、その点における入力信号としてFIRフィルタ部51a〜51cにそれぞれ供給する。
FIRフィルタ部51a〜51cは、響板の加振に関与する代表的な5点(加振点)から、振動した響板からの放音に関与する代表的な3点(放音点)に振動が伝達される際の、各音信号の楽音特性の変化を再現するためのFIR型のフィルタである。
【0052】
図9に、これらの点の配置を模式的に示す。
ピアノPは、2つの駒A,Bを備える。図8には示していないが、駒Aには低音域の弦が固定され、駒Bには図で左から右に向かって中音域から高音域の弦が固定される。そして、D1〜D5が、駒を介して弦からの信号を響板に伝達して響板を振動させる代表的な5つの加振点であり、a〜cが、響板の振動を空気中に音として放射する代表的な3つの放音点である。
【0053】
そして、実物のピアノにおいて、D1〜D5を駆動点(加振点)として、音響インパルスを発する発音源を設置し、a〜cを測定点として音響センサを設け、弦を外した状態でD1〜D5の発音源に順に音響インパルスを出力させ、響板を伝播してa〜cに達したインパルスを音響センサで検出することにより、駆動点D1〜D5と測定点a〜cとの各組み合わせ15通りにつき、15の経路の伝播特性を示す15の応答波形(インパルスレスポンス:Impulse Response)を得、対応する15セットの係数を上記1の音色データの響板パラメータの一部としてROM12に記憶する。
【0054】
FIRフィルタ部51a〜51cが各5個備えるFIRフィルタは、ROM12に記憶された15の応答波形に基づく15セットの係数を使用して、15の経路の伝播特性を再現するものである。例えば、FIRフィルタ部51aが備えるFIRフィルタa−1〜a−5は、駆動点D1〜D5と測定点aの組み合わせについて計測された5つの応答波形に基づく5セットの係数を使用して、加振点D1〜D5から放音点aへ伝達する5つの音信号に対して、響板の響きに相当する楽音特性の変化を付与する。ここでは、響板上の各経路における音信号の、各周波数帯域毎のレベルや位相の特性の変化がリアルに再現される。
【0055】
また、FIRフィルタ部51a〜51cは、各FIRフィルタの出力に対し、上記1の音色データ中の上記響板パラメータの一部として記憶されている係数を乗算する乗算器52を備えている。これらの係数は、5つの加振点D1〜D5から3つの放音点a〜cへの各経路の音信号の伝播量を制御するものである。
響板出力ミキサOMa〜OMcは、響板上の放音点a〜cと対応して設けたものであり、放音点毎に、各加振点D1〜D5からその放音点に伝播してくる音信号のデータとして特性およびレベルが制御された乗算器52の出力信号をミキシングし、その結果を出力する。
【0056】
以上の響板模擬部50により、共鳴も含む、弦の振動による楽音を示す波形データに対し、響板における共鳴の効果を付加した波形データを得ることができる。そして、響板模擬部50の出力信号DSa〜DScは、上述のようにDAC17を介してサウンドシステム18に供給され、発音に用いられる。サウンドシステム18を構成する3chのスピーカは、当該楽音信号生成装置を搭載する鍵盤型電子楽器(電子ピアノ)の、FIRフィルタのパラメータを求める際に用いた実物のピアノの筐体における測定点a〜c(放音点a〜c)の位置に相当する位置に配置する。
【0057】
電子ピアノにおいては、グランドピアノ様の形状を取る場合でも、アコースティックのグランドピアノより奥行きを短くすることがあるが、この場合、電子ピアノと上記実物のピアノとの奥行き方向のサイズ比に応じて、演奏者から各スピーカまでの距離を近づければよい。
また、ピアノの楽音に付加すべき響板の共鳴音は、響板模擬部50の出力信号DSa〜DScに既に含まれているので、電子ピアノの筐体は、スピーカボックスの役割を果たせばよく、フラットな周波数特性を持つことが好ましい。
【0058】
次に、図10乃至図13を用いて、以上説明してきた楽音信号生成装置10においてCPU11が各種演奏イベントの発生時に実行する処理について説明する。
これに先だって、CPU11は、上記1つの音色データ中の弦共鳴パラメータに基づいて、弦共鳴模擬部40に各種係数を、また、上記1つの音色データ中の響板パラメータに基づいて、響板模擬部50に各種係数をそれぞれセットし終えている。このとき、弦共鳴模擬部40における複数の各共鳴部41のうち、DKmax以下の各弦nに対応する共鳴部41−nには、それぞれ、乗算器43−nの係数C(n)として、上記1つの音色データの弦共鳴パラメータ中の、n番目の弦がダンプされているときの値Cclosed(n)に初期設定されているので、その何れの共鳴部41も共鳴しにくい状態にある。一方、DKmaxより上の弦nに対応する共鳴部41−nには、乗算器43−nの係数C(n)として、n番目の弦がダンプされていないときの値Copen(n)に初期設定されているので、その何れの共鳴部41も何れも共鳴しやすい状態にある。」
【0059】
まず、図10に、ノートオンイベント発生時の処理のフローチャートを示す。
CPU11は、ノートオンイベントを検出すると、図10のフローチャートに示す処理を開始する。
そして、まずレジスタnn及びvelに、検出したノートオンイベントに付随するノートナンバ及びベロシティの値を設定する。ここで、ノートナンバは、88鍵のピアノの第1鍵が「1」、第88鍵が「88」となるように割り当てられたナンバを示す。これは、MIDIのノートナンバ(上記各鍵には「20」〜「108」が割り当てられる)から−20だけずれた数字となる。ベロシティについては、ノートオンイベントに含まれる値をそのまま使えばよい。また、nn番目の鍵のオンオフ状態を示すレジスタKS(nn)に、オンを示す1を設定する(S11)。
【0060】
次に、ノートナンバnnに係る弦信号の生成に、弦信号生成部30の発音ch31のうち使用していないch1つを割り当てる(S12)。なおここでは、1つの音高の発音には基本的に1つの発音chのみを割り当てることとし、ある音高の発音中にもう1つ同じ音高の発音を行う必要が生じた場合には、既に発音中の発音ch31を急速減衰させつつ、次の発音に別の発音chを割り当てる。
また、ある発音chでの発音が充分に減衰して無音状態になったとき、その発音chは開放され「未使用」の発音chとなる。
【0061】
そして、ステップS12での割り当てができると、その割り当てた発音chに、上記1つの音色データに基づき、発音に必要な各種パラメータをセットする(S13)。このパラメータには、波形読出部32における、波形メモリ19から読み出すべき1つの弦音の波形データを特定するパラメータ、その波形データのピッチシフト量を示すパラメータ(いわゆるFナンバ)、信号処理部33におけるフィルタ処理に用いるフィルタ係数(値が時変してもよい)、エンベロープ処理部34における振幅エンベロープの初期(アタックからディケイまで)の音量レベル(ベロシティに依存する)、リリース状態での減衰速度、および、93個の乗算器35の93の係数を含む。
その後、ステップS12で割り当てた発音chに発音開始を指示する(S14)。
【0062】
また、nn≦DKmaxであれば、すなわち、ノートオンイベントが、ダンパの装着されている鍵(例えば、「68」以下。どの鍵まで装着されているかは、ピアノ毎に異なる。)に係るものであれば(S15)、押鍵によりダンパが外れるため、(レジスタ48の)nn番目の弦と対応する共鳴部41−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされていない時の値Copen(nn)に設定し(S16)、処理を終了する。ステップS15でnn>DKmaxであれば、押鍵があってもダンパの状態に変化はないため、そのまま処理を終了する。
以上の処理により、押鍵(発音指示)に応じて、押鍵された弦の弦信号の生成を開始すると共に、押鍵によりダンパが外れた弦に対応する共鳴部41を、共鳴しやすい状態に変化させることができる。
【0063】
次に、図11に、ノートオフイベント発生時の処理のフローチャートを示す。
CPU11は、ノートオフイベントを検出すると、図11のフローチャートに示す処理を開始する。
そしてまず、まずレジスタnnに、検出したノートオフイベントに付随するノートナンバの値を設定すると共に、nn番目の鍵のオンオフ状態を示すレジスタKS(nn)に、オフを示す0を設定する(S21)。
【0064】
次に、nn≦DKmaxかつDPS=0であれば、すなわち、ノートオフイベントがダンパの装着されている弦に係るものであり、かつダンパペダルがオフ状態であれば(S22,S23)、離鍵によりダンパが弦に押しつけられるため、nn番目の弦と対応する共鳴部44−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされている時の値Cclosed(nn)に設定する(S24)。
そして、ノートナンバnnに係る弦信号を発音中の発音ch31をサーチし(S25)、該当のchがあれば(S26)、そのchに対してリリース開始を指示して(S27)、処理を終了する。
【0065】
該リリース指示に応じて、弦信号生成部30においては、リリースの開始が指示された発音chが「リリース状態」に設定され、エンベロープ処理部34のその発音chの音量エンベロープが、先述したリリース速度とディケイ速度の差分に相当する速度で減衰を開始し、結果として、弦信号生成部30から出力されるその発音chの弦音の各波形データの音量が該リリース速度で減衰する。
【0066】
一方、ステップS22又はS23でNO、すなわち、ノートオフイベントがダンパの装着されていない弦(所定音高より高い)に係るものであるか、またはダンパペダルがオン状態であれば、離鍵してもダンパの状態に変わりはなく、弦はダンプされないので、そのまま処理を終了する。この場合、弦振動の減衰も、ダンプによらない減衰カーブに任せて行うため、リリースを指示する必要もない。
【0067】
以上の処理により、離鍵(消音指示)に応じて、ダンパペダルがオフであることを条件に、弦信号生成部30における、離鍵された弦の弦信号の生成をリリース状態に移行させると共に、離鍵された弦に対応する共鳴部41を、共鳴しにくい状態に変化させることができる。
また、以上の図10及び図11に示した処理は、複数の鍵が同時に押鍵又は離鍵された場合でも、問題なく実行可能である。
【0068】
次に、図12に、ダンパペダルオン時の処理のフローチャートを示す。
CPU11は、ダンパペダルのオン操作を示すイベントを検出すると、図12のフローチャートに示す処理を開始する。
そしてまず、ダンパペダルのオンオフ状態を示すレジスタDPSに、オンを示す1を設定すると共に、nnを1からDKmaxまで増加させながら(S31,S33,S34)、nnの各値についてステップS32の処理を順次実行する。すなわち、ダンパペダルのオン操作によりダンパが外れた各弦につき、共鳴部41の係数レジスタ48に与える係数の値C(nn)を、nn番目の弦についてダンプされていない時に用いる値Copen(nn)に設定する。以上の後、処理を終了する。
【0069】
以上の処理により、ダンパペダルのオン指示に応じて、ダンパを有している弦に対応する共鳴部41を、全て、共鳴しやすい状態にすることができる。なお、図12の処理においては、更に、弦信号生成部30の発音中の発音chの中から「リリース状態」にあるものをサーチして、見つかった発音chにリリース停止を指示して、その発音chの「リリース状態」を解除し、「アタック状態」ないし「ディケイ状態」に戻すようにしてもよい。
【0070】
次に、図13に、ダンパペダルオフ時の処理のフローチャートを示す。
CPU11は、ダンパペダルのオフ操作を示すイベントを検出すると、図13のフローチャートに示す処理を開始する。
そしてまず、ダンパペダルのオンオフ状態を示すレジスタDPSに、オフを示す0を設定すると共に、nnを1からDKmaxまで増加させながら(S41,S47,S48)、nnの各値についてステップS42乃至S46の処理を順次実行する。
【0071】
すなわち、まずノートナンバnnの鍵が押鍵されているか否か判断する(S42)。そして、押鍵されていなければ(KS(nn)=0ならば)、ダンパペダルのオフ操作によりダンパが弦に押しつけられるため、共鳴部41−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされている時の値Cclosed(nn)に設定する(S43)。
【0072】
さらに、ノートナンバnnに係る弦信号を発音中の発音ch31をサーチし(S44)、該当のchがあれば(S45)、そのchに対してリリース開始を指示する(S46)。このリリースは、離鍵時にダンパが弦に押しつけられる場合の、図11のステップS27で設定するものと同様なものである。また、ステップS42でNOの場合は、ダンパペダルをオフにしても、ダンパが弦に押しつけられず、ダンパの状態に変化はないため、特に何もしない。以上の後、処理を終了する。
【0073】
以上の処理により、ダンパペダルのオフ指示に応じて、ダンパが備えられており、かつ、離鍵状態にある弦に対応する共鳴部41を、共鳴しにくい状態に移行させると共に、弦信号生成部30における、その弦の弦信号の生成を、リリース状態に移行させることができる。
【0074】
以上で実施形態の説明を終了するが、装置の構成、使用するデータの形式、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述の実施形態では、ノートナンバがDKmaxより大きい弦についてはダンパを設けない例について説明したが、このような区別をなくし、全ての弦にダンパが設けられているとして楽音の生成を行うようにしてもよい。また、ダンパの設けられていない弦については、Copen(nn)とCclosed(nn)を同じ値とすると共に、リリースの減衰速度を押鍵状態の減衰速度と同じ値とすることにより、処理上はダンパのありなしを区別しなくても、実質的にダンパのない弦の発音を再現することができる。
【0075】
また、上述の実施形態では、係数レジスタ48に与える係数の値を、Copen(nn)とCclosed(nn)の2通りとしたが、ハーフダンパの操作も検出できるようにし、ハーフダンパを検出した場合にこれと対応する中間的な係数の値を設定できるようにしてもよい。また、同じくダンプされていない状態であっても、押鍵状態と離鍵状態とで、異なる係数の値を設定するようにしてもよい(ただし、ダンプされていない状態では、必ずダンプされている状態よりも減衰時間の長い係数を設定する)。
また、CopenやCclosedの値を、全ての弦について異なる値とすることは必須ではなく、一部の弦で共通の値としてもよい。
また、上記1の音色データの各パラメータの値を、ユーザが編集(変更)できるようにしてもよい。
また、響板模擬部50における伝播特性のシミュレートを、駒上の5点と響板上の3点を取って行ったが、点の数はこれに限られない。
【0076】
また、上述した実施形態では、ピアノの物理的な共鳴構造をモデリングしたアルゴリズムについて説明したが、固定された複数の弦に振動を伝播させて共鳴させる構造を有する楽器であれば、乗算器35及び出力乗算器46やFIRフィルタ部51を始めとする各部のパラメータを適切に設定することにより、同様の仕組みでモデリング可能である。
【0077】
少なくとも、任意のピアノメーカーのピアノ、任意の構造のピアノ、昔のフォルテピアノ等、ダンパペダルを有しているあらゆるタイプのピアノを用いて弦振動音のサンプリング、FIRフィルタパラメータを求めるための応答波形の測定、弦共鳴模擬部に設定する係数の設定を行って得た音色データを、楽音生成に用いることができる。また、ダンパペダルに関する制御を省略すれば、ダンパは有するがダンパペダルを有しないチェンバロ等の楽器音色にも適用することができる。
【0078】
なお、例えばグランドピアノとアップライトピアノのように、響板の配置が大きく異なる場合、それに応じて放音点の位置関係が大きく異なるので、一組の(例えば3chの)スピーカを、それら双方の楽音生成に好適な位置に配置することは困難である。しかし、スピーカアレイを用いて伝達特性の畳み込みを行うことにより、仮想的に任意の位置から放音されるように聞き手に認識させることができるサウンドシステムを用いれば、上記のような放音点の位置関係が大きく異なるピアノの楽音を、楽音信号生成装置を搭載する1台の電子楽器により発音させることも可能である。使用する音色データに応じて、聞き手が認識する放音位置を変えるように、スピーカアレイの発音を制御すればよい。
また、実施形態の説明において述べたものも含め、以上において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。
【産業上の利用可能性】
【0079】
以上の説明から明らかなように、この発明の楽音信号生成装置によれば、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることができる。
従って、この発明を適用することにより、よりリアルな楽音の出力が可能な楽音信号生成装置を構成することができる。
【符号の説明】
【0080】
10…楽音信号生成装置、11…CPU、12…ROM、13…RAM、14…MIDI_I/F、15…パネルスイッチ、16…パネル表示器、17…DAC、18…サウンドシステム、19…波形メモリ、20…システムバス、30…弦信号生成部、40…弦共鳴模擬部、41…共鳴部、42…加算器、43…乗算器、44…フィルタ、45…ディレイ、46…出力乗算器、50…響板模擬部
【技術分野】
【0001】
この発明は、各音高の楽音の発音指示および消音指示と、ダンパペダルのオン指示およびオフ指示とに基づき、ピアノタイプの自然楽器の音色の楽音信号を生成する楽音信号生成装置に関する。
【背景技術】
【0002】
従来から、自然楽器の挙動をシミュレートすることにより、自然楽器の発する楽音を電子的に再現しようとする試みが行われている。
自然楽器のうち、例えばピアノにおいては、多数並んだ弦のうち、鍵盤で押鍵された鍵に対応する弦をハンマーで叩いて発音させ、離鍵と同時に弦にダンパを当てて振動を静止することにより発音を停止させる。また、ある弦を叩いて振動させると、その弦から音が発せられるだけでなく、付近の弦が共鳴したり、また、弦の振動が響板を伝わって他の弦に伝達され、他の弦を振動させたりすることにより、他の弦からも音が発せられることになる。そして、このような共鳴や振動の伝達も、ピアノの演奏音を形成する大きな要素となっている。さらに、全ての弦からダンパを離し、離鍵しても弦にダンパを当てないようにするサスティンペダルも知られている。
【0003】
このようなピアノの演奏音を電子的に再現しようとする試みとしては、例えば特許文献1乃至3に記載のものが知られている。
特許文献1には、各音高の弦と対応する共鳴音形成チャンネルを設けて、音源が生成した、押鍵された鍵に対応する音高の楽音信号をその各共鳴音形成チャンネルに入力して各音高の弦と対応する共鳴音を形成させることが記載されている。また、各鍵のオンオフ状態やサスティンペダルのオンオフ状態に基づき定まるダンパの状態に応じて、各共鳴音形成チャンネルに入力する楽音信号のレベルを定める係数を制御することにより、ダンパが離れている弦のみについて共鳴音を生成することも記載されている。
【0004】
特許文献2には、ピアノにおける駒から響板への振動の伝播状態をシミュレートしたフィルタを用意して、このフィルタにピアノの弦の振動をシミュレートした楽音信号を供給し、フィルタから出力される楽音信号、またはそれと共にフィルタ処理する前の楽音信号、を楽音の音響として出力することが記載されている。
特許文献3には、アコースティックピアノの各鍵に対応した弦、ピアノフレーム及び棚板支柱の振動状態を示す信号を用意しておき、鍵の押鍵を検出した場合に、その押鍵内容(キー番号、ハンマー速度など)に応じてこれらの振動状態を示す信号を読み出して響板駆動ユニットに供給し、響板を駆動することにより、鍵へのタッチに応じてアコースティックピアノと同様な音色の発音をさせることが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第2828872号公報
【特許文献2】特許第2650509号公報
【特許文献3】特許第2917609号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、アコースティックピアノにおいては、ある弦から別の弦へ、空気、駒、フレーム等を介して振動が伝播する。そして、この伝播自体は、各弦におけるダンパの状態(弦に触れているか、離れているか)の影響を受けない。
従って、特許文献1にあるように、ダンパの状態に応じて各共鳴音形成チャンネルに入力する楽音信号のレベルを制御する方式は、アコースティックピアノの物理的な構造を正しく反映したアルゴリズムとは言えない。
【0007】
また、アコースティックピアノにおいては、ある弦から別の弦へ伝播した振動は、伝播先の弦からさらに別の弦へも伝播する。しかし、特許文献1に記載の方式では、このような伝播先の弦からさらに別の弦への振動の伝播は、再現されていない。
特許文献2及び3においても、このような点を改良した楽音信号生成のアルゴリズムについて、特に記載はない。
【0008】
この発明は、このような背景に基づいてなされたものであり、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記の目的を達成するため、この発明のリモート制御システムは、各音高の楽音の発音指示および消音指示を供給する発音指示部と、ダンパペダルのオン指示およびオフ指示を供給するダンパ状態指示部と、それぞれ、各音高の弦信号であって、その音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に、その音高に対応する消音指示に応じてその減衰を加速する弦信号を、複数生成する弦信号生成部と、各音高の共鳴信号が循環する、その各音高と対応する複数のループ部を備え、その複数のループ部がそれぞれ、その共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、その共鳴信号を減衰する減衰部とを含む弦共鳴模擬部と、上記複数のループ部を循環する複数の共鳴信号と、上記弦信号生成部が生成した複数の弦信号とを合成し、上記複数のループ部に供給する供給部と、上記複数のループ部を循環する複数の共鳴信号と、上記弦信号生成部が生成した複数の弦信号とに基づき、楽音信号を形成して出力する出力部と、上記楽音の発音指示及び消音指示、ならびに上記ダンパペダルのオン指示及びオフ指示に基づいて、上記複数のループ部の各々の減衰部に減衰係数を供給する制御部とを設けたものである。
【0010】
上記の楽音信号生成装置において、上記制御部が、上記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、上記ダンパペダルがオフ状態の場合、上記消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、上記ダンパペダルがオン状態の場合、上記消音指示がなされた音高に対応する減衰部に、上記第1の減衰係数を供給するようにするとよい。
【0011】
あるいは、上記制御部が、上記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、上記消音指示がなされた音高が所定音高以下であり、かつ、上記ダンパペダルがオフ状態の場合、その消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、上記消音指示がなされた音高が所定音高より高いか、または、上記ダンパペダルがオン状態の場合、その消音指示がなされた音高に対応する減衰部に、上記第1の減衰係数を供給するようにするとよい。
【発明の効果】
【0012】
以上のようなこの発明の楽音信号生成装置によれば、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることができる。
【図面の簡単な説明】
【0013】
【図1】この発明の楽音信号生成装置の実施形態のハードウェア構成を示す図である。
【図2】図1に示した弦信号生成部の構成を示す図である。
【図3】波形サンプリング時のピアノの状態を模式的に示す図である。
【図4】図1に示した弦共鳴模擬部の一部の構成を示す図である。
【図5】その別の一部の構成を示す図である。
【図6】図4に示した乗算器43へのパラメータの設定について説明するための図である。
【図7】図6に示した補間回路47による補間について説明するための図である。
【図8】図1に示した響板模擬部の構成を示す図である。
【図9】ピアノの駒及び響板上における、響きに関与する代表的な点の配置を示す図である。
【図10】図1に示した楽音信号生成装置においてノートオンイベント発生時にCPUが実行する処理のフローチャートである。
【図11】同じくノートオフイベント発生時の処理のフローチャートである。
【図12】同じくダンパペダルオン時の処理のフローチャートである。
【図13】同じくダンパペダルオフ時の処理のフローチャートである。
【発明を実施するための形態】
【0014】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
以下の説明では、説明を簡単にするため、1つの音色データに基づき1つのタイプのピアノ音色の楽音波形を生成する楽音信号生成装置について説明する。しかしながら、複数のタイプのピアノ音色の音色データを用意して、その中から選択された音色データに基づき、所望のピアノ音色の楽音波形を生成できるようにしてもよいのは無論である。
【0015】
まず図1に、この発明の楽音信号生成装置の実施形態のハードウェア構成を示す。
この図に示すように、楽音信号生成装置10は、CPU11,ROM12,RAM13,MIDI_I/F(インタフェース)14,パネルスイッチ15,パネル表示器16,弦信号生成部30,弦共鳴模擬部40,響板模擬部50を備え、これらがシステムバス20により接続されている。また、楽音信号生成装置10は、DAC(デジタル/アナログコンバータ)17,サウンドシステム18、波形メモリ19も備えている。
【0016】
そして、CPU11は、楽音信号生成装置10全体を制御する制御手段であり、ROM12に記憶された所要の制御プログラムを実行することにより、パネルスイッチ15の操作検出、パネル表示器16における表示の制御、MIDI_I/F14を介した通信の制御、及び、前記1の音色データに基づく、弦信号生成部30、弦共鳴模擬部40及び響板模擬部50における楽音信号の生成及び処理の制御等の制御動作を行う。
【0017】
ROM12は、CPU11が実行する制御プログラムや、パネル表示器16に表示させる画面の内容を示す画面データ、弦信号生成部30、弦共鳴模擬部40及び響板模擬部50に楽音信号の生成及び処理を行わせる際に設定するパラメータのデータ(上記1つの音色データ)等、あまり頻繁に変更する必要のないデータを記憶する、フラッシュメモリ等による書き換え可能な不揮発性記憶手段である。
RAM13は、CPU11のワークメモリとして使用する記憶手段である。
MIDI_I/F14は、MIDIシーケンサ等の外部装置との間でMIDIデータの入出力を行うためのインタフェースである。
【0018】
パネルスイッチ15は、楽音信号生成装置10の操作パネル上に設けた、ボタン、ノブ、スライダ、タッチパネル等の操作子であり、パラメータの設定や、画面や動作モードの切り替え等、ユーザからの種々の指示を受け付けるための操作子である。
パネル表示器16は、液晶ディスプレイ(LCD)や発光ダイオード(LED)ランプ等によって構成され、楽音信号生成装置10の動作状態や設定内容あるいはユーザへのメッセージ、ユーザからの指示を受け付けるためのグラフィカル・ユーザ・インタフェース(GUI)等を表示するための表示手段である。
【0019】
弦信号生成部30は、各音高の楽音の発音指示(ノートオンイベント)及び消音指示(ノートオフイベント)、ならびにダンパペダルのオン指示及びオフ指示を検出し、それに応じて、上記1つの音色データ中の弦信号の生成に係る複数のパラメータ(弦信号パラメータ)に基づき、アコースティックピアノ(以下単に「ピアノ」といった場合にはこれを指す)における、発音指示のあった音高の弦の振動により発生する楽音のデジタル波形データである弦信号を生成する。この弦信号生成部30が生成する弦信号は、ハンマーが弦を叩いたことによりその弦が振動して発する音を示す信号で、駒やピンを通じた振動の伝播により他の弦で引き起こされる振動(弦の共鳴)や、響板の振動による音色の変化(響板の響き)などの成分は、余り含まれていない信号である。波形メモリ19に、このような音の波形のデータを予め記憶させておくためのメモリであり、弦信号生成部30は、ここから波形データを読み出して、エンベロープ処理等を行って出力する。
【0020】
弦共鳴模擬部40は、ピアノにおける88の音高に対応する長さを有する88セットの弦の各々に対応する88の共鳴部を備えている。ピアノにおいては、ある弦に生じた振動(弦信号)が他の弦に伝播して、他の弦が共鳴することにより共鳴音が生じる。それと同様に、この弦共鳴模擬部40は、上記1つの音色データ中の弦共鳴に係る複数のパラメータ(弦共鳴パラメータ)に基づき、弦信号生成部30から入力する弦信号に、各弦に対応する共鳴部中を循環させることにより、その弦の共鳴音に相当する共鳴信号を発生する。なお、各共鳴部の共鳴信号を誘起する入力信号には、弦信号生成部30からの弦信号だけでなく、弦共鳴模擬部40自身が生成している共鳴信号も含まれる。また、ある弦から他の弦への振動の伝播は、駒やピンを通して起こるものだけでなく、空気を通して起こるものも含まれる。
【0021】
響板模擬部50は、上記1つの音色データ中の響板共鳴に係る複数のパラメータ(響板パラメータ)に基づき、入力する楽音信号に対して、ピアノにおける駒から伝播した音の響板の振動による音色の変化に相当する効果(響板の響き)を付与する処理を行い、その処理後の波形データを出力する出力部である。楽音信号生成装置10においては、弦信号生成部30及び弦共鳴模擬部40において、弦が発する音が駒上で響きに関与する代表的な5点の各々に与える振動を5チャンネル(ch)のデジタル波形データ(楽音信号)として生成し、その駒上の5つの点(響板の加振点)から響板上で放音に関与する代表的な3点(響板の放音点)に振動が伝達されるときの音の特性の変化を、響板模擬部50により再現する。
【0022】
響板模擬部50が、その3点の各々における振動を、3chのデジタル波形データとして出力し、DAC17によってこれをアナログ音響信号に変換してサウンドシステム18の、上記代表的な3点に対応する3つの位置に配置された3chのスピーカを駆動することにより、楽音信号生成装置10は、各音高の楽音の発音指示及び消音指示、ならびにダンパペダルのオン指示及びオフ指示に応じて、ピアノにおける弦の共鳴や響板による反響を適切に反映した楽音を発音することができる。
【0023】
なお、発音指示やペダル操作等の情報は、実際に鍵盤やペダル等の演奏操作子を設けてユーザに操作させ、その操作内容を楽音信号生成装置10が検出して取得してもよいし、予め記憶されている楽曲データを再生して(楽曲データに従って、規定された時刻に規定されたイベントを発生させることにより)取得してもよい。また、操作内容あるいは再生された楽曲データに係るイベントの情報をMIDIデータとしてMIDI_I/F14から受信して取得してもよい。
【0024】
ここで、通常のピアノ物理モデル音源は、自然楽器のピアノと同様に、各弦の弦波形の生成と複数の弦間の共鳴の2つの現象を複数の弦の弦モデルの演算によって実現している。それと比較すると、この実施形態の楽音信号生成装置10においては、その2つの現象を実現するブロックを分離し、各弦の弦波形の生成は、波形メモリ音源(弦波形生成部30)により行い、複数の弦間の共鳴は、エフェクタ(弦共鳴模擬部40)により行うようにした点に、従来の物理モデル音源とは異なる特徴がある。
【0025】
次に、図1に示した弦信号生成部30、弦共鳴模擬部40及び響板模擬部50の構成について、より詳細に説明する。以下に示すこれら各部の機能は、専用ハードウェアによって実現しても、ソフトウェアによって実現しても、それらの組み合わせでもよい。
【0026】
まず図2に、弦信号生成部30の構成を示す。
図2に示すように、弦信号生成部30は、64個の発音ch31を備える。これらの発音chは、ノートオンイベントの検出に応じて、そのノートオンイベントに係る音高(ノートナンバ)の発音に割り当てられ、弦信号生成部30は、弦信号生成部30は、該割り当てられた発音chにおいて、該音高の弦信号を生成する。なお、上述した発音指示(ノートオンイベント)には、パラメータとして、音高(ノートナンバ)と強度(ベロシティ)とが含まれている。
そして、各発音ch31は、波形読出部32,信号処理部33,エンベロープ処理部34及び、93系統の出力に対応する93個の乗算器35(35sd1〜35sd5及び35g1〜35g88)を有する。
【0027】
このうち波形読出部32は、サンプリング周期毎に、発音が割り当てられた各発音chについて、上記弦信号パラメータに基づいて、波形メモリ19から、その発音chで生成する弦信号の基になる波形データを、その波形データの音高がその発音の音高となるようピッチシフトしつつ読み出す。波形メモリ19には、自然楽器のピアノの1つの鍵を、1つの強度で押鍵することにより発生する弦音の波形データ(弦波形)が、複数の音域(各音域は連続する3〜10鍵分の音高で構成される)毎、かつ、複数の強度(例えば、強、中、弱の3段階)毎に、それぞれ記憶されている。そして、波形読出部32は、上記弦信号パラメータに基づいて、それらの波形データの中から発音指示に係る音高と強度に対応する1つの波形データを選択し、選択された波形データを読み出すようになっている。波形メモリに記憶する弦波形のサンプリングにおいては、収音される弦音の波形データに、他の弦の共鳴や、響板の響きが含まれないように、以下に述べるような特殊な方法が用いられる。
【0028】
図3に、このサンプリング時のピアノの状態を模式的に示す。
図3において、101が、発音させる弦である。そして、それ以外の弦には、フェルト布102を絡ませ、振動しないようにする。また、筐体103及び響板104には、それぞれ十分な質量の制振ゲル105,106を接触させ、筐体103及び響板104も振動しないようにする。
【0029】
この状態で鍵盤において弦101と対応する鍵を押鍵して、弦101をハンマーで叩くと、弦101の振動による音(及びハンマーが弦101を叩く音)は通常通り発せされるが、他の弦の共鳴や、響板の振動は起こらない。従って、マイク107でこの音を立ち上がりから減衰して聞こえなくなるまで全て収音し、デジタルの波形データに変換して記憶することにより、他の弦の共鳴の成分や、響板の響きの成分を殆ど含まない、ハンマーによる弦101の打撃およびそのエネルギによって生じる弦101の振動による純粋な弦音の波形データを取得することができる。
波形データメモリ19には、ピアノが備える88本の弦全てについて以上のような波形データを記憶してもよく、その場合には、ピッチシフトの処理が不要になる。
【0030】
図2の説明に戻ると、信号処理部33は、上記弦信号パラメータに基づいて、波形読出部32が読み出した弦音の波形データに対し、強度(ベロシティ)に応じた音色の変化を付与するためのフィルタ処理を行う。このフィルタ処理により、各弦音の波形データから、弦信号として、その弦波形をサンプリングしたときの押鍵の強度とは異なる強度の弦音の波形データを生成することができる。
【0031】
エンベロープ処理部34は、上記弦信号パラメータに基づいて、各弦音の波形データの振幅の時間変化を制御する。ピアノにおいて、弦音の振幅は、押鍵に応じてハンマーが弦を叩いた時に立ち上がり(アタック状態)、その後、所定のディケイ速度で徐々に減衰する(ディケイ状態)。また、ダンパペダルを踏んでいない(ペダルがオフである)状態では、鍵を離すとダンパが弦に押しつけられ、減衰が加速され、所定のリリース速度で減衰する(リリース状態)。
【0032】
ダンパペダルを踏んでいる(ペダルがオンである)状態では、鍵を離してもダンパは弦から離れた状態であり、減衰速度は押鍵状態の場合と変わらない。そして、その後ダンパペダルを離すと、ダンパが弦に押しつけられ、弦信号が所定のリリース速度で減衰する(リリース状態)。波形メモリ19から読み出される各弦音の波形データは全波形データであり、アタックからディケイまでの音量変化を有している。従って、エンベロープ処理部34では、発音指示以降、アタックからディケイまでの状態であれば、弦音の波形データの振幅を、一定の振幅エンベロープ(音量レベル)で制御し、時間変化については制御する必要はない。そして、消音指示以降は、ディケイ状態を継続していれば、一定の振幅エンベロープによる制御を継続し、リリース状態に移行していたら、弦音の波形データの振幅を、所定の速度で減衰する振幅エンベロープで制御する。
【0033】
なお、弦を有する自然楽器において、ダンパ、人間の指、その他の部材を弦に押しつけることにより弦に生じている振動の減衰時間を短縮することを「ダンプ」と呼ぶ。
ピアノの場合、ダンプされていない弦の80db(デシベル)から40dBまでの減衰時間(上記ディケイ速度に対応)は、数秒から数十秒であり、低域の減衰時間が長く、高域に行くに従って減衰時間が短くなる。また、ダンプされた弦の減衰時間(上記リリース速度に対応)は1秒以下であり、やはり低域の方が減衰に時間がかかる。
【0034】
またこのため、高音域の弦にはダンパが装備されないこともあり、一般的にダンパが装備されているのは低い方から66〜72番目程度の弦までである。ダンパの装備されない弦については、ダンパペダルがオフの状態で鍵を離しても、減衰が加速されることはない。何番目の弦までダンパが装備されるかは、同じメーカーでも機種毎に異なる場合があるので、この値はユーザが1つの音色パラメータとして設定できるようにしてもよい。
【0035】
エンベロープ処理部34は、ある弦信号の発音指示(ノートオン)に応じて、波形メモリ19から読み出される弦音の波形データの振幅を、強度(ベロシティ)に応じた一定の振幅エンベロープ(音量レベル)で制御し、その弦信号の消音指示(ノートオフ)以降は、ダンパペダルがオフであれば、その弦音の波形データの振幅を、所定の速度(上記リリース速度と上記ディケイ速度の差分に相当)で減衰する振幅エンベロープで制御し、ダンパペダルがオンであれば、(それまでと同じ)時間変化しない振幅エンベロープで制御する。なお、弦信号生成部30から出力される弦音の波形データ(弦信号)の振幅が聞こえない程度に充分に減衰した発音chについては、次の発音指示がその発音chに供給されるまでの間、エンベロープ処理部におけるその発音chの音量エンベロープ(音量レベル)が0(−∞dB)とされ、無音の波形データが出力される。
なお、本願では、減衰時間が数秒以上の弦を「ダンプされていない弦」、1秒以下の弦を「ダンプされた弦」と定義する(ここではピアノを例に挙げて説明しているが、これには限らない)。
【0036】
乗算器35は、エンベロープ処理部34における処理後の波形データに対し、生成する弦信号が各出力先にどの程度影響を与えるかに応じて予め設定された係数を乗じる。出力先は、響板模擬部50における駒上の5つの点(響板の加振点)と対応する入力(SSd1〜SSd5)と、弦共鳴模擬部40における、各弦と対応する共鳴部41の入力(SSg1〜SSg88)である。
【0037】
そこで、各乗算器35に設定すべき係数は、生成する弦信号に係る音高の弦が、駒上の5つの点(響板の加振点)及び他の弦(共鳴部)の振動にどれほど影響を与えるかに応じて予め定めて、ROM12に上記弦信号パラメータの一部として記憶させておく。例えば、各駒に関する係数は、弦が直接固定されている駒上の点に対してはそうでない駒上の点より影響が大きく、また、弦から目標の点までの距離が近いほど影響が大きいとして定めることができる。各弦に対する係数は、物理的に近い距離にある弦についてより大きく、同一の駒に固定されている弦に対してより大きくするように定めることができる。また、生成する弦信号に係る音高の弦の共鳴は、弦音生成部30が生成する弦音の波形データに含まれているので、その弦に対する係数は0(−∞db:送出しない)に設定する。
【0038】
もちろん、これらの係数の値は、発音ch31に割り当てられる音高に応じて異なった値となる。従って、発音ch31をある音高の発音に割り当てた時点で、その音高と対応する係数の値を、各乗算器35に設定する。
また、弦信号生成部30は、弦出力ミキサOMsd1〜OMsd5及びOMg1〜OMg88を備え、64の発音ch31(実際には発音中の発音chのみ)が出力する弦信号の全てを、弦出力ミキサで出力先毎にミキシングして出力する。
弦信号生成部30は、以上の構成により、弦がハンマーで叩かれることにより発生する楽音の波形データを、弦共鳴模擬部40及び響板模擬部50に対して出力することができる。複数の押鍵に応じて複数の弦が同時に楽音を発生する場合には、それらを混合した波形データを出力することができる。
【0039】
次に、図4及び図5に、弦共鳴模擬部40の構成を示す。
図4に示すように、弦共鳴模擬部40は、ピアノが備える88本の弦の各々と対応する88系統の共鳴部41(41−1〜41−88)及び、各共鳴部41の前段に配置された共鳴入力ミキサIMg1〜IMg88と、各共鳴部41の後段に配置された出力乗算器46(46−1〜46−88)とを備える。
【0040】
このうち共鳴部41は、加算器42,乗算器43,フィルタ44,ディレイ45を備える(図4では、共鳴部41−1に備える構成を、符号に添え字「−1」を付けて示した)。
そして、加算機42が、共鳴入力ミキサからの入力に、ディレイ45の出力を加算することにより、ループ部を構成している。ここで、ディレイ45における遅延量は、共鳴部41と対応する弦の音高に応じた時間であり、加算器42、乗算器43、フィルタ44での遅延も考慮して、ディレイ45の出力が、加算器42において、その音高における1周期後の入力波形に加算されるような値に設定する。従って、このループ部により、共鳴部41への入力波形のうち、共鳴部41と対応する弦の音高の周波数成分が強調されることになり、対応する音高の共鳴音を再現することができる。
【0041】
乗算器43は、弦における振動の減衰を再現するためのものであり、設定された係数を入力波形データに乗じる機能を有する。乗算器43には、ダンパが弦に押しつけられている場合(オン)と、ダンパが外れている場合(オフ)とで異なる係数を、ダンパの状態に合わせてリアルタイムで設定する。設定する係数の値は、ダンパが外れている状態の方が大きい(減衰しにくい)値である。
【0042】
ここで、乗算器43の係数として同じ値を設定したとしても、低音の方が単位時間当たりのループ回数が少ない(ディレイ45における遅延量が大きいため)ので減衰が起こりにくくなる。また、実際の弦における振動の減衰は、上述のように低音の方が時間がかかる。そこで、これらを考慮して、乗算器43の係数は、低音域の弦と高音域の弦とで減衰時間が余り異ならないように、音高に応じて異なる値を用意するのが良く、さらに、ピアノの弦と同じように、高音域から低音域にいくほど減衰時間が徐々に長くなるように、その係数の値を微調整しても良い。
なお、乗算器43への係数の設定は、ダンパのオンオフに応じた値を直接設定するのではなく、ノイズを防止するため、急激な値の変化を防ぐ構成を設けるとよい。
【0043】
図6及び図7に示すように、ダンパのオンオフに応じた値をリアルタイムで一旦係数レジスタ48に設定し、係数レジスタ48の値が変化した場合に、補間回路47によってその変化をゆるやかに乗算器43の係数値に反映させる等である。
この例では、係数レジスタの値が3段階の値を取っているが、これは、ダンパのオン時の係数値(図7の最大ゲイン)とオフ時の係数値(同最小ゲイン)に加え、ハーフダンパの状態を示す係数値(該最大と最小の中間のゲイン)を採れるようにした例を示すものである。
【0044】
図4の説明に戻る。
フィルタ44は、各弦に対応する共鳴部41を循環する共鳴信号に対して、その弦の物理的な共鳴特性に応じた、音色の変化を付与するためのフィルタ処理を行うディジタルフィルタである。ピアノの弦の共鳴特性は、一般的に、その素材、形状、寸法、張力、保持の仕方等によって異なる。
以上の共鳴部41は、ディレイ45の出力を、対応する弦が共鳴により発生する楽音を示す波形データである共鳴信号として、出力乗算器46を通して出力する。なお、各ディレイ45の遅延量、各フィルタ44のフィルタ係数、各乗算器31の係数は、上記1の音色データ中の前記弦共鳴パラメータの一部として、ROM12に記憶されている。
【0045】
出力乗算器46は、93の出力先に対応した93の乗算器を有し、それぞれ、共鳴部41が出力するディレイ45における処理後の波形データである共鳴信号に対し、対応する弦の振動が各出力先の振動にどの程度影響を与えるかに応じて予め設定され、上記弦共鳴パラメータの一部としてROM12に記憶されている係数を乗じる。出力先は、響板模擬部50における、駒上の5つの点(響板の加振点)と対応する入力(n番目の弦と対応する共鳴部からの出力がRSnd1〜RSnd5)と、弦共鳴模擬部40における、各弦(共鳴部)と対応する共鳴入力ミキサの入力(n番目の弦と対応する共鳴部からの出力がSn−1〜Sn−88)である。
【0046】
そこで、出力乗算器46が備える各乗算器に設定すべき係数は、弦信号生成部30の乗算器35の場合と同様な事項を考慮して予め定めて、ROM12に記憶させておく。ただし、具体的な値が乗算器35の場合と同じである必要はない。
また、共鳴部41と対応する弦自身に対しては、ディレイ45の出力は加算器42により共鳴部41の入力に加算されており、出力乗算器46及び共鳴入力ミキサを通してさらに共鳴部41に入力すると二重になるため、係数は0(−∞db:送出しない)に設定する。なお、加算器42を設けず、これに代えて、ディレイ45の出力を出力乗算器46及び共鳴入力ミキサを通して共鳴部41に入力する経路によりループを形成することも考えられる。この場合、係数は1(0dB:レベルを変更しない)に設定するとよい。
【0047】
これらの係数の値は、共鳴部41と対応する音高に応じて異なった値となる。そして、楽音信号生成装置10における楽音生成に先だって、CPU11が、上記1つの音色データ中の弦共鳴パラメータに含まれる各係数の値を、出力乗算器46が備える各乗算器に設定する。
また、n番目の弦と対応する共鳴入力ミキサIMgnは、弦信号生成部30が共鳴部41−nに対して出力した弦信号(弦出力ミキサOMgnからn番目の弦と対応する共鳴部に入力する信号SSgn)と、88系統の共鳴部41から出力乗算器46を経て共鳴部41に対して出力された共鳴信号(n番目の弦と対応する共鳴部に入力する信号S1−n〜S88−n)とを合成して、対応する共鳴部41−nに入力する。
【0048】
従って、各共鳴部41には、ハンマーで叩かれた弦で発生した弦信号のみならず、その振動に起因して共鳴した弦の共鳴信号も入力され、それら入力された信号のエネルギにより、共鳴部41を循環する共鳴信号が生成されることになる。また、各共鳴部41に、各弦の弦信号と各弦の共鳴信号とをどの程度入力するかは、ピアノの物理的な構造を反映した係数(乗算器35の係数及び出力乗算器46の係数)により設定可能であるため、ピアノの物理的な構造に基づく適切な共鳴信号を生成することができる。
【0049】
なお、図5に示すように、弦共鳴模擬部40は、響板模擬部50の5つの加振点に対応する5つの共鳴出力ミキサOMrdを備えており、n番目の加振点nに対応する共鳴出力ミキサOMrdnは、88の共鳴部41に対応する88の出力乗算器46からその加振点nに対して出力される共鳴信号RS1dn〜RS88dnをミキシングして、共鳴混合信号RSdnを響板模擬部50に供給する。
【0050】
次に、図8に、響板模擬部50の構成を示す。
図8に示すように、響板模擬部50は、響板入力ミキサIMd1〜IMd5、FIR(有限インパルスレスポンス:Finite Inpulse Response)フィルタ部51a〜51c、および響板出力ミキサOMa〜OMcを有する。
【0051】
響板入力ミキサIMd1〜IMd5は、上述した駒上の5つの点(響板の加振点)に対応して設けたものであり、点毎に、弦信号生成部30が生成した弦信号と弦共鳴模擬部40が生成した共鳴信号とをミキシングして、その点における入力信号としてFIRフィルタ部51a〜51cにそれぞれ供給する。
FIRフィルタ部51a〜51cは、響板の加振に関与する代表的な5点(加振点)から、振動した響板からの放音に関与する代表的な3点(放音点)に振動が伝達される際の、各音信号の楽音特性の変化を再現するためのFIR型のフィルタである。
【0052】
図9に、これらの点の配置を模式的に示す。
ピアノPは、2つの駒A,Bを備える。図8には示していないが、駒Aには低音域の弦が固定され、駒Bには図で左から右に向かって中音域から高音域の弦が固定される。そして、D1〜D5が、駒を介して弦からの信号を響板に伝達して響板を振動させる代表的な5つの加振点であり、a〜cが、響板の振動を空気中に音として放射する代表的な3つの放音点である。
【0053】
そして、実物のピアノにおいて、D1〜D5を駆動点(加振点)として、音響インパルスを発する発音源を設置し、a〜cを測定点として音響センサを設け、弦を外した状態でD1〜D5の発音源に順に音響インパルスを出力させ、響板を伝播してa〜cに達したインパルスを音響センサで検出することにより、駆動点D1〜D5と測定点a〜cとの各組み合わせ15通りにつき、15の経路の伝播特性を示す15の応答波形(インパルスレスポンス:Impulse Response)を得、対応する15セットの係数を上記1の音色データの響板パラメータの一部としてROM12に記憶する。
【0054】
FIRフィルタ部51a〜51cが各5個備えるFIRフィルタは、ROM12に記憶された15の応答波形に基づく15セットの係数を使用して、15の経路の伝播特性を再現するものである。例えば、FIRフィルタ部51aが備えるFIRフィルタa−1〜a−5は、駆動点D1〜D5と測定点aの組み合わせについて計測された5つの応答波形に基づく5セットの係数を使用して、加振点D1〜D5から放音点aへ伝達する5つの音信号に対して、響板の響きに相当する楽音特性の変化を付与する。ここでは、響板上の各経路における音信号の、各周波数帯域毎のレベルや位相の特性の変化がリアルに再現される。
【0055】
また、FIRフィルタ部51a〜51cは、各FIRフィルタの出力に対し、上記1の音色データ中の上記響板パラメータの一部として記憶されている係数を乗算する乗算器52を備えている。これらの係数は、5つの加振点D1〜D5から3つの放音点a〜cへの各経路の音信号の伝播量を制御するものである。
響板出力ミキサOMa〜OMcは、響板上の放音点a〜cと対応して設けたものであり、放音点毎に、各加振点D1〜D5からその放音点に伝播してくる音信号のデータとして特性およびレベルが制御された乗算器52の出力信号をミキシングし、その結果を出力する。
【0056】
以上の響板模擬部50により、共鳴も含む、弦の振動による楽音を示す波形データに対し、響板における共鳴の効果を付加した波形データを得ることができる。そして、響板模擬部50の出力信号DSa〜DScは、上述のようにDAC17を介してサウンドシステム18に供給され、発音に用いられる。サウンドシステム18を構成する3chのスピーカは、当該楽音信号生成装置を搭載する鍵盤型電子楽器(電子ピアノ)の、FIRフィルタのパラメータを求める際に用いた実物のピアノの筐体における測定点a〜c(放音点a〜c)の位置に相当する位置に配置する。
【0057】
電子ピアノにおいては、グランドピアノ様の形状を取る場合でも、アコースティックのグランドピアノより奥行きを短くすることがあるが、この場合、電子ピアノと上記実物のピアノとの奥行き方向のサイズ比に応じて、演奏者から各スピーカまでの距離を近づければよい。
また、ピアノの楽音に付加すべき響板の共鳴音は、響板模擬部50の出力信号DSa〜DScに既に含まれているので、電子ピアノの筐体は、スピーカボックスの役割を果たせばよく、フラットな周波数特性を持つことが好ましい。
【0058】
次に、図10乃至図13を用いて、以上説明してきた楽音信号生成装置10においてCPU11が各種演奏イベントの発生時に実行する処理について説明する。
これに先だって、CPU11は、上記1つの音色データ中の弦共鳴パラメータに基づいて、弦共鳴模擬部40に各種係数を、また、上記1つの音色データ中の響板パラメータに基づいて、響板模擬部50に各種係数をそれぞれセットし終えている。このとき、弦共鳴模擬部40における複数の各共鳴部41のうち、DKmax以下の各弦nに対応する共鳴部41−nには、それぞれ、乗算器43−nの係数C(n)として、上記1つの音色データの弦共鳴パラメータ中の、n番目の弦がダンプされているときの値Cclosed(n)に初期設定されているので、その何れの共鳴部41も共鳴しにくい状態にある。一方、DKmaxより上の弦nに対応する共鳴部41−nには、乗算器43−nの係数C(n)として、n番目の弦がダンプされていないときの値Copen(n)に初期設定されているので、その何れの共鳴部41も何れも共鳴しやすい状態にある。」
【0059】
まず、図10に、ノートオンイベント発生時の処理のフローチャートを示す。
CPU11は、ノートオンイベントを検出すると、図10のフローチャートに示す処理を開始する。
そして、まずレジスタnn及びvelに、検出したノートオンイベントに付随するノートナンバ及びベロシティの値を設定する。ここで、ノートナンバは、88鍵のピアノの第1鍵が「1」、第88鍵が「88」となるように割り当てられたナンバを示す。これは、MIDIのノートナンバ(上記各鍵には「20」〜「108」が割り当てられる)から−20だけずれた数字となる。ベロシティについては、ノートオンイベントに含まれる値をそのまま使えばよい。また、nn番目の鍵のオンオフ状態を示すレジスタKS(nn)に、オンを示す1を設定する(S11)。
【0060】
次に、ノートナンバnnに係る弦信号の生成に、弦信号生成部30の発音ch31のうち使用していないch1つを割り当てる(S12)。なおここでは、1つの音高の発音には基本的に1つの発音chのみを割り当てることとし、ある音高の発音中にもう1つ同じ音高の発音を行う必要が生じた場合には、既に発音中の発音ch31を急速減衰させつつ、次の発音に別の発音chを割り当てる。
また、ある発音chでの発音が充分に減衰して無音状態になったとき、その発音chは開放され「未使用」の発音chとなる。
【0061】
そして、ステップS12での割り当てができると、その割り当てた発音chに、上記1つの音色データに基づき、発音に必要な各種パラメータをセットする(S13)。このパラメータには、波形読出部32における、波形メモリ19から読み出すべき1つの弦音の波形データを特定するパラメータ、その波形データのピッチシフト量を示すパラメータ(いわゆるFナンバ)、信号処理部33におけるフィルタ処理に用いるフィルタ係数(値が時変してもよい)、エンベロープ処理部34における振幅エンベロープの初期(アタックからディケイまで)の音量レベル(ベロシティに依存する)、リリース状態での減衰速度、および、93個の乗算器35の93の係数を含む。
その後、ステップS12で割り当てた発音chに発音開始を指示する(S14)。
【0062】
また、nn≦DKmaxであれば、すなわち、ノートオンイベントが、ダンパの装着されている鍵(例えば、「68」以下。どの鍵まで装着されているかは、ピアノ毎に異なる。)に係るものであれば(S15)、押鍵によりダンパが外れるため、(レジスタ48の)nn番目の弦と対応する共鳴部41−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされていない時の値Copen(nn)に設定し(S16)、処理を終了する。ステップS15でnn>DKmaxであれば、押鍵があってもダンパの状態に変化はないため、そのまま処理を終了する。
以上の処理により、押鍵(発音指示)に応じて、押鍵された弦の弦信号の生成を開始すると共に、押鍵によりダンパが外れた弦に対応する共鳴部41を、共鳴しやすい状態に変化させることができる。
【0063】
次に、図11に、ノートオフイベント発生時の処理のフローチャートを示す。
CPU11は、ノートオフイベントを検出すると、図11のフローチャートに示す処理を開始する。
そしてまず、まずレジスタnnに、検出したノートオフイベントに付随するノートナンバの値を設定すると共に、nn番目の鍵のオンオフ状態を示すレジスタKS(nn)に、オフを示す0を設定する(S21)。
【0064】
次に、nn≦DKmaxかつDPS=0であれば、すなわち、ノートオフイベントがダンパの装着されている弦に係るものであり、かつダンパペダルがオフ状態であれば(S22,S23)、離鍵によりダンパが弦に押しつけられるため、nn番目の弦と対応する共鳴部44−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされている時の値Cclosed(nn)に設定する(S24)。
そして、ノートナンバnnに係る弦信号を発音中の発音ch31をサーチし(S25)、該当のchがあれば(S26)、そのchに対してリリース開始を指示して(S27)、処理を終了する。
【0065】
該リリース指示に応じて、弦信号生成部30においては、リリースの開始が指示された発音chが「リリース状態」に設定され、エンベロープ処理部34のその発音chの音量エンベロープが、先述したリリース速度とディケイ速度の差分に相当する速度で減衰を開始し、結果として、弦信号生成部30から出力されるその発音chの弦音の各波形データの音量が該リリース速度で減衰する。
【0066】
一方、ステップS22又はS23でNO、すなわち、ノートオフイベントがダンパの装着されていない弦(所定音高より高い)に係るものであるか、またはダンパペダルがオン状態であれば、離鍵してもダンパの状態に変わりはなく、弦はダンプされないので、そのまま処理を終了する。この場合、弦振動の減衰も、ダンプによらない減衰カーブに任せて行うため、リリースを指示する必要もない。
【0067】
以上の処理により、離鍵(消音指示)に応じて、ダンパペダルがオフであることを条件に、弦信号生成部30における、離鍵された弦の弦信号の生成をリリース状態に移行させると共に、離鍵された弦に対応する共鳴部41を、共鳴しにくい状態に変化させることができる。
また、以上の図10及び図11に示した処理は、複数の鍵が同時に押鍵又は離鍵された場合でも、問題なく実行可能である。
【0068】
次に、図12に、ダンパペダルオン時の処理のフローチャートを示す。
CPU11は、ダンパペダルのオン操作を示すイベントを検出すると、図12のフローチャートに示す処理を開始する。
そしてまず、ダンパペダルのオンオフ状態を示すレジスタDPSに、オンを示す1を設定すると共に、nnを1からDKmaxまで増加させながら(S31,S33,S34)、nnの各値についてステップS32の処理を順次実行する。すなわち、ダンパペダルのオン操作によりダンパが外れた各弦につき、共鳴部41の係数レジスタ48に与える係数の値C(nn)を、nn番目の弦についてダンプされていない時に用いる値Copen(nn)に設定する。以上の後、処理を終了する。
【0069】
以上の処理により、ダンパペダルのオン指示に応じて、ダンパを有している弦に対応する共鳴部41を、全て、共鳴しやすい状態にすることができる。なお、図12の処理においては、更に、弦信号生成部30の発音中の発音chの中から「リリース状態」にあるものをサーチして、見つかった発音chにリリース停止を指示して、その発音chの「リリース状態」を解除し、「アタック状態」ないし「ディケイ状態」に戻すようにしてもよい。
【0070】
次に、図13に、ダンパペダルオフ時の処理のフローチャートを示す。
CPU11は、ダンパペダルのオフ操作を示すイベントを検出すると、図13のフローチャートに示す処理を開始する。
そしてまず、ダンパペダルのオンオフ状態を示すレジスタDPSに、オフを示す0を設定すると共に、nnを1からDKmaxまで増加させながら(S41,S47,S48)、nnの各値についてステップS42乃至S46の処理を順次実行する。
【0071】
すなわち、まずノートナンバnnの鍵が押鍵されているか否か判断する(S42)。そして、押鍵されていなければ(KS(nn)=0ならば)、ダンパペダルのオフ操作によりダンパが弦に押しつけられるため、共鳴部41−nnの乗算器43−nnに与える係数C(nn)を、上記弦共鳴パラメータ中の、nn番目の弦がダンプされている時の値Cclosed(nn)に設定する(S43)。
【0072】
さらに、ノートナンバnnに係る弦信号を発音中の発音ch31をサーチし(S44)、該当のchがあれば(S45)、そのchに対してリリース開始を指示する(S46)。このリリースは、離鍵時にダンパが弦に押しつけられる場合の、図11のステップS27で設定するものと同様なものである。また、ステップS42でNOの場合は、ダンパペダルをオフにしても、ダンパが弦に押しつけられず、ダンパの状態に変化はないため、特に何もしない。以上の後、処理を終了する。
【0073】
以上の処理により、ダンパペダルのオフ指示に応じて、ダンパが備えられており、かつ、離鍵状態にある弦に対応する共鳴部41を、共鳴しにくい状態に移行させると共に、弦信号生成部30における、その弦の弦信号の生成を、リリース状態に移行させることができる。
【0074】
以上で実施形態の説明を終了するが、装置の構成、使用するデータの形式、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述の実施形態では、ノートナンバがDKmaxより大きい弦についてはダンパを設けない例について説明したが、このような区別をなくし、全ての弦にダンパが設けられているとして楽音の生成を行うようにしてもよい。また、ダンパの設けられていない弦については、Copen(nn)とCclosed(nn)を同じ値とすると共に、リリースの減衰速度を押鍵状態の減衰速度と同じ値とすることにより、処理上はダンパのありなしを区別しなくても、実質的にダンパのない弦の発音を再現することができる。
【0075】
また、上述の実施形態では、係数レジスタ48に与える係数の値を、Copen(nn)とCclosed(nn)の2通りとしたが、ハーフダンパの操作も検出できるようにし、ハーフダンパを検出した場合にこれと対応する中間的な係数の値を設定できるようにしてもよい。また、同じくダンプされていない状態であっても、押鍵状態と離鍵状態とで、異なる係数の値を設定するようにしてもよい(ただし、ダンプされていない状態では、必ずダンプされている状態よりも減衰時間の長い係数を設定する)。
また、CopenやCclosedの値を、全ての弦について異なる値とすることは必須ではなく、一部の弦で共通の値としてもよい。
また、上記1の音色データの各パラメータの値を、ユーザが編集(変更)できるようにしてもよい。
また、響板模擬部50における伝播特性のシミュレートを、駒上の5点と響板上の3点を取って行ったが、点の数はこれに限られない。
【0076】
また、上述した実施形態では、ピアノの物理的な共鳴構造をモデリングしたアルゴリズムについて説明したが、固定された複数の弦に振動を伝播させて共鳴させる構造を有する楽器であれば、乗算器35及び出力乗算器46やFIRフィルタ部51を始めとする各部のパラメータを適切に設定することにより、同様の仕組みでモデリング可能である。
【0077】
少なくとも、任意のピアノメーカーのピアノ、任意の構造のピアノ、昔のフォルテピアノ等、ダンパペダルを有しているあらゆるタイプのピアノを用いて弦振動音のサンプリング、FIRフィルタパラメータを求めるための応答波形の測定、弦共鳴模擬部に設定する係数の設定を行って得た音色データを、楽音生成に用いることができる。また、ダンパペダルに関する制御を省略すれば、ダンパは有するがダンパペダルを有しないチェンバロ等の楽器音色にも適用することができる。
【0078】
なお、例えばグランドピアノとアップライトピアノのように、響板の配置が大きく異なる場合、それに応じて放音点の位置関係が大きく異なるので、一組の(例えば3chの)スピーカを、それら双方の楽音生成に好適な位置に配置することは困難である。しかし、スピーカアレイを用いて伝達特性の畳み込みを行うことにより、仮想的に任意の位置から放音されるように聞き手に認識させることができるサウンドシステムを用いれば、上記のような放音点の位置関係が大きく異なるピアノの楽音を、楽音信号生成装置を搭載する1台の電子楽器により発音させることも可能である。使用する音色データに応じて、聞き手が認識する放音位置を変えるように、スピーカアレイの発音を制御すればよい。
また、実施形態の説明において述べたものも含め、以上において述べた変形は、矛盾しない範囲で任意に組み合わせて適用可能である。
【産業上の利用可能性】
【0079】
以上の説明から明らかなように、この発明の楽音信号生成装置によれば、楽音の発音指示及び消音指示ならびにダンパペダルのオン指示及びオフ指示に基づいて、音源で生成した弦信号に対して、アコースティックピアノの物理的な構造に基づく弦の共鳴効果と同様の共鳴効果を付与できるようにすることができる。
従って、この発明を適用することにより、よりリアルな楽音の出力が可能な楽音信号生成装置を構成することができる。
【符号の説明】
【0080】
10…楽音信号生成装置、11…CPU、12…ROM、13…RAM、14…MIDI_I/F、15…パネルスイッチ、16…パネル表示器、17…DAC、18…サウンドシステム、19…波形メモリ、20…システムバス、30…弦信号生成部、40…弦共鳴模擬部、41…共鳴部、42…加算器、43…乗算器、44…フィルタ、45…ディレイ、46…出力乗算器、50…響板模擬部
【特許請求の範囲】
【請求項1】
各音高の楽音の発音指示および消音指示を供給する発音指示部と、
ダンパペダルのオン指示およびオフ指示を供給するダンパ状態指示部と、
それぞれ、各音高の弦信号であって、該音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に、該音高に対応する消音指示に応じて該減衰を加速する弦信号を、複数生成する弦信号生成部と、
各音高の共鳴信号が循環する、該各音高と対応する複数のループ部を備え、該複数のループ部がそれぞれ、該共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、該共鳴信号を減衰する減衰部とを含む弦共鳴模擬部と、
前記複数のループ部を循環する複数の共鳴信号と、前記弦信号生成部が生成した複数の弦信号とを合成し、前記複数のループ部に供給する供給部と、
前記複数のループ部を循環する複数の共鳴信号と、前記弦信号生成部が生成した複数の弦信号とに基づき、楽音信号を形成して出力する出力部と、
前記楽音の発音指示及び消音指示、ならびに前記ダンパペダルのオン指示及びオフ指示に基づいて、前記複数のループ部の各々の減衰部に減衰係数を供給する制御部とを備えたことを特徴とする楽音信号生成装置。
【請求項2】
請求項1に記載の楽音信号生成装置であって、
前記制御部は、
前記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、
前記ダンパペダルがオフ状態の場合、前記消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、
前記ダンパペダルがオン状態の場合、前記消音指示がなされた音高に対応する減衰部に、前記第1の減衰係数を供給することを特徴とする楽音信号生成装置。
【請求項3】
請求項1に記載の楽音信号生成装置であって、
前記制御部は、
前記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、
前記消音指示がなされた音高が所定音高以下であり、かつ、前記ダンパペダルがオフ状態の場合、該消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、
前記消音指示がなされた音高が所定音高より高いか、または、前記ダンパペダルがオン状態の場合、該消音指示がなされた音高に対応する減衰部に、前記第1の減衰係数を供給することを特徴とする楽音信号生成装置。
【請求項1】
各音高の楽音の発音指示および消音指示を供給する発音指示部と、
ダンパペダルのオン指示およびオフ指示を供給するダンパ状態指示部と、
それぞれ、各音高の弦信号であって、該音高に対応する発音指示に応じて立ち上がった後に減衰し、ダンパペダルがオフ状態の場合に、該音高に対応する消音指示に応じて該減衰を加速する弦信号を、複数生成する弦信号生成部と、
各音高の共鳴信号が循環する、該各音高と対応する複数のループ部を備え、該複数のループ部がそれぞれ、該共鳴信号を対応する音高に応じた時間だけ遅延する遅延部と、該共鳴信号を減衰する減衰部とを含む弦共鳴模擬部と、
前記複数のループ部を循環する複数の共鳴信号と、前記弦信号生成部が生成した複数の弦信号とを合成し、前記複数のループ部に供給する供給部と、
前記複数のループ部を循環する複数の共鳴信号と、前記弦信号生成部が生成した複数の弦信号とに基づき、楽音信号を形成して出力する出力部と、
前記楽音の発音指示及び消音指示、ならびに前記ダンパペダルのオン指示及びオフ指示に基づいて、前記複数のループ部の各々の減衰部に減衰係数を供給する制御部とを備えたことを特徴とする楽音信号生成装置。
【請求項2】
請求項1に記載の楽音信号生成装置であって、
前記制御部は、
前記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、
前記ダンパペダルがオフ状態の場合、前記消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、
前記ダンパペダルがオン状態の場合、前記消音指示がなされた音高に対応する減衰部に、前記第1の減衰係数を供給することを特徴とする楽音信号生成装置。
【請求項3】
請求項1に記載の楽音信号生成装置であって、
前記制御部は、
前記発音指示がなされた音高に対応する減衰部に、ダンプされていない弦の減衰時間に相当する第1の減衰係数を供給し、
前記消音指示がなされた音高が所定音高以下であり、かつ、前記ダンパペダルがオフ状態の場合、該消音指示がなされた音高に対応する減衰部に、ダンプされた弦の減衰時間に相当する第2の減衰係数を供給し、
前記消音指示がなされた音高が所定音高より高いか、または、前記ダンパペダルがオン状態の場合、該消音指示がなされた音高に対応する減衰部に、前記第1の減衰係数を供給することを特徴とする楽音信号生成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−203280(P2012−203280A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−69247(P2011−69247)
【出願日】平成23年3月28日(2011.3.28)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月28日(2011.3.28)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]