【対象者】
・「応用編3:ディレイとその使い分け」において、後半のディレイを使わない表現方法において、MMLの入力方法がわからなかった方
「応用編3:ディレイとその使い分け」で、学校のチャイムを例にしてディレイの表現方法を学びました。
「メインのメロディーチャンネルとは別に、音量を下げて少し遅らせて同じメロディーを流すチャンネルを作る」
というやり方でした。MMLとしては下のようになります。
'{ PartSSG=A1-A3 'A1 T80 'A1 v120 o5 l8 D0 P128 ★SSGエンベロープ 'A123 @1,1 E1 'A123 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2. |
これとは別に、ディレイを使わない方法でエコーを表現するやり方も学びました。
鉄琴の音板をイメージして、1チャンネル1音にする方法ですね。
MMLとして以下のようになります。
'{ PartSSG=A1-A4 'A1 T80 'A1 v120 o5 l8 D0 P128 ★SSGエンベロープ 'A1234 @1,1 E1 'A1 r4 r4 r4< g2. &g4&g4&g4&g2. &g4&g4&g4 g2. g4 &g4&g4&g2. |
上記のMMLは、考えながらダイレクトに入力しようとするととても難しいです。
混乱しますし、入力をミスした時に修正箇所が見つけにくいです。
そこで自分が入力する時のコツを教えます。
ちょっと遠回りですが、慣れれば入力ミスを減らし、結果効率よく入力できると思います。
(1)まずは普通に入力する
まず1チャンネルで普通にMML入力しましょう。
ここで、意図したとおり入力できているか、再生して確認しておきましょう。
'{ PartSSG=A1-A4 'A1 T80 'A1 v120 o5 l8 D0 P128 ★SSGエンベロープ 'A1234 @1,1 E1 'A1 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2. |
(2)作った1チャンネルのMMLを複数チャンネルコピーする
分割したい分だけチャンネルをコピーして増やします。
今回は1音1チャンネルなので、4チャンネルに増やします。
ここで必ず再生して、全てのチャンネルが同じオクターブで再生されているか確認しておきましょう。
'{ PartSSG=A1-A4 'A1 T80 'A1 v120 o5 l8 D0 P128 ★SSGエンベロープ 'A1234 @1,1 E1 'A1 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2. |
(3)前後の音階を見ながら、適用するチャンネルを1つ決めて、残りを休符にする
ここからが一番、勘所が必要になってくる所ですが、1小節分くらいの音階の流れを見つつ、
A1がオクターブが一番低い音階。A4が逆に一番高い音階になるように、適用するチャンネルを1音ずつ決めて行きます。
'A1 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A2 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A3 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A4 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
たとえば、上記の最初の約1小節分「c4e4d4<g2.」の流れを見ると
「g2.」が一番低いオクターブなので、A1チャンネルに。
「e4」が逆に一番高いオクターブなので、A4チャンネルに割り充てます。
下のように「g2.」はA1チャンネルだけ残し、残りのA2からA4の「g2.」は休符「r2.」に置き換えます。
'A1 c4e4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A2 c4e4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A3 c4e4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A4 c4e4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
一番高い音階の「e4」もA4チャンネルだけ残し、残りのA1からA3の「e4」は休符「r4」に置き換えます。
'A1 c4r4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A2 c4r4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A3 c4r4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A4 c4e4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
こうすると最初の1音目の「c4」が音階的にA2チャンネルに決められます。同じように書き換えます。
'A1 r4r4d4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A2 c4r4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A3 r4r4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A4 r4e4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
3音目の「d4」は残ったA3チャンネルに割り当てましょう。同じように書き換えます。
'A1 r4r4r4<g2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A2 c4r4r4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A3 r4r4d4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
'A4 r4e4r4<r2.> c4d4e4c2. e4c4d4<g2. g4>d4e4c2.
慣れてくると、1音目から横へ順に書き換えができるようになってきます。
前後の音階を見ながら、割り当てるチャンネルが読めるようになってきますので。
全部書き換えると以下になります。
'A1 r4r4r4<g2.> r4r4r4r2. r4r4r4<g2. g4>r4r4r2.
'A2 c4r4r4<r2.> c4r4r4c2. r4c4r4<r2. r4>r4r4c2.
'A3 r4r4d4<r2.> r4d4r4r2. r4r4d4<r2. r4>d4r4r2.
'A4 r4e4r4<r2.> r4r4e4r2. e4r4r4<r2. r4>r4e4r2.
上記のように、1音1音がどこかのチャンネルに1つだけ残る形になればOKです。
(4)一度再生し、(3)が正しいか確認します。
これまでの作業をしても音が外れたりしていないはずです。
FMDSP7で再生確認し、同じ音が複数チャンネルで鳴っていないか。を確認しましょう。
(5)相対指定のオクターブを最適化をする
'A1 r4r4r4<g2.> r4r4r4r2. r4r4r4<g2. g4>r4r4r2.
'A2 c4r4r4<r2.> c4r4r4c2. r4c4r4<r2. r4>r4r4c2.
'A3 r4r4d4<r2.> r4d4r4r2. r4r4d4<r2. r4>d4r4r2.
'A4 r4e4r4<r2.> r4r4e4r2. e4r4r4<r2. r4>r4e4r2.
あとは上記の休符(赤字)部分を、その前の音階と同じ音階に書き換えて、タイ(&)で繋げていけばいいのですが、
ただ、相対指定のオクターブ「>」「<」がタイで繋げる時に邪魔になる場合があります。
先にそこを最適化しておきましょう。
オクターブの最適化方法として気をつけることは2つ
・1つのチャンネルに着目し、音階指定がしてあるところから、次の音階が指定されているまでの間は休符になっているので
この間にある、相対指定のオクターブは、相殺する。
・相殺できず余った相対してオクターブ記号は、次の音階の前に集約させる
A1チャンネルを例にやってみましょう。
赤字になっている範囲の相対指定のオクターブ記号をみると「>」と「<」が1つずつあるので、ちょうと相殺できますね。
'A1 r4r4r4<g2.> r4r4r4r2. r4r4r4<g2. g4>r4r4r2.
↓
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4>r4r4r2.
次に赤字になっている範囲の相対指定のオクターブ記号をみると「>」が1つだけなので相殺できません。
次の音階があるところに集約するのですが、この例だともう音階がないので、削除で構いません。
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4>r4r4r2.
↓
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4 r4r4r2.
※仮に音階があったらその直前に集約させます
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4>r4r4r2. e4
↓
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4 r4r4r2.>e4
他のチャンネルも同じように最適化しましょう。以下のようになります。
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4 r4r4r2.
'A2 c4r4r4 r2. c4r4r4c2. r4c4r4 r2. r4 r4r4c2.
'A3 r4r4d4 r2. r4d4r4r2. r4r4d4 r2. r4 d4r4r2.
'A4 r4e4r4 r2. r4r4e4r2. e4r4r4 r2. r4 r4e4r2.
今回は、1音1チャンネルなので、綺麗に相殺できました。
(6)一度再生し、(5)が正しいか確認します。
これまでの作業をしても音は音が外れたりしていないはずです。
FMDSP7で再生確認し、オクターブの最適化が誤っていないか。を確認しておきましょう。
(7)休符を音階に置き換え、タイで繋ぐ
最後を休符を、音階とタイで繋いでいきます。
'A1 r4r4r4<g2. r4r4r4r2. r4r4r4 g2. g4 r4r4r2.
↓
'A1 r4r4r4<g2. &g4r4r4r2. r4r4r4 g2. g4 r4r4r2.
上記のように前の音階と同じ音階に置き換えて直前にタイ「&」を置きます。
A1チャンネルの休符を全て書き換えたのが下です。
'A1 r4r4r4<g2. &g4&g4&g4&g2. &g4&g4&g4 g2. g4 &g4&g4&g2.
'A2 c4r4r4 r2. c4r4r4c2. r4c4r4 r2. r4 r4r4c2.
'A3 r4r4d4 r2. r4d4r4r2. r4r4d4 r2. r4 d4r4r2.
'A4 r4e4r4 r2. r4r4e4r2. e4r4r4 r2. r4 r4e4r2.
あとは同じようにして、全てのチャンネルを書き換えて完成です。
'{ PartSSG=A1-A4 'A1 T80 'A1 v120 o5 l8 D0 P128 ★SSGエンベロープ 'A1234 @1,1 E1 'A1 r4 r4 r4< g2. &g4&g4&g4&g2. &g4&g4&g4 g2. g4 &g4&g4&g2. |
上記のように1小節くらいずつ空白で区切っておくと、万が一の時に修正箇所が見つけやすいです。
慣れるまでは、逆に時間が掛かるかもしれませんが、段階を踏んで確認しながら作業感覚で出来るので試してみて下さい。
※コメント投稿者のブログIDはブログ作成者のみに通知されます