atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
FF7をファミコンに移植させた職人は神認定 まとめページver.2 @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FF7をファミコンに移植させた職人は神認定 まとめページver.2 @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FF7をファミコンに移植させた職人は神認定 まとめページver.2 @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FF7をファミコンに移植させた職人は神認定 まとめページver.2 @ ウィキ
  • NSFを作る

NSFを作る

最終更新:2012年10月01日 02:41

Bot(ページ名リンク)

- view
だれでも歓迎! 編集
ここは、NSFの作り方について書くページです。
(2ch発祥のmck wikiが実はありますが、おーるいんわん志向?で)

NSFの仕様・FF特有の仕様はNSFの仕様、
必要なソフトの入手や導入は参考webサイト・製作ツールを
(最新のmck環境の導入法ではないので、最新がいい人は他所を……)
見てください。

※記事作成した管理人はNSFわからないので前身wikiの丸写しです。

  • ■NSF00:初めに
  • ■半角文字で書く
  • ■コメント
  • ■NSF01:基本
  • ■チャンネル
  • ■音高
  • ■休符
  • ■音長1
  • ■音長2
  • ■初期化
  • ■NSF02:頻出コマンド
  • ■@(0~3の数字)……音色指定1[AB]
  • ■v(0~15の数字)……音量指定1[ABD]
  • ■@v(0~255の数字)……音量指定2[ABD]
  • ■NSF03:NSFのいろいろなテクニック
  • ■無音部分をフル活用する
  • ■LFOの考え方
  • ■2音が重なってしまう時の対処法

■NSF00:初めに

■半角文字で書く

NSFのソースには半角文字のみ使用しましょう。

A c4e4g4e4c1

と書くのは問題ないけど、

A c4e4g4e4c1

とか書いたら多分エラーです。
あと、大文字と小文字は意味が異なるので注意。
目に見えない全角スペースとかでもエラー出ます。

■コメント

ただし、コメントだけは例外です。

//(コメント文)

と書けば、//以降は無効になるので、全角文字も問題ありません。

A ec<a>fc<a>f+c<a>fc<a>ec<b>d //FF6のボス戦の最初

のようにメモに使えます。
フレーム
NSFでは、演奏を毎秒60フレームという単位で行います。
つまり1フレーム=1/60秒です。
説明の中で時折「フレーム」という言葉が出てくるので覚えておきましょう。

ここでは、基本ということで、とりあえず最低限必要なことを。
とりあえず曲らしいものを作るにはここだけで十分、かも。

■NSF01:基本


■チャンネル

音楽(NSF)@FCに書いてある通り、NSFでは
矩形波*2 + 三角波*1 + ノイズ*1(+ DPCM)
の4音(5音)を用いて曲を作っていきます。
これらの音は、個別に演奏を指定していくことになります。
指定するために、各音ごとにチャンネル名が指定されており、
-A:矩形波1
-B:矩形波2
-C:三角波
-D:ノイズ
-E:DPCM
となっています。
例えば、矩形波1の演奏内容は
A @2 v10 o5 q8 c4f4g4c4 b-2a4g4 f4e8f8g4d4f2e2
などのように指定します。

■音高

音の高さは、音名(ドレミ)とオクターブ数で指定します。
音名は、以下のようにa~gのアルファベットで表現します。
ド=c、レ=d、ミ=e、ファ=f、ソ=g、ラ=a、シ=b、
これに加えて、アルファベットの後に+や-を付ける事で、
#や♭を表現します。つまり、
[c] [c+/d-] [d] [d+/e-] [e] [f] [f+/g-] [g] [g+/a-] [a] [a+/b-] [b]
で1オクターブ中の12音を表現します。
これは、音の高さもこの順番(aやbの方がcより高い)なので注意。

次にオクターブですが、これは、o(1~7くらい?の数字)で指定します。

例:A o3 cdegcdegcgedcged //あれ、変なプレリュード

数字が大きいほど高い音です。
一度指定してやれば、以降の音は全てそのオクターブで鳴らされます。
また、現在のオクターブ数から相対的に1上げる、下げるといったことも出来ます。
1オクターブ上げる場合には > 、下げる場合には < を書けば
オクターブを変更することが出来ます。

例:A o3 cdeg>cdeg>c<gedc<ged //おお、まともなプレリュード

なお、同じ「o4c」を鳴らすと、三角波パートの方が矩形波パートより1オクターブ低く聞こえます。
三角波パートは、矩形波パートよりオクターブの数字を1つ上げるようにしましょう。

■休符

