fourthline / mmlTools

MabiIcco - マビノギ用MMLエディタ (MML editor for Mabinogi)
https://fourthline.jp/mabiicco/
50 stars 19 forks source link

韓国サーバーの64ビットクライアントに関するイシュー #87

Closed Lisedrika closed 1 year ago

Lisedrika commented 1 year ago

こんにちは。毎度お疲れ様です。

64bitクライアントアップデート後、韓国サーバーと他のサーバーの間に作曲環境に差が生じました。 32bitの環境をそのままポッティングしてほしかったのですが、やはり私が彼らにとても大きな期待をしていたようです。

まずはですね。テンポの挿入に対するバグが修正されました。 (V0音符を挿入するようになった原因です)

そして、音符がミュートになるバグが復活しました。 より正確に言えば、極初期にあったバグでしたが、途中で潜水艦パッチでバグ条件が緩和され、ほとんど現れず、64bitクライアントを作業しながら初期の条件でロールバックされました。 (詳しい条件はこちらでご覧いただけます。https://www.mabicompose.com/lecture04/bug_02)

最近、韓国のユーザーが運営スタッフに数多くのバグレポートを送っています。ですから、今後は既存のバグが直ったり、上述のように逆に他のバグが発生する可能性が十分あります。

私もこのような変化が必ず必要なプロセスだと思いますが、その過程を経る間、他のサーバーとの乖離がかなり大きく、長く維持されることが心配です。

グローバルな観点からはバグや、V0の自動挿入のような部分は現在の状態を維持した方がいいかもしれませんね。 ただ、今後、日本や北米のサーバーにも64bitクライアントがアップデートされれば、それに対する対応が必要になるものとみられます。

from Lisedrika

fourthline commented 1 year ago

情報ありがとうございます。 これは大変な事件ですね.....

fourthline commented 1 year ago

日本も64bitクライアントになりました。

Lisedrika commented 1 year ago

日本も64bitクライアントになりました。

  • 休符+テンポ の問題が直っている。V0による修正が不要。
  • 合奏でずれが生じる。追加でテンポを挿入することで解消するらしいですが、詳細は確認中です。

研究に役立つため、事前に韓国サーバーで確認された内容をお伝えします。

Lisedrika commented 1 year ago

加筆して申し訳ありません。 その他にも楽器の音が少しずつ変わりましたが、MSXspirit.dlsファイルに変更点は全くありません。 (テストサーバーで感知し、多数の人が情報提供して一度大幅に修正されましたが、まだ完全には修正されていません)

マビノギクライアントが再生モジュールを変更したことによって生じた問題と思われます。 何かセッティングを間違えたようです。

楽器の音の部分は、数カ月ほど公式の対応を待ってみるといいと思います。 良い知らせが来たらすぐ共有します。

Lisedrika commented 1 year ago

日本も64bitクライアントになりました。

  • 休符+テンポ の問題が直っている。V0による修正が不要。
  • 合奏でずれが生じる。追加でテンポを挿入することで解消するらしいですが、詳細は確認中です。

複数の人と議論してテストし、合奏のズレバグに対する汎用的な解決策がまとめられ、添付します。

https://www.mabicompose.com/lecture04/bug_03

Dovidic commented 1 year ago

64ビットクライアントでT命令を使用する際の問題をまとめました。

  1. ソロ

    • ソロではいかなる場合でも問題は発生しません。
  2. 合奏(すべての楽器の終了時点が同じ場合)

1)T命令を挿入しない、または楽譜の先頭に一度だけ挿入する(ex:MML@cccc,,;またはMML@t150cccc,,;)

2)T命令を楽譜の先頭以降に別々に挿入または2回以上挿入(ex:MML@ccccct180ccccc,,;またはMML@t100cccct80cccc,,;)

(1)2~4人合奏用楽譜

(2)5人以上の合奏用楽譜

  1. 合奏(各楽器の終了時点が異なるとき)

1)2.1)の環境では問題は発生しません。

2)2.2)の環境では、2人以上の合奏楽譜でそれぞれ演奏開始時点が変化します(同期化されません)。

fourthline commented 1 year ago

