- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2021-01-02T16:16:28+00:00","","")
*概要 [#n5ce0a77]
MIDIファイルをMuseデータ形式のファイルに変換するソフト。コマンドプロンプトを利用する。~
「mid2mus希望」と書いたメールにオリジナルなMuseデータを添付して加藤一郎氏に送ると、このソフトがもらえる。~
加藤一郎氏によると、以前mid2musをもらうために中身が「drm」と記述されただけのデータが送られたことがあったという。失礼極まりない事例である。しかし、「そうは言っても、自分の開発したソフトを欲しいと思う人がいることは、開発者冥利に尽きる」と加藤一郎氏は語っていた。なお「drm」のみのデータであっても、mid2musは献上される。
~
**mid2mus の変換 [#y8699230]
mid2mus は MIDI ファイルを機械的に Muse データに変換するため、どうしても mid2mus 特有のデータとなりやすい。~
基本として''mid2mus で変換した Muse データを『Muse の殿堂』に投稿しても審査の対象にならない。''~
~
ただ、データを聴いただけでは手書きによる打ち込みか mid2mus変換データであるかの判別は&color(red){ほぼ不可能};である。~
過去、殿堂に登録された曲の中には、mid2mus で変換された楽曲があったようだ。~
~
**mid2mus による変換の仕様 [#h1398c54]
mid2mus で変換した Muse データは、手打ちで作られた Muse データとは異なる、独特の変換結果が出力される。~
ここでは、mid2mus で変換された Muse データの特徴を列挙する。~
※mid2mus のバージョンにより当てはまらない項目もあり。~
~
==========~
-''メンバー属性は全て フィンガー0 に記述される。''
--フィンガーの番号が0 以外の場所に @ が登場しない。''V や S や U などが、フィンガー0 内にすべて混在する''ことになる。
--%・テンポは #A0 にまとめて記述される。
--各フィンガー0 の末尾には「X120=0(オール・サウンド・オフ)」が自動的に出力されている。~
-''フィンガーは0,1,2のみ使用される。''
--1番フィンガーにすべてのメンバー属性が記述される。''V や S や U などが、フィンガー1 内にすべて混在する''ことになる。
--2番フィンガーに音符が記述される。
--0番フィンガーはAメンバーのみ使用され、そこに全体属性が記述される。''DATA''コマンド、''%''テンポ、''TEXT''テキスト表示など。~
~
-''休符以外のフィンガー属性(音階・強弱など)は、フィンガー0 には出現しない''。
-''休符以外のフィンガー属性(音階・強弱など)は、フィンガー2 には出現しない''。
--上にある「メンバー属性」の入力タイミング用にのみ休符が使用されている。~
~
-一部のメンバー属性が X**=** に置き換えられる。~
~
-オリジナルな Muse データを MIDI にエクスポートし、さらに mid2mus で変換した場合、Muse の譜面モニタの小節線が意味を成さなくなる。~
~
-出力されるメンバーは@ABC……の順であるが、メンバーZ はメンバーI とメンバーJ の間に出力される。
--MIDIチャンネルの順番に出力(ドラムパートは MIDI規格では「10ch(10番目)」であるため)~
~
-''以下のコマンドが出力されない。''~
~
--''調性(\)とフラット(-)、ナチュラル(=)が存在しない''
---全ての音を実音で表記するため、調性の指定をする必要がない。フラットされる音はシャープによって記述される。したがって、ナチュラルも存在しない。
---&color(#FF0000,#FFFFFF){mid2mus の変換データの最大の特徴は調性の指定がなく、フラットの記述が一切出てこない};ところにある、と言える。~
~
--''「o」(絶対オクターブ)が出現しない''。
--- < と > の相対オクターブのみで出力される。~
~
--和音,和音の再現表記,コード,和音とコードの遅延
---1フィンガーに1音ずつ書かれる仕様のため、フィンガーごとに割り振られる。止音と出音が重なる音がある場合もフィンガーで分けられてしまう。
---10和音以上鳴らした場合などフィンガーに1音ずつ分けて記述して足りなくなった場合は、フィンガー9 にまとめて和音にして記述される。[drmfs<drmfs<dr]:i20 などを変換した場合、非常に複雑な記述となって、とてもではないが読めたものではない。~
~
--連符,連符の再現表記
---3連符や特殊な連符は、全て微分音長による音長の加算や休符に置き換えられる。~
~
--曲中のタイミング合わせ
---曲中にタイミングを合わせる「%」や「%(メンバー)」は、休符に置き換えられる。記述されている全てのフィンガーに休符がつくため、タイミングを計るのは非常に難しい。~
~
--''一部の''メンバー属性・フィンガー属性・テンポの遅延
---属性値と休符だけで表現される。(例:“%50 %46:4”=“%50_16 %49_16 %48_16 %47_16 %46”)~
~
--出音・止音の指定
---スタッカートと音長の加算、休符によって表現される。止音よりも出音が早い場合は、フィンガーを分けて出力される。~
~
--音長の減算(~)
---全て加算によって表現される。~
~
--アクセント,音量・強弱の相対指定
---全て実際の数値に置き換えられる。~
~
--定義マクロ、展開マクロ、無名マクロ
---マクロが展開された状態で全て書かれる。{ } は一切登場しない。~
~
--ブロックコメント,冒頭以外のコメント,曲中の全角文字,小節区切りのような記号など
---Muse が再生する時に無視する文字は出てこない。ただし、データの冒頭にファイルのパスや作者名などが書かれた部分を除く。~
~
--*STOP、*MARK
---すべて *TEXT に変換されるため、*STOP による曲の一時停止(クリック待ち)は一切行えない。~
~
--*FING
---全てのフィンガーに指定した属性と値が書かれる。~
~
--*FONT,*COLR
---Muse だけに有効なこれらのコマンドが登場するわけがない。~
~
--*POOL,*DATA
---システムメッセージは非対応。~
--システムメッセージ
---*DATAコマンドが忠実に出力される。~
---*POOLコマンドは出力されず、すべて展開される。~
---集約可能なNRPNは、*ROOMコマンドで出力される。
---X指定も出力される。~
~
==========~
細かな違いまで列挙してしまったが、主にこのような違いがある。~
そのため、mid2mus で変換されたデータを読もうとするのは非常に困難であり、mid2mus で変換されたデータは、それなりに分かってしまう傾向にある。~
**mid2mus が出力しない記述一覧 [#k545e686]
README.TXTの3977行目をコピペしたものを利用している。
- 全域属性 ‥‥‥‥‥ % \ (*1)
- メンバー宣言 ‥‥‥ @ ABCDEFGHIJKLMNO Z (*2)
- メンバー属性 ‥‥‥ S Y T
- フィンガー属性 ‥‥ ? w p q
- 音符記述
音名 ‥‥‥‥ - =
音長 ‥‥‥‥ ~
- 群記述 ‥‥‥‥‥‥ ( ) [ ] ' '
- 補助記述 ‥‥‥‥‥ & ,
- コマンド記述 ‥‥‥ * " " (*3)
- マクロ記述 ‥‥‥‥ $ { }
- キャンセル文字 ‥‥ | ! ; (*4)
(*1) タイミング合わせの%に限り、データ末尾に %%125 と記される。~
(*2) フィンガー番号 0 のところに @ とだけ記されているが、メンバー指定はない。~
(*3) 特定のコマンドに限る。以下を参照。~
(*4) 冒頭のみ;が登場する。
コマンド部分のコピペしたものを利用している。
STOP → 一時停止と文字列の表示/完全停止
MARK → 位置決め可能な文字列の表示
FONT → 上記4コマンドの文字フォント指定
WAVE → 音声ファイルの再生
FING → フィンガー属性の一括指定
COLR → メンバー色のカスタマイズ(1コマンドのみ有効)
DATA → エクスクルーシブの出力
POOL → エクスクルーシブ前半部の記憶