ラベル MuseScore3のココがダメ の投稿を表示しています。 すべての投稿を表示
ラベル MuseScore3のココがダメ の投稿を表示しています。 すべての投稿を表示

2023年1月22日日曜日

「割振り」完全解説

 突然ですが、MuseScoreの音符間隔を調整する機能「割振り」を完全解説します。

 残念ながらMuseScoreの開発陣は「割振り」の機能を理解していないっぽいので、MuseScore 2 という昔のMuseScoreを用いて解説します。

「割振り」は音符間隔の伸縮機能ではない

 「割振り」は音符間隔の伸縮機能ではありません。「加算されたスペース」の調整機能です。「加算されたスペース」というのは、臨時記号などによって音符間隔の前後に足されたスペースのことです。MuseScoreでは音符間隔の各区間をセグメント*と呼称しています。

*日本語訳では「割振り」という意味の通りにくい翻訳になっています。

 「割振り」では音符間隔に追加で足されたスペースのみを調整するため、それら「加算されたスペース」が含まれていない音符間隔を狭めることは出来ません。「加算されたスペース」が含まれない音符間隔のことを「素の音符間隔」と呼びます。

 さてMuseScoreは小節に含まれるスペースの量によって、小節自体が水平スペーシングの整合性を無視して独自に伸縮します。それには「加算された」スペースも含まれます。故に「割振り」の機能には「加算されたスペース」の伸縮挙動の他に、小節全体の伸縮挙動が現れることがあります。つまり個別の音符に対し音符間隔を伸縮させようとしても、条件によっては小節全体が伸縮します。

 この余計な挙動を防ぎ、「割振り」の「加算されたスペース」を伸縮する挙動だけを機能させるには、「一段一小節法」を使います。「一段一小節法」については以下の記事を見てください。


 「一段一小節法」を使った時の「割振り」の挙動は以下の通りです。このように「一段一小節法」を使えば、小節全体の伸縮挙動を回避して「加算されたスペース」が含まれる音符間隔のみを狭めることができます。

MuseScore 2.3.2 で「前の間隔」を減らした時の挙動

MuseScore 2.3.2 で「後の間隔」を減らした時の挙動

 これらの挙動を表にまとめると次のようになります。



一段一小節法アリ

一段一小節法ナシ

前の間隔を増やす

加算されたスペースが個別の音符間隔を広げている場合

○

○

加算されたスペースが個別の音符間隔を広げていない場合

○

△

加算されたスペース無

○

△

前の間隔を減らす

加算されたスペースが個別の音符間隔を広げている場合

○

○

加算されたスペースが個別の音符間隔を広げていない場合

変化なし

×

加算されたスペース無

変化なし

変化なし

後の間隔を増やす

加算されたスペースが個別の音符間隔を広げている場合

○

○

加算されたスペースが個別の音符間隔を広げていない場合

○

△

加算されたスペース無

○

△

後の間隔を減らす

加算されたスペースが個別の音符間隔を広げている場合

○

○

加算されたスペースが個別の音符間隔を広げていない場合

変化なし

×

加算されたスペース無

変化なし

×

○: 個別の音符間隔の伸縮挙動
×: 小節幅の伸縮挙動
△: 小節幅の伸縮挙動の後に個別の音符間隔の伸縮挙動が表れる
変化なし: 音符間隔は変化しない

 このように一段一小節法を使えば、個別の音符間隔の伸縮挙動のみのシンプルな機能として割振りが機能するようになります。また「加算されたスペース」が含まれていないスペースを短縮させることはできないことから、「割振り」の伸縮機能は「加算されたスペース」を伸縮させる機能であることがわかります。