音を鳴らさないことを指定する音符です。
音名の代わりに r と書きましょう。
(DPCM、つまりEチャンネルの場合は w の方がいいそうです)

■音長1

音の長さは、音名の後に数字(と付点)を書くことで指定します。
数字は、「○分音符」の○の数字です。
また、付点(音長が無印○分音符の1.5倍になる)は、
数字の後に半角のピリオド . を書いて指定します。

例:c4. //ドの付点4分音符(8部音符3つ分)

数字と付点だけで表現できない音長は、複数の長さをくっつけて指定しましょう。
数字同士を ^ で繋げれば、それらを合わせた長さだけ鳴らします。

例:c2^8 //ドの2分音符+8部音符(8部音符5つ分)

また、よく使う数字や見栄えの良くない数字について、
デフォルトの音長に指定することで記述を省略することが出来ます。

例1:c16d16e16g16>c16d16e16g16>c16<g16e16d16c16<g16e16d16
例2:l16 cdeg>cdeg>c<gedc<ged
↑どちらも同じ演奏情報

■音長2

音長1の方法で指定した音長の内、実際にどれくらいの間鳴らすのかを
q コマンドで指定できます。
何のことか分からないって? 例えば、

例1:A l8 crcre-rcr crcre-rcr crcre-rcr g-rfre-r<b-r>

と、ずーっとスタッカート気味に演奏するとき、
「指定した音長の半分だけ鳴らす」と指定できればいいね、という話です。
書式は、 q(1~8) で、これを指定すると、以降の全ての音は
「指定した音長の初めの(数字)/8だけ音を鳴らす」ようになります。

例2:A l8 q4 cce-c cce-c cce-c g-fe-<b-> //例1と同じ

また、もっと細かく「最後の○フレームだけ音を止める」という指定も出来ます。
書式は @q(数字) で、これを指定すると、以降の全ての音は
「指定した音長の(数字)フレーム前まで鳴らす」ようになります。
Cチャンネルの三角波は連続して鳴らすと全く切れ目無く演奏するので、
歯切れ良くするために@q1、@q2などを指定することが良くあります。

■初期化

↑に書いてある内、
・o(数字):オクターブ数を指定
・l(数字):音長を指定しなかった際のデフォルト音長を指定
・q(数字):実際に音を鳴らす時間を指定
の3つは、初期化情報として最初に書いておくと見やすくなります多分。

C o3 l8 @q2
C aaaaaagg aaaaaagg aaaaaagg aaaaaagg
ちなみに、ノイズ、つまりDチャンネルは、
オクターブを指定しても意味がありません。

■NSF02:頻出コマンド


■@(0~3の数字)……音色指定1[AB]

NSFの仕様の説明に、矩形波には4つの音色があると書いてありますが、
それを指定するのがこのコマンドです。
@0が汚い音、@2がクリーンな音、@1がよく使う音、@3=@1、
というのが管理人の認識ですが、実際に鳴らして感じを掴みましょう。
ちなみに、@1と@3は本当に(ほぼ)同じ音です。
例:A @0c4 @1c4 @2c4 @3c4

■v(0~15の数字)……音量指定1[ABD]

v(数字)は、音量を指定するコマンドです。
数字は 0(無音?)~15(最大) の間で指定します。

例:A o5 l8 @q2 v8 dr<bge>d<bg brgrb4.a

■@v(0~255の数字)……音量指定2[ABD]

超重要コマンドです。
NSFの出来の20%位はこいつに握られていると言って過言ではありません。
これは、フレーム単位での音量変化を登録し、指定するコマンドです。
まずは、チャンネルの外で音量変化の登録を行います。書式は
@v○={1フレーム目の音量 2フレーム目の音量 ……}
となっています。これは、チャンネルの外に書きます。
つまり、○:**@v0={~}
×:A @v0={~}
ということです。
音量は1フレームごとに次の数値に変化し、最後の数字に来ると
以後はその数字を維持し続けます。
ただし、途中に|を挟んでやると、|以降の数値変化がループします。
つまり、{10 9 | 8 8 7 7 }={10 9 8 8 7 7 8 8 7 7 8 8 7 7……}
ということです。

次に、登録した音量変化をチャンネルに指定します。書式は
A @v○
です。


■NSF03:NSFのいろいろなテクニック


■無音部分をフル活用する


例1
フレーズの切れ目を綺麗に響かせる
@v1 = { 10 9 }
@v2 = { 4 3 3 2 }
A @2 @v1 o4 q8 l4 f2b-2a1 rfb-a gf>d2
;↓
A @2 @v1 o4 q8 l4 f2b-2 @vr2 @q1 a1 w @vr255 q8 fb-a gf>d2

