マビノギMML作成ソフトの簡単な紹介

オンラインRPG『マビノギ』用の「MML」をつくるのに便利なソフトの紹介と、それらに関して知っておきたいいくつかのことを書いています。マビノギMMLガイドの記事のひとつです。

今後、記述をつけ足すかもしれませんけれど、ソフトの操作法や設定などについて、当サイトでくわしくは取り上げません。よい入門記事がすでにいくつもあると思います。

MML作成用ソフトの種類

「DLSファイルを読み込んで鳴らせる、マビノギの仕様に特化したMML作成ソフト」は、何種類かあります(DLSファイルについては次節を参照)。マビノギMMLを作るひとたちの間で話題にのぼるのは、「3ML EDITOR 2」(3MLE)と、「MabiIcco」と、「まきまびしーく」の3本です。いずれも無料で使えます。

「3ML EDITOR 2」の画面
「MabiIcco」の画面
「まきまびしーく」の画面

各ソフトの画面のようすを載せました(初期設定と異なっている表示もあります)。

「3MLE」は、MMLを直接タイピング(手打ち)して、ピアノロールで音符の配置が確認できます。MIDIイベントリストも表示できます。

ピアノロール型MIDIシーケンサーと似た感覚で作業できるタイプとして、むかし広く使われたのが「まきまびしーく」です(近年はむしろ、別のゲーム「アーキエイジ」のMML制作者たちに使われているようです)。その後継的存在でもあり、現行のマビノギの仕様に唯一対応しているのが「MabiIcco」です。これからマビノギMMLをつくってみようというかたは、「MabiIcco」を使うといいでしょう。

わたしは「3MLE」を使っています。手打ちの長所として「マウスで音符を置いたり移動したりするよりタイピングのほうが速い」「微妙な音符の長さも制御しやすい」「複数のパターンで迷ったときに代案をコメントアウトしておけば、あとで差し替えやすい」点などを挙げることができます。ただ、合奏が最大5人だった時代の古いソフトなので、大人数合奏を書くときは苦労します。オクターブ番号0の音符を置くときに「<」ではなく「o0」で指定しないといけない、といったこまかい注意点もあります。

各ソフトの作者による配布ページ:

以下、「3MLE」の使い手としての視点で、「MabiIcco」にもすこし言及しながら書いていきます。

読み込ませるDLSファイル

DLSファイルというのは、音色データが格納されている、サウンドフォントの一種です。

マビノギの楽器の音色で再生する場合は、マビノギ本体に附属するDLSファイルをソフトに読み込ませます(ほかの音色を読み込ませることもできます)。初期のマビノギはDLSファイルがひとつだけでしたけれど、いまは4つもはいっています。

「3MLE」の場合、DLSファイルがひとつしか読み込めないので、マビノギ本体内の「mp3」フォルダに含まれる4つのDLSファイルをまとめて扱うことができません。それではどうするのかというと、4つのDLSファイルの内容をひとつにまとめたものを自前で用意して、それを読み込ませることになります。「DLS Reader」というソフトで、ふたつのDLSファイルをひとつに結合できます。下記ブログ記事を参照してください。ソフトに附属する説明書も、勉強になる内容です。

「MabiIcco」のほうは、4つのDLSファイルをそのまま読み込むだけなので、つまづく点はとくにないでしょう。マビノギのアップデートでDLSファイルが突然更新されることがあるので、DLSファイルのコピーを別途とって、それを読み込ませるようにしておくと安心です。

パート、トラック

「3MLE」の場合、〈メロディ・和音1・和音2・歌〉のそれぞれを「トラック」に振り分けて書きます。(だから、ソロ演奏の譜面であっても、各トラックのパンポットをそれぞれ変えることができます。――ゲーム内での再現性から見れば意味ありませんけれど。)

「MabiIcco」の場合、それらは「パート」であり、その4パートをセットにしたものを「トラック」として扱います。つまり、8人合奏ならトラックが8つになります。

「パート」「トラック」の言葉は混用しがちです。「リュートパート」「マンドリンBパート」というように、合奏用の楽譜のそれぞれ(〈メロディ・和音1・和音2〉または〈歌〉パートからなる1本のMML)を「パート」と呼ぶこともあって、ややこしいところです。あまつさえ、曲中の一部分を指すときにも「間奏のパートで……」などといったりもします。区別したくても、しっくりくる適当な言葉がなかなかないので、当サイトの記事では、なるべくまぎらわしくならないように注意しながら、それら複数の意味で「パート」という語を使っています。

作業ファイル

MMLそのものはプレインテキストです。つまり、テキストエディタでひらいて読める文字データです。

