(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】音信号生成装置、鍵盤楽器およびプログラム
(51)【国際特許分類】
G10H 1/053 20060101AFI20230704BHJP
G10H 7/02 20060101ALI20230704BHJP
【FI】
G10H1/053 C
G10H7/02
(21)【出願番号】P 2020546663
(86)(22)【出願日】2018-09-14
(86)【国際出願番号】 JP2018034261
(87)【国際公開番号】W WO2020054070
(87)【国際公開日】2020-03-19
【審査請求日】2021-03-05
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】大場 保彦
(72)【発明者】
【氏名】小松 昭彦
(72)【発明者】
【氏名】田之上 美智子
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2009-025477(JP,A)
【文献】特開2014-059534(JP,A)
【文献】特開2007-322871(JP,A)
【文献】特開2017-191165(JP,A)
【文献】特開平06-138876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00-7/12
(57)【特許請求の範囲】
【請求項1】
1つの鍵への操作に応じた第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成する信号生成部と、
前記第1操作データに基づいて、前記第1音信号及び前記第2音信号の関係を調整し、前記第1音信号の減衰を制御するためのペダルへの操作に応じた第2操作データに基づいて前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行う調整部と、
を備え、
第1鍵への操作に応じて生成される前記第1音信号と、前記第1鍵とは異なる第2鍵への操作に応じて生成される前記第1音信号とは、互いに音高が異なり、
前記第1鍵への操作に応じて生成される前記第2音信号と、前記第2鍵への操作に応じて生成される前記第2音信号とは、互いに音高が共通であり、
前記ペダルは、レスト位置とエンド位置との範囲で操作可能であり、
前記ペダルが前記エンド位置から前記レスト位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を第1速度から前記第1速度よりも速い第2速度に変更し、且つ前記第2音信号の減衰速度を変更しない
、音信号生成装置。
【請求項2】
前記調整部は、前記1つの鍵の押鍵動作の物理量に応じたそれぞれのタイミングで発音するように前記第1音信号及び前記第2音信号の関係を調整し、少なくとも前記1つの鍵の離鍵動作の後において、前記第2音信号とは異なる減衰速度で前記第1音信号の減衰を開始する、請求項1に記載の音信号生成装置。
【請求項3】
前記ペダルが前記エンド位置と前記レスト位置の間から前記レスト位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を前記第1速度よりも速い第3速度から前記第3速度よりも速い前記第2速度に変更し、且つ前記第2音信号の減衰速度を変更しない、請求項
1に記載の音信号生成装置。
【請求項4】
前記ペダルが前記エンド位置と前記レスト位置の間から前記エンド位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を前記第3速度から前記第1速度に変更し、且つ前記第2音信号の減衰速度を変更しない、請求項
3に記載の音信号生成装置。
【請求項5】
前記調整部は、
前記第1操作データに基づいて、前記鍵の押下範囲のうちの所定の位置における鍵の挙動に関する推定値を算出し、
算出された前記推定値に基づいて前記関係を調整する、請求項1乃至
4の何れか一項に記載と音信号生成装置。
【請求項6】
前記推定値は、前記鍵の速度又は加速度である、請求項
5に記載の音信号生成装置。
【請求項7】
前記関係は、前記第1音信号と前記第2音信号との発音のタイミングの関係を含む、請求項1乃至
6の何れか一項に記載の音信号生成装置。
【請求項8】
前記関係は、前記第1音信号と前記第2音信号との音量の関係を含む、請求項1乃至請求項
7の何れか一項に記載の音信号生成装置。
【請求項9】
請求項1乃至
8の何れか一項に記載の音信号生成装置と、
前記鍵と、
前記ペダルと、
前記鍵への操作に応じた前記第1操作データを出力する第1検出部と、
前記ペダルへの操作に応じた前記第2操作データを出力する第2検出部と、
を備える、鍵盤楽器。
【請求項10】
1つの鍵への操作に応じた第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成し、
前記第1操作データに基づいて、前記第1音信号及び前記第2音信号の関係を調整し、前記第1音信号の減衰を制御するためのペダルの操作に応じた第2操作データに基づいて前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行うこと、
をコンピュータに実行させるためのプログラムであって、
第1鍵への操作に応じて生成される前記第1音信号と、前記第1鍵とは異なる第2鍵への操作に応じて生成される前記第1音信号とは、互いに音高が異なり、
前記第1鍵への操作に応じて生成される前記第2音信号と、前記第2鍵への操作に応じて生成される前記第2音信号とは、互いに音高が共通であ
り、
前記ペダルは、レスト位置とエンド位置との範囲で操作可能であり、
前記ペダルが前記エンド位置から前記レスト位置に移動したことを前記第2操作データが示す場合、前記第1音信号の減衰速度を第1速度から前記第1速度よりも速い第2速度に変更し、且つ前記第2音信号の減衰速度を変更しない、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音信号を生成する技術に関する。
【背景技術】
【0002】
電子ピアノからの音をアコースティックピアノの音にできるだけ近づけるために、様々な工夫がなされている。例えば、特許文献1には、アコースティックピアノの演奏において鍵を押下したときには、打弦音が発生するだけでなく、鍵の押下に伴って生じる棚板衝突音も発生する。電子ピアノのような電子楽器において、このような棚板衝突音を再現するための技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示される技術によれば、押鍵の際に鍵が棚板に衝突することによって発生する棚板衝突音を含む音を出力することができる。電子ピアノでは、棚板衝突音を再現することにより、アコースティックピアノの音に近い音の再現が可能になる。電子ピアノでは、アコースティックピアノにより近い音を再現するために、アコースティックピアノによる実際の棚板衝突音の再現が求められる。
【0005】
本発明の目的の一つは、アコースティックピアノにより近い音を再現することができる処理を提供することにある。
【課題を解決するための手段】
【0006】
本発明の一実施形態によると、鍵への操作に応じた第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成する信号生成部と、前記第1操作データに基づいて、前記第1音信号及び前記第2音信号の関係を調整し、ペダルへの操作に応じた第2操作データに基づいて前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行う調整部と、を備える、音信号生成装置が提供される。
【0007】
前記調整部は、前記鍵の押鍵動作の物理量に応じたそれぞれのタイミングで発音するように前記第1音信号及び前記第2音信号の関係を調整し、前記鍵の離鍵動作に基づいて、前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行ってもよい。
【0008】
前記ペダルは、レスト位置とエンド位置との範囲で操作可能であり、前記ペダルが前記エンド位置から前記レスト位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を第1速度から前記第1速度よりも速い第2速度に変更し、且つ前記第2音信号の減衰速度を変更しなくてもよい。
【0009】
前記ペダルが前記エンド位置と前記レスト位置の間から前記レスト位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を前記第1速度よりも速い第3速度から前記第3速度よりも速い前記第2速度に変更し、且つ前記第2音信号の減衰速度を変更しなくてもよい。
【0010】
前記ペダルが前記エンド位置と前記レスト位置の間から前記エンド位置に移動したことを前記第2操作データが示す場合、前記調整部は、前記第1音信号の減衰速度を前記第3速度から前記第1速度に変更し、且つ前記第2音信号の減衰速度を変更しなくてもよい。
【0011】
前記鍵が離鍵されたことを前記第1操作データが示す場合、前記調整部は、前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行ってもよい。
【0012】
前記調整部は、前記第1操作データに基づいて、前記鍵の押下範囲のうちの所定の位置における鍵の挙動に関する推定値を算出し、算出された前記推定値に基づいて前記関係を調整してもよい。
【0013】
前記推定値は、前記鍵の速度又は加速度であってもよい。
【0014】
前記関係は、前記第1音信号と前記第2音信号との発音のタイミングの関係を含んでもよい。
【0015】
前記関係は、前記第1音信号と前記第2音信号との音量の関係を含んでもよい。
【0016】
本発明の一実施形態によると、鍵の押鍵動作を示す第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成する信号生成部と、前記鍵の押鍵動作の物理量に応じたそれぞれのタイミングで発音するように前記第1音信号及び前記第2音信号の関係を調整し、前記鍵の離鍵動作に基づいて、前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行う調整部と、を備える、音信号生成装置が提供される。
【0017】
本発明の一実施形態によると、上記の音信号生成装置と、前記鍵と、前記ペダルと、前記鍵への操作に応じた前記第1操作データを出力する第1検出部と、前記ペダルへの操作に応じた前記第2操作データを出力する第2検出部と、を備える、鍵盤楽器が提供される。
【0018】
本発明の一実施形態によると、鍵への操作に応じた第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成し、前記第1操作データに基づいて、前記第1音信号及び前記第2音信号の関係を調整し、ペダルの操作に応じた第2操作データに基づいて前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行うこと、をコンピュータに実行させるためのプログラムが提供される。
【0019】
本発明一実施形態によると、鍵への操作に応じた第1操作データに基づいて、第1音信号及び前記第1音信号とは異なる第2音信号を生成し、前記鍵の押鍵動作の物理量に応じたそれぞれのタイミングで発音するように前記第1音信号及び前記第2音信号の関係を調整し、前記鍵の離鍵動作に基づいて、前記第1音信号と前記第2音信号とで異なる減衰速度の制御を行うこと、をコンピュータに実行させるためのプログラムが提供される。
【発明の効果】
【0020】
本発明によれば、アコースティックピアノにより近い音を再現することができる処理を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の一実施形態に係る鍵盤楽器の構成を示す図である。
【
図2】本発明の一実施形態に係る鍵盤楽器の鍵アセンブリを示す図である。
【
図3】本発明の一実施形態係る音源の機能構成を示すブロック図である。
【
図4】本発明の一実施形態係る変換部及び調整部の機能構成を説明するブロック図である。
【
図5】本発明の一実施形態に係る打弦音遅延テーブル及び衝突音遅延テーブルを説明する図である。
【
図6】本発明の一実施形態におけるノートオンに対する打弦音および衝突音の発生タイミングを説明する図である。
【
図7】一般的なエンベロープ波形の定義を説明する図である
【
図8】ピアノの打弦音のエンベロープ波形の一例を説明する図である。
【
図9】ピアノの衝突音のエンベロープ波形の一例を説明する図である。
【
図10】ピアノの打弦音のエンベロープ波形の一例と該打弦音に対応する衝突音のエンベロープ波形の一例を示す図である。
【
図11】本発明の一実施形態に係る信号生成部における第1音信号位生成部の機能構成の一例を示すブロック図である。
【
図12】本発明の一実施形態に係る信号生成部における第2音信号位生成部の機能構成の一例を示すブロック図である。
【
図13】本発明の一実施形態に係る制御部が実行する第1の処理を説明するフローチャートである。
【
図14】本発明の一実施形態に係る制御部が実行する第2の処理を説明するフローチャートである。
【
図15】本発明の一実施形態に係る音信号生成部における処理を示すフローチャートである。
【
図16】本発明の一実施形態に係る音信号生成部における処理を示すフローチャートである。
【
図17】本発明の一実施形態に係る音信号生成部における処理を示すフローチャートである。
【
図18】本発明の一実施形態に係る音信号生成部における処理を示すフローチャートである。
【
図19】本発明の別の実施形態に係る音源の機能構成を示すブロック図である。
【
図20】本発明の別の実施形態に係る波形データ読出部、波形データ分離部及び増幅部の機能構成の一例を示すブロック図である。
【
図21】本発明の別の実施形態に係る信号生成部における第1音信号生成部の機能構成の一例を示すブロック図である。
【
図22】本発明の別の実施形態に係る信号生成部における第2音信号生成部の機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明の一実施形態における鍵盤楽器について、図面を参照しながら詳細に説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定して解釈されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字の後にA、B等を付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。
【0023】
<第1実施形態>
[鍵盤楽器の構成]
図1は、本発明の第1実施形態における鍵盤楽器の構成を示す図である。鍵盤楽器100は、電子ピアノなどの電子鍵盤楽器であって、演奏操作子として複数の鍵101を有する電子楽器の一例である。ユーザが鍵101を操作すると、スピーカ103から音が出る。ユーザは、音の種類(音色)を操作部105を用いて変更することができる。この例において、鍵盤楽器100は、ピアノの音色を用いて発音する場合に、アコースティックピアノに近い発音をすることができる。鍵盤楽器100の各構成について、詳述する。
【0024】
鍵盤楽器100は、筐体107に複数の鍵101(演奏操作子)を備えるとともに、別体のペダル装置119を備える。複数の鍵101は、筐体107に回動可能に支持されている。筐体107には、スピーカ103が設けられている。筐体107の内部には、制御部111、記憶部113、音源115、第1検出部117が設けられている。ペダル装置119は、ダンパペダル121及び第2検出部125を備える。ペダル装置119は、シフトペダル123を備えるが省いてもよい。筐体107内部に設けられた各構成は、バスを介して接続されている。
【0025】
この例では、鍵盤楽器100は、外部装置と信号の入出力をするためのインターフェイスを含んでいる。インターフェイスとしては、例えば、音信号を出力する端子、MIDIデータの送受信をするためのケーブル接続端子などである。この例では、インターフェイスにペダル装置119が接続されることによって、第2検出部125が筐体107内部に配置された各構成と上述したバスを介して接続され、ペダル装置と鍵盤楽器の間で信号がやりとりされる。
【0026】
制御部111は、CPUなどの演算処理回路、RAM、ROMなどの記憶装置を含む。制御部111は、記憶部113に記憶された制御プログラムをCPUにより実行して、各種機能を鍵盤楽器100において実現する。操作部105は、操作ボタン、タッチセンサおよびスライダなどの装置であり、入力された操作に応じた信号を制御部111に出力する。表示部109は、制御部111による制御に基づいた画面が表示される。
【0027】
記憶部113は、不揮発性メモリ等の記憶装置である。記憶部113は、制御部111によって実行される制御プログラムを記憶する。また、記憶部113は、音源115において用いられるパラメータや波形データ等を記憶してもよい。スピーカ103は、制御部111または音源115から出力される音信号を増幅して出力することによって、音信号に応じた音を出力する。尚、
図1では2つのスピーカ103が鍵盤楽器100に設けられた場合を示しているが、スピーカ103の数は2つに限定されない。また、外部スピーカを用いる場合は、スピーカ103を省略することもできる。
【0028】
第1検出部117は、鍵101の押鍵動作及び離鍵動作を含む動作を検出する。第1検出部117は、複数の鍵101のそれぞれの挙動を測定し、測定結果を示す測定データを出力する。第1検出部117は、押下された鍵101を示す情報である鍵番号Kc、該鍵101の押下量(操作量)を示す情報Ks及び該鍵101の速度(押し込み速度)を示す情報Kvを測定データとして出力する。鍵番号Kc、情報Ks、情報Kvが関連付けられて出力されることによって、操作された鍵101及び該鍵101に対する操作内容が特定される。鍵101と連動する機械的構造(鍵アセンブリ)について詳述する。なお、情報Ksは、連続量で検出して、位置に応じた値を出力するものでもよいし、2接点、あるいは3接点のスイッチでオン/オフのステータスで位置を出力するものでもよい。
【0029】
図2は、本発明の第1実施形態に係る鍵盤楽器100の鍵101と連動する機械的構造(鍵アセンブリ)を示す図である。
図2においては、鍵101のうちの白鍵に関する構造を例として説明する。棚板201は、上述した筐体107の一部を構成する部材である。棚板201には、フレーム203が固定されている。フレーム203の上部には、フレーム203から上方に突出する鍵支持部材205が配置されている。鍵支持部材205は、軸207を中心として鍵101を回動可能に支持する。フレーム203から下方に突出する固定部材211が設けられている。フレーム203に対して鍵101とは反対側には、支持部材209が設けられている。固定部材211は、軸213を中心として支持部材209を回動可能に固定する。
【0030】
鍵101の下方に突出する支持部材接続部215は、下端部に連結部217を備える。支持部材209の一端側に設けられた鍵接続部219と連結部217とは、摺動可能に接続されている。支持部材209は、軸213に対して鍵接続部219とは反対側に錘221を備える。鍵101が操作されていない時には、錘221は、その自重により下限ストッパ223に載置されている。
【0031】
一方、鍵101が押下されると、鍵接続部219が下方に移動し、支持部材209が回動する。支持部材209が回動すると、錘221が上方に移動する。錘221が上限ストッパ225に衝突すると、支持部材209の回動が制限されて、鍵101の押下が止まる。
【0032】
なお、鍵アセンブリは、
図2に示す構造に限らない。鍵アセンブリは、例えば、フレーム203が省略されてもよい。また、鍵アセンブリは、
図2のように、鍵101が押下されると、鍵101又は鍵101に連動して動く部材が、棚板201または棚板201に接続された部材に対して接触する構造であってもよい。また、鍵101の動作の検出は、鍵101に変えて支持部材209の動作で検出するものとしてもよい。
【0033】
フレーム203と鍵101との間には第1検出部117が設けられている。第1検出部117は、第1センサ117-1、第2センサ117-2及び第3センサ117-3を含んでもよい。鍵101が押下されていくと、鍵101が第1押下量に達すると第1センサ117-1が第1検出信号K1を出力する。続いて、鍵101が第2押下量に達すると、第2センサ117-2が第2検出信号K2を出力する。さらに、鍵101が第3押下量に達すると第3センサ117-3が第3検出信号K3を出力する。この検出信号の出力タイミングの時間的な違いから、鍵101の押下速度を算出できる。
【0034】
本実施形態では、一例として、制御部111は、第1検出信号の出力タイミングから第2検出信号の出力タイミングまでの時間、及び予め決められた距離(ここでは第1押下量および第2押下量までの距離)に基づいて、第1押下速度を算出する。同様に、制御部111は、第2検出信号の出力タイミングから第3検出信号の出力タイミングまでの時間、及び予め決められた距離(ここでは第2押下量および第3押下量までの距離)に基づいて、第2押下速度を算出する。制御部111は、第1押下速度及び第2押下速度に基づいて、押下加速度を算出してもよい。さらに制御部111は、第3検出信号の検出によりノートオン信号Nonを音源115に出力し、ノートオン信号Nonを出力した後であって同じ鍵について第1検出信号の出力が停止した場合、ノートオフ信号Noffを音源115に出力する。
【0035】
ノートオン信号Nonが出力されるときには、押下された鍵101を示す鍵番号Kc、該鍵101の押下量(操作量)を示す情報Ks及び該鍵101の速度(押し込み速度)を示す情報Kvが第1検出部117から測定データとして出力される。この際、測定データには、鍵101の押下加速度を示す情報Kaが含まれてもよい。一方、ノートオフ信号Noffが出力されるときには、離鍵された鍵101を示す情報Kcがノートオフ信号Noffに対応付けられて出力される。なお、以下の説明において、鍵101の操作に伴って制御部111から出力されるこれらの情報(測定データ)は、音源115に供給される。
【0036】
図1に戻ると、第2検出部125は、ダンパペダル121の動作を測定し、測定結果を示す測定データを出力する。この測定データは、ダンパペダル121の押し込み量を示す情報Psを含む。この情報Psにより、ダンパペダル121に対する操作内容(押し込み量)が特定される。ペダル装置119がシフトペダル123を備える場合、第2検出部125は、操作されたペダルがダンパペダル121であるかシフトペダル123であるかを示す情報Pcを情報Psと関連付けて測定データとして出力する。情報Pc、情報Psが関連付けられて出力されることにより、操作されたペダル(ダンパペダル121又はシフトペダル123)とそのペダルに対する操作内容(押込量)が特定される。なお、ペダル装置119のペダルがダンパペダル121のみである場合には、情報Pcは省略される。
【0037】
音源115は、第1検出部117及び第2検出部125から入力された情報に基づいて音信号を生成してスピーカ103に出力する。音源115が生成する音信号は、鍵101への操作及びダンパペダル121への操作毎に得られる。そして、複数の押鍵によって得られた複数の音信号は、合成されて音源115から出力される。音源115の構成について詳述する。
【0038】
図3は、本発明の第1実施形態における音源115の機能構成を示すブロック図である。音源115は、変換部301、音信号生成部303(音信号生成装置)、波形データ記憶部305、出力部307、第1減衰制御テーブル309、及び第2減衰制御テーブルを備える。音信号生成部303は、信号生成部311及び調整部313を含む。
【0039】
変換部301は、第1検出部117から入力される情報(Kc、Ks、Kv)に基づいて、鍵101への操作に応じたデータ(以下、第1操作データという)を生成する。また、変換部301は、第2検出部125から入力される情報Ps(又はPc及びPs)に基づいて、ダンパペダル121の操作(押込量)に応じたデータ(以下、第2操作データという)を生成する。
【0040】
波形データ記憶部305は、打弦音波形メモリ305-1及び衝突音波形メモリ305-2を含む。打弦音波形メモリ305-1は、信号生成部311において生成される第1音信号(打弦音信号)の元波形データである複数の打弦音波形データを記憶している。打弦音波形データは、押鍵に伴う打弦によって生じた音をサンプリングした波形データである。衝突音波形メモリ305-2は、第2音信号(衝突音信号)の元波形データである複数の衝突音波形データを記憶している。衝突音波形データは、アコースティックピアノの棚板衝突音(押鍵の際に鍵と棚板との衝突によって生じた音)をサンプリングした波形データである。打弦音波形データは各音高に対応してそれぞれのベロシティ値の波形データが記憶される。また、衝突音波形データは、全音高に対して共通のものとしてそれぞれのベロシティ値に対応して記憶される。
【0041】
信号生成部311は、変換部301から入力される第1操作データに基づいて、音信号を生成して出力する。より詳細には、信号生成部311は、第1音信号生成部311-1、第2音信号生成部311-2及び合成部315を備える。第1音信号生成部311-1は、第1操作データに基づいて第1音信号(打弦音信号)を生成して出力する。第2音信号生成部311-2は、第1操作データに基づいて第2音信号(衝突音信号)を生成して出力する。このとき、調整部313によって、第1音信号及び第2音信号のエンベロープが調整される。合成部315は、エンベロープが調整された第1音信号及び第2音信号を合成して出力部307に出力する。
【0042】
出力部307は、信号生成部311から取得した、第1音信号及び第2音信号が合成された合成音信号を、音源115の外部に出力する。本実施形態では、スピーカ103に合成音信号が出力されて、ユーザに聴取される。続いて、信号生成部311の構成について詳細に説明する。
【0043】
図4は、変換部301及び調整部313の機能構成を説明するブロック図である。変換部301は、制御信号生成部401、押鍵速度算出部403、衝突速度算出部405、加速度算出部407、及びペダル位置検出部409を含む。調整部313は、打弦音量調整部411、衝突音量調整部413、遅延調整部415、及び減衰制御部417を含む。以下、変換部301の構成について詳述する。
【0044】
制御信号生成部401は、第1検出部117から出力される情報(Kc、Ks、Kv)に基づいて、発音内容を規定する制御データ(以下、第1操作データという)を生成する。第1操作データは、この例では、MIDI形式のデータであって、ノート番号Note、ベロシティVel、ノートオン信号Non、及びノートオフ信号Noffを含む。生成された第1操作データは、信号生成部311及び調整部313に出力される。制御信号生成部401は、第1検出部117から第3検出信号K3が出力されると、ノートオン信号Nonを生成する。すなわち、鍵101が押下されて第3押下量に達すると、ノートオン信号Nonが出力される。対象となるノート番号Noteは、第3検出信号K3に対応して出力された鍵番号Kcに基づいて決定される。
【0045】
制御信号生成部401は、ノートオン信号Nonを生成した後に、対応する鍵番号Kcの第1検出信号K1の出力が停止されると、ノートオフ信号Noffを生成する。すなわち、押下された鍵101がレスト位置に戻るときに鍵101の押下量が第1押下量まで戻ると、ノートオフ信号Noffが生成される。
【0046】
押鍵速度算出部403は、第1検出部117から出力される情報に基づいて、押下された鍵101の所定の位置における速度を算出する。この速度を、以下の説明では、押鍵速度という。押鍵速度算出部403は、ここでは、鍵101が第1押下量に達してから第2押下量に達するまでの第1時間を用いた所定の演算により、押鍵速度を算出する。ここでは、押鍵速度は、第1時間の逆数に所定の定数を乗じた値とする。押鍵速度算出部403は、算出した押鍵速度を加速度算出部407と調整部313の打弦音量調整部411とに出力する。
【0047】
衝突速度算出部405は、第1検出部117から出力される情報に基づいて、押下された101のエンド位置における速度を算出する。この速度を、以下の説明では、衝突速度という。衝突速度算出部405は、ここでは、上記の第1時間と、鍵101が第2押下量に達してから第3押下量に達するまでの第2時間とを用いた所定の演算により、衝突速度を算出する。ここでは、衝突速度は、第1時間に対する第2時間の変化から、鍵101の位置の変化に伴う速度の変化を算出し、エンド位置における速度、すなわち、鍵101によって棚板衝突音が発生する状況における速度を推定する。衝突速度算出部405は、算出した衝突速度を加速度算出部407と調整部313の衝突音量調整部413とに出力する。
【0048】
加速度算出部407は、押鍵速度と衝突速度との変化量(以下、押下加速度という)を算出する。この押下加速度は、第1時間と第2時間との変化に基づいて算出されてもよい。加速度算出部407は、算出した加速度を調整部313の遅延調整部415に出力する。
【0049】
ペダル位置検出部409は、第2検出部125から入力される情報Ps(又はPc及びPs)に基づいて、ダンパペダル121の操作(押込量)に応じた制御データ(以下、第2操作データという)を生成する。第2操作データは、ペダルの操作範囲においてペダルを操作していない状態(レスト位置)からの所定の範囲であるオフ状態、ペダルを完全に踏み込んだ状態(エンド位置)までペダルのストロークの所定の範囲であるオン状態、オフ状態とオン状態の間の状態であるハーフ状態の3つの状態を示す情報を含む。これら3つの状態は、それぞれアコースティックピアノにおいては、ダンパが弦から離れている状態(ダンパオン)、ダンパが弦と当接している状態(ダンパオフ)、および、ダンパが弦の振動時に触れる程度に離れた状態(ハーフダンパ)等を示す。なお、ペダルはレスト位置からエンド位置の範囲で操作可能である。
【0050】
ここでは、ダンパオンは、アコースティックピアノにおいて、ダンパが弦から離れた状態に対応し、ダンパペダル121がその操作ストロークにおけるエンド位置からの所定の範囲(その状態と同等であるとして予め設定される範囲)に位置している状態に対応している。また、ダンパオフは、アコースティックピアノにおいて、ダンパが弦と当接する状態に対応し、ダンパペダル121がその操作ストロークにおけるレスト位置からの所定の範囲(その状態と同等であるとして予め設定される範囲)に位置している状態に対応している。ペダル位置検出部409は、第2操作データを調整部313の減衰制御部417に出力する。尚、シフトペダル123に応じた制御データについても生成されてもよいが、ここでは、その説明を省略する。
【0051】
調整部313は、変換部301から入力される第1操作データに基づいて、信号生成部311において生成される第1音信号(打弦音信号)及び第2音信号(衝突音信号)の関係を調整する。具体的には、調整部313は、第1操作データに基づいて、第1音信号と第2音信号との発音のタイミングの関係や音量の関係を調整する。さらに、調整部313は、第1減衰制御テーブル309及び第2減衰制御テーブル310を参照し、変換部301から入力される第2操作データに基づいて、第1音信号及び第2音信号のエンベロープを制御する。特に、調整部313は、第1音信号及び第2音信号が減衰するときのエンベロープを制御する。ここでは、調整部313は、ダンパペダル121の操作、即ち第2操作データに基づいて減衰速度を制御する。このとき、調整部313は、第1音信号と第2音信号とで異なる減衰速度の制御を行う。以下、調整部313の構成について詳述する。
【0052】
打弦音量調整部411は、押鍵速度算出部403から取得した押鍵速度に基づいて打弦音量指定値を決定する。打弦音量指定値は、信号生成部311が生成する第1音信号(打弦音信号)の音量を指定するための値である。ここでは、押鍵速度が大きいほど、打弦音量指定値が大きくなる。打弦音量調整部411は、決定した打弦音量指定値を信号生成部311に出力する。
【0053】
衝突音量調整部413は、衝突速度算出部405から取得した衝突速度に基づいて衝突音量指定値を決定する。衝突音量指定値は、信号生成部311が生成する第2音信号(衝突音信号)の音量を指定するための値である。この例では、衝突速度が大きいほど、衝突音量指定値が大きくなる。衝突音量調整部413は、決定した衝突音量指定値を信号生成部311に出力する。
【0054】
遅延調整部415は、打弦音遅延テーブルを参照して加速度算出部407から取得した押下加速度に基づいて打弦音遅延時間td1を決定する。また、遅延調整部415は、衝突音遅延テーブルを参照して押下加速度に基づいて衝突音遅延時間td2を決定する。打弦音遅延時間td1は、ノートオンNonから第1音信号(打弦音信号)を出力するまでの遅延時間を示している。衝突音遅延時間td2は、ノートオンNonから第2音信号(衝突音信号)を出力するまでの遅延時間を示している。
【0055】
図5は、本発明の一実施形態における打弦音遅延テーブル及び衝突音遅延テーブルを説明する図である。いずれのテーブルも、押下加速度と遅延時間との関係を規定している。
図5においては、打弦音遅延テーブルと衝突音遅延テーブルとを対比して示している。打弦音遅延テーブルは、押下加速度と打弦音遅延時間td1との関係を規定している。衝突音遅延テーブルは、押下加速度と衝突音遅延時間td2との関係を規定している。いずれのテーブルにおいても、押下加速度が大きくなるほど、遅延時間が短くなる。
【0056】
ここでは、押下加速度がA2のときには、打弦音遅延時間td1と衝突音遅延時間td2とが等しくなる。押下加速度がA2よりも小さいA1のときには、打弦音遅延時間td1よりも衝突音遅延時間td2の方が長い時間となる。一方、押下加速度がA2よりも大きいA3のときには、打弦音遅延時間td1よりも衝突音遅延時間td2の方が短い時間となる。このとき、A2が「0」であってもよい。この場合には、A1は、負の値となり、押下の間に徐々に減速していることを示す。一方、A3は、正の値となり、押下の間に徐々に加速していることを示している。
【0057】
図5に示す例では、押下加速度と遅延時間とは、1次関数で表すことができる関係で規定されているが、押下加速度に対して遅延時間が特定できるような関係であれば、どのような関係であってもよい。また、遅延時間を特定するために、押下加速度ではなく、他のパラメータを用いてもよいし、複数のパラメータを併用してもよい。
【0058】
図6は、本発明の一実施形態におけるノートオンに対する打弦音および衝突音の発生タイミングを説明する図である。
図6におけるA1、A2、A3は、
図5における押下加速度の値に対応する。すなわち、押下加速度の関係は、A1<A2<A3である。それぞれ横軸に沿って時刻の信号を示している。「ON」は、ノートオン信号Nonを受信したタイミングを示している。「Sa」は第1音信号(打弦音信号)の生成が開始されるタイミングを示し、「Sb」は第2音信号(衝突音信号)の生成が開始されるタイミングを示している。したがって、打弦音遅延時間td1は、「ON」から「Sa」までの時間に対応する。衝突音遅延時間td2は、「ON」から「Sb」までの時間に対応する。
【0059】
図6に示すように、押下加速度が大きくなるほど、第1音信号及び第2音信号の発生タイミングは、ノートオンからの遅延が少ない。さらに、押下加速度の違いによる発生タイミングの変化の割合は、衝突音信号の方が打弦音信号よりも大きい。したがって、打弦音信号の発生タイミングと衝突音信号の発生タイミングとの相対関係が、押下加速度に基づいて変化する。
【0060】
上述したように、遅延調整部415は、
図5を参照して説明したような打弦音遅延テーブル及び衝突音遅延テーブルを参照して、加速度算出部407から取得した押下加速度に応じた打弦音遅延時間td1と衝突音遅延時間td2を決定する。遅延調整部415は、決定した打弦音遅延時間td1と衝突音遅延時間td2を調整部313に出力する。
【0061】
減衰制御部417は、第1減衰制御テーブル309及び第2減衰制御テーブル310を参照して、変換部301から入力される第2操作データに基づいて、信号生成部311において生成される第1音信号及び第2音信号のエンベロープを制御する。特に、第1音信号及び第2音信号が減衰するときのエンベロープが制御される。この例では、減衰制御部417は、ダンパペダル121の操作、即ち、第2操作データに基づいてエンベロープのパラメータを設定し、減衰速度を制御する。
【0062】
第1減衰制御テーブル309は、ダンパペダル121に位置に応じてベロシティVelと打弦音の減衰係数k1との関係を規定するテーブルである。減衰係数k1は、ダンパペダルのオン状態のときの減衰速度に対して変化させる割合を示す係数である。この例では減衰係数k1は、1以上の値である。k1=1であれば、設定値(ディケイレートDR)から変化させない減衰速度を意味する。一方、k1が1より大きくなるほど音信号の減衰速度を速めることを意味している。
【0063】
図7は、一般的なエンベロープ波形の定義を説明する図である。
図7に示すように、エンベロープ波形は、複数のパラメータで規定される。複数のパラメータは、アタックレベルAL、アタックタイムAT、ディケイタイムDT、サスティンレベルSL、及びリリースタイムRTを含む。なお、アタックレベルALは最大値(例えば127)に固定としてもよい。この場合、サスティンレベルSLは、0~127の範囲で設定される。
【0064】
ノートオンがあると、アタックタイムATの時間でアタックレベルALまで上昇する。その後、ディケイタイムDTの時間でサスティンレベルSLまで減少し、サスティンレベルSLを維持する。ノートオフがあると、サスティンレベルSLから消音状態(レベル「0」)まで、リリースタイムRTの時間で減少する。サスティンレベルSLまで到達する前、即ち、アタックタイムATの期間およびディケイタイムDTの期間においてノートオフがあると、その時点からリリースタイムRTの時間で消音状態に至る。なお、サスティンレベルSLをリリースタイムRTで除算した減衰率で消音状態に至るようにしてもよい。
【0065】
ディケイレートDRは、上述のパラメータから算出できる値であって、アタックレベルALとサスティンレベルSLとの差をディケイタイムDTで除算することによって得られる。このパラメータ(ディケイレートDR)は、ノートオン後のディケイ期間における音の自然減衰の程度(減衰速度)を示している。尚、ディケイ期間においてディケイレートDRの減衰速度は一定(傾斜が直線)である例を示したが、必ずしも一定でなくてもよく、減衰速度が予め決められた変化をすることで、傾斜が直線以外で定義されてもよい。
【0066】
図8は、ピアノの打弦音のエンベロープ波形の一例を説明する図である。一般的なピアノの音は、例えば、サスティンレベルSLは「0」に設定され、ディケイタイムDTは比較的長く(ディケイレートDRは小さく)設定される。。ディケイタイムDTにおいてノートオフがあると、、リリースタイムRTの設定にしたがって点線のとおり急激に減衰する。後述する信号生成部311の第1音信号生成部311-1のEV波形生成部は、
図8に示すエンベロープ波形を生成するが、この際、減衰制御部417によってディケイレートDRが調整される。例えば、減衰制御部417は、ダンパペダルがオン状態であるときには、ディケイレートDR(減衰速度)を、ダンパペダルがオフ状態のときよりも遅く制御する。また、減衰制御部417は、ハーフペダル状態であるときには、ディケイレートDR(減衰速度)を、ダンパペダルがオン状態のときよりも速く制御する一方、ダンパペダルがオフ状態のときの減衰速度よりも遅く制御する。このように、減衰制御部417は、第1減衰制御テーブル309を参照して、第2操作データに基づいて第1音信号のエンベロープのパラメータを設定し、第1音信号の減衰速度を制御する。
【0067】
第2減衰制御テーブル310は、音高に応じてベロシティと衝突音の減衰係数k2との関係を規定するテーブルである。減衰係数k2は、音高に応じて減衰速度に対して変化させる割合を示す係数である。ここでは、中音域で発音するときは高音域側と低音域側で発音するときに比べて、減衰時間が長くなるように設定されている。なお、第2音信号、即ち、衝突音の減衰速度が音高に依存せず一定であるとするときには、第2減衰制御テーブルとそれに伴う処理は省略可能である。
【0068】
図9は、ピアノの衝突音のエンベロープ波形の一例を説明する図である。一般的なピアノの衝突音は、例えば、サスティンレベルSLは「0」に設定され、ディケイタイムDTは比較的長く(ディケイレートDRは比較的小さく)設定される。ディケイタイムDTにおいてノートオフがあると、衝突音は打弦音とは異なり、ディケイレートDRに従って減衰する。ただし、発音する音の音高に応じて、鍵が棚板を叩く位置が変わるため、音高に応じてディケイタイムDTが比較的短く(ディケイレートDRは比較的大きく)設定される。例えば、音高に応じて
図9に示す一点鎖線、二点鎖線で示す特性が選ばれ、ディケイタイムDTが変わるように設定されている。後述する信号生成部311の第2音信号生成部311-2のEV波形生成部は、
図9に示すようなエンベロープ波形を生成する。
【0069】
上述したように、ディケイタイムDTにおいてノートオフがあると、打弦音は、リリースタイムRTの設定にしたがって急激に減衰するのに対し、衝突音は打弦音とは異なり、ディケイレートDRに従って減衰する。
図10にピアノの打弦音のエンベロープ波形の一例と該打弦音に対応する衝突音のエンベロープ波形の一例を示す。
図10において、ev1は、打弦音のエンベロープ波形の一例であり、ev2はev1に対応する衝突音のエンベロープ波形の一例である。
図10に示すように、打弦音は、ディケイタイムDT1においてノートオフがあると、リリースタイムRTの設定にしたがって急激に減衰する。一方、衝突音は、ディケイタイムDT2においてノートオフがあったとしても、ディケイレートDR2に従って減衰する。尚、打弦音のアタックタイムAT1と衝突音とのアタックタイムAT2とは、押下加速度に応じて互いに異なっていてもよい。
【0070】
以上に説明したように、調整部313は、第1減衰制御テーブル309及び第2減衰制御テーブル310を参照し、変換部301から入力される第2操作データに基づいて、第1音信号及び第2音信号のエンベロープのパラメータを設定し、波形データ記憶部305から出力される各波形データによる信号の減衰速度を制御する。また、調整部313は、第1操作データに基づいて、信号生成部311において生成される第1音信号及び第2音信号の発音のタイミングの関係や音量の関係を調整する。
【0071】
図11は、本実施形態の信号生成部311における第1音信号生成部311-1の機能構成の一例を示すブロック図である。第1音信号生成部311-1は、波形読出部501(501-k;k=1~n)、EV(エンベロープ)波形生成部503(503-k;k=1~n)、乗算器505(505-k;k=1~n)、遅延部507(507-k;k=1~n)、及び増幅部509(509-k;k=1~n)を備える。ここで、「n」は、鍵盤楽器100が同時に発音できる数(信号生成部311が同時に生成できる音信号の数)に対応しており、この例では、nは32である。したがって、第1音信号生成部311-1では、32回の押鍵まで発音した状態が維持され、全てが発音している状態で33回目の押鍵があった場合には、最初の発音に対応する音信号が強制的に停止される。
【0072】
波形読出部501は、変換部301の制御信号生成部401から取得した第1操作データ(例えばノートオン信号Non、ノート番号Note、ベロシティVel)に基づいて、打弦音波形メモリ305-1から読み出すべき打弦音波形データを選択して読み出して、ノート番号Noteに応じた音高の音信号(第1音信号)を生成する。波形読出部501は、ノートオフ信号Noffに応じて生成した音信号が消音するまで、打弦音波形データを読み出し続ける。
【0073】
EV波形生成部503は、変換部301の制御信号生成部401から得られた第1操作データ、及び上述した調整部313の減衰制御部417において設定されたパラメータに基づいて、エンベロープ波形を生成する。例えば、エンベロープ波形は、アタックレベルAL、アタックタイムAT、ディケイタイムDT、サスティンレベルSL、及びリリースタイムRTのパラメータで規定される。
【0074】
乗算器505は、波形読出部501において生成された第1音信号に対して、EV波形生成部503において生成されたエンベロープ波形を乗算し、遅延部507に出力する。
【0075】
遅延部507は、設定された遅延時間に応じて第1音信号を遅延させて増幅部509に出力する。この遅延時間は、調整部313の遅延調整部415において決定された打弦音遅延時間td1に基づいて設定される。
【0076】
増幅部509は、設定された増幅率に応じて第1音信号を増幅させて合成部315に出力する。この増幅率は、上述した調整部313の打弦音量調整部411において決定された打弦音量指定値に基づいて設定され、鍵101の押下に応じて算出された押鍵速度が大きいほど、出力レベル(音量)が大きくなるように生成される。
【0077】
尚、以上では、
図11を参照してk=1の場合(k=1~n)について例示しているが、波形読出部501-1から打弦音波形データが読み出されているときに次の押鍵がある度に、k=2、3、4・・・と順に、制御信号生成部401から得られた制御信号が適用されていく。例えば、次の押鍵であれば、k=2の構成に制御信号が適用されて、上記と同様に乗算器505-2から音信号が出力される。この音信号は、遅延部507-2において遅延され、増幅部509-2において増幅されて、合成部315に出力される。
【0078】
図12は、本実施形態の信号生成部311における第2音信号生成部311-2の機能構成の一例を示すブロック図である。第2音信号生成部311-2は、波形読出部601(601-j;j=1~m)、EV(エンベロープ)波形生成部603(503-j;j=1~m)、乗算器605(605-j;k=1~m)、遅延部607(607-j;j=1~m)、及び増幅部609(609-j;k=1~m)を備える。ここで、「m」は、鍵盤楽器100が同時に発音できる数(信号生成部311が同時に生成できる音信号の数)に対応しており、この例では、mは32である。したがって、第2音信号生成部311-2では、32回の押鍵まで発音した状態が維持され、全てが発音している状態で33回目の押鍵があった場合には、最初の発音に対応する音信号が強制的に停止される。尚、大抵の場合、衝突音波形データの読み出しは打弦音波形データの読み出しよりも短い時間で終了するため、「m」は「n」より少なくてもよい(「m<n」)。
【0079】
波形読出部601は、変換部301の制御信号生成部401から取得した第1操作データ(例えばノートオン信号Non、ベロシティVel)に基づいて、衝突音波形メモリ305-2から読み出すべき衝突音波形データを選択して読み出して、第1操作に応じた音信号(第2音信号)を生成する。
【0080】
EV波形生成部603は、変換部301の制御信号生成部401から得られた第1操作データ(例えばノート番号Note)、及び上述した調整部313の減衰制御部417において設定されたパラメータに基づいて、エンベロープ波形を生成する。例えば、エンベロープ波形は、アタックレベルAL、アタックタイムAT、ディケイタイムDT、サスティンレベルSL、及びリリースタイムRTのパラメータで規定される。
【0081】
乗算器605は、波形読出部601において生成された第2音信号に対して、EV波形生成部603において生成されたエンベロープ波形を乗算し、遅延部607に出力する。
【0082】
遅延部607は、設定された遅延時間に応じて第2音信号を遅延させて増幅部609に出力する。この遅延時間は、調整部313の遅延調整部415において決定された衝突音遅延時間td2に基づいて設定される。
【0083】
増幅部609は、設定された増幅率に応じて第2音信号を増幅させて合成部315に出力する。この増幅率は、上述した調整部313の衝突音量調整部413において決定された衝突音量指定値に基づいて設定され、鍵101の押下に応じて算出された衝突速度が大きいほど、出力レベル(音量)が大きくなるように生成される。
【0084】
尚、以上では、
図12を参照してj=1の場合(j=1~m)について例示しているが、波形読出部601-1から衝突音波形データが読み出されているときに次の押鍵がある度に、j=2、3、4・・・と順に、制御信号生成部401から得られた制御信号が適用されていく。例えば、次の押鍵であれば、j=2の構成に制御信号が適用されて、上記と同様に乗算器605-2から音信号が出力される。この音信号は、遅延部607-2において遅延され、増幅部609-2において増幅されて、合成部315に出力される。
【0085】
合成部315は、第1音信号生成部311-1から出力される第1音信号(打弦音信号)と、第2音信号生成部311-2から出力される第2音信号(衝突音信号)とを合成して、出力部307に出力する。以上が音源115の構成についての説明である。
【0086】
尚、上述したように、調整部313の減衰制御部417は、第2音信号のエンベロープのパラメータを第2操作データ、つまり、ダンパペダル121の操作にかかわらず一定に設定する。そのため、減衰制御部417は、第2音信号のエンベロープの制御を省略してもよい。この場合、第2音信号生成部311-2では、EV波形生成部603が省略され、波形読出部601によって読み出された衝突音波形データに基づいて生成された第2音信号がエンベロープ制御なしにそのまま遅延部607に出力されてもよい。
【0087】
本発明の第1実施形態における鍵盤楽器100において、音源115の調整部313は、ダンパペダル121の操作に応じた第2操作データに基づいて、第1音信号及び第2音信号に対するエンベロープを異なるように制御する。即ち、第2操作データに基づいて第1音信号のエンベロープのパラメータが設定される。一方、第2操作のデータにかかわらず第2音信号のエンベロープのパラメータは、固定されている。これにより、アコースティックピアノにより近い音を再現することができる。
【0088】
続いて、制御部111によって実行される第1音信号(打弦音)及び第2音信号(衝突音)の発音制御について説明する。
【0089】
図13は、本発明の一実施形態に係る制御部111が実行する第1の処理を説明するフローチャートである。この処理は、各鍵に対応して実行される。
図14は、本発明の一実施形態に係る制御部111が実行する第2の処理を説明するフローチャートである。この処理は、ダンパペダルの操作に対応して実行される。
【0090】
まず、制御部111が実行する第1の処理について説明する。制御部111は、RAMなどの記憶装置に格納される各種レジスタやフラグのリセット、初期値のセットなどの初期化を行う(S1)。また、このS1では、音源115に対して各種レジスタやフラグ類を初期化するよう指示する。続いて、制御部111は、押鍵操作により、第1センサ117-1(
図2)のオン・オフが変化したか否か、変化があった場合にはオンになったかオフになったかを判定する(S2)。第1センサ117-1のオン・オフが変化していない場合(S2;なし)には、処理がS5に進む。制御部111は、第1センサ117-1がオフからオンになったと判定した場合は(S2;オン)、そのオンになった第1センサ117-1に対応する鍵の鍵番号を検出し、その検出した鍵番号をレジスタに格納する(S3)。続いて、制御部111は、第1センサ117-1がオンになってから第2センサ117-2がオンになるまでに要する第1時間の計測を開始する(S4)。
【0091】
続いて、制御部111は、第2センサ117-2のオン・オフが変化したか否か、変化があった場合にはオンになったかオフになったかを判定する(S5)。第2センサ117-2のオン・オフが変化していない場合(S5;なし)には、処理がS9に進む。制御部111は、第2センサ117-2がオフからオンになったと判定した場合は(S5;オン)、第1時間の計測を終了する(S6)。続いて、制御部111は、計測した第1時間に基づいて押鍵速度を算出し、算出した押鍵速度をレジスタに格納する(S7)。なお、押鍵速度は、ここで示すような演算で得られるような速度に相当する値であればよく、実際の速度と一致している場合に限らない。
【0092】
続いて、制御部111は、第2センサ117-2がオンになってから第3センサ117-3がオンになるまでに要する第2時間の計測を開始する(S8)。続いて、制御部111は、第3センサ117-3のオン・オフが変化したか否か、変化があった場合にはオンになったかオフになったかを判定する(S9)。第3センサ117-3のオン・オフが変化していない場合(S9;なし)およびオフになった場合(S9;オフ)には、制御部111は、S2に処理を戻す。制御部111は、第3センサ117-3がオフからオンになったと判定した場合は(S9;オン)、第2時間の計測を終了する(S10)。
【0093】
第2時間を計測した後、制御部111は、第1時間及び第2時間に基づいて衝突速度を算出し、算出した衝突速度をレジスタに格納する(S11)。なお、衝突速度は、ここで示すような演算で得られるような速度に相当する値であればよく、実際の速度と一致している場合に限らない。続いて、制御部111は、計測した第1時間および第2時間の時間差Δtに基づいて、押下加速度を算出し、その算出した押下加速度をレジスタに格納する(S12)。押下加速度の演算は、第1時間と第2時間との時間差Δtと押下加速度とを対応付けたテーブルを用いて行ってもよい。なお、押下加速度は、ここで示すように所定の演算で得られるような加速度に相当する値であればよく、実際の加速度と一致している場合に限らない。
【0094】
制御部111は、S3においてレジスタに格納した鍵番号と、S7においてレジスタに格納した押鍵速度と、S11においてレジスタに格納した衝突速度と、S12においてレジスタに格納した押下加速度とを有するノートオンコマンドを作成する(S13)。
【0095】
また、制御部111は、S2において、第1センサ117-1がオンからオフに変化したと判定した場合は(S2;オフ)、そのオフになった第1センサ117-1に対応する鍵の鍵番号を検出し、その検出した鍵番号をレジスタに格納する(S14)。制御部111は、そのレジスタに格納した鍵番号を有するノートオフコマンド生成し(S15)、対応する鍵の第1時間、第2時間、押鍵速度、押下加速度をリセットする(S16)。
【0096】
また、制御部111は、S5において、第2センサ117-2がオンからオフに変化したと判定した場合は(S5;オフ)、第2時間の計測中でなければ(S17;NO)、S9に処理を進め、第2時間の計測中であれば(S17;YES)、対応する鍵の第2時間をリセットして(S18)、S9に処理を進める。
【0097】
次に、制御部111が実行する第2の処理について説明する。制御部111は、ダンパペダル121が操作されたか否かを判定する(S19)。ダンパペダル121が操作されていない場合、S19に処理を戻す。ダンパペダル121が操作された場合(S19;YES)、ダンパペダル121の押し込み量に基づいてダンパペダル121がオン状態であるか否かを判定する(S20)。オン状態であった場合(S20;YES)、制御部111は、オン状態であることを示すペダル状態フラグPsを2にセットする(S21)。
【0098】
オン状態でない場合(S20;NO)、制御部111は、ダンパペダル121の押し込み量に基づいてダンパペダル121がハーフペダルである(ダンパペダル121がレスト位置およびエンド位置を除いた中間の位置にある)か否かを判定する(S22)。ハーフペダルであった場合(S22;YES)、制御部111は、ハープペダル状態であることを示すペダル状態フラグPsを1にセットする(S23)。ハーフペダルでない場合(S22;NO)、制御部111は、ダンパペダル121がオフ状態であると判定して、オフ状態であることを示すダンパペダル状態フラグPsを0に設定する。(S24)。
【0099】
このように、制御部111は、第1検出部117(第1センサ117-1、第2センサ117-2及び第3センサ117-3)による検出結果に基づいて、ノートオンコマンドおよびノートオフコマンド等の第1指示信号(第1操作データ)を生成する。また、制御部111は、第2検出部125による検出結果に基づいて、ダンパペダルの状態を示す第2指示信号(第2操作データ)を生成する。
【0100】
図15は、本発明の一実施形態に係る音信号生成部303における処理を示すフローチャートである。
図16~
図18は、
図15に示す処理の続きを示すフローチャートである。これらの処理は、各鍵に対して実行される。
【0101】
音信号生成部303は、コマンドが生成されたか否かを判定し(S25)、コマンドが生成されたと判定した場合は(S25;YES)、そのコマンドがノートオンコマンドであるか否かを判定する(S26)。ここで、音信号生成部303は、ノートオンコマンドであると判定した場合は(S26:YES)、そのノートオンコマンドに含まれる各データ、つまり、鍵番号、押鍵速度、衝突速度及び押下加速度をレジスタに格納する(S27)。
【0102】
続いて、音信号生成部303は、レジスタに格納されている押鍵速度に基づいて、打弦音量指定値を決定し、レジスタに格納する(S28)。続いて、音信号生成部303は、衝突速度に基づいて衝突音量指定値を決定し、レジスタに格納する(S29)。続いて、音信号生成部303は、押下加速度に基づいて、打弦音遅延時間td1及び衝突音遅延時間td2を決定し、レジスタに格納する(S30)。
【0103】
続いて、音信号生成部303は、打弦音遅延時間td1及び衝突音遅延時間td2に対応するタイミングを得るための経過時間を計測するために、タイマーのカウントを開始する(S31)。また、音信号生成部303は、打弦音波形メモリ305-1(
図3)から打弦音波形データを読出している状態であることを示す読出状態フラグDと、衝突音波形メモリ305-2(
図3)から衝突音波形データを読出している状態であることを示す読出状態フラグTとをそれぞれ0にリセットし(S32)、S25に処理を戻す。
【0104】
音信号生成部303は、S26において、生成されたコマンドがノートオンコマンドではないと判定した場合は(S26;NO)、生成されたコマンドがノートオフコマンドであるか否かを判定する(S33)。音信号生成部303は、ノートオフコマンドではないと判定した場合は(S33;NO)、S25に処理を戻す。音信号生成部303は、ノートオフコマンドであると判定した場合は(S33;YES)、ノートオフコマンドに含まれる鍵番号などのデータをレジスタに格納する(S34)。続いて、音信号生成部303は、ダンパペダル状態フラグPsが0であるか否かを判定し(S35)、Psが0(S35;YES)であれば、生成中の打弦音波形データに乗算するエンベロープをリリース波形に変更し(S36)、離鍵状態を示すリリース状態フラグRを1にセットする(S37)。Ps0でない場合(S35;NO)、音信号生成部303は、ダンパペダル状態フラグPsが1であるか否かを判定する(S38)。Psが1であれば(S38;YES)、音信号生成部303は、生成中の打弦音波形データに乗算するエンベロープのディケイレートDRをハーフペダル状態に変更する(S39)。Psが1でなければ(S38;NO)、つまり、ダンパペダル状態フラグPsが2であれば、S25に処理を戻す。
【0105】
音信号生成部303は、次の処理サイクルにおいて、コマンドが生成されていないと判定した場合は(S25;NO)、最小単位時間が経過したか否かを判定し(
図17のS40)、経過していない場合は(S40;NO)、S25に処理を戻す。ここで、最小単位時間とは、S31においてカウントを開始したタイマーがカウントするタイマクロック1周期分の時間である。
【0106】
続いて、音信号生成部303は、最小単位時間が経過したと判定した場合は(S40;YES)、読出状態フラグDが0であるか否かを判定する(S41)。音信号生成部303は、読出状態フラグDが0であると判定した場合は(S41;YES)、打弦音の発生タイミングを決定するための打弦音遅延時間td1のデクリメントを開始する(S42)。続いて、音信号生成部303は、打弦音遅延時間td1が0になったか否か、つまり、打弦音の発生タイミングになったか否かを判定する(S43)。音信号生成部303は、打弦音遅延時間td1が0ではないと判定した場合は(S43;NO)、S47に処理を進める。音信号生成部303は、打弦音遅延時間td1が0になったと判定した場合は(S43;YES)、打弦音波形メモリ305-1(
図3)を参照し、レジスタに格納されている鍵番号に対応付けられている打弦音波形データを選択し、その読出しを開始する(S44)。続いて、音信号生成部303は、読み出した打弦音波形データにエンベロープ波形を乗算するエンベロープ処理を開始する(S45)。なお、エンベロープ処理には、公知のADSR(Attack、Decay、Sustain、Release)制御が施される。
【0107】
続いて、音信号生成部303、読出状態フラグDを1にセットし(S46)、読出状態フラグTが0であるか否かを判定する(S47)。ここで、音信号生成部303は、読出状態フラグTが0であると判定した場合は(S47;YES)、衝突音の発生タイミングを決定するための衝突音遅延時間td2のデクリメントを開始する(S48)。続いて、音信号生成部303は、衝突音遅延時間td2が0になったか否か、つまり、衝突音の発生タイミングになったか否かを判定する(S49)。音信号生成部303は、衝突音遅延時間td2が0ではないと判定した場合は(S49;NO)、S53に処理を進める。音信号生成部303は、衝突音遅延時間td2が0になったと判定した場合は(S49;YES)、衝突音波形メモリ305-2(
図3)を参照し、レジスタに格納されている鍵番号に対応付けられている衝突音波形データを選択し、その読み出しを開始する(S50)。続いて、音信号生成部303は、読み出した衝突音波形データにエンベロープ波形を乗算するエンベロープ処理を開始する(S51)。続いて、音信号生成部303は、読出状態フラグTを1にセットする(S52)。
【0108】
続いて、音信号生成部303は、S25(
図15)に処理を戻し、コマンドを生成していないと判定すると(S25;NO)、S40(
図17)に処理を進める。音信号生成部303は、最小時間が経過したと判定すると(S40;YES)、先のS46において読出状態フラグDが1にセットされているため、読出状態フラグDが0にリセットされていないと判定して(S41;NO)、S47に処理を進める。続いて、音信号生成部303は、先のS52において読出状態フラグTが1にセットされているため、読出状態フラグTが0にリセットされていないと判定し(S47;NO)、S53(
図18)に処理を進める。ここで、音信号生成部303は、読出状態フラグDが1にセットされているか否かを判定し(S53)、読出状態フラグDが1でないと判定すると(S53;NO)、S58に処理を進める。音信号生成部303は、読出状態フラグDが1であると判定すると(S53;YES)、先のS44において読み出しを開始した打弦音波形データの読出しと、打弦音波形データにエンベロープを乗算する処理とを継続する(S54)。
【0109】
続いて、音信号生成部303は、リリース状態フラグRが1にセットされているか否か、つまり、離鍵状態になったか否かを判定し(S55)、リリース状態フラグRが1ではないと判定した場合は(S55;NO)、読出状態フラグTが1にセットされているか否かを判定する(S58)。ここで、音信号生成部303は、読出状態フラグTが1ではないと判定した場合は(S58;NO)、S60に処理を進める。音信号生成部303は、読出状態フラグTが1であると判定した場合は(S58;YES)、衝突音波形データの読出しを継続する(S59)。
【0110】
続いて、音信号生成部303は、読出状態フラグDまたは読出状態フラグTが1にセットされているか否か、つまり、打弦音波形データおよび衝突音波形データの少なくとも一方が読み出し中であるか否かを判定する(S60)。音信号生成部303は、読出状態フラグDおよびTが1ではない(双方が0である)と判定した場合は(S60;NO)、
図15のS25に処理を戻す。音信号生成部303は、読出状態フラグDまたはTが1であると判定した場合は(S60;YES)、現時点で読み出されている打弦音波形データおよび衝突音波形データのレベルを、打弦音量指定値及び衝突音量指定値に基づいて打弦音量および衝突音量に応じたレベルに調整する(S61)。
【0111】
続いて、音信号生成部303は、S61において調整された打弦音波形データおよび衝突音波形データを加算した波形データを出力部307(
図3)に供給して(S62)、S25(
図15)に処理を戻す。S62において生成された加算波形データに含まれる打弦音および衝突音は、打弦音遅延時間td1、衝突音遅延時間td2に応じて発生タイミングが調整され、打弦音量指定値及び衝突音量指定値に基づいて出力レベルが調整されている。なお、一方の波形データが読み出されていない場合には、実質的には加算されるわけではなく、読み出されている波形データが出力されることになる。
【0112】
S55(
図18)の判定処理において、リリース状態フラグRが1にセットされている状態(
図16のS37において、離鍵状態を示すリリース状態フラグRが1にセットされている状態)では、音信号生成部303は、リリース状態フラグRが1であると判定する、つまり、離鍵されたと判定する(S55;YES)。この場合、音信号生成部303は、エンベロープレベルが0になったか否かを判定し(S56)、エンベロープレベルが0ではないと判定した場合は(S56;NO)、S58に処理を進める。音信号生成部303は、エンベロープレベルが0になったと判定した場合は(S56;YES)、読出状態フラグD、読出状態フラグTおよびリリース状態フラグRをそれぞれ0リセットし(S57)、S58に処理を進める。
【0113】
以上のように、本発明によれば、ダンパペダルへの操作によって、打弦音信号と衝突音信号のエンベロープを異なるように制御することにより、アコースティックピアノにより近い音を再現することができる。
【0114】
<第2実施形態>
上記の実施形態においては、打弦音信号と衝突音信号とが、それぞれ別の波形データとして打弦音波形メモリ305-1と衝突音波形メモリ305-2とに記憶されており、押鍵に応じてそれぞれの波形データを読み出すものとした。しかしながら、押鍵に応じてひとつの波形データを読み出し、読み出した波形データを打弦音波形と衝突音波形とに分けて、個別に処理することにより打弦音信号と衝突音信号とを生成するようにしてもよい。
【0115】
図19は、本発明の第2実施形態における音源115Aの機能構成を示すブロック図である。
図19において、
図3と同一又は類似の機能を有する構成には、同一の符号を付与し、重複する説明を省略する。
図19を参照すると、音源115Aは、変換部301、音信号生成部303(音信号生成装置)、波形データ記憶部1901、波形データ読出部1903、波形データ分離部1905、増幅部1907、出力部307、第1減衰制御テーブル309、及び第2減衰制御テーブルを備える。音信号生成部303は、信号生成部311A及び調整部313を含む。以下では、第1実施形態における音源115とは異なる構成を主に説明する。
【0116】
第2実施形態における音源115Aにおいて、波形データ記憶部1901は、複数の波形データを記憶している。波形データは、本実施形態では、アコースティックピアノの音をサンプリングした波形データである。複数の波形データは、鍵101が押下されたときに読み出される波形データとして、打弦音と押鍵に伴う棚板衝突音とを含む音の波形データを含む。波形データ記憶部1901は、各音高に対応してそれぞれのベロシティ値の波形データを記憶している。波形データは、例えば、打弦音の音高ごとに割り当てられるノート番号に対応付けられる。
【0117】
図20は、波形データ読出部1903(1903-i;i=1~l)、波形データ分離部1905(1905-i;i=1~l)及び増幅部1907(1907-i;i=1~l)の機能構成の一例を示すブロック図である。ここで「l」は、鍵盤楽器100が同時に発音できる数(信号生成部311Aが同時に生成できる音信号の数)に対応しており、この例では、lは32である。
【0118】
波形データ読出部1903は、制御信号生成部401から取得した第1操作データ(例えば、ノートオン信号Non、ノート番号Note、ベロシティVel)に基づいて、波形データ記憶部1901に記憶された複数の波形データから読み出すべき波形データを選択して読み出す。波形データ読出部1903は、ノートオフ信号Noffに応じた音信号が消音するまで波形データを読み出し続ける。波形データ読出部1903(1903-i;i=1~l)は、読み出した波形データを波形データ分離部1905(1905-i;i=1~l)に出力する。
【0119】
波形データ分離部1905は、取得した波形データから打弦音波形データと衝突音波形データとに分離する。波形データ分離部1905(1905-i;i=1~l)は、バンドストップフィルタBSF(1905-ia:i=1~l)とバンドパスフィルタBPF(1905-ib:i=1~l)との組み合わせから構成されてもよい。
【0120】
バンドストップフィルタBSFは、取得した波形データから衝突音に対応する周波数帯を減衰させ、それ以外の周波数帯をそのまま通過させる。つまり、バンドストップフィルタBSFは、取得した波形データから衝突音に対応する周波数帯のデータを除去し、前記衝突音に対応する周波数帯を除いたデータを打弦音波形データである第1音信号として出力する。バンドストップフィルタBSFを通過した第1音信号は、第1音信号生成部1909に出力される。一方、バンドパスフィルタBPFは、取得した波形データから、前記衝突音に対応する周波数帯をそのまま通過させ、それ以外の周波数帯を減衰させる。つまり、バンドパスフィルタBPFは、取得した波形データから衝突音に対応する周波数帯のデータを衝突音波形データである第2音信号として出力する。バンドパスフィルタBPFを通過した第2音信号は、増幅部1907(1907-i;i=1~l)において所定の増幅率に基づいて増幅された後、第2音信号生成部1911に出力される。尚、増幅部1907は、省略されてもよい。
【0121】
図21は、本実施形態の信号生成部311Aにおける第1音信号生成部1909の機能構成の一例を示すブロック図である。第1音信号生成部1909は、EV(エンベロープ)波形生成部503(503-k;k=1~n)、乗算器505(505-k;k=1~n)、遅延部507(507-k;k=1~n)、及び増幅部509(509-k;k=1~n)を備える。ここで、「n」は、鍵盤楽器100が同時に発音できる数(信号生成部311Aが同時に生成できる音信号の数)に対応しており、この例では、nは32である。したがって、第1音信号生成部1909では、32回の押鍵まで発音した状態が維持され、全てが発音している状態で33回目の押鍵があった場合には、最初の発音に対応する音信号が強制的に停止される。
【0122】
波形データ分離部1905のバンドストップフィルタBSF(1905-ia:i=1~l)から出力された第1音信号は、第1音信号生成部1909の乗算器505に出力される。乗算器505は、取得した第1音信号に対して、EV波形生成部503において生成されたエンベロープ波形を乗算して、遅延部507に出力する。尚、第1音信号生成部1909におけるEV波形生成部503、遅延部507及び増幅部509に機能は、
図10を参照して説明した第1実施形態と同様であるため、本実施形態における詳細な説明は省略する。
【0123】
図22は、本実施形態の信号生成部311Aにおける第2音信号生成部1911の機能構成の一例を示すブロック図である。第2音信号生成部1911は、EV(エンベロープ)波形生成部603(603-j;j=1~m)、乗算器605(605-j;j=1~m)、遅延部607(607-j;k=1~m)、及び増幅部609(609-j;j=1~m)を備える。ここで、「m」は、鍵盤楽器100が同時に発音できる数(信号生成部311Aが同時に生成できる音信号の数)に対応しており、この例では、mは32である。したがって、第2音信号生成部1911では、32回の押鍵まで発音した状態が維持され、全てが発音している状態で33回目の押鍵があった場合には、最初の発音に対応する音信号が強制的に停止される。尚、「m」は「n」より少なくてもよい。
【0124】
増幅部1907(増幅部1907が省略されている場合は、波形データ分離部1905のバンドパスフィルタBPF(1905-ia:i=1~l))から出力された第2音信号は、第2音信号生成部1911の乗算器605に出力される。乗算器605は、取得した第2音信号に対して、EV波形生成部603において生成されたエンベロープ波形を乗算して、遅延部607に出力する。尚、第2音信号生成部1911におけるEV波形生成部603、遅延部607及び増幅部609に機能は、
図11を参照して説明した第2実施形態と同様であるため、本実施形態における詳細な説明は省略する。
【0125】
合成部315は、上述した第1実施形態と同様に、第1音信号生成部1909から出力される第1音信号(打弦音信号)と、第2音信号生成部1911から出力される第2音信号(衝突音信号)とを合成して、出力部307に出力する。以上が第2実施形態の音源115Aの構成についての説明である。
【0126】
本発明の第2実施形態において、音源115Aでは、波形データ記憶部1901に記憶された波形データから打弦音波形データと衝突音波形データとに分離して、第1音信号及び第2音信号を生成する。このように生成された第1音信号及び第2音信号に対して、調整部313は、ダンパペダル121の操作に応じた第2操作データに基づいて、エンベロープを異なるように制御し、アコースティックピアノにより近い音を再現することができる。
【0127】
上記の第1実施形態及び第2実施形態においては、ハーフペダルはその領域においてオン状態側もオフ状態側も区別しないもの(ひとつの状態)としたが、ハーフペダルの領域を複数に分けて、それぞれの領域で打弦音信号の減衰の仕方を変えるようにしてもよい。
【0128】
上記の第1実施形態及び第2実施形態においては、打弦音を制御するために押鍵速度を推定しそれに基づくものとしているが、鍵操作に応じて打弦音を適切な態様で発音できる物理量であればよい。また、衝突音の制御にあたっても同様である。
【0129】
本発明の実施形態として説明した構成を基にして、当業者が適宜構成要素の追加、削除もしくは設計変更を行ったもの、又は、工程の追加、省略もしくは条件変更を行ったものも、本発明の要旨を備えている限り、本発明の範囲に含まれる。
【0130】
また、上述した実施形態の態様によりもたらされる作用効果とは異なる他の作用効果であっても、本明細書の記載から明らかなもの、又は、当業者において容易に予測し得るものについては、当然に本発明によりもたらされると解される。
【符号の説明】
【0131】
100…電子鍵盤楽器、101…鍵、103…スピーカ、105…操作部、107…筐体、109…表示部、111…制御部、113…記憶部、115、115A…音源、117…第1検出部、117-1…第1センサ、117-2…第2センサ、117-3…第3センサ、119…ペダル装置、121…ダンパペダル、123…シフトペダル、125…第2検出部、201…棚板、203…フレーム、205…鍵支持部材、207…軸、209…支持部材、211…固定部材、213…軸、215…支持部材接続部、217…連結部、219…鍵接続部、221…錘、223…下限ストッパ、225…上限ストッパ、301…変換部、303…音信号生成部、305、1901…波形データ記憶部、307…出力部、309…第1減衰制御テーブル、310…第2減衰制御テーブル、311、311A…信号生成部、313…調整部、401…制御信号生成部、403…押鍵速度算出部、405…衝突速度算出部、407…加速度算出部、409…ペダル位置検出部、411…打弦音量調整部、413…衝突音量調整部、415…遅延調整部、417…減衰制御部、501…波形読出部、503…EV波形生成部、505…乗算器、507…遅延部、509…増幅部、601…波形読出部、603…EV波形生成部、605…乗算器、607…遅延部、609…増幅部、1903…波形データ読出部、1905…波形データ分離部、1907…増幅部