リリースエンベロープ機能を使用した例。
@v2がリリース用のエンベロープで、チャンネルの中では@vr[数字]で
指定します。
@vr255とすると、リリースエンベロープの指定が解除されます。

リリースエンベロープは、qや@qで発音しない部分や、
wで指定した休符の部分に使用されます。
rで指定した休符には適用されません。

なお、@vr[数字]を指定しているときにq8を指定すると、最初からリリース用のエンベロープで鳴ってしまうバグがあります。
回避法としては、@q1を使い、その途切れる1フレーム分を、
@v2 = { 9 4 3 2 }
と、リリースエンベロープの中に書き込んでしまうという手もあります。

例2
2つのパートを交互に演奏する

A t120 @2 v9 l8 q8 o4 rcrcrcrc
B t120 @2 v9 l8 q8 o4 rererere
C t120 l8 q8 o4 cr<gr>cr<gr
マーチのリズム。これだと3パートが必要で、メロディが鳴らせない。
でも、

B t120 @2 v9 l8 q8 o4 rererere
C t120 l8 q8 o4 c>c<<g>>c<c>c<<g>>c

Cパートの休符部分を活用して、ベースと和音を交互に演奏することで、
2パートで同じような表現が可能。
これでAパートをメロディに使えます。

例3
いわゆる「セルフディレイ」

超高等テクニック。

@v1 = { 10 }
@v2 = { 2 }
A @2 o4 l8 q8 @v1 crdrerfr g1 ;基本
A @2 o4 l8 q8 @v1 crd@v2c@v1e@v2d@v1f@v2e @v1g1 ;応用
;つまり、1拍半遅らせてディレイの音を鳴らす。
;効果は高いけど、MMLが非常に見にくくなるのが難点といえば難点。

;ただし、ppmckの最新バージョンでは、もっと見やすく書けます。
A @2 o4 q4 @v1@vr2 SD1 c4d4e4f4 SDOF @vr255 q8 g1

SD[数字]でセルフディレイを開始し、SDOFで解除。
qコマンドや@qコマンドで指定した発音しない部分に、
リリースエンベロープを使って、ディレイの音を自動的に挿入します。
詳しくはppmckのドキュメントを参照してください。

■LFOの考え方

LFOには大きく分けて、「ピッチLFO」と「ボリュームLFO」があります。
ピッチLFOは
@EP1 = { 0 0 0 0 0 0 0 0 0/ 1 0 0 -1 0 0 }
や
@MP1 = { 10, 3, 1, 0 }
といった具合に指定。

ボリュームLFOは、
@v1 = { 10 10 10 10 10 10 10 10 10 /9 9 9 10 10 10 }
といった具合に指定。

どちらも効果がありますが、ボリュームLFOの方が上品な感じかも。

ちなみに実際の楽器などの場合はどうでしょうか。
弦楽器やギター:
弦のどこに指を置くかで音程が決まります。
LFOをかけるときは弦の上で指を震わせる=音程が変動するので、
ピッチLFOをかけていることになります。

管楽器(金管・木管とも):
管楽器は、唇を震わせて音を出します。息の量に応じて音量が変わりますが、
唇を震わすということは息の量が周期的に変動するということです。
つまりボリュームLFOということになります。
ファミコンの音源では、どちらを使うかはケースバイケースですが、
うまく使い分けるとリッチなサウンドが作れます。

■2音が重なってしまう時の対処法

2つの音が同音になってひずんでしまう状況の対処例として、
以下の方法があります。

A @2 v10 q8 o4 e1^1^1
B @2 v10 q8 l8 o4 cdefgab>c dc<bagfed c1

これだと、o4eが重なるところで音が歪む可能性があります。
次のように、重なる部分で、短い方の音に一時的にデチューンをかけると
回避できます。

A @2 v10 q8 o4 e1^1^1
B @2 v10 q8 l8 o4 cd D1 e D0 fgab>c dc<bagf D1 e D0 d c1








タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「NSFを作る」をウィキ内検索
LINE
シェア
Tweet
FF7をファミコンに移植させた職人は神認定 まとめページver.2 @ ウィキ
記事メニュー
管理人:822@7.5
要望はスレに書き込めば多分見ます。

wiki内検索

検索 :

■wiki関係

トップページ
トップページ。現状等が書いてあります。

このwikiについて・FAQ
(割と)よくある質問。このwikiの説明も少し。

