Z-MUSIC MML チュートリアル 初級編その3
Lesson 7: 音の歯切れをよくする / 繰り返しを使う
これまでの音は、例えば「四分音符なら四分音符の時間分ずーっと音が出ている」 ものばかりでした。実際には、発音時間だけを短くして、「歯切れをよくする」 ことがしばしばあります。
[volume 127] [velocity 127] [program 28] |:2 q8 c4 q2'>g<ce4' q8'>g<ce4' q8 >g4< q2'>g<ce4' q8'>g<ce4' :|
Lesson 6と比較して、 [program]の番号が変わってます(ギターにしました)ので注意してください。 これを演奏すると、 いわゆるワルツのリズム(ズーチャッチャー、ズーチャッチャー)が演奏されます。
まずqコマンドがたくさん入っていますが、 これは、「音の歯切れ具合」を指定するためのMMLです。 qの後ろに1~8の数字をつけることができ、
- 8の時には指定している長さの8/8の長さだけ音を出す → 指定している長さそのまま全部音を出す
- 7の時には7/8の長さだけ音を出す → 少し短く音を出す(残り1/8は音を出さずに待つ)
- (中略)
- 1の時には元の1/8の長さだけ音を出す → 非常に短く音を出す(残り7/8は音を出さずに待つ)
という意味になります。
# ホントは負の数や、8より大きな数も指定できますが、 その時どうなるかは自由研究ってことで。
さてサンプルを見てみると、
- 最初の音(c4)の前にはq8があるので、 この音は四分音符の長さめいっぱいの間音が鳴り続けます。
- 次の和音('>g<ce4')の前にはq2があるので、 この和音は四分音符の長さの2/8の時間だけ発音されます。 残り6/8の時間は音を消して待ちます。
- 次の和音('>g<ce4')の前にはq8があるので、 この和音は四分音符の長さめいっぱいの間音が鳴り続けます。
- ・・・以下同じですので省略。
となっており、 結果的に「ズーチャッチャー」なリズムになっているのが分かるかと思います。 もしこれが全部q8状態、 つまり歯切れをよくしないでずっと音が鳴り続けるような場合は、 「ズーチャーチャー」なリズムになってノリが悪くなってしまいます。
次に |: ~ :|について。これで括ると、「括られた中のMMLを繰り返し演奏する」 ことになります。繰り返す回数は |: の直後に数字を入れて指定します。 このサンプルでは、|:2 としていますので、2回繰り返されます。
以下余談です:
一般に、 音符の表記上の長さを「ステップタイム」 と呼び、その音符が実際に発音される長さを 「ゲートタイム」と呼びます。 Z-MUSICでは、ステップタイム指定の直後に,(コンマ)をつけて更に時間指定することで、 ステップタイムとゲートタイムを同時に指定することができます。 例えば、先のサンプルは、qコマンドを使わなくても次のように書けます。
c4 '>g<ce4,16' '>g<ce4' >g4 'g<ce4,16' '>g<ce4'
和音中、"4,16"としてステップタイムとゲートタイムを指定しています。 4分音符の2/8の長さは16分音符になりますので、 ゲートタイムとして16を指定しています。
(ついでに、 > < も一組減らしています)
Lesson 8: 複数チャンネルを使う (複数の楽器を同時に鳴らす)
ここまでは、一つの楽器を鳴らしてばかりでしたが、実際に曲を作る際には、 このようなシチュエーションは稀で、 リードギターにキーボードにベースにドラムスといったように、 一度に複数の楽器を同時に鳴らすことの方が多いと思います。
このためには、複数チャンネルを同時に扱うことをマスターしなければなりません。 (ここまでは、単一チャンネルを使うことしかやってません)
しかしながら、チャンネルって何? という説明は初級篇の内容としてはヘビィ過ぎますので、 ここでは簡単に、複数チャンネルの使い方だけを説明いたします。 (チャンネルそのものの説明については中級編に譲ります)
(t1) [volume 127] [velocity 127] [program 81] d4 d4f#4a4a1^1 (t2) [volume 127] [velocity 127] [program 28] r4 r4r4r4r2 q3 |:2 'df#a4' :| r4 |: '>a<df#4' :|
- (t1) (t2)というのが、チャンネル指定です。 (t1)はチャンネル1を、(t2)はチャンネル2を指定しています。 (t1)以下にはチャンネル1用のMMLが書かれ、 (t2)以下にはチャンネル2用のMMLが書かれます。 演奏時には、これら2つのチャンネル向けの演奏が同時になされます。
- チャンネル番号は、1~16が指定できます。 つまり、16種類の楽器を同時に鳴らすことができます。
- # ここの、「(t1)はチャンネル1用の・・・」といった説明や、 1~16といった説明は、 本当は正しくありません。正しい説明につきましては、 中級編にて確認してください。
- c1^1 というところがありますが、^ (べき乗記号)は、 「音の長さの足し算」を意味します。つまり、 この例では、全音符2つ分の音の長さになります。
- # は、音楽記号でいう「シャープ(♯)」です。「半音上がる」ってやつですね。 MMLでは、音階を表すアルファベット(cdefgab)の直後に#を置くと、 その音階から半音上がった音になります。
- ちなみに「フラット(♭)」(半音下がる)は、-(マイナス)を使います。 ここでは使っていませんが、+(プラス)は、#と同じ意味を持ちます。
- rは休符です。(Lesson 4を参照)
これを演奏させると、2種類の楽器の演奏が同時に聞こえてくるはずです。
[リファレンスマニュアルで、シャープやフラットの使い方を調べる]
Lesson 9: ドラムを使う
ドラムを使うのは簡単です。 一般的なMIDI音源では、「チャンネル10」がドラムパートになっていますので、 そこを使うようにするだけ。
(t1) [volume 127] [velocity 127] [program 81] l4 c2 cd eeg2 eeddc2. (t10) [volume 127] [velocity 127] l4 o1 |:7 b<d :| '>b<<c#'
ドラムのパートでは、例えば鍵盤があったとして、 その鍵盤それぞれに別々の打楽器の音が割り当てられています。 例えばオクターブ1のシだとバスドラム(その1)ですし、 オクターブ2のレだとスネア(その1)、 オクターブ3のドのシャープだとクラッシュシンバル(その1)・・・などなど。
これらから必要なものを選んで鳴らそうとした場合、 オクターブの指定は > < のような相対的な指定だけでなく、 絶対的な位置の指定ができた方が便利です。 このために使うのがMML O
で、 o1
などとすると、オクターブ2の直接指定となります。
Lesson 10: その他、やり残したこと
以下、 「ここまででやり残したけど、内容的には初級だろうなぁ」 ということをとりとめもなくまとめました。
- エフェクタの設定
- [volume 127] [velocity 127] [program 81] [effect.reverb 127] l4 c2 cd eeg2 eeddc2.
[effect.reverb]
で、 リバーブエフェクトの掛け具合が設定できます。 強く掛ければ掛けるほど、お風呂場っぽい雰囲気になります(^_^;- [volume 127] [velocity 127] [program 81] [effect.chorus 127] l4 c2 cd eeg2 eeddc2.
[effect.chorus]
で、 コーラスエフェクトの掛け具合が設定できます。 強く掛ければ掛けるほど、音が太くなります。- [volume 127] [velocity 127] [program 81] [effect.delay 127] l4 c2 cd eeg2 eeddc2.
[effect.delay]
で、 ディレイエフェクトの掛け具合が設定できます。 強く掛ければ掛けるほど、山びこ効果が強くなります。- パンポットの設定
- パンポットを変更することで、 音の出てくる方向を変えることができます。 MMLは
[panpot]
または@p
で、 この後に方向を表す数値を指定することで、パンポットを変更できます。 - [volume 127] [velocity 127] [program 1] [panpot 0] cde @p64 fg [panpot 127] ab<c
- パンポットに指定する数値は、0が左端、数値が増えるに従って 右寄りになっていき、64で中央、127で右端になります。
- なお、
[panpot]
を使う場合に限り、 数値の代わりにL24
,M
,R60
といったような指定ができます。 例えば先の例だと、以下のように書いても同様です。 - [panpot L64] cde @p64 fg [panpot R64] ab<c
- パンポットを変更することで、 音の出てくる方向を変えることができます。 MMLは
- テンポ
- テンポを変えることで、曲のスピードを変えることができます。 テンポ変更は
t
コマンド。 - [volume 127] [velocity 127] [program 1] t120 cde t200 fg t80 ab<c
- テンポを変えることで、曲のスピードを変えることができます。 テンポ変更は
- 曲のタイトル