世界樹について  

世界樹はMIDI編集ソフト。
midファイルをmmlファイルに変換しやすいように編集するのに使用する。
クオンタイズやストロークといった文字数を節約できそうな機能もあるので便利。
基本的にフリーウェアとして使用できるが、スクリプト機能だけはシェアウェア。
しかし、このスクリプト機能が非常に便利なので課金したほうが作業効率は上がる。

LegacyMDITab  

世界樹のような古いタイプのMDIアプリケーションにタブを追加するユーティリティ。
子ウィンドウを最大化したまま素早く切り替えたい人向け。必須ではないがあったら便利かも。

LegacyMDITab.png
使い方
(1) ターゲットのMDIアプリケーション(世界樹)を起動する前にLegacyMDITab.exeを実行して常駐させておく。
(2) ターゲットのMDIアプリケーションを起動する。

不必要なイベントを削除する  

不必要なイベントが混ざっていると編集しにくい上、再生しても音が出なかったりする。
それに、MapleBeatsでインポートしたときに問題が発生することもある。
なので最初にfileclean.salで不必要なイベントを削除しておく。
それと、CC0-Bank Select MSBとCC32-Bank Select LSBの値によっては無効なプログラムチェンジになってしまい音が出ない場合があるので、これらの値を0にしてとりあえず音が出るようにもする。

(1) Ctrl+Aキーで全てのイベントを選択する。

クリーン 選択.png

(2) clean.salを実行する。

クリーン 実行後.png

このスクリプトはかなりたくさんの種類のイベントを消してしまう。
そのため、消したくないイベントがある場合はスクリプトファイルをテキストエディタで開いて該当箇所をコメントアウトしておく必要がある。

クオンタイズする  

世界樹のクオンタイズ機能ではノート以外のイベントをクオンタイズすることができない。
それにクオンタイズ精度が32分音符までなので、3MLE MapleBeatsと同じ精度の64分音符でクオンタイズすることができない。
filequantize.salを使えば、この両方の問題を解決することができる。

(1) クオンタイズするイベント選択する。

クオンタイズ 選択.png

(2) quantize.salを実行する。うまくいけばイベントが整列する。

クオンタイズ 実行後.png

(3) それでもズレている部分があれば手動で調整する。

クオンタイズ 手動で調整.png

休符を節約する  

休符を節約して文字数を減らす。
メイプル2の空き楽譜はちょい高めの価格設定で、その中でも文字数の大きいものは結構なお値段になる。
なので、文字数を節約したほうが経済的。
3MLE MapleBeatsにも休符を節約する機能があるが、曲全体に適用されてしまうため、若干使い勝手が悪い。
ここではfileextend.salを使って、曲の一部分だけを休符節約する。

(1) 休符を節約するノートが存在するトラックをアクティブにする。
(2) 休符を節約するノートを選択する。

休符節約 選択.png

(3) extend.salを実行する。うまくいけばノートが長くなり、休符部分が消える。

休符節約 実行後.png

(4) Ctrl+Delキーを押して元のノートを削除する。

休符節約 削除後.png

ただし、休符を節約すると曲の印象が変わってしまうため、節約前と節約後をよく聴き比べてやったほうがいい。

ピッチベンドを再現する  

メイプル2ではピッチベンドが使えないため、filepitch_bend_2.sal(複雑版)またはfilepitch_bend_12.sal(簡易版)で擬似的にピッチベンドを再現する。

(1) ピッチベンドが適用されるノートの後ろにダミーのノートを追加する。※エンドオブトラックを選択していてpitch_bend_2.salを使用する場合はダミーのノートは必要ない。

ピッチベンド ダミーを追加.png

(2) ピッチベンドとピッチベンドの影響を受けるノート、及びダミーのノートを選択する。

ピッチベンド 選択.png

(3) pitch_bend_2.salまたはpitch_bend_12.salを実行する。うまくいけばノートの音程が変わる。

ピッチベンド 実行後.png

(4) Ctrl+Delキーを押して元のノートとピッチベンドを削除する。

ピッチベンド 削除後.png

ボリュームとエクスプレッションをベロシティに変換する  

ボリューム(CC7-Volume)やエクスプレッション(CC11-Expression)といったコントロールチェンジはメイプル2では使うことができない。
そのため、これらの効果はベロシティを使って擬似的に表現しなければならない。
ここでは音量が徐々に大きくなっていくような箇所をfilevolume.salを使って擬似的に再現する。

(1) 音量の変化が適用されるノートの後ろにダミーのノートを追加する。

音量 ダミーを追加.png

(2) 音量系コントロールチェンジとそれの影響を受けるノート、及びダミーのノートを選択する。

音量 選択.png

(3) volume.salを実行する。うまくいけばノートのベロシティが変わる。

音量 実行後.png

