No.18 ベロシティシーケンス分かりました。(じんべ)
に対するコメント氏名(NAME):西川善司
メールアドレス(MAIL ADDRESS):zenji@z-z-z.gr.jp
書込日時(DATE):98/07/21 19:17:24
調べてみたところ、ベロシティシーケンスにおいて先頭パラメータの省略時においては
Ver.2.0とVer.3.0とでは互換性はないことがわかりました。
値の省略は便宜上つけてみただけでVer.2.0以前のマニュアルにはその動作については
言及されていないので、Ver.3.0時には公約されている動作を新たにプログラミングして
しまったために出た弊害です。
やきさん、じんべさんの書きこみにあった省略時の動作の推測は正しいです。
Ver.2.0の場合はベロシティ先頭値が省略された場合
・以前指定されたベロシティシーケンス(Z)の最終指定値を求める
・最終指定値すらない場合は最後に指定されたベロシティ(@U)の値を引用する
という苦し紛れなアルゴリズムで組まれています。
一方Ver.3.0のほうは各ノート(音符)自身がベロシティ、そしてデフォルトベロシティという
概念を持ったため、ベロシティシーケンスにおいて、ベロシティ値が省略されているところは
純粋に「ベロシティが省略された音符である」というコード(ベロシティ値=$80)を出力して、
演奏にゆだねるようにしています。
これらを踏まえると初めにやぎさんが質問書きこみで書かれたサンプルZMSの動作も
おのずと見えてくると思います。
制作サイドとしてはベロシティシケンスの先頭値省略というケースにおいては
マニュアルに公称動作の記載がない以上、特殊ケースとして処理せざるを得ないのですが、
わかりやすさとスマートさからいってVer.3.0のものを正式仕様としたいところなのですが
どうでしょうか。Ver.2.0の方はZMDの設計の違いからVer.3.0と同じにはできないので
仕様の統一というのはどちらにしろ無理なのですが…。
最近妙に忙しかったのでサポートがおろそかになっていました。
すみませんでした。
(ちなみに、今ここでなっているような曲を作ってたんです。まだ未完成もいいところですが)
Z-MUSIC BBSへ戻る