かなり適当な不定期日記(仮)
――日々の思いや出来事の織り成すカオスを言語化してみる。
スポンサーサイト
--月--日 (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
FlMMLをMIDIに変換してみる
03月25日 (月)
私的にFlMMLをMIDI変換して使えるようにするべく、
いろいろ試してみたので、半ば自分用メモとしてまとめ。
(忘れる前に走り書き)


詳細は続きに書くとして。
結局FlMMLと純正MMLの文法を覚えながら、
元FlMMLと作成破片MIDIの聞き比べ、楽譜の分解、
そして全体的に修正・再構築する事になった。

ごっちゃり作業中のMML周辺。


以下、作業方法と覚書。



正にこの目的のためにmml2midと言う便利ツールが存在する。

→ mml2mid( http://hpc.jp/~mml2mid/

ただ、これが純正MML対応で、FlMMLには非対応。
なので以下を使ってみた。

→ MML to MP3 with ぼーか郎
  ( http://noike.info/~kenzi/cgi-bin/mml2mp3/

途中経過として通常MML(mml2midが認識する形式)を出してくれるので、
FlMML⇒通常MML⇒MIDI の変換が可能となる…のだが。

メモ:
-------------------------------
・行が長すぎるとエラーになるようなので適宜改行する
 (特にマクロ展開する行に注意する)
・マクロが複数行にまたがっているとエラーになる場合があるので、
 必要なら手動展開してから改行などを再調整する。
・マクロを先に手動展開する場合は、行をまたがっていても
 『;』(セミコロン)まで含めて
展開する
 
 例:
$B = l8 /:abc / rdef:/
r4gab4;
 のマクロをそのまま変換したり、一行目だけ手動展開してると、
A C1 o4 l4 y7,100 k64 Q7
A r4gab4
B (…etc)
 のように、マクロ2行目が独立行として認識されて、
 その部分が$Bマクロ展開から抜け落ちてしまう。


無事成功しても、少しずれてたりするので
(主にこちらでの手動作業が原因だったりするが)
変換後も頑張って調整する。
------------メモここまで-------------


…ある程度文法(Syntax)とか仕組みを覚えたら、
もういっそ全部手動で変換した方が早い気もしてきた。



あと、参考にした資料ページとか。


mml2mid Version 5.30b 利用の手引(mml2midi同梱)
mml530b\doc\mml2mid.txt

FlMML-MML対応表
MML to MP3 with ぼーか郎におけるFlMMLの MMLからmml2mid の MML への変換処理の詳細
http://noike.info/~kenzi/cgi-bin/mml2mp3/doc/FlMML_to_mml2mid.html

コマンド一覧 FlMML/Reference -- CodeRepos
http://coderepos.org/share/wiki/FlMML/Reference

マクロ機能 FlMML/Macro -- CodeRepos
http://coderepos.org/share/wiki/FlMML/Macro


こういう細かいコーディング的な作業は、つい長時間のめり込んでしまう。
コード、コンパイル、デバッグの多重ループ。ある意味パズル。
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
<FC2 BLOG の HTTPS 対応まで暫定的にテキストボックスにしています> ...
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック

copyright © 2005- , yk. all rights reserved.
Powered by FC2ブログ.
/ 無料カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。