fourthline / mmlTools

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

MMLテンポ補正無効化, MML再生性機能上のエラー発生 #48

Closed Lisedrika closed 2 years ago

Lisedrika commented 3 years ago

様々な条件の楽譜を制作し、これを共有します。 Sample MML.zip

まず、和音1にt180を入れて完璧に演奏される楽譜を制作して、これを「Sample 1 (OK)」と命名します。

1) MMLテンポ補正無効化をすると、特定の状況で次のようなエラーが発生します。 : 特定の条件でテンポが挿入されない。- 「Sample 2 (error)」ファイル参照 : 特定の条件でテンポは挿入され、Mabiiccoでは正常に演奏される。 しかし、マビノギ楽器演奏スキルバグにより休止符区間の一部で正常なテンポで再生されない。(= 合奏の途中から急に拍子が微妙に合わなくなる。) - 「Sample 3 (error)」ファイル参照

2) テンポ補正無効化 -> MML再生性 (和音1、和音2にテンポ自動挿入) -> MMLテンポ補正活性化 -> MML再生性 : 和音1、和音2にテンポが入ることが可能な状況にもかかわらず、41バージョンの環境のように楽譜が強制ロールバック(=メロディの音を切りながら無理にテンポが挿入されている)- 「Sample 4 (error)」ファイルを開いて該当ルーチンを実行して比較してください。

以上の問題により、「MMLテンポ補正無効化」機能は逆効果です。 むしろその 間眠っていたマビノギクライアントのテンポバグをさらに増殖させる原因になります。 したがって、該当機能を無くし、その代わりにアルゴリズムの追加改善を要請したいと考えています。 メロディにテンポ挿入が不可能な場合、和音1と和音2にテンポが挿入され + v0まで自動的に挿入されるようお願いいたします。 (3つのライン全てがテンポ挿入が不可能な条件の場合、やむを得ずメロディの音を切って挿入しなければなりません。)

あなたがすでにご存知のように、v0を意図的に挿入してテンポバグをなくし、補正することは非常にマニアックな技術であり、一部の知識人だけの専有物でした。 その点をFull-Autoとして処理するマビコの機能に敬意を表します。

翻訳機を使っておりますので、言い方の違和感はご了承ください。 ありがとうございます。

Lisedrika commented 3 years ago

改善事項の要請に抜けている内容があり、追加で書きます。

1つの楽譜で使用しているラインが1本のみで、音が続いている状況でテンポの挿入が必要な場合があります。 ベースギターパートを作る時に比較的頻繁に会っている状況です。 添付する'Sample 7 (Error)'の序盤からt129に変化する節を参照してください。 v0音符で強制的に切られる部分があります。 Sample 7 (Error).zip

この場合も、該当音を切らずに、その代わりに他のラインにv0音符とtを自動的に挿入するようにしてください。

そして、このとき、必ずそのテンポコマンドの前後の両方にv0音符を挿入してこそ、追加的な拍子のねじれを完璧に予防できます。

Mabinogi-delight commented 3 years ago

This page could explain the tempo bug. It is also made by Fourthline, the author of MabiIcco. http://tome.iza-yoi.net/mml_time2.html

Lisedrika commented 3 years ago

This page could explain the tempo bug. It is also made by Fourthline, the author of MabiIcco. http://tome.iza-yoi.net/mml_time2.html

I already know the cause of the problem (on the Mabinogi client). The important thing is that 3MLE could be edited by typing myself, but Mabiicco was handled automatically. So it's hard for me to get involved with.

Mabinogi-delight commented 3 years ago

This page could explain the tempo bug. It is also made by Fourthline, the author of MabiIcco. http://tome.iza-yoi.net/mml_time2.html

I already know the cause of the problem (on the Mabinogi client). The important thing is that 3MLE could be edited by typing myself, but Mabiicco was handled automatically. So it's hard for me to get involved with.

For me, I just copy the code out from MabiIcco, do the editing, and then copy them back to MabiIcco, just make sure you uncheck "note optimization" because 3ML Editor 2 was released before o0 notes were possible.

Lisedrika commented 3 years ago

This page could explain the tempo bug. It is also made by Fourthline, the author of MabiIcco. http://tome.iza-yoi.net/mml_time2.html

I already know the cause of the problem (on the Mabinogi client). The important thing is that 3MLE could be edited by typing myself, but Mabiicco was handled automatically. So it's hard for me to get involved with.

For me, I just copy the code out from MabiIcco, do the editing, and then copy them back to MabiIcco, just make sure you uncheck "note optimization" because 3ML Editor 2 was released before o0 notes were possible.

Even if it's solved that way, it's intuitive not at all. I'm asking Fourthline for a functional improvement because it can't be a specification.

How would you explain to beginners the cause and solution of the bug? I've been playing games since Mabinogi opened in Korea, but It is still very difficult to explain it to others. The best solution is to solve bugs automatically without difficult knowledge acquisition.

fourthline commented 3 years ago

Sample 2: 最終ノート終端のテンポ。既知バグ。コードは修正済み Sample 3: R後テンポの件 -> 要確認(できてたような?) Sample 4: データは Sample 1と同じである。テンポ補正有効の場合のテンポ出力はメロディーパートのみで仕様のとおり。v1.0.41の出力は常時テンポ補正有効。 Sample 7: 和音1, 和音2にテンポと接するノートがないためテンポはメロディーへ出力する。休符 or 終端後にテンポ出力させるかは要検討。

