MIDIファイルをABC / MML形式に変換しSotAで演奏可能な記譜ファイルを作成する

MIDIファイルをABC / MML形式に変換しSotAで演奏可能な記譜ファイルを作成する 16.1.2更新: おまけMMLコーナーを設置

Shroud of the Avatarではゲーム内を楽器を演奏することができます。
1~8の数字キーを使ったリアルタイム演奏のほか、.abcと.mmlの形式の記譜ファイルを自動演奏させることも可能です。

.abcや.mmlはあまり馴染みのないファイル形式ですが、シーケンサ等で作成したMIDIファイルをMMLやABC形式に変換することができます。

やり方は非常にシンプル。ざっくり手順を説明すると、

  1. MIDIファイルを用意する
  2. 変換ソフトを使ってMMLかABC形式に変換する
    • MML形式の場合:
      マビノギ用のMML編集ツール"3MLE EDITOR"でMIDIファイルからMML形式に変換する。
    • ABC形式の場合:
      Lord of the rings Online用の編集ツール、MAESTROでMIDIからABC形式変換する(MIDIをメインウインドウにドラッグして、"File" → "Export ABC")
  3. 作成したMML or ABCファイルをSotAディレクトリDataフォルダ内にある"Songs"フォルダに入れる
  4. ゲーム内で自動演奏する。 /play <filename>
前回はUltima 6のForestを作って演奏するところまでこぎ着けたので、今回はStonesの制作に挑戦してみました。

前回はABC形式でしたが、今回はMML形式で挑戦してみます。
というのも、MAESTROでは変換の際に元のMIDIデータの音階が正しく書き出されないことがあったからです。もともとMAESTROはLotRO用のABCファイル編集ツールであるため、LotRO用の各楽器が対応している音階から外れてしまうとその音階は書き出されない仕様のようです。この問題は元のMIDIのトラックを振り分けてLotRO用の楽器と各MIDIトラックの音階が対応するようにすれば解決できるようです(多分)

まずはMIDIシーケンサでMIDIデータを作成します。
なるべくUOのStonesのテイストをピアノで再現したかったので、オリジナルのStonesのMIDIデータをT2AのCDから抜き出してシーケンサソフトで解析。
単一トラック内での和音(同じタイミングでノートが重なる箇所がある場合)は、変換時にその部分が無視さrてしまうので、これらの和音はそれぞれのノートを別トラックに分けるなどして直していきます。
シーケンサは例によってDominoを使用。マリオペイントしかやったことのない私でもなんとかなってしまうくらいこのMIDIエディターは使い易いです(しかし所要時間丸2日)
なぜかMIDIのダンパーペダルが変換時に機能しなくなってしまうようなので、今回はノートの持続を長くすることで対応しました。MMLでもダンパーペダルの機能は多分使えるとは思うのですが、結局私の知識ではよくわかりませんでした。

MIIDIデータが出来上がったら3MLE EDITORで変換します。本来はマビノギというオンラインゲーム向けに作られたツールなのですが、MML変換機能の部分はSotAでも流用可能です。
起動後、左上のファイル → 標準MIDIファイルの入力 → オプションプロファイルの"拡張 多数トラック"を選択。実際オプションの意味はよくわからないのですが、とりあえずこれで上手くいったので(適当)
そして再び左上のファイル → クリップボードにMMLを出力 → トラックを選択して"したらばMMLテンプレート"で出力。最適化して出力する、のチェックは入れておいても大丈夫なようです。
MMLをコピー、を押してクリップボードに文字列のデータをコピーします。

次に新規テキストファイルを作成してクリップボードの中身をコピーし、@MMLより前にある文字を全て削除します。
それから保存して閉じ、拡張子を.mmlに変えれば完成です。
3MLEエディターでは一度に3トラックずつしかクリップボードにコピーできませんが、カンマと改行で区切ることにより、3トラック以上の編成にすることができます。

完成品:
StonesUO.mml / 元MIDI

SotAの楽器演奏プログラムはコミュニティメンバーのEniko氏によって提供されています。
公式フォーラムのスレッド


楽器演奏の手順に関しては、以下のインストラクションのコピペを参照してください。
音楽と楽器

アバタールは楽器を演奏することができます。友人や酒場に居合わせた人、あるいは通りすがりの人とセッションをすることも可能です。現在のところ、リュートのような持ち運び可能な楽器とと、ピアノのような据え置きの楽器の2種類を演奏することができるようになっています。

楽器を装備したあと、”/play”コマンドを実行すると演奏準備にはいります。その状態で1-8のキーを使って音階をならすことができます。ピアノのような据え置き系の楽器は/playは必要ありません。

また、事前に記譜ファイルを用意して自動演奏することも可能です。事前にこれらのファイルをSotAディレクトリのSongsフォルダーの中に入れておいてください。ファイルパスはShroud of the Avatar_Data\Data\Songs、です。

ファイル形式は.mmlと.abcに対応しています。デフォルトではRuleBritannia.abcがすでにフォルダの中に準備されています。

/play

演奏準備

#1-8

音階を演奏。 #1キーが “ド”(に相当します

/playlist

songsフォルダ内のすべての曲をリスト表示します

/play <songname>

songsフォルダ内にあるファイル名の曲を演奏します

/play <songname> loop

ループ演奏します

/play <songname> sync

セッションプレイ(シンクロ合奏)の準備をします

/playstart

セッションプレイを開始します


おまけ: コピペで作った懐ゲーMMLなど

試聴サンプルはmidiに適当な音源を当てて作ったものです。 

  • Ultima OnlineよりShopping.mml(OLDULTIMA04.mid)
    • 2トラック構成。ピアノ用ですが、フルートやリュートでも主旋律を弾けます。
      元はUltima 3 Exodusのお買い物のテーマ。UO収録のものは拡張アレンジ版となっています。
  • Ultima 6 よりForest.mml
    • 3トラック構成。ピアノとリュートに対応。
      原作ではフィールド、というか街の外に出ると大概これが流れます。

  

0 件のコメント:

コメントを投稿

■過去記事アーカイブ