エフェクトの設定が逆になる(既知?)

• 2018/11/28 13:31

OS: MacOS High Sierra
Arch.: x86_64, MuseScore version (64-bit): 2.3.2, revision: 4592407

まず最初にアプリケーションを起ち上げて、適当にスコアを作ります。
この時「シンセサイザー」タブの「マスターエフェクト」は
Effect A: Zita1 (initial setting)
Effect B: NoEffect
となっています。

次にポップアップから"Effect A"を"NoEffect"に、"Effect B"を"Zita1"にします。
"Effect B"の"Zita1"は、すべてのツマミが左に絞られている状態ですが、再生してみるとわずかに短いディレイがかかっているのがわかります。
MSのサイトにアップロードしたファイルをウェブ再生した時のドライな音は、これと同じではないかと考えました。
つまりMSのWeb-playbackシステムは、Effect AとEffect Bを逆に選択しているのではないか?

試しに次のようなセッティングで"スコアに保存"をしてみました。
Effect A: Zita1 (初期設定)
Effect B: Zita1 (全てのつまみを右に回す)

スコアを保存し、一旦アプリを閉じてから、スコアを開き直し、"スコアから読み込み"を行うと
Effect A: Zita1 (全てのつまみを右に回す)
Effect B: Zita1 (初期設定)
となりました(ただし初期設定の数値が若干異なっています)。
AとBが逆になっています。アプリ自体がそうなっているようです。

もしウェブのシステムも同様であるなら、MSのWeb-playbackシステムは、Effect AとEffect Bを逆に選択するはずですから、アプリで聴いているのと同じ、ディレイがかかった音で再生されるのではないかと考えました。

アプリを新たに起ち上げ、上のファイル("スコアに保存"したもの)を開きます。
まだ"スコアから読み込み"をしていないため、エフェクトは初期設定のままです。
これをアプリのメニューから"オンライン上にアップロード"した結果がこれです。

https://musescore.com/user/28499881/scores/5330875

やはり逆の設定(Effect Bに設定したもの)が選ばれて再生されています。
私は英語アレルギーですのでw 開発チームに報告できる方、もし参考になればと思い、投稿しました。
以上です。


コメント

「エフェクトの設定が逆になる」という問題と、「ウェブ再生時のエフェクト」という問題をごっちゃにしてしまいました。これは切り分けないと駄目でした。

まず「エフェクトの設定が逆になる」という問題ですが、これについては因果関係が複雑すぎてわかりませんでした(プログラムの問題だとは思うけど)。

「ウェブ再生時のエフェクト」についてですが、これは私の勘違いとウェブ再生の仕組みについてちゃんと説明していないMS側の問題が重なったようです。
いろいろとやってみた結果の、現時点での私の理解です。

そもそも初期設定時のままでスコアをアップすると(シンセサイザータブで「スコアに保存」を実行していないと)再生環境側の「アプリの初期設定値」が無視されて再生されるため、こちらのエフェクト設定は無効になるものと思い込んでいました。
これは間違いで、「スコアに保存」をすれば、一応その音でのウェブ再生ができます。
エフェクト設定を「スコアに保存」していなかった場合は、自動的にウェブ上での「既定値」が適用されるようです。
問題はエフェクトの初期設定値が、アプリ上とウェブ上で異なっていることにあると思われます。ウェブ再生の既定値はよりドライになっています。
なぜ「一応」なのかですが、エフェクトを二つ使った場合に読み込まれる設定値が変わってしまうためです。これについては生成される結果が複雑すぎてよくわかりません。「逆」とも違う感じなのですが、「エフェクトを一つだけ使う」のであれば問題なさそうです。

なお上のスコアは「知らずに再生してしまうと迷惑千万」なため削除しました。
以上です。

In reply to by Yama2018

https://musescore.org/en/handbook/synthesizer#effects
(A → B という順に適用されるので,B が後段ですね.)

この機能を自分は使っていないので,少し試してみた限りでの推測ですけれど,もっと単純な話で,

「同種のエフェクトは,同時には使えない.」

ということなのではないかと想像しています.
そうだとすると,Effect A, B に同時に指定してしまった場合,後段で適用される B のほうの値だけがスコアに保存されるのでしょうから,次回の読み込み時は B の値だけが復元されることになります.
「エフェクトの設定が逆になる」ように見えるのは,本来は同種のエフェクトは同時に使えないために,次回の読み込み時は後段側のエフェクトの値が存在せず,初期値(デフォルト値)がそのまま表示されているだけなのではないかと想像しています.

この推測で,アプリの挙動のつじつまは合いますか?
この推測どおりだとすると,同種のエフェクトが Effect A と B に同時に選べてしまう UI を改善する必要がありますね.

In reply to by knoike

なるほど、確かに「スコアに保存したB」の値が「スコアから読み込みしたA」の値とほぼ一致する反面で、保存したAと読み込み後のBは別物のようになるため、これはありそうです。
ただ「スコアから読み込みしたA」の一部の値が変わってしまうのが変なのですが、しかし「エフェクトAのみを使ってスコアに保存」した場合には問題なく再現されていることから、Bの上書き時におかしなことになっていると考えれば、ほぼ辻褄が合いそうです。
わざわざ確認を取っていただき、ありがとうございました。

