[[Q&Aコーナー]]

*質問 [#gdd58bb1]

 投稿日:2015/03/28(Sat) 23:27
 
     皆さんお久しぶりです。
     
     たぶん初めてのFINGコマンドなのですが,
     下記のデータで,G7の音だけ大きくなるかと思ったら,変化がありません。
     <>部分を右クリックしてv属性を見ると,v+75もv-75も先頭に書かれています。
     これはなぜでしょうか?
     
     ものすごく簡単なところで躓いていたら,遠慮なく叱ってください。
     よろしくお願いします。
     
          ;ここから
          #H8
          _1*MARK""*FING"v+75"_*MARK""*FING"v-75"_
          
          #A1 @v50
          {d1/>s<d}
          #B1 @v50
          {m1/[rf]m}
          #C1 @v50
          {s1/ss}
          #D1 @v50
          <{d1/>c<d}
          
          % #H8 _1___
          ;ここまで

*回答 [#w46b8504]

 投稿日:2015/03/29(Sun) 09:11
 
     あははっ、私も*FINGのタイミングがわからず、調べることもせず、今まで別々にすべて同じ記述をしてきました。
     と、分からないことを前置きして、(わからないならコメントするなっ、て話ですが。^^;)
     これを機に*FINGを使いたいと思います。
     
     質問者さんのイメージは、例えて云うなら、テンポ(%)と同じイメージなんだと思います。
     テンポなら質問者さんの記述通り、初めのHメンバーにひとつ記述すればその後のメンバーすべてが同じテンポになります。
     でも、この記述の結果を見ると、そうではなく、*FINGの記述の場所が大事なようですね。
     つまり、同じメンバー内でも、下記のような記述では、#A2は冒頭から*FING指定になるのでしょう。多分。^^;
     
     #A1----------------------------*FING-----------------------------
     #A2--------------------------------------------------------------
     
     もしそうなら、あえて*FINGを使うとすると、Hメンバーは必要でなくなり、次のようになりますかね。
     
          ;---------------ここから------------------
          #A1 v50 d1/
          #B1 v50 m1/
          #C1 v50 s1/
          #D1 v50 <d1/
          
          *FING"v+75"
          
          #A1 >s
          #B1 [rf]
          #C1 s
          #D1 >c
          
          *FING"v-75"
          
          #A1 <d
          #B1 m
          #C1 s
          #D1 <d
          ;---------------ここから------------------
     
     このようになるでしょうか。多分。^^;
     でも、無名マクロが必要なら、これでは使えませんね。
     
     自信はないので、後はみんなの意見を待ちたいと思います。

 投稿日:2015/03/29(Sun) 10:31  投稿者:開発者 
 
     > ものすごく簡単なところで躓いていたら,遠慮なく叱ってください。
     実はこの部分は、ものすごく重要で、
     かつReadme.txtでもきちんと説明しきれていない部分です。
     お叱りを受けるのは私の方かもしれません(苦笑)。
     
     Museのコマンドや命令には、大きく2系統があります。
     演奏時刻を優先としたものと、記述位置を優先したものです。
     本当は、すべて演奏時刻優先であった方がわかりやすいのですが、
     Museのコンパイル処理上しかたなく(というか手抜きかも)、
     記述位置優先を採用しているものがあります。
     
     演奏時刻優先というのは、図示すると以下の様な感じです。
     ●で施した指定が、そのタイミングで全フィンガーに作用します。
     
     	#A0 xxxxx xx→→ →→→→→
     	#A1 xxxxx x●→→ →→→→→
     	#A2 xxxxx xx→→ →→→→→
     	#A3 xxxxx xx→→ →→→→→
     
     一方、記述位置優先というのは、
     記述したMuseデータの位置以降の記述に作用します。
     演奏時刻はまったく関係ありません。
     
     	#A0 xxxxx xxxx xxxxx
     	#A1 xxxxx x●→→ →→→→→
     	#A2 →→→→→ →→→→ →→→→→
     	#A3 →→→→→ →→→→ →→→→→
     
     基本的に、メンバー属性は「演奏時刻優先」です。
     ただし、移調(T)だけは「記述位置優先」です。(統一感が無くて申し訳ありません)
     
     そして、フィンガー属性の方はすべて「記述位置優先」です。
     でも、そもそもフィンガー属性の作用は記述したフィンガー内に閉じていますので、
     演奏時刻優先と捉えても結果は同じになり混乱は少ないです。
     (正確に言うと、和音記述でいろいろあるんですが・・・)汗
     
     問題は、その他の全域指定です。
     例えば (%)とか(\)とか、今回問題となった*FING""とかです。
       ・テンポの(%)は、演奏時刻優先になっています。
       ・しかし、強制タイミング合わせの(%)や(\)や*FING""は、記述位置優先なのです。
     
     つまりPascalさんの例では、
     *FING"v-75"が以降のすべての記述に作用していることになります。
     しかし、その後の記述行で各フィンガーがv50と指定されているため、
     結局すべてv50で演奏されている、というのが今回の挙動です。
     
     という訳で、
     *FINGコマンドは、演奏時刻優先と記述位置優先が一致する唯一のポイント、
     つまりフィンガーの先頭位置にのみ用いるのが無難だと思います。
     使い勝手が悪くて申し訳ありませんが、
     ある時点での「一斉初期化コマンド」だと思って頂けると幸いです。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS