AION MML ハウジングスクリプト音楽 作成方法まとめ
スクリプトのコードを書くと、プログラムのようになります。
再生の方法は、2種類くらいあります。
以下では、その音楽とスクリプトの書き方のメモを書いておきます。
4番は別の方のサイトです。
家に入ると自動演奏される方法を作っています。
スクリプトの入れ方の説明が画像つきであります。
- AIONハウジングスクリプトでのMMLの書き方
- ハウジングスクリプト音楽を執事から実行する方法
- MMLの元になるMIDIの作り方(フリーソフトサクラを使用)
- AION MML 応用講座 おサルさんでも分かる自動演奏方法 - AION-MML-FACTORY
AIONハウジングスクリプトでのMMLの書き方
AIONのハウススクリプトで、音楽を鳴らすために必要なMMLの書き方を説明します。基本
4分音符のドを表すには、l4c
c4
どちらでも使えます。
l4と書くと、そこから後ろの基本の拍の長さが4になります。
l4の後に書かれたc単体は4分音符になり、l4c8と書けば強制的に8部音符になります。
音階
1個書くと1回鳴ります。2個連続で書くと、2回連続で鳴ります。ド | レ | ミ | ファ | ソ | ラ | シ |
c | d | e | f | g | a | b |
ド# | レ# | ファ# | ソ# | ラ# |
c+ | d+ | f+ | g+ | a+ |
ド | ド# | レ | レ# | ミ | ファ | ファ# | ソ | ソ# | ラ | ラ# | シ |
c | c+ | d | d+ | e | f | f+ | g | g+ | a | a+ | b |
オクターブ
数字が大きいほど高い音になります。
書くと、そこから後ろのオクターブが変わります。
< | > |
オクターブを1つ上げる | オクターブを1つ下げる。 |
o1 | o2 | o3 | o4 | o5 | o6 | o7 |
低い | 標準 | 高い |
休止符
1個書くと1回休みます。2個連続で書くと、2回連続で休みます。r | l1r | r1 |
全音符長の休止符 |
rr | l2r | r2 |
2分音符長の休止符 |
rrr | l3r | e3 |
3分音符長の休止符 |
rrrr | l4r | r4 |
4分音符長の休止符 |
r. | ||
符点音符長の休止符 |
テンポ
t32~t255数字が大きいと速くなります。
書くとそこから後ろのテンポが変わります。
t32 | t60 | t120 | t240 | t255 |
最遅 | 半分の速さ | 標準 | 2倍の速さ | 最速 |
ボリューム
書くと、そこから後ろの音の大きさが変わります。v1~v10v1 | v2 | v3 | v4 | v5 | v6 | v7 | v8 | v9 | v10 |
音量 |
拍の長さ
書くと、そこから後ろの拍の長さが変わります。l1c | l2c | l4c | l8c |
全音符のド | 2分音符のド | 4分音符のド | 8分音符のド |
l16c | l32c | l64c | l4c |
16分音符のド | 32分音符のド | 64分音符のド | 符点4分音符のド |
下記の語順変更でバグ回避させます。
符点
l4c | c4 | c4. | l4.c |
4分音符ド | 4分音符ド | 符点4分音符ド | 符点4分音符ド |
f4..=符点一つと同じ扱い
タイ
前後の同じ音階の音をつなげます。半音上げと併用するとバグが発生します。c4&c8 | c4.&c8. |
4分音符と8部音符の長さ | 符点4分音符と符点8分音符の長さ |
c4.+&c8.+ は使えない。(#と&の併用不可)
c4&d8 は使えません。(そもそもタイではない)
c+4&c+8 は使えません。(元の語順でも不可)
c4^c8 は使えません。(「^」 → 「&」)
l4&8 は使えません。(lでタイは不可)
l4&l8 は使えません。(lでタイは不可)
語順で解決するもの
半音上げは、数字よりあとにつけます。符点があれば、符点よりあとにつけます。c+4 | c+4. |
c4+ | c4.+ |
サクラMMLからAION MMLへの置換リスト
r. → rr8r8. → r8r16
r16. → r16r32
+1. → 1.+
+2. → 2.+
+4. → 4.+
+8. → 8.+
+16. → 16.+
+32. → 32.+
+64. → 64.+
+1 → 1+
+2 → 2+
+4 → 4+
+8 → 8+
+16 → 16+
+32 → 32+
+64 → 64+
バグ
o4 f のピアノの音は、カチカチというノイズが聞こえます。ハウジングスクリプト音楽を執事から実行する方法
AIONハウジングスクリプトを執事から起動する方法です。下記のハウジングスクリプトを書いて設置すると、
執事から曲名を選んで音楽を鳴らせます。
テンプレートを載せます。
スクリプト欄にこれを貼り付けて編集すれば音がなるはずです。
function OnInit()H.RegisterMenu("選択項目", 1);
i=0;
end
function OnMenu(menuNum)H.PlaySound(0, "r2[1],r2[2],r[3]");
if (menuNum == 1) then
H.Say(1, "アーティスト名");
H.Say(2, "タイトル");
H.SetInstrument(1,H.Instrument.abass);
H.SetInstrument(2,H.Instrument.abass);
H.SetInstrument(3,H.Instrument.abass);
H.SetInstrument(4,H.Instrument.ebass);
H.SetInstrument(5,H.Instrument.ebass);
H.SetInstrument(6,H.Instrument.ebass);
H.PlaySound(1,"t73o6g16+a16");
H.PlaySound(2,"t73o6g16+r8g3");
H.PlaySound(4,"t73v5o4l16fc");
H.PlaySound(5,"t73v5o4l8rrrr");
H.PlaySound(6,"t73v5o4l1rrrr");
end end
H.PlaySoundの中にMMLを書くことで、音が鳴ります。
- 執事をクリックすると、選択項目が現れます。
- 選択すると、アーティスト名とタイトルを執事がフキダシで発言します。
- 一応5和音で同時に音が鳴り出します。
ハウジングスクリプトの容量は制限があります。
あまりにも長い曲は登録することができません。
なんとか入れるための対策としては、
時間を短くする MMLを最適化して文字数を減らす 和音パートの目立たない部分を削除する
違和感のないつなぎ方でショートバージョンにする方法が効果的です。
また、イントロは省いてサビだけにする方法などもあります。
c4d4e4f4と書くより、l4cdefのほうが短くなります。
r16r16r16r16は、r8r8にできます。
r4にもなります。
l4が先に書いてあれば、rだけにもできます。
その部分を消していった結果削減できる部分があります。
作業の順番
作業の順番としては、- 曲を決める
- 曲の楽譜や耳コピから音階がわかるようにする
- 作曲フリーソフトのサクラを使用して曲を作る。
- MML表示に変えて、MMLをメモ帳にコピーする
- サクラMMLからAION MMLへの置換リストで置換する。
(キーボードショートカットはCtrl+H) - AIONでスクリプトを作り、編集画面にテンプレートを貼り付ける
- AION MMLを
H.PlaySound の部分に貼り付ける
0 件のコメント:
コメントを投稿