「割振り」で音符間隔を調整するには

 「割振り」では「素の音符間隔」を狭めることは出来ません。「素の音符間隔」を個別に狭めるためには、狭めるところ以外の音符間隔を全て広げることで、相対的に狭めることができます。狭めるところ以外の音符間隔を全て広げるためには、「音価分割テクニック」を用います。これは全ての音符間隔を休符によって等分割する方法です。詳しくは以下の記事を見てください。


 「音価分割テクニック」を用いることで、「加算されたスペース」の含まれないセグメントを作り出すことが出来ます。「加算されたスペース」が含まれるセグメントとそうでないセグメントでは、同じだけスペースを増やそうとしても、異なる「割振り」の数値を用いなければなりませんが、意図的に「加算されたスペース」を含まないセグメントを作り出すことで、同じ数値を「割振り」に用いて同じだけスペースを調整することが出来ます。

「割振り」は音符間隔の伸縮機能という誤解

 MuseScore 3 では「割振り」の仕様が変更されました。MuseScore 3 ではセグメントを伸縮させるのに、音符の前の間隔だけで調節することになりました。
 確かに、音符間隔の伸縮機能であれば、音符の前後2方向共に伸縮させる必要はなく、片側の間隔が調整できれば十分です。しかしながら、音符間隔の調整機能であれば、音符の「前の間隔」ではなく「後の間隔」の方を調節機能として残すべきであり、「前の間隔」に集約したことは理にかなっていません。更にもともとは「加算されたスペース」の調整機能であることを考えれば、音符間隔の伸縮機能として作り変えること自体が間違っています。

 音符間隔の調整機能としてみても、「割振り」の挙動はMuseScore 2 よりも使えない代物になってしまっています。「割振り」のスペースの縮小に下限が設けられ、一定以上数値を下げると却って音符間隔を広げてしまう謎仕様となってしまっています。これにより、「音価分割テクニック」を音符間隔を狭める用途で使うことは難しくなりました。
 当然ですが、MuseScore 2 では「割振り」の間隔の数値を減らし続ければ、間隔がどんどん狭めっていきます。数値を減らした結果、間隔が増えるということは、まずありません。「後の間隔」を減らした時に末尾の小節線よりも後ろに張り出すことで、若干間隔が増えてしまう現象はありますが、末尾の音符と小節線までの間隔が減ったことによる現象ですので、問題ではありません。
 MuseScore 3 では、「割振り」の間隔の数値を一定以上減らすと、逆に間隔が増えてしまいます。意味が分かりませんね。

 MuseScoreには、現時点での最新のMuseScore 4 であっても、「素の音符間隔」を狭める手段がないにも関わらず、個別に音符間隔を狭める調整を必要とする場面は未だ残っています。音符間隔を狭める最も合理的な手段は「音価分割テクニック」でしたが、音符間隔が狭まる度合いが制限されている以上、使える場面も限定される結果になっています。実質的には使えません。

 MuseScore 4 においても「割振り」の機能自体はMuseScore 3 のものをほぼ継承しているので、同じ問題を共有しています。つまりあまり使い物にはならないということです。

結局のところ「割振り」の機能って何なの?

 「割振り」の伸縮機能は、臨時記号などによる「加算されたスペース」の伸縮機能です。間隔を増やせば「加算されたスペース」が増やされ、間隔を減らせば「加算されたスペース」を減らします。「加算されたスペース」が無い場合は、間隔の値を減らしても、間隔は変化しません。しかしながらMuseScoreの小節が独立して伸縮する挙動によって、「割振り」で本来の機能に反して小節全体が伸縮することがあります。こうした挙動は「一段一小節法」で無効化することができます。MuseScore 2 で「一段一小節法」を用いた時の「割振り」の挙動はまさしく「加算されたスペース」の伸縮機能としてのシンプルな挙動のみを示しており、この挙動がおそらく「割振り」の本来の機能だと言えます。

2021年2月1日月曜日

小節末尾のスペースが設定されたMuseScore3.6

 MuseScore3.6において、地味な変更ですが小節末尾にスペースが足されるようになりました。小節末尾に音符間隔以外にスペースを足すこと自体は間違いではないですが、私は、MuseScoreにおいて、これは不要な変更であったと考えます。おそらく、MuseScoreでは、小節末尾にスペースを追加で設けない方が、音符間隔がマシに見える譜例の方が多いのではないでしょうか。結果的にMuseScore3.6では、MuseScore2.3.2と比べると水平スペーシングはより劣ったものになっているとさえ言えます。

