*概要 [#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 には出現しない''。 --上にある「メンバー属性」の入力タイミング用にのみ休符が使用されている。~ ~ -一部のメンバー属性が 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 ---システムメッセージは非対応。~ ~ ==========~ 細かな違いまで列挙してしまったが、主にこのような違いがある。~ そのため、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 → エクスクルーシブ前半部の記憶