0Muse(V6.4)において、連符内連符の表現が可能となった。従来からの表記で文法上曖昧だった定義も明確化された。その結果、V6.3以前のデータとの非互換性がいくつか生じる事となった。非互換部分を明らかにする事は大切であると考える。以下にその非互換仕様の内容を記載する。既存データ(8,300曲強)が母数となっている。★2013.4.11現在、8,333曲中、1つ以上の非互換箇所を有するデータは312曲であった。以下の記述をした場合、従来はドミソの和音が2つ目の和音と連結していなかった。]これは、ほとんどバグに近い。新仕様ではきちんと連結する。ちなみに、以下の記述では新旧共に連結する。以下の記述をした場合、従来は和音内の2つの連符の内&に近い方のみが連結対象であった。]1新仕様では、両連符ともソの音が連結する。新仕様ではそれを解釈するようにした。部分的なアルペジオが可能となる。和音の中のアルペジオは、基本的に外側の和音の音頭が起点となる。アルペジオの付いた和音内のコード表記は、そのコード自体にアルペジオのコロン(:)があるか否かで仕様が異なる。コロンがある場合は、和音内の他の音と独立して、和音の頭から指定されたアルペジオが掛かる。これは、和音内の連符や和音と同じ扱いであり、こちらが基本形である。]1:16もしアルペジオが無い場合は、和音内の他の音と一体化して全体のアルペジオが掛かる。これは、コード表記のみの特殊な仕様である。]1:16基本形のタイプでコードにのみアルペジオを掛けたくない場合は、(:0)を明示すればよい。]1:16なお、従前の仕様では和音に逆アルペジオ(-)を付けてもコード部分にしか反映しなかった。今回の新仕様では全体で一体化した形で逆アルペジオが掛かる。コード表記の無い単純な和音でも逆アルペジオが掛かる。再現表記でも利用できる。明示されているアルペジオ音長があれば、それを新たにアルペジオの省略音長として採用していた。この仕様は極めて把握しにくく、例えば後方で指定されたアルペジオ音長が前方の省略部分に採用されるなど違和感の多いものであった。今回の新しい仕様は、省略音長とまったく同様の継承プロセスを導入した。連符内で新たにセットしたアルペジオ音長は、その外に出ることは無い。常に記述された音長そのもので音のずらしが行われる仕様に変更した。アルペジオは和音のニュアンスを決定するものであり、他の遅延とは性格が異なる。よって、連符比率変換によって音長が変化しない方がMusingしやすいと判断した。連符内連符など複雑な構造になると、絶対音長の方が把握しやすいはずである。この連符比率変換をしないという変更により、かなりの非互換データを検出してしまった。今後のMusingにおいて連符内のアルペジオ音長を調整する際の容易性確保、そしてMuse進化のためと、お許しいただきたい。以下の記述をした場合、従来は連結する場合と連結しない場合が入り乱れており、単音と連符のみ連結し、コードと和音およびその再現表記は連結していなかった。連結を前方音符の直後に記述した場合はあらゆるタイプで連結する。これは従来仕様と等しい。これにて、ゼロ音長のタイプによらず連結の記述位置でその挙動が決まるというシンプルな仕様となった。&は基本的に音符の後ろに付与することで、その音符にスラー効果を与え、かつ続く音符と音程が等しい場合にタイとして連結する、という考え方が導入できる。この規則により、ゼロ音長の後ろに&を与えた場合は、そこに作用は起こらないと解釈するのが自然であり妥当だと考えた。以下の記述をした場合、従来は音符とコードの場合のみアクセント指定が透過してドの音にアクセントが付き、それ以外は、アクセントが無効になっていた。d4;キャンセルされていた統一感が無いので、新仕様ではすべてキャンセルすることとした。アクセント指定はゼロ音長を透過する事はできない。新仕様では実行しない様にした。和音の方は、新旧ともゼロ音長であっても音は演奏され属性も実行される。従来の連符のゼロ音長は、音は演奏されずに属性のみ実行される状態であった。仕様に一貫性と対称性を与えるため「ゼロ音長の連符」は音も属性も実行せず「ゼロ音長の和音」は音も属性も実行することにした。従来の様にゼロ音長連符の属性が実行されたとしても、全体の音長がゼロであるため、その実行位置は括弧開始ポイントに位置づけられてしまう。したがって、この機構はゼロ音長の和音と同一の働きしかしないのである。基本的に連符内の音長値は連符比率で変換する必要があるが、ゼロ音長ではその変換が不可能である。そのため従来は遅延音長部分を変換せずに出力していたが、これは理解に苦しむ例外的仕様である。論理的に音長演算ができないのであるから、遅延の有無によらず実行しないとする方が明快であると判断した。過去のデータでも、()0の部分は再現表記の定義元として記載しており、その場での実行を期待していないようだ。ゼロ指定が無かった頃の工夫と思われる。従来は、(8,16,32,64)の4種類であったが、(8,16,32,64,128)と5種類に拡大し、デフォルト値を16から32に変更した。端数の出にくい処理シーケンスに改良したため、従来行っていた曲尾端数譜刻を廃止した。†*LILY"1〜9"のコマンドは、"..."出力ではなく、\markup{...}に改変。ダイレクトに記述していた場合にエラーとなる。アクセント文字を譜刻することが可能となった。従来の(+)文字が担っていた機能を(*)文字に割り当て、新たに加える機能の文字を(+)とした。互換を崩してまで記号の意味を変更したのは、強い接続と弱い接続の関係を常識的な算術式センスと一致させるためである。従来は強引に解釈していたが、新仕様では、和音や連符の括弧と、マクロの括弧が交錯する場合は文法エラーとした。)これを許すと連符や和音を多階層に展開する場合、プログラム上、対となる開閉括弧のポインタが一意に決まらなくなるというのが主な理由である。可読性がひどく悪いため、その意味でも今回からエラーとしてはじくこととした。従来はそのまま出力していたが、新仕様では1バイト目のリードバイトに上書きして不正なリード文字を潰す様にした。従来仕様は文字化けしたデータをテキストエリアに表示してしまっていたため、一種の仕様不備とも捉えられる。従来、テンポの遅延記述(すなわちリタルダンドやアッチェレランド)を記述した際、その遅延音長は連符内の音長比率で換算されず、記述された絶対音長を採用し演奏していた。他の遅延音長と同様、例えば11連符内の3音目から5音目に掛けてテンポを変化させたいといった要請を簡便にMusingするためには、やはり連符内でのスケーリングが必要である。今回の新しい仕様では、スケーリングを実施することにした。従来、アクセント指定は、フィンガー宣言(#)を跨いで生き続け、次の音にアクセントを与えていた。以下の様に書くと、ドの音にアクセントが付いた。m新しい仕様では、アクセントの指定はフィンガー宣言(#)を跨がない。アクセント値のセットは実施される。これにより、それぞれのフィンガーに対して、データ冒頭で初期値としてのアクセント値を設定しやすくなった。