MML作成ソフトで読み書きするファイルは、いわばプロジェクトファイルで、これもプレインテキストなのですけれど、各ソフト専用のファイル形式になっていて、拡張子も異なります。別ソフトのファイル形式でも読み込める場合がありますけれど、後発の「MabiIcco」用のファイル形式は、当然むかしのソフトでは読めません。「MabiIcco」用のファイルをたとえば「3MLE」で再生したいなら、MMLを1本ごとにクリップボード経由で移し替えることになります。

ファイルの拡張子はそれぞれ、3MLE形式が「.mml」、MabiIcco形式が「.mmi」、まきまびしーく形式が「.mms」です。

3MLE形式のMMLファイルのサンプルとして、「待合室」という曲のMMLファイルを公開しています。

「3MLE」でひらく用のファイルですけれど、一般的なテキストエディタでも中身が見られます。

テキストエディタでひらいて眺めてみると、[Settings]の部分がファイル全体の、[ChannelProperty]の部分がトラック別の(ソフトの機能に紐づけられた)設定で、[Channel]のところが正味のMMLの記述になっているのが確認できます。要は、こういったデータの配置がソフトごとに異なるわけです。

ごくたまに、MMLファイルが壊れて開けなくなった、という話を聞きますけれど、そういうときは、試しにふつうのテキストエディタでそのファイルを開いてみましょう。MMLの中身だけでもコピペで救出できるかもしれません。

(わたしが)「3MLE」で制作するときは、読みやすいように、小節ごとに改行したりコメントを書き込んだりします。この「待合室.mml」は、公開用ですし見本も兼ねていますから、ちょっとだけ記述を整理していますけれど、実際はもっとごちゃごちゃとコメントを書き残しています(前掲の「3MLE」の画面のような感じです)

MML作成ソフトによるMMLの最適化と出力

最適化については、マビノギMMLの基本のページの「MMLの最適化」の節を参照してください。

どのMML作成ソフトも、ゲーム内で楽譜スクロールに書き込むときに便利なように、「MML@」で始まるMML文字列をクリップボードにコピーする機能があります。そのコピーの時点でMMLが最適化できます(またはコピーの前から最適化されています)。

「3MLE」での作譜の最中は、自身がいちばんわかりやすい・書きやすいように書けばよくて、完成して「クリップボードへMMLを出力」するときに「最適化して出力する」にチェックを入れておけばOKです。(完成が近づいてくると、最終的な文字数を見積もる為にこの操作を頻繁に行ないます。なお、1トラックの文字列を直接最適化する機能もあり、MIDIからインポートしたときなどに役立つことがありますけれど、折り返し改行が含まれるので、そのままコピペしてもゲーム内では正しく鳴らせません。)

ゲーム内で楽譜スクロールに書き込む際にだけ、MMLを最適化してソフトから書き出せばいいのですけれど、より万全を期するなら、最適化済みのソースをあらかじめTXTファイルとして書き出して、後述するような手直しも加えて、MML作成ソフト用の作業ファイルとともに管理しておくといいでしょう。「3MLE」用のファイルの中身を最適化してしまうと、あとから手を入れたくなったときに編集が難しくなるので、そちらは最適化せずに保存しておきます。


MML作成ソフトの最適化機能は万能ではなく、「3MLE」の場合は、最適化後に手作業で修正が必要な場合もあります。

たとえば、最適化後に〈l1.rrrr2r2〉というような変換がされることがたまにあります。これはもちろん〈l1.rrrr1〉と書くほうが2文字減らせます。この種の冗長な変換が何パターンかあります。文字数に余裕があるならそのままで構わないのですけれど。ほか、〈cl8&c〉になるべきところで〈c&l8c〉と変換されてタイがちぎれてしまう危ない例もあります。そういうわけで、最適化した文字列に「r2r2」や「&l」がないか、検索・置換をするのが習いとなりました。ほか、64分休符の付点が消えてしまう、という例もまれにあります。

エレキギターの譜面では、オクターブ番号8の音域も使うので、その結果、最適化時にNコマンドの音符〈n97〉や〈n99〉が現れることがあります。「3MLE」での再生ではその音符は無視され、マビノギでの演奏では〈n96〉扱いになります。この場合も最適化後の手直しが必要になります。つまり、Nコマンドではなく通常の音符の書きかたに置換することになり、たいてい字数が増えます。エレキ実装以前の時代のソフトですから仕方ないところでしょうか。

対して「MabiIcco」のほうは、音符を入力するたびに自動的にMMLが最適化されます。よって、最適化を意識する機会はあまりないかもしれません。「MabiIcco」は開発が続いているので、バージョンによって最適化の結果が違っていることもあるようです。

ただ、打楽器の場合、ゲーム内での演奏はNコマンドの音符の音量が下がってしまうので、場合によっては最適化後の修正が必要です。Nコマンド化を回避する機能は「3MLE」にはありません。「MabiIcco」はバージョン1.3.97で、「Nコマンドを使用しない」オプションがトラック単位で設定できるようになりました。既定値はオフです。「まきまびしーく」は、最適化にNコマンドを使いません。

