ピアノの鍵盤の動きの問題(その2)
昨日の続きですが、ピアノの鍵盤の動きのシミュレートを考えた場合、鍵盤を押し込んだ時の速度と、もうひとつ、リリースベロシティ(Release Velocity)も考慮する必要があると思います。
リリースベロシティは、その名の通り鍵盤から手を離す速さなわけですが、この値が小さいほど鍵盤からゆっくりと手を離したって事になるわけです。
このリリースベロシティはある程度高級な midi キーボードでないと出力されないし、シーケンサー側もデフォルトでは、無視するように設定されてる事があります。
ギターのサンプリング音源なんかで、高級なやつは、リリースベロシティを見て、カッティングの音の切れる時のノイズの出方とかをコントロールできるやつがあったような気が…
動作としては昨日書いたベロシティの逆をやれば良いんだけど、これが結構問題発生しました。というのは、鍵盤がリリースベロシティで戻って来てる間に、次の鍵盤を押しちゃったらどうなるんだ?って事なんですよね。
この辺、midi 2.0 が出てきて、本当に鍵盤の深さの情報を出力できれば、一発で解決できる問題なんだけど、現状では手探りで実験するしかないという…
私は、鍵盤がゆっくり戻って来てる時に次を弾いちゃったら、リピテーションモードって設定に行くようにしました。
リピテーションでは、指定した時間内に、指定した回数以上の打鍵があった場合、リリースベロシティを元にした鍵盤の戻りを無視して、打鍵状態に戻るようにしました。
まあ、実際の演奏でこれが必要なシチュエーションがどこまであるのか、結構疑問だったりするんですけどね。
具体的にはピアニッシシモで弾いてる時に、同じ音程を突然フォルテッシモで連打する、みたいな演奏状態になるケースで必要になるかと…
例えば、ラベルの「夜のガスパール」って組曲にある「蛾」だったか「スカルボ」だったかのフレーズで、急激な同音程の連打みたいなシーンですね。
ま、フミカが夜のガスパールを弾くかどうかは分からんけど(笑)。
というわけで、昨日のベロシティによる鍵盤の動きを図にしたのが以下です。