楽譜の見た目を左右するのはフォントではない
 MuseScore3.6のアップデートの目玉は、新たな記譜フォントLelandの実装ですが、そもそもそれ以前でも記譜フォントはMuseScore2の時点から変更可能であり、デフォルトフォントの刷新は、楽譜の「読みやすさ」を左右するほどのものではありません。新フォントの実装それ自体は良いことではありますが、それと同時にMuseScoreのスペーシングが貧弱なままでは意味がありません。従来のデフォルトの記譜フォントであるEmmentalerは、確かにそのト音記号のデザインこそ見慣れないものでしたが、MuseScoreの浄書に関する仕様がデタラメで間違っていたことが、Emmentalerの評価を押し下げていたと私は考えます。デフォルトフォントがLelandとなった今、LelandはMuseScoreの顔と言えるでしょう。MuseScore3以降の間違った仕様変更の積み重ねによって、Lelandが下手な浄書の代名詞となってしまわないか、懸念するところです。

「加算されたスペース」が増えたことが要因
 MuseScoreの音符スペーシングは、「素の音符間隔」に関していえば実は無印の時からほとんど変わってはいません。今回のアップデートでは、音符の後にスペースを追加する「符尾」による「加算されたスペース」が無駄に増えていることが、MuseScoreの音符間隔を乱す要因となっています。MuseScoreは「加算されたスペース」はインスペクタの「割振り」の数値を減らせていけば、そのスペースを減らすことができます。「一段一小節法」と併用すれば多くの問題を解決するでしょう。冒頭の譜例は以下のようにスペーシングされるべきです。
 この譜例は「一段一小節法」と「音価分割テクニック」を併用してMuseScore2.3.2で作成しました。これらの手法については過去記事を見てください。

最初の段にインデントを付与する設定
 MuseScore3.6では、楽譜の最初の段にインデントを付与する機能が追加されました。これはスタイルの設定でインデント量を調節できるのですが、私は、この実装は馬鹿げていると思っています。というのは、段にインデントを与えることは、この機能ではなくとも、従来からある「フレーム」を挿入することで実現できるからです。しかもフレームの方が多機能で有用です。

 「フレーム」を用いた場合は、フレームの中にテキストを追加することができます。このような機能が既に以前のバージョンからあるのに、どうして別機能としてインデントを実装したのでしょうか。実装するにしても、最初からフレームが自動で挿入されている程度の実装で良かったはずです。





フレームの高さの調整を制限
 MuseScore3.6は垂直スペーシングの自動化が実装されましたが、同時に垂直フレームの高さをデフォルトでは弄れないように改変されました。MuseScore3.6で垂直フレームの高さを変えるためには、「Enable Auto-Size」をオフにする必要があるのですが、高さを変えるためにわざわざこんな余計な作業をしなければならないのは間違っています。このような個別調整を妨げるような自動化は間違っています。残念ながらMuseScoreのアップデートの度に、個別調整を制限するような改変は度々行われてきました。MuseScoreは多機能な楽譜作成ソフトでしたが、その多機能性は利便性のために犠牲になるのは本末転倒と言えます。今後のアップデートがどのような方向に向かうかにも依りますが、MuseScoreの機能を理解せずに新機能を実装するような馬鹿げたアップデートは勘弁願いたいと切に思います。

2020年10月13日火曜日

