HomeBakery

FM音源ドライバ「FMP」で作成した曲を公開しています。
FMP7の使い方からMMLによる曲データ作成の方法も掲載!

FMP7で曲データを作ってみよう!(SSG音源で波形を変えてみよう)

2014-02-20 00:04:50 | 曲データの作り方(基本編)

さて、昨日はSSG音源でとりあえず鳴らせるための必要最低限の手続きを学びました。

今日は、SSG音源の波形を変えて音の変化を見てみましょう。

以下のソースをテキストエディタに貼り付けて、「SSG-TEST2.mwi」という名前で保存しましょう。

'{
 Title=Song for friends (SSG sample)
 DataCreator=wani
 Composer=作詞:麻枝准 作曲:麻枝准 編曲:MintJam
 Comment=SSGサンプル

 PartSSG=A0-A3
 PartMixLevel=100
 ClockCount=192
}

'A0 T106

'A0 v 90 o3 l8
'A1 v100 o5 l8
'A2 v 80 o5 l8
'A3 v 60 o5 l8

★SSGエンベロープ
'@ E 1, 255,255,255,255,004,128

'A0123 E1 @0,0

'A0 r4 T66      L g4.a2 f+4.g2 g4.a2 f+4.d4a>d<

'A1 <g2>        L d4<e4>c+4.<a4 e.>d16d4. d4<e4>c+<a4a4 d.>d16d4.

'A2 r<b24>d4~24 L e4.&e16<a16>e16d.&d c+4.&c+16<a16>e4. e4.&e16<a16>e16d.&d c+4.&c+16<a16>e4.

'A3 r4~24e24    L f+4.a4>e16<a16a e4.d4>e16a.< f+4. a4>e16<a16a2 d4>e16<a16a

赤字の部分が前回からの変更点です。

そして、保存したSSG-TEST2.mwiファイルをFMC7のウィンドウの中へドラッグ&ドロップしてください。

音が鳴りましたでしょうか?あれ?昨日と同じ音が鳴ってますね。

@0,0

昨日と違うのはここだけです。

この指定をすると「矩形波」という波形で音が鳴るのですが、実は何も指定しない場合でもこの「矩形波」という波形で音が鳴ります。

 

じゃあ、原理は簡単。この値を色々変えてみましょう。 

@ 1,1

@0,0を上記の値に変更して、再度FMC7のウィンドウの中へドラッグ&ドロップしてください。

今度はさっきと音が変わりましたね。この指定をすると「三角波」という波形で音が鳴ります。

ファミコンでも「三角波」を使ってベースラインを表現してました。どこか懐かしい音ですよね。

 

@2,1

今度は、上記の値に変更して、再度FMC7のウィンドウの中へドラッグ&ドロップしてください。

この波形は「パルス波」といいます。

「パルス波」は、ファミコンでもメロディラインで使われていました。