Lisedrika commented 3 years ago

Sample 2: 最終ノート終端のテンポ。既知バグ。コードは修正済み Sample 3: R後テンポの件 -> 要確認(できてたような?) Sample 4: データは Sample 1と同じである。テンポ補正有効の場合のテンポ出力はメロディーパートのみで仕様のとおり。v1.0.41の出力は常時テンポ補正有効。 Sample 7: 和音1, 和音2にテンポと接するノートがないためテンポはメロディーへ出力する。休符 or 終端後にテンポ出力させるかは要検討。

Sample 3は、和音1パートにテンポコマンドが存在しないとバグは成立しません。 Sample 3を42バージョンで開いた後、スクリーンショットと同じ条件を作り、Sample 1と合奏を試みてください。

Screenshot 1

fourthline commented 3 years ago

Sample 3: R後テンポの件 -> マビノギ内テンポバグは健在。休符後テンポ補正を有効化 Sample 7: テンポを休符 or 終端後でも和音パートへ出力するよう変更 20210828_sample7fix

修正サンプルプログラムを作成してみました。

MabiIcco_43.zip 展開して、中のexeファイルを "MabiIcco.exe" と同じフォルダに配置してください。

Lisedrika commented 3 years ago

Sample 3: R後テンポの件 -> マビノギ内テンポバグは健在。休符後テンポ補正を有効化 Sample 7: テンポを休符 or 終端後でも和音パートへ出力するよう変更 20210828_sample7fix

修正サンプルプログラムを作成してみました。

MabiIcco_43.zip 展開して、中のexeファイルを "MabiIcco.exe" と同じフォルダに配置してください。

回答確認しました。 テストの後の結果を報告いたします。

fourthline commented 3 years ago

打楽器が問題ないか心配です

Lisedrika commented 3 years ago

打楽器が問題ないか心配です

そうですね。一般的な楽器では特に問題が発見されませんでした。 ※ これは44バージョン基準です。

  1. しかし、純粋な打楽器(大太鼓、小太鼓、シンバルズ、シロフォン、ハンドベル、ボーカル、八色調など)は和音1、2を使うことができません。 これらは'和音テンポ出力許容'機能適用対象から強制除外しなければならないようです。 (当該楽器でテンポコマンドのために音が途切れる部分は仕方ない。)

  2. 特に歌の場合は和音テンポの出力許容を入れた場合、楽器パートにも音符とテンポが重複入力されるバグが発生しています。 チェックお願いします。 そして、該当機能をつけた時、自動的に挿入されるv0音符は画面に見える現象が見つかりました。 ボーカル(歌)では無条件発生し、クリップボードから楽譜を入力したときは、楽器の区別なく発生します。 3MLEを使っていた私には見慣れた光景ですが、Mabiiccoだけ使っていた人は驚くかもしれません。

  3. そして、v0音符とテンポがメロディーにあるとき、和音1、2からo4cを入力するとメロディーのv0音符が自動的にo4dに変わるのをみました。 これは完璧な演奏のために必ず必要なものですね。 ただし、和音にテンポコマンドがある時は、この機能が正常に動作していませんので、(o4cの音がそのまま重なります)、該当部分にも適用が必要です。

Lisedrika commented 3 years ago

打楽器が問題ないか心配です

以上の問題が解決したら、「これオプションじゃなくて基本仕様でもいいんじゃない?」と思います。

fourthline commented 3 years ago

ありがとうございます。

  1. 打楽器系は和音にテンポ出力しないようにします
  2. 歌のみの場合に楽器パートにテンポ出力されている件は修正します。クリップボードからの入力ではv0音符は画面に表示されてしまいます。(補正済みMMLということになるので、そのままでもよいかなと思います)
  3. 和音にテンポ出力する際のテンポ補正用文字判定を修正します。
fourthline commented 3 years ago

修正サンプルプログラムを作成してみました。 MabiIcco_45.zip

展開して、中のexeファイルを "MabiIcco.exe"(v1.0.44) と同じフォルダに配置してください。

Lisedrika commented 3 years ago

修正サンプルプログラムを作成してみました。 MabiIcco_45.zip

展開して、中のexeファイルを "MabiIcco.exe"(v1.0.44) と同じフォルダに配置してください。

テストプログラム駆動を確認しました。 理論およびMabiicco上では完璧です。

もう残ったのは実戦での使用でバグがあるか確認することですね。 今後、追加的なバグを発見する際、別途スレで作成いたします。

本当にありがとうございます。o(≧▽≦)o

Lisedrika commented 3 years ago

修正サンプルプログラムを作成してみました。 MabiIcco_45.zip

展開して、中のexeファイルを "MabiIcco.exe"(v1.0.44) と同じフォルダに配置してください。

あ、45バージョンはリリースしてもいいと思います。 私がこの言葉を忘れましたね。 すいません。(´∀`;)

fourthline commented 3 years ago

v1.0.46 リリースします

fourthline commented 2 years ago

クローズします