思慮無きコード再生機能の実装

 MuseScore3.5よりコード記号を入れると再生時に和音を再生する機能が実装されました。このブログではMuseScore3は原則扱うつもりはないですが、機能の実装の仕方がお粗末で、多くのユーザーにとっては却って手間が増えるだけの、使い勝手を悪くするような実装であったので、今回この新たな機能について書きたいと思います。

 単旋律のメロ譜や、コード記号しか書いていない譜面ではコード再生機能は有用ですが、コード記号を楽譜の補助的な記号として用いている時、例えばピアノソロ譜とかで、再生時に、楽譜に書かれている音符に加えて、コード記号の和音を鳴らしたいと思うことが果たしてあるでしょうか?曲を演奏するのに必要な音符が全て譜面に書かれている場合に、コード記号の再生が邪魔で不要なものであることは、普段楽譜を書いている人であれば想像に容易いことだと思います。デフォルトでコード記号が再生される設定はコードを補助的な記号として用いるユーザーにとっては手間が増えるだけです。このような「使い勝手を変える=従来のユーザーを切り捨てる」ようなアップデートはMuseScore3以降、度々行われるようになりました。

コード再生をオフにする方法
 MuseScoreのミキサーで、コード記号が挿入されている楽器・パートのハーモニーのチャンネルをミュートにすることで、再生時にコード記号をミュートすることが出来ます。ミキサーの画面はメニューの「表示(V)」の中から開けます。

 また個別のコード記号はインスペクタで再生・非再生を切り替えることができます。コード記号を全選択してインスペクタで、コード記号の「再生」のチェックボックスを外せば、コード記号を再生させないことが可能です。同種の記号を全選択するには、コード記号を右クリックして「選択」→「全ての類似した要素」から、全てのコード記号を選択状態にすることができます。

2019年9月13日金曜日

MuseScore3よりもMuseScore2を使う理由。

 MuseScore3は必ずしもMuseScore2より優れているとは言えません。私は楽譜浄書においてはMuseScore3を使うことはありません。

リピート線の無慈悲な仕様変更
 MuseScore3での最も致命的な変更は、リピート線の記譜方式をよりマイナーな方式に変えてしまったことです。この件については以前にこの記事にて既に書きました。MuseScore2とMuseScore3のどちらの方式が間違っている訳ではありません。しかし一方的に少数派の方式に敢えて変更してしまったのは、愚かな判断です。私はMuseScore3のリピート線方式は支持しないので、MuseScore3を使うことはありません。
 またこの変更により、リピート線にバグが生じています。MuseScore3では、右図のようなリピート線は、拍子記号・調号で分割されるようになっています。しかし、一度リピート線に入力した拍子記号・調号を消すと、リピート線は分割されたまま元に戻ることはありません。リピート線を消して再入力しても、分割された状態で入力されてしまいます。「戻る」で拍子記号・調号を入力する前まで戻っても、分割された状態になってしまいます。画像の一番下の状態になったら、その小節そのものを右クリックして「選択した小節を削除」して、新たに小節を挿入するしか方法はありません。

小節幅の伸縮制限
 MuseScoreの各小節は、一定の範囲内で小節幅を変えることが可能です。MuseScoreで「小節のプロパティ」を開くと、「小節幅の伸縮」の項目があります。MuseScore2は「小節幅の伸縮」の値に忠実に小節幅を伸縮させることが可能でした。しかしMuseScore3では小節幅の伸縮に一定の制限が設けられました。
MuseScore3では、0.8以下では数値を変えてもそれ以上狭くならない。
 MuseScore3の場合、「小節幅の伸縮」で小節幅を狭めるとき、「小節幅の伸縮」の値が0.8よりも低い値にしても、小節幅はそれ以上狭めることは出来なくなっています。MuseScore2では数値が0になるまで値に忠実に小節幅を狭めることが可能でした。この変更は一体誰が得をするのでしょうか。「小節幅の伸縮」の機能を使う全ての人は、小節幅を調節したいから弄るのです。このような制限を新たに設けることはユーザーに対する冒涜です。