情報ありがとうございます。 MMLの出力方法で解決できるようであれは、補正機能として実装できると思います。 日本ユーザからは下記の解決案がでています。

開始テンポと終了テンポが異なる場合に、開始テンポを最後に挿入する。 ・補正前 t130cccct60bbbb ・補正後 t130cccct60bbbbt130

Lisedrika commented 1 year ago

情報ありがとうございます。 MMLの出力方法で解決できるようであれは、補正機能として実装できると思います。 日本ユーザからは下記の解決案がでています。

開始テンポと終了テンポが異なる場合に、開始テンポを最後に挿入する。 ・補正前 t130cccct60bbbb ・補正後 t130cccct60bbbbt130

原因は正確には把握できませんが、解決法は大体まとまっているようです。

ただし、最後にテンポを入れる場合、v0音符を入れる過程まですべて必要です。 なぜなら、テンポが入るパートの一番後ろにテンポだけあって音符がない場合(つまり、該当パートのテキストは終わったが曲はまだ終わっておらず続く場合)があるからです。 現在のMabiiccoのアルゴリズムは、最適化のためにその後のv0とテンポコマンドまで丸ごと省略します。

したがって、最適化アルゴリズムにもいくつかの追加的な修正が必要になります。

fourthline commented 1 year ago

翻訳などできてないですが、テストバージョンです。 v1.2.88

設定→合奏ズレ補正 を有効にすると機能するようになります。 複数のトラックがあって、開始テンポと終了テンポが異なる場合に、開始テンポをMML最後に挿入します。

Dovidic commented 1 year ago

翻訳などできてないですが、テストバージョンです。 v1.2.88

設定→合奏ズレ補正 を有効にすると機能するようになります。 複数のトラックがあって、開始テンポと終了テンポが異なる場合に、開始テンポをMML最後に挿入します。

対応機能正常動作確認しました。実際の演奏も正常に演奏されることを確認しました。 ありがとうございます!

Lisedrika commented 1 year ago

翻訳などできてないですが、テストバージョンです。 v1.2.88

設定→合奏ズレ補正 を有効にすると機能するようになります。 複数のトラックがあって、開始テンポと終了テンポが異なる場合に、開始テンポをMML最後に挿入します。

とてもいいですね。 まだテストしていませんが、私より先にテストされている方々から良いニュースが聞こえてきています。

Lisedrika commented 1 year ago

3月16日(木)パッチでいくつかのバグが修正されることが告知されました。 以下は翻訳です。  

fourthline commented 1 year ago

修正されるんですね。とてもよい知らせです。

fourthline commented 1 year ago

日本側では1人演奏のときに、和音パートが時々鳴らない場合もあるという情報があるのですが、同じような問題は韓国側でもあるでしょうか? 回避方法としては同じものが使えるということなのですが、修正されるのか気にしています。

Lisedrika commented 1 year ago

日本側では1人演奏のときに、和音パートが時々鳴らない場合もあるという情報があるのですが、同じような問題は韓国側でもあるでしょうか? 回避方法としては同じものが使えるということなのですが、修正されるのか気にしています。

そうですね…それが私が聞いたその情報であれば、コンピュータ環境によってバグ発生の有無が変わるようです(情報提供していた方もやはりそうおっしゃっていました)。

私を含めた知り合いの方の環境では、同じ楽譜を使っても問題が発生しなかったので、確認が難しいですね。

ゆえに、念のため64bitのバグ修正機能を外すことは見合わせるべきです。

Lisedrika commented 1 year ago

以下のバグがすべて修正されました。 再生仕様の変更もあります。

  1. 一つの楽器の中で音符が重なった時に音が途切れる現象 https://www.mabicompose.com/lecture04/bug_01 音符が少し重なっても音がよく再生されるので、エコー効果をすべて一つの楽器で楽に処理できます。

  2. 一つの楽器内で他のパートの音符の始まりと終わりが接触した時、後ろの音符が切れる現象。 https://www.mabicompose.com/lecture04/bug_02 64 ビット クライアントで復活したバグですが、再び退治されました。

fourthline commented 1 year ago

v1.3.96 で下記変更しました。