(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0023】
以下、本発明の一実施形態に係る共鳴音発音装置について、図面を参照しながら説明する。
図1は本発明の共鳴音制御装置を備えた電子ピアノのハード構成を示すブロック図である。
同図において、バスライン40には、CPU1、RAM2、ROM3、プログラムメモリ4、楽音波形メモリ5、音源装置
(発音手段)6、鍵盤インタフェース7、ペダルインタフェース8、パネルインタフェース9、および共鳴音制御装置
(共鳴音制御手段)10が接続される。
【0024】
鍵盤インタフェース7には鍵盤装置70が、ペダルインタフェース8にはペダル装置80が、パネルインタフェース9には操作パネル90がそれぞれ接続される。
鍵盤装置70は、複数(例えば88鍵)の鍵(キー)と、各鍵の押し下げ量を検出するための
位置検出センサ(詳細は後述する)とを備える。
鍵盤インタフェース7は、位置検出センサの出力信号に基づいてキーイベント情報やタッチ情報を生成し、これらの情報はキーナンバに対応づけられてRAM2に記憶される。
【0025】
ペダル装置80は、アコースティックピアノにおける各ペダルの踏み込みによる効果を電子ピアノで再現させるために設けられる。ペダル装置80は、全ての弦に対して共鳴させるダンパーペダル、特定の弦に対して共鳴させるソステヌートペダル、発音を小さくするソフトペダル及びこれらペダルの踏み込み量を検出するセンサ(ボリューム)からなる。
【0026】
ダンパーペダルの踏み込み量を検出するセンサ(ボリューム)は、踏み込み量について128段階の検出が可能なセンサから構成され、共鳴処理では細かい制御を行わないため、例えば8段階の踏み込み量(踏下状態)が検出できるようになっている。
また、ソステヌートペダルの踏み込み量を検出するセンサ(ボリューム)についても、踏み込み量について128段階の検出が可能なセンサから構成され、例えば64段階を境にオン・オフの2段階の踏み込み量(踏下状態)が検出できるようになっている。
【0027】
共鳴音制御装置10にはデジタル/アナログ変換器20が接続され、デジタル/アナログ変換器20には、アンプやスピーカを含むサウンドシステム30が接続される。アンプやスピーカは音像の方向を制御できるように少なくとも2組設けるのがよい。
【0028】
CPU1は、プログラムメモリ4に格納されている制御プログラムに従って、各構成要素を制御する。楽音波形メモリ5には複数の音色に対応した波形データが記憶され、ROM3には、楽音波形データを処理して楽音を生成するためのパラメータが記憶される。RAM2はCPU1がプログラムを実行する際の各種データを一時記憶するワークエリアとして使用される。操作パネル90はLCDスクリーンや各種スイッチおよびボリューム、ならびにLEDなどの表示灯からなり、例えば、鍵盤装置70に隣接して設けられるコントロールパネル上に配置される。
【0029】
演奏時、鍵盤装置70から入力されるキーオン信号に応答して楽音波形メモリ5から音源装置6へ楽音波形データが読み出される。楽音波形データは、キーオン信号に含まれるキーオンナンバに応じた周波数で読み出される。音源装置6では、読み出された楽音波形データに対して、ベロシティに応じたアタック部の形成を含むエンベロープ制御および効果の付加等の処理がなされ、楽音信号が形成される。楽音信号は、共鳴音制御装置10により共鳴音が付与され、デジタル/アナログ変換器20でアナログ楽音信号に変換された後、サウンドシステム30に供給される。サウンドシステム30ではアナログ楽音信号をアンプで増幅した後、スピーカで発音する。
【0030】
共鳴音制御装置10は、ダンパーが離れた状態での弦の共鳴(ストリングレゾナンス)を音源(ピアノの実音)に付加する装置である。この共鳴音制御装置10は、
図2に示すように、88個の鍵にそれぞれ対応する各共鳴回路11を備え、ダンパーが離れた状態の鍵(押鍵される鍵の数)に対応する共鳴回路11から出力される共鳴音を音源に加えて出力するように構成されている。
そして、共鳴回路11においては、押鍵に際して、途中まで押し込まれた鍵が共鳴する状態や、鍵を押し込む深さに応じて変化する共鳴度合いを再現できるようなっている。
【0031】
すなわち、各共鳴回路11は、
図3に示すように、遅延回路11aからの出力がローパスフィルタ11bを介し、フィードバック係数(共鳴係数)を乗じて遅延回路11aの入力側に戻される回路で構成されている。遅延回路11aは、鍵の音高に応じた遅延時間が予め設定されている。
【0032】
フィードバック係数(共鳴係数)は、鍵盤装置70における鍵の押鍵状態、ペダル装置80におけるダンパーペダルの踏み込み量(踏下状態)及びソステヌートペダルの踏み込み量(踏下状態)、鍵盤装置70における鍵番号の4つの要素に基づいて共鳴音係数テーブルから選択することで、中間的な共鳴状態を再現することが可能となる。鍵番号を考慮するのは、鍵毎に対応する弦が異なるので、弦に応じた共鳴音となるよう音域毎に共鳴係数が異なるようにするためである。
【0033】
鍵盤装置70は、押鍵時にSW1,SW2,SW3の順にスイッチがオンになる三接点鍵盤とすることで、各鍵における押し込む深さ位置を検出して押鍵状態を判断するように構成されている。すなわち、SW3がオンになった時に実音を発音し、SW1のみがオンになった時にその鍵の中間的な(音量が小さい)共鳴状態とし、SW2がオンになった時に完全な共鳴状態として判断することで、アコースティックピアノの中間的な共鳴状態を再現することが可能となる。
【0034】
図4は、上述した三接点の鍵盤装置70の具体的な構造を示す断面側面図である。
鍵盤装置70の各鍵71は、支点となるバランスピン72で支持されていて、バランスピン72の右側つまり鍵71の奥方向の端部近くに上方に突出したキャプスタンねじ73が設けられる。フレーム74には、ほぼ水平に延びて、該フレーム74近くに設けられた軸75の周りで上下に揺動自在なハンマ部76が設けられる。ハンマ部76の先端寄りにはアクションウェイト76aが設けられている。
一方、鍵71の、バランスピン72から左寄りの位置つまり鍵71の手前方向端部近くには、カウンタウェイト78が吊り下げ状態で設けられる。さらに、フレーム74には、前記アクションウェイト76aが上方に跳ね上がりすぎるのを抑止するストッパ79が設けられる。鍵71は、押鍵されていないときは、カウンタウェイト78が設けられた側が持ち上がった位置にある。
【0035】
演奏時に鍵71が押されると、鍵
71の前端部は、バランスピン72を中心に下がり、逆に鍵71の奥側端部は持ち上げられる。そのとき、キャプスタンねじ73はアクションウェイト76aが設けられたハンマ部76を押し上げるので、演奏者はこの押し上げ力の反力をタッチとして感じる。
【0036】
ストッパ79の中央下面には、ハンマ部76の上下方向における変位量を検出するためのセンサとしての位置検出センサ
(多段スイッチ手段)SWが設けられる。ハンマ部76の中央上面には位置検出センサSWを押圧するためのスイッチ押圧部77が設けられる。位置検出センサSWは、スイッチ押圧部77との距離が異なる複数のスイッチSW1,SW2,SW3から構成されている。
【0037】
スイッチSW1は鍵71が下降を開始した際に連動するハンマ部76に設けられたスイッチ押圧部77の押圧を検出して出力を生じる。スイッチSW3は鍵71の最下降位置近傍つまり鍵71が最大に押し下げられた位置に相当する位置でスイッチ押圧部77の押圧を検出して出力を生ずる。スイッチSW2は、鍵71の下降途中、つまりスイッチSW1およびSW3の間に設定された高さに鍵71が降りた際にスイッチ押圧部77の押圧を検出して出力を生じる。
【0038】
位置検出センサSWは、ドーム状のゴムスイッチとカーボンなどの接点をもつスイッチ基板により構成するのがよい。ゴムスイッチには可動接点が設けられスイッチ押圧部77により押圧されるとゴムスイッチが変形し可動接点がカーボン接点と接触することにより出力を生じる。
なお、位置検出センサSWは、磁気センサや光センサや振動センサ等、各種位置検出センサであってもよい。
【0039】
また、上述したように、ペダル装置80によるダンパーペダルやソステヌートペダルの操作状態(踏み込み量)も共鳴状態に関係することになる。すなわち、ダンパーペダルは、このペダルを踏むことで全ての鍵に対応する弦からダンパーフェルトが離れる状態となり、全ての弦間において共鳴(全ての音を伸ばす役割:ダンパーレゾナンス)が生じる。ソステヌートペダルは、鍵を押鍵してこのペダルを踏むと、押鍵した鍵に対応する弦からダンパーフェルトが離れている状態となり、この弦において共鳴(ある特定の音を伸ばす役割)し、鍵から指を離してもその音だけが持続する。したがって、ペダル装置80のダンパーペダルやソステヌートペダルから入力される制御信号(センサによるペダル踏み込み信号)によっても、ペダル装置80を構成するペダルに対応した効果、ダンパーペダル効果やソステヌート効果が楽音信号に付加される。
【0040】
上述した共鳴回路で共鳴音を生成する場合、鍵盤装置70の位置検出センサSW(スイッチSW1,スイッチSW2,スイッチSW3)の状態だけでなく、ペダル装置80のダンパーペダルやソステヌートペダルの状態も加味して制御する必要がある。例えば、各鍵のスイッチによる状態とダンパーペダルの状態を比較し、より共鳴状態が強い方を各鍵の共鳴状態として共鳴音を付与するようにする。具体的な共鳴音付与の手順については後述する。
【0041】
続いて、電子ピアノにおける楽音発生処理について、
図5のフローチャートを参照しながら説明する。
電子ピアノの電源がオンされると、先ず、各処理を行うに際しての変数の初期化等の初期化処理が行われる(ステップS1)。
次に、操作パネル90の操作状態を把握するパネルイベント処理が行われる(ステップS2)。
次に、鍵盤装置70における押鍵状態を把握するキーイベント処理が行われる(ステップS3)。
次に、ペダル装置80におけるペダル操作状態を把握するペダルイベント処理が行われる(ステップS4)。
次に、鍵盤装置70及びペダル装置80の操作状態から決められた共鳴音係数(
図3におけるフィードバック係数)を転送する共鳴係数転送処理が行われる(ステップS5)。
次に、鍵盤装置70の押鍵に応じて楽音を発生する楽音
生成処理が行われる(ステップS6)。
次に、ステップS6の楽音に対して、ステップS5に基づく共鳴音係数による共鳴音等の効果音を付与する効果付与処理が行われる(ステップS7)。
続いて、その他の処理(ステップS8)が行われた後、ステップS2に戻る。
以降、ステップS2からの処理を繰り返す。
【0042】
図6は、
図5のフローチャートにおけるステップS1の初期化処理の詳細を示すものであり、共鳴処理で使用される変数の初期化(S11〜S13)と、その他の初期化処理(S15)に分かれる。
先ず、共鳴係数の平滑化係数(smth)と、ダンパーペダル値(CurPedal)を初期化する(S11)。共鳴係数の平滑化係数(smth)は、共鳴係数を転送する際にノイズの発生を抑制するための平滑化係数であり、予め定めた所定値に設定して初期化する。ダンパーペダル値(CurPedal)は、ダンパーペダルの踏み込み量の現在の値であり、「0」に初期化する。
【0043】
次に、処理対象の鍵番号(KeyNo)を「0」に初期化する(S12)。
続いて、鍵番号(KeyNo)の第1のスイッチSW1のオン・オフ状態を示すSW1(KeyNo)、鍵番号(KeyNo)の第2のスイッチSW2のオン・オフ状態を示すSW2(KeyNo)、鍵番号(KeyNo)の第3のスイッチSW3のオン・オフ状態を示すSW3(KeyNo)をそれぞれ「OFF」に、鍵番号(KeyNo)のソステヌート処理の状態を示すsosteFlag(KeyNo)を「OFF」に、鍵番号(KeyNo)の共鳴係数の現在値CurResCoef(KeyNo)及び鍵番号(KeyNo)の共鳴係数の目標値TarResCoef(KeyNo)を「0」にする(S13)。
【0044】
ステップS13の処理は、KeyNoが127より大きくなるまで続けることで全ての鍵についての初期化が完了し(S14)、その他の初期化処理を行って(S15)、初期化が終了する。
KeyNoが127まで存在するのは、電子ピアノの鍵の個数は88個であるが、電子楽器の規格において採用されているMIDにおける処理では、128個分の鍵を対象としているため、本実施例ではこれに準ずる処理を行うために128鍵分の処理を行うようにしている。
【0045】
本発明の共鳴音制御装置10では、鍵盤装置70における押鍵状態と、ペダル装置80におけるペダル操作状態とを考慮して、音源装置6の楽音信号に対して共鳴係数に応じた共鳴音を付加することを特徴としている。したがって、鍵盤装置70における押鍵状態を把握するキーイベント処理(ステップS3)、ペダル装置80におけるペダル操作状態を把握するペダルイベント処理(ステップS4)、鍵盤装置70及びペダル装置80の操作状態から決められた共鳴音の係数を転送する共鳴係数転送処理(ステップS5)の一連の処理により、楽音信号に対して共鳴音を付加する処理が行われる。
以下、これらの一連の処理における共鳴音付加に関係する手順について、
図7〜
図11のフローチャートを参照して説明する。
【0046】
図7は、
図5のフローチャートにおけるステップS3のキーイベント処理の詳細を示すもので、変化した鍵の状態に応じて、共鳴係数算出処理を呼び出して、共鳴係数の目標値の更新を行う。
先ず、鍵(キー)の状態に変化があるか否かを判断する(S21)。
ステップS21で鍵(キー)の状態に変化がある場合、変化した鍵番号(KeyNo)をメモリに保存する(S22)。
次に、変化した鍵番号(KeyNo)における第1のスイッチ(SW1)〜第3のスイッチ(SW3)の状態をメモリに保存する(S23)。すなわち、第1のスイッチSW1(KeyNo)、第3のスイッチSW2(KeyNo)、第3のスイッチSW3(KeyNo)のオン・オフ状態を保存する。
続いて、SW1(KeyNo)、SW2(KeyNo)、SW3(KeyNo)のオン・オフ状態の組み合わせから、共鳴係数を算出する共鳴係数算出処理が行われる(S24)。具体的な共鳴係数算出処理の手順については後述する。
共鳴係数算出処理が行われた後、共鳴係数算出に関係する以外の鍵(キー)状態に関するその他キーイベント処理を行う(S25)。
【0047】
図8は、
図5のフローチャートにおけるステップS4のペダルイベント処理の手順を示す。ペダルイベント処理では、ソステヌートペダルに関する操作状態を把握するソステヌートペダル処理(S31)、ダンパーペダルに関する操作状態を把握するダンパーペダル処理(S32)、ソフトペダルに関する操作状態を把握するソフトペダル処理(S33)が行われる。
【0048】
次に、
図8におけるソステヌートペダル処理(S31)について説明する。
図9は、
図8のフローチャートにおけるステップS31のソステヌートペダル処理の詳細を示すもので、ソステヌートペダルと鍵の状態に応じて、共鳴係数算出処理を呼び出して、共鳴係数の目標値の更新を行う。
【0049】
先ず、ソステヌートペダルの状態に変化があるか否かを判断する(S41)。
ステップS41でソステヌートペダルの状態に変化がある場合、処理対象の鍵番号(KeyNo)を「0」に初期化する(S42)。
次に、ソステヌートペダルがオン状態であるかどうかを判断する(S43)。
ステップS43でソステヌートペダルがオン状態でない場合、対応する鍵番号(KeyNo)のsosteFlag(KeyNo)を「OFF」に設定し(S44)、共鳴係数算出処理を行う(S45)。具体的な共鳴係数算出処理の手順については後述する。
【0050】
ステップS43でソステヌートペダルがオン状態である場合、第2のスイッチSW2(KeyNo)がオン状態であるかどうかを判断し(S46)、オン状態であるに対応する鍵番号(KeyNo)のsosteFlag(KeyNo)を「ON」に設定する(S47)。
また、ステップS46で第2のスイッチSW2(KeyNo)がオフ状態である場合、ステップS43でソステヌートペダルがオン状態であっても、対応する鍵番号(KeyNo)のsosteFlag(KeyNo)は「OFF」を維持する。
KeyNo=KeyNo+1とし(S48)、鍵番号(KeyNo)が127を超えるまでステップS43からステップS49までの処理を繰り返し行うことで、全ての鍵に対しての処理が行われる。
【0051】
また、S43の後にS46を行うのは次のような理由による。
ピアノの場合、ソステヌートペダルの動作は、ソステヌートペダルを踏んだ瞬間にすでに押鍵されている鍵のダンパーフェルトのみを離れた状態で維持する。すなわち、ソステヌートペダルが踏まれた状態であっても、後から押鍵された鍵はその対象にはならない。この動作を電子ピアノで実現するために、ソステヌートペダルがオン状態になった時(S43)に既に押鍵されている鍵(SW2がON)を検出する必要がある。
【0052】
次に、
図8におけるダンパーペダル処理(S32)について説明する。
図10は、
図8のフローチャートにおけるステップS32のダンパーペダル処理の詳細を示すもので、ダンパーペダルと鍵の状態に応じて、共鳴係数算出処理を呼び出して、共鳴係数の目標値の更新を行う。
【0053】
先ず、ダンパーペダルの状態に変化があるか否かを判断する(S51)。
ステップS51でダンパーペダルの状態に変化がある場合、ダンパーペダルの状態をメモリに保存する(S52)。
次に、処理対象の鍵番号(KeyNo)を「0」に初期化し(S53)、共鳴係数算出処理を行う(S54)。具体的な共鳴係数算出処理の手順については後述する。
KeyNo=KeyNo+1とし(S55)、鍵番号(KeyNo)が127を超えるまでステップS54からステップS56までの処理を繰り返し行うことで、全ての鍵に対しての処理が行われる。
【0054】
次に、
図7のステップS24、
図9のステップS45、
図10のステップ54で呼び出される共鳴係数算出処理について、
図11のフローチャートを参照しながら説明する。
鍵とソステヌートペダル処理の状態からKeyResDepthを決定する(S61)。
すなわち、対象となる鍵盤番号(KeyNo)の第1のスイッチSW1,第2のスイッチSW2,第3のスイッチSW3,sosteFlagに応じた値をKeyResDepthテーブルから取り出し、KeyResDepthとする。
【0055】
この例では、KeyResDepth は、
図12に示すようなKeyResDepth テーブルを参照することで、第1のスイッチSW1,第2のスイッチSW2,第3のスイッチSW3,sosteFlagのオン・オフ状態の8種類の組み合わせに対して、「0」「3」「7」「7」「7」「7」「7」「7」のいずれかの値に変換される。
すなわち、sosteFlagがOFFであれば、SW1,SW2,SW3のオン・オフ状態に応じて、オフ・オフ・オフであれば「0」、オン・オフ・オフであれば「3」、オン・オン・オフであれば「7」、オン・オン・オンであれば「7」が、sosteFlagがONであれば位置検出スイッチSW(SW1〜SW3)の状態にかかわらず「7」が、KeyResDepthの値となる。
図12では、上記した8種類以外の8種の押鍵情報(例えば、sosteFlagがOFFで、SW1,SW2,SW3が「オフ・オン・オフ」)を異常が生じた際のエラー処理を行うための情報として含んでいる。これらの押鍵情報は、ノイズの混入や接触不良により取り得る可能性があり、その場合には、押鍵情報に応じて
図12に示した値(「7」)に変換されるようになっている。
【0056】
次に、ダンパーペダルの踏み込み量の状態からPedalResDepthを決定する(S62)。PedalResDepthは、ダンパーペダルの値を演算により8段階のいずれかの値(0〜7)に変換される。
【0057】
KeyResDepthとPedalResDepthを比較して共鳴状態の深い方(値の大きい方)をその鍵の共鳴状態ResDepthとして採用する(S63〜S65)。
【0058】
対象となる鍵番号(KeyNo)とResDepthに応じた値を
図13に示すようなResCoefTableから取り出して採用することで、ResDepthは共鳴係数の目標値TarResCoefに変換される(S66)。
図13では、同じResDepth 「0」〜「7」であってもKeyNoに応じて7種類のテーブルを参照するようになっている。
【0059】
例えば、ResDepth「0」の場合、鍵番号盤が0〜23までは「B0_RC0」を、鍵番号盤が24〜35までは「B1_RC0」を、鍵番号盤が36〜47までは「B2_RC0」を、鍵番号盤が48〜59までは「B3_RC0」を、鍵番号盤が60〜71までは「B4_RC0」を、鍵番号盤が72〜83までは「B5_RC0」を、鍵番号盤が84〜127までは「B6_RC0」をそれぞれ共鳴係数として選択する。
ResDepth「0」は完全にダンパーフェルトが弦に接触している状態となるが、低音弦は弦の質量が大きいため止音のためのダンパーフェルトが接触していても直ぐには完全に音が止まらない。そのため、同じResDepth「0」であっても、低音弦と高音弦間で共鳴音に差が生じるように、選択する共鳴係数が異なるように設定している。
【0060】
図14は、
図5のフローチャートにおけるステップS5の共鳴係数転送処理の手順を示す。
共鳴係数の転送は1鍵ずつ行われる。共鳴係数を現在値CurResCoefから目標値TarResCoefに向けて少しずつ(smthの値)変化させてノイズが発生しないように値を更新及び転送する。
【0061】
処理対象となる鍵番号(KeyNo)を「0」に初期化(KeyNo=0)する(S71)。
現在値CurResCoefと目標値TarResCoefとを比較し、現在値が目標値と同じで目標値に到達していれば、更新が必要ないと判断する(S72)。
【0062】
ステップS72で現在値CurResCoefが目標値と同じでない場合、現在値CurResCoefが目標値TarResCoefより大きいかを判断する(S73)。
ステップS73で現在値CurResCoefが目標値TarResCoefより大きい場合、現在値から少し(smthの値)減じた値に更新する(S74)。
更新された現在値CurResCoefが目標値TarResCoefより小さいかを判断し(S75)、小さい場合は現在値CurResCoefを目標値TarResCoefに更新し(S76)、大きい場合はそのままの現在値で、共鳴音制御装置の所定の係数メモリに現在値を転送する(S77)。
【0063】
ステップS73で現在値CurResCoefが目標値TarResCoefより小さい場合、現在値から少し(smthの値)増じた値に更新する(S78)。
更新された現在値CurResCoefが目標値TarResCoefより大きいかを判断し(S79)、大きい場合は現在値CurResCoefを目標値TarResCoefに更新し(S80)、小さい場合はそのままの現在値CurResCoefで、共鳴音制御装置の所定の係数メモリに現在値CurResCoefを転送する(S77)。
【0064】
これらの処理について、次の鍵番号(KeyNo+1)で処理を行うべく、(KeyNo=KeyNo+1)とし(S81)、KeyNoが127に達するまで全ての鍵で共鳴係数の転送を行う(S82)。
【0065】
上述した共鳴音制御装置10によれば、鍵71による押鍵に対して、第1のスイッチSW1,第2のスイッチSW2,第3のスイッチSW3の三段階のスイッチを備えた位置検出センサSWを用い、各鍵の検出位置に応じた共鳴係数をフィードバック係数として共鳴回路11で利用することで、中間的な鍵の位置における共鳴状態を再現することができる。
また、位置検出センサSW(SW1〜SW3)の状態だけでなく、ペダル装置80のダンパーペダルやソステヌートペダルの踏下状態も加味して共鳴音を制御することで、アコースティックピアノによる共鳴音に近づけることができる。