音符の「割振り」の仕様変更
 MuseScoreで音符間隔を弄る主要な機能の一つに「割振り」があります。これは各音符や休符に対し割り当てられていて、各音符・休符毎に前後間隔を調節することが可能です。さてこの機能は、MuseScore2以前でも複雑怪奇な挙動を示すので、実は使いこなすのは難しいのですが、MuseScore3での変更をお話する前に、MuseScore2での「割振り」の挙動を理解しておく必要があります。
 MuseScore2では、「割振り」には「前の間隔」と「後の間隔」がありました。この2つの間隔は、MuseScore3で「前との間隔」の一つに纏められています。「前の間隔」/「後の間隔」の名称を見ると、一見個別の音符の前後間隔を自在に伸縮できるように見えます。しかし実際はそうではありません。

 この機能には2種類の挙動が含まれており、MuseScoreの"素"の音符間隔に対して「加算されたスペース」を増減させる挙動と、個別の小節全体を「小節幅の伸縮」よりも細かい次元で伸縮させる挙動が、一緒になっています。

 まず、純粋に音符・休符の音価のみによって定められた音符間隔を「素の音符間隔」とここでは表現します。MuseScoreの「割振り」は「素の音符間隔」を弄ることは出来ません。MuseScoreでは、素の音符間隔に対し、臨時記号・加線・符尾・音部記号等によって、スペースが加算されます。「割振り」は、これらの「加算されたスペース」を伸縮させる機能です。従って、「加算されたスペース」が0である、素の音符間隔を個別に狭めることは出来ません。
 また一定の条件下では、「割振り」は個別の音符間隔の伸縮ではなく、小節幅の伸縮と同等な挙動を示します。
 段の水平スペースに余裕がある場合は、MuseScoreは「加算されたスペース」を個別の音符間隔ではなく小節全体の幅を広げるように処理します。従ってこの場合において「加算されたスペース」を「割振り」を用いて削ると、個別の音符間隔ではなく小節全体の幅が狭まります。このように「割振り」は本来の機能に反して小節幅の伸縮にも作用します。
 さて、段の水平スペースに余裕がある場合に「加算されたスペース」を個別の音符間隔ではなく小節全体の幅の伸縮に処理されるMuseScoreの挙動のため、「割振り」の「前の間隔」/「後の間隔」で正の値を用いてスペースを加算する場合は、一定の範囲内では小節幅全体の伸縮に作用し、一定の範囲を超えると個別の音符間隔に作用します。


 またMuseScore2での「後の間隔」は、ここで定義する「素の音符間隔」状態において、負の値を用いると小節幅全体を狭める挙動を示します。なお「前の間隔」は「素の音符間隔」状態では、負の値を用いても音符間隔・小節幅には影響をもたらしません。恐らく「後の間隔」は「スタイルの設定」の「小節」にあるような「スペース(1=狭い)」や「最小音符間隔」等の項目が示すパラメータに作用するのかもしれません。

MuseScore3の「割振り」の挙動
 MuseScore3で「前との間隔」に纏められたことで、一見UIは単純化されたように見えますが、実際の挙動は更に複雑になりました。一定の数値以下では何故か間隔が広がるので、十分に音符間隔を狭めることは出来なくなりました。

 この変更によって、MuseScore3では音符のスペーシングの調整が難しくなりました。特定の譜例においてはMuseScore3で浄書をするのは非現実的だと言えます。MuseScore2の「割振り」の「後の間隔」は、小節幅を伸縮させる挙動において、実質的に制限がありませんでした。そのため、未使用の声部に休符を入れるテクニックと併用することで、特定の音符間隔を広げたり狭めたりすることが可能でした。これはMuseScore2が音符間隔においていかなる要求も実現できる特性です。特定の音符間隔を伸縮できないソフトはもはや浄書ソフトではありません。現状MuseScore3は浄書ソフトではありません。


関連記事
・MuseScore3のリピート線の位置について
・MuseScore3の最大の欠点
・非表示の休符を挿入するスペーシングテクニック

Doricoの音符間隔機能、さてはビミョーだなこれ

一見使い勝手良さげに見える「音符のスペーシングの変更」  Doricoの音符間隔の機能は、一見他の浄書ソフトよりも先進的で使いやすいように思えます。しかし、実際に音符間隔の機能を使って、音符間隔を調整しようとすると、思ったほどうまく機能しないことに気づきます。今回はDoricoの...