基本的には上の方が新しいのでそちらを使うことをお勧めしますが、変換時のアルゴリズムがちょっと違いますので、ファイルによってはベータ版の方が良い変換をしてくれるかも知れません。なお、内部アルゴリズム以外は全く違いがありませんので、見た目ではどっちがどっちかわからないと思いますのでご注意ください。
JavaVM(Java Virtual Machine JVMとも言う)がインストールされていれば、「Midi2MabiML.jar」というファイルをダブルクリックすると実行します。アイコンが普通とはちょっと違いますのでご注意下さい。
このツールはMIDIファイル(拡張子mid rmi)をMMORPGマビノギ(Mabinogi)(http://www.mabinogi.jp/)用のMMLに変換するツールです。御使用の際は下の注意をよく読んで、用法容量を守って正しくお使いください。MIDIからMMLに変換じゃ。
JVMのインストールされたコンピュータで動作する・・・はずです。動かない時は下のURLからJavaVMをインストールしてみてください。
http://java.com/ja/
画面右の「Javaソフトウェアの無料ダウンロード」というところです。
もし、少しでも綺麗?なMMLに変換したいと思われる方は、MIDIファイルを作る時に和音はなるべくチャンネルを変えるようにするとうまくいく確率がちょっとだけ上がると思います。このツールはかなり使い手の善意におんぶしているところがありますので、なるべく変換されやすそうなMIDIファイルを使用することをおすすめします。
宇宙と和合し、聖なる力で感じてください。
おそらく他人の作ったMIDIファイルを勝手に使ったりすると、著作権云々であまりよろしくないかも知れませんので、そこらへんは常識を守った上でお使いください。なお、1日の使用時間は24時間以内にすることを推奨します。
MIDIは複数のトラックと、トラックごとに通常16のチャンネルで構成されています。本ソフトではそれらのトラック及びチャンネルごとに個別にMMLを出力します。マビノギで使用される際は、使用者側でどのチャンネルのMMLを使えばよいか選択していただく必要があります。これは、ソフトウェア側でたった3つの和音を厳選して選び出すことは非常に難しいからです。ご容赦下さい。
尚、MIDIファイルによってはチャンネル数が16でないことがあります。
(例) Track: 1 Channel: 1 O5L8R1F#2&F#GAE2.&E・・・・ ←トラック1、チャンネル1のMML Channel: 2 ・・・・・ Channel: 16 O2L16R1{B>F#}RF#R・・・・・ ←トラック1、チャンネル16のMML
CDEFGAB | それぞれ「ドレミファソラシ」 |
Rn(n=1~64) | 休符 |
On(n=1~8) | オクターブ指定 |
Ln(n=1~64) | 長さ指定(.でn分音符) |
> | 1オクターブ上げる |
< | 1オクターブ下げる |
{} | 和音(マビノギは和音に対応してません) |
& | タイ記号 |
Midi2MabiML.jar | 実行ファイルです。ちょっと詳しい人は「拡張子がおかしいぞ。本当に実行できるのか、これ?」と思うでしょうが、大丈夫です、多分。デザインとか死ぬほど適当な作りになっております。 |
Midi2MabiML.java | ソースです。欲しい人がいるのか分かりませんが一応載っけておきました。クラスごとにファイルを分けていないので、読みにくいことだけは保証します。 |
README.txt | ちょっとした説明(今読んでるのと内容は92%同じです) |
お決まりの文句ですが、このソフトを使用して生じたいかなる損害についても作者は何の責任も負いません。完全に自己責任でお願いします。
羽共(wakyou@0ad.jp)
迷惑メール以外ならどんなメールでも大歓迎です。
休符[R]も音符長[L]で指定した長さの時はちゃんと整形しやがれ!というメールをいただきました。(実際の文面はこれと大きく異なる可能性があります)ありがとうございます。それで、対応策ですが、面倒なのでやりません。おいっ!と、突っ込みたくなるでしょうが、アルゴリズムを変更した完全版提供時にはなんとかする予定ですので、それまでお待ち下さい。ちなみに完全版の完成時期は未定です。ちなみのちなみに「未定」=「そのまま流れる」の可能性が高いです。実際、これ作ってる本人はもうマビノギやってませんから、モチベーション的にもタレパンダな状態です。なので、きなーーがにお待ち下さい。一応、完全版ではないにしろアルゴリズムを変更したバージョンを公開しましたが、面倒なのでやってません。
こんなへぼな作者に任せてられん!俺が作っちゃる!!と言う方は、むしろこちらからお願いします。一応、現在考えているAlgoとしては、音符を1小節ごとに区切り、隣接する音符間の相互関係に着目することで、音符長の正確な割り出しができるのではないかなぁ、と考えています。ぶっちゃけ自分はMIDIや音楽の専門家でもなんでもないですので、100倍くらい素晴らしいAlgoがあるのかも知れません、というか多分あります。と言うわけで、力のある人、誰か助けて・・・。
ダウンロードありがとうございます。死ぬほど適当な作りですが今後精進していきますのでよろしくお願いします。なんかもう面倒になっちゃったんで、これからはよほどの事が無い限り更新することは無いと思います。引き継いで開発してくださると言う奇特な方がおりましたらご一報ください。