HomeBakery

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

応用編8:ノイズも立派な楽器なのです

2015-12-09 22:00:25 | 曲データの作り方(応用編)

1年半以上ぶりです!「曲データの作り方(応用編)」の更新となります。

そう言えばこんなコーナーありましたねーくらい久しぶりです。ごめんなさい。少しずつ更新していきますのでお付き合いください。

さて、今回はSSG音源を使ったノイズの作り方を学んでいきましょう。

ノイズと言えば・・・そう。TV放送終了後の「砂嵐」とかで耳にする「ザー」っという音になります。
普段あんな耳障りな音でも、この世界じゃ立派な「楽器」の一部なのです。

パーカッション相当として用いたり、効果音的な音にして曲の中に配置すれば良いアクセントにもなります。
ファミコンやゲームボーイではこのノイズが使いこなせてこそ「一流」なんではないかとさえ思います。(個人的な見解です。(^-^;)

さて、さっそく使い方を見ていきましょう。
SSGノイズというからには、SSGの鳴らし方が基本ベースとなります。

まずは以下のMMLをコンパイルしてみてください。

'{
 Title=ノイズサンプル1
 DataCreator=wani
 Composer=wani
 Comment=SSGサンプル(ノイズ)

 PartSSG=A0
 PartMixLevel=100
 ClockCount=192
}

'A0 T150

'A0 v100 o3

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

'A0 E1 m0,1 @1,1

'A0 w 0 c4 r4
'A0 w 5 c4 r4
'A0 w10 c4 r4
'A0 w15 c4 r4
'A0 w20 c4 r4
'A0 w25 c4 r4
'A0 w30 c4 r4

軽めのノイズ音から、重めのノイズ音まで間隔を開けて7回鳴ったと思います。

SSGの鳴らし方の時には見なかったコマンドがちらほらありますね。(赤字部分)
これらを1つずつ説明していきますね。

m0,1

これは「ミキサー」というコマンドになります。
mの後に続く数字で、SSGの音を出すのか(トーン発声)、それともノイズの音を出すのか(ノイズ発声)をスイッチ式に選択します。

mx,yとすると
xがトーン発生スイッチ(0:発声なし 1:発声)
yがノイズ発生スイッチ(0:発声なし 1:発声)
となります。

ですので、m0,1ということは、トーンは発声させず、ノイズのみ発声させるということになりますね。
ちなみに、mコマンドの指定を省略すると「m1,0」と同等になります。つまりトーンのみ発声させるモードってことですね。

w0

これは「ノイズ周波数」を指定するコマンドです。
wの後に続く数字で軽いノイズにしたり、重いノイズにしたりできます。
範囲は0~31で数字が大きい方が重いノイズになります。

wコマンドだけ指定してもノイズ音は出ませんので、そのあとに音階を指定してあげることで、めでたくノイズを発声することができます。
今回は「c4」ということで「ド」の音長4分で鳴らしていますが、ノイズ音では「レ」にしようが「ミ」にしようが音の変化はありません。

サンプルとして効果音を作ってみました。

'{
 Title=ノイズサンプル2
 DataCreator=wani
 Composer=wani
 Comment=SSGサンプル(ノイズ)

 PartSSG=A0
 PartMixLevel=100
 ClockCount=192
}

'A0 T150

'A0 v100 o3

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

'A0 E1 m0,1 @1,1

'A0 w30c64 w25c64 w20c64 w15c64 w10c64 w5c64 w0c64

重めのノイズから軽めのノイズへ音調64分という高速再生で鳴らしています。イースで「敵にダメージを与えている効果音」に似てますね(笑)

もう1つ。こんなのも。

'{
 Title=ノイズサンプル3
 DataCreator=wani
 Composer=wani
 Comment=SSGサンプル(ノイズ)

 PartSSG=A0
 PartMixLevel=100
 ClockCount=192
}

'A0 T150

'A0 v100 o3

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

'A0 E1 m0,1 @1,1

'A0 w30c4 w15c6 w20c8 w15c12 w10c16 w8c32 w4c64 w0c96

これも重めのノイズから軽めのノイズへ徐々に早くして鳴らしています。ドラクエで魔法を放ったような効果音ですね。(^-^;

こんな感じで効果音作りを楽しんでみても面白いですね。

さて、ミキサーのコマンドで「m0,1」と「m1,0」の話をしましたが、勘の良い人は「m1,1」にするとトーンとノイズの両方の音が出るんじゃ・・・。と感じた人もいるでしょう。

正解です。(笑)

ミキサーでノイズ発声のみだけだと音階はあまり意味を成さなかったのですが、「m1,1」で両方一緒に出すとなると音階も意味を成してきます。

'{
 Title=ノイズサンプル4
 DataCreator=wani
 Composer=wani
 Comment=SSGサンプル(トーン+ノイズ)

 PartSSG=A0
 PartMixLevel=100
 ClockCount=192
}

'A0 T150

'A0 v100 o3

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

'A0 E1 m1,1 @1,1

'A0 w10c32 w8d32 w6e32 w4f32 w2g32 w0a32

こんな感じで、トーンとノイズを融合させた効果音作りもできます。

今回はここまでです。良い効果音ができたら自分にも教えてください!(笑)


FMP ver 7.10Gがリリースされました

2015-12-03 23:14:22 | リリース情報

約1年半ぶりにFMP7がバージョンアップしました。

不具合および一部仕様を変更したバージョンです。皆さまバージョンアップを!

■バグフィックス
・LFOのPUSH/POP時に環境によりFMP7が強制終了する。
・LFO未定義時にPOPが正常に機能しない。

■仕様変更
・LFO未使用時にLFOスイッチを指定した場合にコンパイルエラーとする仕様を廃止。
 スイッチで1を指定してもLFOは有効とならず何も変化はありません。

ダウンロードはFMP archive centerにて。