ハッキリとした発音をしてくれるので、自分も良くボーカル音色としてお世話になっています。(^-^;

 

@3,1

最後は、この値に変更して、再度FMC7のウィンドウの中へドラッグ&ドロップしてください。

この波形は「のこぎり波」といいます。

ちょっとブラスっぽい音が鳴ってますね。色々使い道が広がりそうです。

 

というように@x,yで構成されるこのMML構文。

xが波形を指定する番号であることがわかりました。じゃあyの値は?と疑問に思うでしょう。

yの値は「パラメータ」という扱いになりますが、xの値によって意味が異なります。

  • X=0 : 矩形波
      yは意味を持ちません。なので0を指定しておきます。
  • X=1 : 三角波
      yは1~2の範囲となります。1でほぼきれいな三角波となり、2では多少歪んだ三角波となります。
  • X=2 : パルス波
      yは1~9の範囲となります。値を変えることでデューティー比が変わります。
  • X=3 : のこぎり波
      yは1~2の範囲となります。

こんな感じで、色々xとyの値を変えてみて音の変化を掴んで下さい。

SSG音源は、今日の「波形」と昨日の「ソフトウェアエンベロープ」の組み合わせで様々な表現を生み出すことができます。


FMP7で曲データを作ってみよう!(SSG音源の鳴らし方)

2014-02-19 00:08:28 | 曲データの作り方(基本編)

約3年弱ぶりの「FMP7で曲データを作ってみよう!」でございます。(^-^;;

前回は、FM音源の音が出るまでと、簡単なMMLの記述の仕方講座でした。
今回は、SSG音源の音が出るまでをやってみましょう。

SSG音源については、まず音が出るまで悩まれた方も多いと思います。
ですので、SSGの音が出る最低限のお作法を学んでおきましょう。

以下のソースをテキストエディタに貼り付けて、「SSG-TEST.mwi」という名前で保存しましょう。

'{
 Title=Song for friends (SSG sample)
 DataCreator=wani
 Composer=作詞:麻枝准 作曲:麻枝准 編曲:MintJam
 Comment=SSGサンプル

 PartSSG=A0-A3
 PartMixLevel=100
 ClockCount=192
}

'A0 T106

'A0 v 90 o3 l8
'A1 v100 o5 l8
'A2 v 80 o5 l8
'A3 v 60 o5 l8

★SSGエンベロープ
'@ E 1, 255,255,255,255,004,128

'A0123 E1

'A0 r4 T66      L g4.a2 f+4.g2 g4.a2 f+4.d4a>d<

'A1 <g2>        L d4<e4>c+4.<a4 e.>d16d4. d4<e4>c+<a4a4 d.>d16d4.

'A2 r<b24>d4~24 L e4.&e16<a16>e16d.&d c+4.&c+16<a16>e4. e4.&e16<a16>e16d.&d c+4.&c+16<a16>e4.

'A3 r4~24e24    L f+4.a4>e16<a16a e4.d4>e16a.< f+4. a4>e16<a16a2 d4>e16<a16a

そして、保存したSSG-TEST.mwiファイルをFMC7のウィンドウの中へドラッグ&ドロップしてください。

音が鳴りましたでしょうか?FM音源の時と違うお作法の部分だけ説明していきますね。

PartSSG=A0-A3

FM音源のパートを割り当てる時は「PartFM4」でしたが、SSGの場合は「PartSSG」で指定することになります。

 

'@ E 1, 255,255,255,255,004,128

ここで、SSG音源の肝となる「ソフトウェアエンベロープ」の指定を行います。
簡単にいうと「SSGの音の鳴り方」を決めるところです。
もうちょっと具体的に言うと「SSGの音量の変化」を定義します。

'@ E 1 ・・・ ここまでが定義番号を挿します。この場合、各チャンネルで「E1」と指定してあげれば、このソフトウェアエンベロープパターンで音が鳴ります。


,255,255,255,255,004,128・・・残りの部分が先ほどの「SSGの音量の変化」を決めるパラメータになります。

左から

SV(Start Level)
0~255 で指定。キーオンの発音音量の指定を行います。値が大きいほど大きな音量となります。
AR(Attack Rate)
0~255 で指定。キーオンから最大音量までの速さを指定します。値が大きいほど速くなり、するどい立ち上がりの音となります。
DR(Decay Rate)
0~255 で指定。最大音量からSustain Levelまでの速さを指定します。値が大きいほど速くなります。
SL(Sustain Level)
0~255 で指定。Decay Rateで変化させる音量の指定を行います。値が大きいほど大きな音量となります。
SR(Sustain Rate)
0~255 で指定。Sustain Level到達後の速さを指定します。キーオフされるまでこの速さで変化を続けます。
RR(Release Rate)
0~255 で指定。キーオフ後の速さを指定します。このパラメータを0にするとキーオフ後も音は鳴り続けます。

なにやら難しいですねぇ。(^-^;

FMP7の公式マニュアルに、図入りで詳しく説明していますので見てみると良いでしょう。

 

'A0123 E1

ここで、A0~A3までのチャンネルでソフトウェアエンベロープパターン「E1」を使います!と宣言してますね。
SSGで音が鳴らない人はソフトウェアエンベロープ定義をしていないか、定義していても使います!宣言をしていないかのどっちかですね。

SSG音源は、この必要最低限な手続きで鳴るはずです。
あとは、ソフトウェアエンベロープのパラメータを弄りながら、どんな感じで音が変わるのか試して見ると良いですよ。