タイトルの通りなのですが、
祝福 / YOASOBI ギターコード/ウクレレコード/ピアノコード - U-フレット (ufret.jp)
と
祝福 (動画プラス) / YOASOBI ギターコード/ウクレレコード/ピアノコード - U-フレット動画プラス (ufret.jp)
コード自体は一緒のように見えるのですが、InstaChordizerでの転調判定が双方で異なるようです。
(この曲の場合、前者のほうが転調が多い)
たぶんU-FRETでの内部データの持ち方の差異で発生する事態のような気もするので、InstaChordizer側ではどうしようもないかなぁ、という話だとは思いますが、気になったので書き込んでみました。
ちなみに余談ですが、上記曲は+5/-5の転調が頻発するんですけど、動画プラス版のほうで、転調感度を最小(■□□□□LOW)にすると+5/-5が消えて最後の+1だけ残るのでインスタコードで弾きやすくなります。通常譜面はそれでも+5が1か所消えないのでちょいしんどい。
(転調なしだと、最後の+1転調もなくなっちゃうので、それはそれでしんどい)
動画プラスとそれ以外の場合はキーの判定の仕方がちょっと違うので、同じコード進行でも判定が異なる場合が生じるのですが、それはさておき、±5の転調はそもそも転調として扱うかどうか微妙なところですし、演奏難易度としてはあまり変わらないので、感度設定の選択肢として「±5を無視する」(感度はAUTOと同じ)のような選択もできると良いなと思います。
@doco さんいかがでしょう?
そうなんです。
動画プラスとそれ以外では判定の仕方が少し変わる、というより変えざるを得ないのです。
というのもInstaChordizerの転調判定では精度を高めるため、あるいはより自然になるように「曲の区切り」の情報も使用しています。
この「曲の区切り」は「コードのみで歌詞のない連続した最終行」「歌詞のある連続した最終行」「空改行で区切られた箇所」です。
これを区切りにブロックに分け、各ブロックごとに転調判定した後に合併してさらに判定するような手順になっています。
こういう仕組みなのですが、動画プラスのページの歌詞は大きなブロックごとに「空改行」で区切るということがされておらず、「空改行で区切られた箇所」の情報が取得できません。
これが理由でまったく同じ歌詞とコードの曲でも転調判定が変わってしまうことがあります。
±5の転調は転調システム製作中にあまりに頻出するのでYu-ichiさんに相談させていただいた記憶がありますね(その時は確か「ゴースト転調」と勝手に命名していたような)。
なぜこれが頻出するのかの理由を解説していただいたような気がします。
そのうえで「完全除去も考えたものの一応本当に±5転調しているケースがあることも考慮してなるべく減らすようにするものの完全除去まではしないことにしました」というような返信をしたように思います。
それで今の実装は、上記「ブロック」内で発生した±5転調は除去しブロックの区切りで発生した場合のみ残す、というようになっています(確か)。
ただ正直
>>演奏難易度としてはあまり変わらないので、
という点で今でも±5の転調は「なくてもいい、というよりむしろ邪魔」くらいには思ってます(インスタコードの演奏に限れば)。
>>感度設定の選択肢として「±5を無視する」
転調感度プルダウン項目の「AUTO」の下に「AUTO(±5無し)」を加える感じですかね?
「転調感度」行の下あたりに「±5転調を無視する」チェックボックスをつけてすべての感度で適用するという手もありますが。
こういう仕組みなのですが、動画プラスのページの歌詞は大きなブロックごとに「空改行」で区切るということがされておらず、「空改行で区切られた箇所」の情報が取得できません。
これが理由でまったく同じ歌詞とコードの曲でも転調判定が変わってしまうことがあります。
何となくそうではなかろうか、という気はしてました。
なので、タイトルの件については解決ということで。
と余談で書いてみた±5の件、いろいろ内部的な話ありがとうございます。
±5調整機能が実装されると、インスタコード的に便利な気がするので、期待してます!
細かい説明を避けてあいまいな言い方をしたのですが、丁寧にご説明いただきありがとうございます。
±5 の転調をしないようにするのはアリだと思います。
項目を増やしてチェックボックスの別項目にするとUIの面積も増えるし、感度設定の中に含めるか迷いましたが、別項目のほうが分かりやすいですよね。