投票ページ
どの素材を使うか迷った時とかに意見を聞く為の投票ページ。

■ファミコンの仕様

●グラフィック関係

グラフィック全般の仕様
グラフィック製作における予備知識です。

キャラクターグラフィック
マップ移動時&戦闘時のキャラクターグラフィックについて。

モンスター
モンスターグラフィックの仕様について。

マップ
町、ワールドマップについて。

戦闘背景
戦闘時の背景について。

戦闘アニメーション
魔法などのエフェクトについて。

●サウンド関係

NSFの仕様
NSF(ファミコンの音楽形式)について。

NSFを作る
NSFの記述の仕方、テクニックについて。

■開発について

参加したい人向け・FAQ
読んで字のごとく、これから製作に参加したい人向けのFAQ。

製作ツール
素材製作のためのツールを紹介するページ。
スレ住人の作ったツールもここに格納。

■ エディタの使い方
├ マップエディタ
├ イベントエディタ
└ イベントスクリプト

■ 欲しいものリスト
├ BGM関係
├ 効果音関係
└ グラフィック関係

TortoiseSVN導入
開発用ファイル共有システムの導入について。

文章表記
セリフ等テキストの表記ルールについて。

スレでの提案、アイデア
そのまんまスレで出た意見やアイデア。

その他

敵パーティ編成
敵パーティ編成表。

参考webサイト
製作するにあたって資料となりそうなwebサイト紹介するページ。

wiki編集ルール
編集する際のタグのきまりごと。守れば読みやすくなるかも。


当ページの訪問者数
本日 - 人
昨日 - 人
合計 - 人
リアルタイム:-
記事メニュー2

最終更新日

2012年11月22日 (木) 01時45分40秒

更新履歴

取得中です。


ここを編集
人気記事ランキング
  1. 効果音関係
  2. マップエディタ
  3. イベントエディタ
  4. wiki編集ルール
  5. このwikiについて・FAQ
もっと見る
最近更新されたページ
  • 198日前

    投票ページ
  • 3391日前

    このwikiについて・FAQ
  • 4243日前

    NSFの仕様
  • 4508日前

    トップページ
  • 4625日前

    参加したい人向け・FAQ
  • 4625日前

    メニュー
  • 4662日前

    製作ツール
  • 4670日前

    wiki編集ルール
  • 4672日前

    TortoiseSVN導入
  • 4673日前

    マップ
もっと見る
人気記事ランキング
  1. 効果音関係
  2. マップエディタ
  3. イベントエディタ
  4. wiki編集ルール
  5. このwikiについて・FAQ
もっと見る
最近更新されたページ
  • 198日前

    投票ページ
  • 3391日前

    このwikiについて・FAQ
  • 4243日前

    NSFの仕様
  • 4508日前

    トップページ
  • 4625日前

    参加したい人向け・FAQ
  • 4625日前

    メニュー
  • 4662日前

    製作ツール
  • 4670日前

    wiki編集ルール
  • 4672日前

    TortoiseSVN導入
  • 4673日前

    マップ
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. Shoboid RPまとめwiki
  2. テイルズオブ用語辞典
  3. トリコ総合データベース
  4. 固めまとめWiki
  5. ストグラFV まとめ@非公式wiki
  6. イナズマイレブンGO2 クロノ・ストーン ネップウ/ライメイ 攻略wiki
  7. みんなで決めるゲーム音楽ベスト100まとめwiki
  8. グランツーリスモWiki
  9. 魔法科高校の劣等生Wiki
  10. ゆっくり虐め専用Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ゲームカタログ@Wiki ~名作からクソゲーまで~
  3. ストグラ まとめ @ウィキ
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. 英傑大戦wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. MADTOWNGTAまとめwiki
  3. まどドラ攻略wiki
  4. ちいぽけ攻略
  5. SurrounDead 攻略 (非公式wiki)
  6. Shoboid RPまとめwiki
  7. シュガードール情報まとめウィキ
  8. 戦国ダイナスティ攻略@ウィキ
  9. ソニックレーシング クロスワールド @ ウィキ
  10. 20XX @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. angler - MADTOWNGTAまとめwiki
  2. 参加者一覧 - MADTOWNGTAまとめwiki
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  5. SILENT HILL f - アニヲタWiki(仮)
  6. ギャプラン - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. XVI - MADTOWNGTAまとめwiki
  8. 模擬ドラフト結果 - おんJ模擬ドラフトまとめwiki
  9. 参加者一覧 - ストグラ まとめ @ウィキ
  10. 白狐 - MADTOWNGTAまとめwiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.