Bug #63

Redmine Adminほぼ11年前に更新

h1. 状況(2012.11.18)

V6.27にて対応済み。

(原因)
Museは演奏時のモタレを抑止するため、極力無駄なMIDIコマンドを音源に送信しないようにしている。
例えばペダルに関しては、直前にY0が指定されていた場合、続いてY0を指定してもカットされる。
ペダルの初期値はY0であるため、初めに検出したY0はカットされるというシーケンスになっていた。
しかし本件の様な記述の場合、実際の演奏時には先にY1が発行されるため、Y0をカットしてはいけない。

(対処)
1パス目の読込みではY0カットせず、後処理で実施している“連続する同値のコントロール(それはYに限らず)のカット処理(後送をカット)”
に縮退効果を委ねることにした。ただしこの対応では、演奏冒頭のY0指定をカットせず、すべからく音源に送信してしまう。
1パス目で先読みの処理を行えば理想的対応は可能だが、処理速度の低下を招く恐れがあるため
冒頭のY0カットは行わないことを制約として本対処を採用する。



改めて考察してみると
他のコントロールコードも音源の初期値が明確でないことから、

初回のコマンドはカットしないようにしているため、

今回の仕様で、より全体の整合が図られたとも言える。

h1. 概要(2012.11.18)

例えば以下のデータで
<pre>
#A0| d4r @Y0 mf
#A1| @Y1 _1
</pre>

フィンガー #A0 の Y0 が発行されないのは仕様でしょうか?

戻る