MML演奏
Minecraftの効果音を使って、MML形式で楽曲を演奏することができます。
音楽の作り方
主に以下の方法があります。
コマンド
チャット欄で /mml play <MML文字列>
と入力すると、指定したMML文字列を演奏します。<MML文字列>
にはMML形式の楽譜を指定します。
以下は「さくらさくら」の例です。
例: /mml play t120 o1 aabr aabr ab<c>b ab8a8fr ecef ee8c8>b2 <aabr aabr efb8a8f e1
なお、演奏は自分にしか聞こえません。
ジュークボックス
「本と羽根ペン」を使って、MML文字列を記述した本を作成します。
作成した本をジュークボックスにいれると音楽が鳴ります。
ジュークボックスをもう一度叩くと停止します。
この演奏は、ジュークボックス周辺の全てのプレイヤーに聞こえます。
音符ブロック
「本と羽根ペン」を使って、MML文字列を記述した本を作成します。
作成した本を「模様入りの本棚」に入れて、上に音符ブロックを置きます。
この状態の音符ブロックを右クリック(タップ)するか、レッドストーン信号を入力すると音楽が鳴ります。
もう一度右クリック(タップ)するか、レッドストーン信号を再度入力すると停止します。
この演奏は、音符ブロック周辺の全てのプレイヤーに聞こえます。
ジュークボックス方式と異なり、再生・停止の自動化ができるので、装置に音楽を組み入れたり、効果音として使ったりできます。
MML記法
MML(Music Macro Language)は、音楽を記述するための言語です。
ニコニコ大百科のピコカキコで使われているFlMMLなどもMMLの一種です。MMLには方言が多く、本プラグインで使用しているMMLも例外ではありません。
本プラグインで採用しているMML記法は、Minecraftに特化した形にチューニングしています。
基本
本プラグインのMML記法には、大文字・小文字の区別がありません。CDE
と cde
は同じ音を表します。お好きな方をお使いください。
音符 CDEFGAB
音符は、ドレミファソラシを表す CDEFGAB
に、音符の長さを表す数値をつけて表現します。
C4
で四分音符のド、 E8
で八分音符のミ、 G2
で二分音符のソ、です。
音符の長さは省略できます。省略した場合、デフォルトの長さである 4
となります。
デフォルトの長さは後に紹介する L
コマンドで変更できます。
シャープ・フラット
シャープは +
あるいは #
、フラットは -
で表します。
C#4
で四分音符のド♯、 F-8
で八分音符のファ♭、です。
符点
.
を長さの後ろにつけると、符点音符として扱われます。
付点音符は、その長さの1.5倍を表します。
C4.
で符点4分音符のドを再生します。
タイ
音符記法を&でつなげると、タイとして扱われます。
C4&C2
でドを四分音符+二分音符の長さで演奏します。
休符 R
休符は、 R
に音符の長さをつけて表現します。R8
で八分休符です。
音符と同様に、長さは省略できます。省略した場合はデフォルトの長さを使います。
長さの変更 L
L
コマンドは、デフォルトの音符・休符の長さを変更します。長さのデフォルトは 4
です。
L8
でデフォルトの長さを八分音符に変更します。
コマンドの後に続く音符・休符に適用されます。例えば、途中で16分音符が続くようなときは L16
としておき、地帯が終わったら L4
に戻す、といった使い方ができます。
オクターブの変更 O
<
>
O
コマンドは、演奏する音のオクターブを変更します。デフォルトのオクターブは 1
です。
また、 <
でオクターブを1つ高く、 >
で1つ低くします。
Minecraftの仕様上、オクターブ0のF#からオクターブ2のF#までの音しか演奏できません。
テンポの変更 T
T
コマンドは、演奏するテンポを変更します。単位はBPMで、デフォルトのテンポは 120
です。
T240
でテンポを倍速にします。
音量の変更 V
V
コマンドは、演奏する音の音量を変更します。デフォルトの音量は 100
です。
最大 200
まで指定でき、 0
で無音になります。
コメント
/
から行末、あるいは次の /
までの範囲はコメントとして扱い、無視されます。
曲のタイトルやパートの説明など、視認性を上げるために使ってください。
音色の変更 @
@
コマンドは、演奏する音を変更します。デフォルトの音は「ピアノ」です。
@{piano}
のように、中括弧のキー指定で音色を指定します。
音色一覧
キー | 音色 |
---|---|
piano | ピアノ |
bass | ベース |
kick | キック |
snare | スネア |
hat | ハイハット |
bell | ベル |
flute | フルート |
chime | キーボード |
guitar | ギター |
xylophone | 木琴 |
iron_xylophone | 鉄琴 |
cow_bell | カウベル |
didgeridoo | ディジュリドゥ |
bit | 8bitパルス波 |
banjo | バンジョー |
pling | プリング(電子ピアノ) |
その他、Minecraftのサウンドイベントとして設定されているあらゆる音を使うことができます。
例: @{entity.experience_orb.pickup}
(経験値オーブを拾う音)
チャンネル
;
でチャンネルを区切ります。チャンネルは、同時に複数の音を演奏するために使います。
;
で区切られた各チャンネルは、同時に演奏されます。
音色、音量、オクターブ、デフォルトの音符・休符の長さはチャンネルを切り替えるとリセットされます。
例: C4;E4;G4
でド・ミ・ソの音を同時に演奏します。