(4) Ctrl+Delキーを押してコントロールチェンジ、元のノート、ダミーノートを削除する。

音量 削除後.png

ただし、ベロシティが変化するたびに音の出だし(アタック音)が発生するため、再現できたと言えるレベルではないかも。

具体的な手順  

試しにここでは
VGMusic - Sega Genesis - Golden Axe - Death Adder (2)
https://www.vgmusic.com/music/console/sega/genesis/GoldenAxe-DeathAdder.mid
をメイプル2で演奏可能な状態まで編集してみる。

分解能を設定する  

メニューの[ファイル]->[プロパティ]で[分解能]を[960]に設定する。

分解能を設定.png

skjファイルで保存する  

midファイルだと保存できない情報があるのでskjファイルで保存する。

skjファイルで保存.png

クリーン  

fileclean.salで不必要なイベントを削除しておく。

トラック名を変更する  

ここでは"A出力チャンネル番号"のようにトラック名を変更する。

トラック名を変更.png

演奏が不可能なトラックを削除する  

演奏ができなさそうなトラックを思い切って削除する。
そうすると編集対象が減って作業が楽だし、文字数も減らせる。

  • A1は空なので削除する。
  • A10はドラムなので削除する。
  • A8はA2と同じメロディなので削除する。
  • A9はA5と同じメロディなので削除する。
  • A11はA6と同じメロディなので削除する。
トラックを削除.png

削除しすぎて音が欠けていないか、一度再生して確認する。

フェードアウトを削除する  

最後のフェードアウトの部分を選択して削除する。

フェードアウトを削除.png

クオンタイズ  

  1. Ctrl+Aキーですべてのイベントを選択する。
  2. メニューの[編集]->[クォンタイズ]を選択する。
  3. [クォンタイズ]ダイアログが表示される。
  4. [スナップタイム]を[16分音符]にする。
  5. [強度]を[100]にする。
  6. [ノートオン]と[ノートオフ]にチェックを入れる。
  7. [OK]ボタンを押す。
  8. 問題ないか、再生して確認する。
クオンタイズ.png

出力チャンネルを統一する  

  1. [トラックリスト]ウィンドウでトラックの[出力チャンネル]を[2]で統一する。
  2. A2のプログラムチェンジをクラリネットに変更する。
  3. A2にボリュームを追加して96に設定する。
  4. その他のトラックはトラック名とノート以外のイベントを削除する。
  5. Ctrl+Aキーですべてのイベントを選択してベロシティを111に変更する。
チャンネルを統一.png

この時点で再生するとメイプル2でクラリネットv13で演奏した場合とほぼ同じ音になる。

音の重なりを減らす  

この時点で再生してみると、出だしの小節1~2でいきなりメインメロディ(A2)が欠けて聞こえる。
メイプル2では同じ高さの音は複数同時に出せない。後から音を出すと前の音は上書きされて消える。
今回の場合だと、メインメロディ(A2)の音の後に同じ高さのサブメロディ(A3)の音が出るので、そこでメインメロディの音が消えてしまう。

音の重なり.png
音程を変更する
  1. A3の小節1~24のノートを選択する。
  2. メニューの[編集]->[イベントの音程の変更]->を選択する。
  3. [イベントの音程変更]ダイアログが表示される。
  4. [音程の変更量]を[1]にする。
  5. [単位]を[オクターブ]にする。
  6. [対象]の[ノートオン・ノートオフ]にチェックを入れる。
  7. [OK]ボタンを押してダイアログを閉じる。
音程を変更.png

サブメロディを1オクターブ上げたので音の重なりは少なくなった。
音程を変えてしまったが、再生して聞いてみてもそこまで劣化はしていないと思う。

音の重なりを除去.png

音を整理する  

  • 小節33~36、47~54のA3の音は他の音と重なっているので1オクターブ下げる。
  • 小節37~46、55~64のA7の音はA3と同じなので削除する。
  • A3の小節25以降はベースっぽいので同じくベースっぽいA7に移動する。

和音をなくす  

和音になっている.png

小節28のA6に和音があるので、和音にならないように調整する。

和音にならないように調整.png

休符を節約する  

このステップは必要ないならやらなくてよい。

休符節約 前.png

小節28や32などでノートを伸ばして次のノートまでつなげる。

休符節約 後.png

ベースを簡略化する  

このステップも必要ないならやらなくてよい。というか普通はしない。
今回はどうしても文字数を節約したかったからやっているだけ。

ベースを簡略化 前.png

小節25以降のA7の音をほぼ全音符だけのシンプルな形にする。

ベースを簡略化 後.png

音の大きさを調整する  

A3の音が大きすぎるので調整する。

  1. A3のイベントをすべて選択する。
  2. メニューの[編集]->[イベントのベロシティ変更]を選択する。
  3. [ベロシティ又は変更量]を[60]にする。
  4. [単位]を[絶対指定]にする。
  5. [対象]の[ノートオン]と[ノートオフ]にチェックを入れる。
  6. [OK]ボタンを押してダイアログを閉じる。
