NSF DEPOSITORY
NSFとは「NES Sound Format」の略です。NESとは「Nintendo Entertainment System」の略、つまりファミコンのこと。
要するにNSFとは「ファミコンで音楽を鳴らすための規格」です。
ここは、私が趣味で作成したNSFの置き場です。
なお、これらのデータの権利の一切は、作曲者、並びに、メーカーに帰属しますので、取り扱いにはご注意を。
DOWNLOAD
HOW TO
- 上のDOWNLOADのリンクから音楽データ(zip形式)をダウンロードします
- 下の「VirtuaNES」のリンクからVirtuaNES(音楽プレイヤー)を入手します
- VirtuaNESを起動し、ダウンロードした音楽データ(zipのままでOK)をドラッグ&ドロップ
- 「↑」で演奏開始、「↓」で演奏停止
- マルチトラックNSF(複数曲入ったNSF)は、「←」「→」で選曲
DEVELOPMENT TOOLS
開発環境の構築方法。
- ppmckを任意のフォルダに解凍する
- 同フォルダにmckwatchを解凍する
- mckwatchを起動
- 同フォルダのサブフォルダ「song」フォルダを作業フォルダとし、mmlファイルを作成
- mmlファイルをmckwatchにドラッグ&ドロップ
- 以降、mmlファイルのタイムスタンプが更新される度に、自動でコンパイル→プレイヤーを起動してくれる
- あらかじめ拡張子nsfをVirtuaNESに関連付けておくと色々捗る
ABOUT DPCM BASS
ファミコン内蔵PCM音源、DPCMを使って、後期サンソフトのゲームみたいなベース音を鳴らす方法をメモっておく。
まず、FM-77AVでF-BASIC3.3を起動して(笑)、音源番号25、オクターブ4のドの音を鳴らし、それを録音、wavファイル化する。
※余計なお世話だが、ドを鳴らす命令は「play"@25c"」なw
wavファイルのフォーマットを、44.100kHz、16bit、Monoに変更。長さは241.86ms(10666sample)でカットするのが良いっぽ?
FamiTrackerでdmc化。ドの音なのでファイル名も「c.dmc」にしておく。
一応FamiTrackerの使い方を簡単に書いておくと…
- FamiTrackerを起動
- Insrument → New Instrument
- Insrument → Edit → DPCM samples → Import
- 該当ファイルを選んで → Save
dmcファイルが完成したら、早速鳴らしてみる。mmlはこう書く。
@DPCM0 = { "c.dmc", 15 }
@DPCM1 = { "c.dmc", 14 }
@DPCM2 = { "c.dmc", 13 }
@DPCM3 = { "c.dmc", 12 }
E n0n1n2n3
再生すると「♪ド↑ ソ ミ ド」と鳴るはず。鳴らないときはdmcファイルの置き場所が悪いと想像。
あ、mmlの緑字の意味が分からない人は、nsfのmmlの文法を調べましょう。
さて、ここで下の表の「パラメータ」と「音階(例1)」に注目。
パラメータは、上のmmlの赤字に当たる。そして音階は、上から順にo4c、o3g、o3e、o3c…、つまり先ほど鳴らした「♪ド↑ ソ ミ ド」である。
まとめると、ド ド# レ レ# ミ、と連続した音階のdmcを「5つ」用意すれば、すべての音階が鳴らせる、というわけ。
パラメータ | 再生周波数 | 音階(例1) | 音階(例2) | 音階(例3) | 音階(例4) | 音階(例5) |
---|---|---|---|---|---|---|
15 | 33.14 | o4c | o4c+ | o4d | o4d+ | o4e |
14 | 24.86 | o3g | o3g+ | o3a | o3a+ | o3b |
13 | 21.30 | o3e | o3f | o3f+ | o3g | o3g+ |
12 | 16.88 | o3c | o3c+ | o3d | o3d+ | o3e |
11 | 13.98 | o2a | o2a+ | o2b | o3c | o3c+ |
10 | 12.60 | o2g | o2g+ | o2a | o2a+ | o2b |
9 | 11.18 | o2f | o2f+ | o2g | o2g+ | o2a |
8 | 9.42 | o2d | o2d+ | o2e | o2f | o2f+ |
7 | 8.36 | o2c | o2c+ | o2d | o2d+ | o2e |
6 | 7.92 | o1b | o2c | o2c+ | o2d | o2d+ |
5 | 7.05 | o1a | o1a+ | o1b | o2c | o2c+ |
4 | 6.26 | o1g | o1g+ | o1a | o1a+ | o1b |
3 | 5.59 | o1f | o1f+ | o1g | o1g+ | o1a |
2 | 5.26 | o1e | o1f | o1f+ | o1g | o1g+ |
1 | 4.71 | o1d | o1d+ | o1e | o1f | o1f+ |
0 | 4.18 | o1c | o1c+ | o1d | o1d+ | o1e |
なお、重複する不要な音階には、親切に取り消し線を入れてあげましたよ。