Published: May 25, 2026 by mewlist
MML 連載シリーズ の 8 回目です。本シリーズで扱う MML 記法は MewMMLPad(VST3 / スタンドアローン / ブラウザ版) のものです(PMD / FMP など他環境の MML とは方言が異なる箇所があります)。
今回は連載の締めくくりとして、音を左右のどこに置くか(パン)、音源の音色を切り替える(プログラムチェンジ)、そして打ち込んだ MML を DAW や外部音源へ送り出すところまでを扱います。前回 のマクロと変数までは「どんな音をどう並べるか」の話でしたが、ここからは音の定位・音色と、その送り先という、一段外側の話に入っていきます。
前半のパンは Web プレイヤーでそのまま鳴らせます。後半のプログラムチェンジと DAW ルーティングは、MewMMLPad の外にある音源に向けた話なので、ブラウザの中だけでは音に出ません(理由は後述します)。
パン P の基本
パンは、その音を左右のどこに置くかの指定です。P に続けて 0〜127 の値を書きます。0 が左いっぱい、127 が右いっぱい、64 がセンターです。範囲外の値はクランプされます。
A T120 o4 L8 Q4
A P16 c e g > c < P112 c e g > c
P16 で左寄りに置いた分散和音を鳴らし、続く P112 で右寄りに同じフレーズを鳴らしています。1 本のチャンネルでも、演奏の途中で P を書き直せば、その時点から定位が変わります。
センター基準の PL / PR / PC
絶対値の P のほかに、センターを基準にした相対指定があります。
| 記法 | 意味 |
|---|---|
PLn |
センターから n だけ左(PL32 = P32) |
PRn |
センターから n だけ右(PR32 = P96) |
PC |
センターに戻す(= P64) |
A T120 o4 L8 Q4
A PL32 c e g b PC c e g b PR32 c e g b
左(PL32)→ センター(PC)→ 右(PR32)と、同じフレーズを移動させています。センターが 64 だと覚えておかなくても、PL / PR で「中央から何ステップ」と書けるので、左右対称の配置をそろえやすくなります。
2 チャンネルで左右に広げる
複数チャンネルをそれぞれ別の定位に置くと、ステレオに広がった演奏になります。
A T120 o4 L8 Q4 PL40
A c e g b g e c e
B o3 L8 Q4 PR40
B c g e g c g e g
A を左(PL40)、B を右(PR40)に置き、上の旋律と下の伴奏を左右に分けています。T(テンポ)のような曲全体に効く設定は A にだけ書きます。Web プレイヤーで再生すると、2 つの声部が左右に分かれて聞こえます。
複数チャンネルへまとめて書く
ここまでは 1 行に 1 チャンネルを書いてきましたが、複数のチャンネルに同じ内容を書きたいときは、行頭にチャンネル文字を スペースなしで並べて 書けます。並べた全チャンネルに、その行の内容がまとめて適用されます。
A T120
AB o4 L8 Q4
A c e g > c
B e g > c e
AB o4 L8 Q4 の 1 行で、A と B の両方にオクターブ・長さ・ゲート長をまとめて設定しています。共通の設定(L や Q、$ で始まるモードなど)を各チャンネルに書き写す手間が省けます。ABCDEFGH ... のように、もっと多くのチャンネルへ一度に書くこともできます。
ひとつ注意点があります。チャンネル文字の 直後にはスペースが必要 です。AB4 と続けて書くと、これは「A チャンネルで音符 B4」と解釈されてしまいます。
プログラムチェンジ @n
プログラムチェンジは、音源側の音色(プログラム)を切り替える指定です。@ に続けて番号を書きます。
A @0 o4 L8 Q4 c e g b
A @3:120 o4 L8 Q4 c e g b
@n… プログラム番号 0〜127 を送ります。nが 128 以上のときは Bank LSB + Program に自動で分割されます(bank = n ÷ 128、slot = n を 128 で割った余り)。@bank:slot… Bank と Slot を明示します。@3:120なら Bank 3 / Slot 120 です。
同じタイミングでは Bank Select → Program Change の順で送られ、同じ番号を続けて送ったときは自動的にまとめられます(チャンネルごと)。
ここで一点、注意があります。この記事の Web プレイヤーでは、プログラムチェンジを書いても音色は変わりません。 内蔵シンセは波形(Sine / Saw / Tri / Square)を選ぶだけの簡易なもので、切り替えるべき音色のテーブルを持っていないためです。プログラムチェンジは MewMMLPad の外にある音源(VSTi や外部 MIDI 音源)に向けたメッセージで、実際に音色が変わるのは、そうした音源に演奏を流したときです。そのため上の例は、鳴らせる譜面ではなく構文の例として載せています。外部音源への流し方は、この記事の後半で扱います。
MewFM / Mew8Bit 向けの $ProgramChange=CC102
VSTi 版を DAW で使うときの補足です。ホストによっては Program Change がうまく扱われず、音色切り替えが音源まで届かないことがあります(Cubase などで起こります)。この場合、MML 側で @n を書いても切り替えが伝わりません。
これに対して、スロット番号を Program Change の代わりに CC(コントロールチェンジ)で送る $ProgramChange=CC102 というモードがあります。
A $ProgramChange=CC102
A @5 o4 L8 Q4 c e g b
ただし、これは 受け取る音源が CC102 をスロット選択として解釈できることが前提 です。現状この解釈に対応しているのは MewFM / Mew8Bit で、一般的な VSTi は CC102 を音色切り替えとしては受け取りません。そのため、汎用の回避策ではなく、いまのところは MewFM / Mew8Bit と組み合わせるときの機能と考えてください。
なお、将来の更新で、より幅広いホストや音源でも扱えるよう対応が広がる可能性はあります。ただし現時点では上記のとおりです。
番号は $ProgramChange=CC<番号> で変更でき、Bank Select は従来どおり CC 0 / 32 で送られます。
DAW・外部音源へ流す
ここまでのパンやプログラムチェンジは、最終的に MewMMLPad の外にある音源で鳴らしてこそ活きます。MewMMLPad は MIDI を出力する側 なので、その MIDI を DAW や外部音源に届ければ、好きな音色で演奏させられます。
Cubase で VST3 として使う
VST3 版は、MIDI を出力する VSTi として DAW に挿します。Cubase での基本的な流れは次のとおりです。
- 鳴らしたい音源(HALion や Kontakt など)をトラックに挿す
- その音源トラックの MIDI 入力ポートを MewMMLPad にする
- トラックをモニタ ON にする(再生・停止を問わず MIDI が音源へ届きます)
- トランスポートを再生すると、MML どおりに MIDI が出て音源が鳴ります
(VST3 版は Cubase / Windows で動作確認しています。ほかの DAW での手順や動作は未検証です。)
16 チャンネルを別音色で鳴らす
MewMMLPad のチャンネル A〜P は MIDI ch 1〜16 に対応します。1 つの音源トラックで A〜P を同時に受け取り、チャンネルごとに別音色を鳴らすには、送る側・受け取る側の MIDI ch をどちらも「All(オムニ)」にします。
- MewMMLPad 側の出力 ch を
All… 全チャンネルが ch 1〜16 のままホストへ流れます - 受け取る VSTi 側の入力 ch も
All… マルチティンバー音源なら ch ごとに別パッチで発音します
これで A → ch 1 → パート 1、B → ch 2 → パート 2 … と、1 トラックに最大 16 パートを流し込めます。逆に全部を 1 つの音色でまとめたいときは、受け側の入力 ch を 1 つに固定します。
ここで前半のプログラムチェンジが効いてきます。チャンネルごとに @n を書いておけば、各チャンネルのパートに音色を割り当てた状態で送り出せます。
MIDI クリップとして書き出す
リアルタイムに鳴らすだけでなく、MML の内容を MIDI クリップとして DAW に置くこともできます。ヘッダの MIDI ボタンから任意のトラックへドラッグすると、チャンネルごとに分かれた SMF として配置されます。MML を直前に編集していても、ドラッグした時点の最新の内容が反映されます。
スタンドアローン版から外部音源へ
スタンドアローン版では、MewMMLPad の MIDI 出力を別のアプリ(音源)へ渡すために、内部ルーティング(ループバック)を使います。Windows なら、Windows MIDI Services の内蔵ループバック を使えば、サードパーティ製の仮想 MIDI ケーブルなしで「MewMMLPad → 音源」の経路を作れます。
まとめ
パンで音を左右に配置し、プログラムチェンジで音色を選び、DAW や外部音源へ送り出す。ここまでで、MML をブラウザの中だけで完結させる段階から、実際の制作に持ち出す段階までをひととおりたどりました。今回で、連載で予定していた MML の機能はひととおり出そろいました。
各コマンドの細かい仕様は MML リファレンス に、実際の曲を題材にした解説は サンプル曲で学ぶ にまとめてあります。連載全体の目次は シリーズ一覧 からどうぞ。