ベロシティを変更.png

テンポ変更位置にテキストを挿入する  

小節33からテンポが変わっているので、その位置にテキストを挿入する。

  1. [イベントリスト]ウィンドウでA0のテンポの位置を確認し、時間文字列(この場合00033:01:000)をクリップボードにコピーしておく。
  2. [イベントリスト]ウィンドウでA2のイベントを表示する。
  3. ノートオンとノートオフは非表示にしておく。
  4. 時間はどこでもいいのでA2にテキストイベントを作成する。
  5. テキストイベントの時間をさっきコピーした文字列(00033:01:000)にする。
  6. テキストイベントの値をChangeTempoにする。
  7. 同様に、小節37、47、55にもテキストを挿入する。
  8. A2に挿入したテキストをコピペして、A5、A6、A7にも同じ様に配置する。
テキストを挿入.png

ホールドを追加する  

小節17の先頭にホールドオン、小節33の先頭にホールドオフ、小節47の先頭にホールドオンを追加する。やり方はテキストの挿入と同じ。
チャンネルを統一しているので、ホールドは1つのトラックで指定すればすべてのトラックに適用される。よって、ホールドはA2にだけ配置すればよい。

ホールドを追加.png

このままホールドを追加した状態でクラリネットで再生すると音がおかしくなるので、一旦プログラムをピアノ、ボリュームを121に変えてから再生して確認する。

演奏速度と特殊モーションを追加する  

  • 小節1のA2にテキストを追加する。値は"MS2 P255"にする。
  • 小節1のA2にテキストを追加する。値は"MS2 M0"にする。
  • 小節25のA2にテキストを追加する。値は"MS2 M1"にする。
  • 小節33のA2にテキストを追加する。値は"MS2 M2"にする。
  • 小節37のA2にテキストを追加する。値は"MS2 M3"にする。
  • 小節47のA2にテキストを追加する。値は"MS2 M4"にする。
  • 小節55のA2にテキストを追加する。値は"MS2 M5"にする。
演奏速度を追加.png

世界樹での仕上げ  

  1. Ctrl+Aキーで全てのイベントを選択する。
  2. filefind_chord.salを実行して和音が残ってないか確認する。
  3. filereset_time_of_note.salを実行して同一時間のイベントがある場合、ノートを最後に配置するようにする。
  4. [編集]->[イベントのチャンネル変更]でトラックの出力チャンネルに合わせる。
  5. midファイルに保存する。

3MLE MapleBeats  

  1. midファイルを読み込む。
    [インポート設定]では[MIDIチャンネル]、[プログラムチェンジ]、[コントロールチェンジ]、[ベロシティ]、[MIDIコメント]にチェックを入れる。
    [クオンタイズ単位]は[64分音符]でよい。[休符節約]、[1MIDIトラック→複数MMLトラック変換]にはチェックを入れない。
  2. 正しく再生できるか確認する。
  3. 問題なければmmlファイルに保存する。※まだ最適化はしない。

テキストを置換する  

このまま最適化するとホールドなどが消えてしまうので、fileReplaceMML.htmlを使用して一旦ホールドなどをテンポに置換する。

  1. mmlファイルをテキストエディタで開く。
  2. テキストをすべて選択してクリップボードにコピーする。
  3. ReplaceMML.htmlをブラウザで開く。
  4. 入力(左下)のテキストエリアにさっきコピーしたテキストを貼り付ける。
  5. 実行ボタンを押す。
  6. 出力(右下)のテキストエリアのテキストをすべて選択してクリップボードにコピーする。
  7. このテキストをテキストエディタに貼り付けてmmlファイルとして保存する。
ReplaceMML.png

最適化する  

  1. 3MLE MapleBeatsでmmlファイルを開く。
  2. すべてのトラックを最適化する。
  3. mmlファイルに保存する。

再びテキストを置換する  

fileReplaceMS2MML.htmlを使用してテンポに変換されているホールドなどをサステインなどに置換する。
手順はReplaceMML.htmlと同じ。

ReplaceMS2MML.png

MS2MMLに変換する  

MMLConverterを使用してmmlファイルからms2mmlファイルを作成する。

MMLConverter.png

メイプル2で演奏する  

  1. トライアで空き楽譜を買う。
  2. 空き楽譜にms2mmlファイルを読み込む。
  3. 演奏する。

動作速度の指定(P255)、動作指定(M0~5)、サステイン(S0、S1)、テンポの変更(t150、t112)が正しく機能しているか確認する。

↓出来上がった楽譜ファイル

コメント  

コメントはありません。 演奏/楽譜作成/世界樹/コメント?

お名前:

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-17 (火) 04:32:07