MML作成ソフトの音とゲーム内の音

MMLをMML作成ソフトで再生したときの音と、ゲーム内で演奏したときの音とは、おなじではありません。高音域・低音域のバランスがすこし異なりますし、打楽器の音量、リリース(ノートオフ後、音が消えるまでの部分)の伸び具合など、いくつかの点で振る舞いが違います。マビノギのアップデートによるMML演奏への影響のページをざっと眺めていただくと、マビノギでの演奏再生に特有のクセがいろいろある(あった)というのが、なんとなくでもわかると思います。たとえば、2023年のアップデート以前のゲーム内での演奏は、おなじ高さの音を連打したときにプチプチノイズが鳴る場合がありました。MML作成ソフトでは(当然ながら)プチプチノイズが再現されません。

「MabiIcco」なら比較的いまのマビノギの仕様に沿っていますけれど、どのソフトもやはり多かれ少なかれゲーム内の再生音と違いがあるので、ゲーム内で実際にテスト演奏することが、(演奏会通いをしているような)楽師のあいだでは一般的になっています。

その他のMML作成支援ソフト

(2024年2月18日、一部加筆修正)

上記で取り上げた3つのソフトとは異なる目的を持つMML作成ソフトもあります。ここでは最近登場した「和ねこ」を紹介します。和音提案ツール、という位置づけになっています。

作譜支援ツールというよりは、学習用ツールと捉えるほうがいいかもしれません。と、エリン音楽ひろば 2023年10月の記事に書きました(この節は、そちらのページに書いていた記事を移して、加筆・再構成したものです)。あれからバージョンアップして機能が増えて、ピアノロール上での操作も実装されて、作譜支援ツールらしくなってきました。ただ、やはり「MabiIcco」との併用を前提にしているソフトだという印象でした。

2024年2月、メジャーバージョンが1になりました。MMLを読み込み・音符を配置し・MMLを書き出す操作が「MabiIcco」での感覚に近くなっているようです。バージョン0.10のころに書いたおおまかな説明は、大部分が古くなったので、折りたたみ表示にしました。

古くなった説明(折りたたみ)

(以下、バージョン0.10.0.0時点での説明です。)基本的な機能としては、画面に表示されている鍵盤を押して音を選ぶと、その音と協和音の関係になるほかの高さの音が明示されます。たとえば〈ド〉を押した場合、短3度、長3度、完全4度、完全5度、短6度、長6度、完全8度、の音程となる音がどれか、というのが鍵盤の横に表示されるようになっています。複数の音を選び、それらの音すべてに共通する和音構成音だけに絞る、という機能もあります。なお、ナインスなどのテンションコードは、「和音のカスタム設定」で別途設定する必要があります。ただ、そういう設定ができるようなひとは、このソフトに頼る必要もないような気がします。

MML作成ツールの「MabiIcco」との連携機能もあります。具体的には、「MabiIcco」でコピーした音符を読み込むことと、「MabiIcco」に貼りつけられる形式で和音を書き出すことができます。

もっとくわしく書くと、「MabiIcco」上でのコピペは、「MMLEVENT@」で始まる独自の文字列形式が使われていて、それを読み書きする、ということになります。たとえば「和ねこ」でオクターブ番号4の〈ド〉を選んで、音量10にして、「進行に追加」してから、「MabiIccoへ出力」の欄で4分音符を選んで、その下に現れている「ド」ボタンを押すと、クリップボードに〈MMLEVENT@v10c4〉という文字列がコピーされます。それを「MabiIcco」に貼りつけると、ピアノロール上にその音符が配置される、ということです。「MMLEVENT@」形式のほか、「MML@」形式の出力もできるようになったので、「3MLE」などとの併用もできるかもしれません。

MMLうんぬんに関係なく、和音の勉強のお供に使えそうに見えますけれど、理論的な言葉、度数についての基礎がわからないと、なんのこっちゃで終わってしまうかもしれません。「堆積和音」とか、「並達5度・並達8度」(西洋クラシック系の和声学で避けるべきとされる二声の動きかた)とかいう用語は、わたしにとっても馴染みのないものです。また、「設定」画面の周波数のこまかい値について、MMLづくりの際に気にする必要はありません。リードミーの類が欲しくなりますね。

このまま順調に改良が進めば「つくったMMLを読み込んで不協和音をマーキングして表示する」という、一種のエラーチェッカー的な使いかたができるようになるのかもしれません。

この音はこの音に対して協和音だ、不協和音だ、と表示してくれるだけで、そこに価値判断は含まれていない、ということを気に留めた上で使うべきだと思います。