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 が発行されないのは仕様でしょうか?
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 が発行されないのは仕様でしょうか?