ところで、2つのエフェクトを使用して保存後、「スコアから読み込み」されたBのみを有効にして再生すると、これがウェブ上(スコアに保存をせずにアップしたもの)の再生音と似ているような気がしました。これが本来の既定値なのではないかと推測しています。
英語かあ。アレルギー出てんですよね。頑張ってちょっと覗いてみます。ありがとうございました。

In reply to by Yama2018

追記。これで終わりにします。
「スコアから読み込みされたB」について、「初期設定の値と違う」みたいなことを書いたので「?」となったかもしれません。
どうやら知らないうちに「既定値に設定」ボタンを「私が」押していたものと思われます。
初期設定ファイルを捨てれば設定がすべて元に戻るだろうと思ったのも、これまた間違いでした。

初期化方法(Mac)
https://musescore.org/en/handbook/revert-factory-settings#instructions-…
ということであります。

アプリをバージョンアップして初期設定ファイルを捨てても、「Application Support」の中まで破棄しないと、以前の設定が残ります。
「初期値(デフォルト値)がそのまま表示されているだけなのではないか」
正解だと思われます。
根本的な問題が解決したわけではありませんが、こちらとしては「ということがわかったので、それを念頭に置いて、気を付けて使いましょう」というのが現実的な対応かと思われます。
大変失礼いたしました。お付き合い頂きましてありがとうございます。

In reply to by Yama2018

余談になりますが,「スコアに保存 / 読み込み」機能,「既定値に設定」機能には,このエフェクタ関係以外にも挙動があやしいところが残っているような気がしています.(個人的には,シンセサイザ,拡張機能関係で,何か挙動があやしいなぁと感じています)
たとえば,設定を変更しても [スコアに保存] ボタンが押せるようにならないときがありますよね.
これについては,「known problem」になっていたか,どこかに Issue が立ったまま未解決になっていたような気がします.

MuseScore の Ver. 3 がそろそろリリースされるようなので,Web での再生音の件も含めて,挙動を追求するのは Ver. 3 がリリースされてからのほうが,労力的に見合うかもしれませんね.

In reply to by knoike

「これで終わり」と書いたんですが、初期化をした人のためにちょっと書いておきます。
ヘルプメニューから「初期設定に戻す」をした場合も同様です。

「挙動を追求するのは Ver. 3 がリリースされてからのほうが」
ですね。3.0でも既にいろいろと出てますけれども。

その中に「既定値の読み込みを押しても、何も起こらない」てのがありました。
https://musescore.org/en/node/278178
これ多分勘違いです。ver.2でも同じです。私も今回初めて知ったことなんですが。
「初期化された状態のMuseScoreには、初期設定としての既定値が存在しない」んです。
初回起動時や初期化後に、何かスコアを開いて「シンセサイザー」ウィンドウの「マスターエフェクト」タブでつまみを回したとします。
すると「既定値の読み込み」ボタンがアクティブになります。
「これを押せばつまみを回す前の状態に戻るだろう」と期待するでしょう。
ところがなりません。なぜなら既定値がまだ存在していないからです。読み込むものがないんです。
これを使用可能にするには、何かしらのつまみをちょっとでもいじってから、一度「既定値に設定」ボタンを押さなければなりません。これで初めて既定値が設定されるというわけです。
「変えてから設定したんじゃ遅いだろ。最初の設定はどこに行ったんだよ。もう覚えてないよ」という話になるわけです。
でもこれがMuse-Style。

「なーにカッコ付けてんだ、バカ」と言われる前に、私のやり方です。
最初に何かサウンドフォントを追加しておきます。
初期化後、何かスコアを開いて、エフェクト類には手を触れず、「Fluid」タブで適当なサウンドフォントを「追加」ボタンで読み込みます。
次に今読み込んだフォントを「削除」ボタンで削除して元の状態に戻します。
「既定値に設定」ボタンはアクティブになったままのはずなので、ここでボタンを押します。
念のためアプリを再起動させます。
今度はつまみをいじっても、「既定値の読み込み」ボタンが機能して、元の位置に戻るようになります。
この時、Macの場合だと「Application Support」の中に「synthesizer.xml」というファイルができます。ここに記録されているのが初期状態での既定値です。
こんなの「アプリの起動時に設定ファイルの有無を確認して、なければResourceからコピーする」で終わりだと思うんだけども。「AppleScriptみたいに簡単じゃないんだよ」てのはわかるんですけど。

私の場合ですが、「ウェブとアプリでの音質差」の正体はこれだったと思われます。
「既定値に設定」ボタンが「既定値の読み込み」ボタンのすぐ隣に並んでいて、確認ダイアログも出ないため、間違って押してしまっても気付きにくく、知らないうちに既定値を変えていたようです。
ウェブとアプリの再生音について、フォーラムでは例えば「再生スピードが異なる」なんてのもありましたが、これも「うっかり自分で既定値に設定してしまった」ディレイの長さの違いから来る錯覚じゃないかと推測します。デジタルですから、さすがにスピードは変わらないと思う。

「設定を変更しても [スコアに保存] ボタンが押せるようにならないときがあり...」
探してみます。なんとなくですが、上と似たような現象が起きている気がします。

要望もいろいろとあるんですけど、「無料のソフト開発にそこまでやってられるか。だったらお前がやってみろ」とか言われそうなので言いませんw
何れにしてもver.3を待って、それからです。
まだまだ「あなたの知らない世界」がこのソフトの中にはありそうです。
でも、そうやって文句言いながら使っている自分が好き。
以上です。

まだ解決していない質問がありますか? 質問を投稿するにはまずログインしてください