
ファミコンの”音”を求めて
どうも、y-tetsuです。「ソウルマン」という「ロックマン」を目指したゲームの個人開発をしています。
今回は、筆者がファミコンの”音”を求めている中で出会った、「VirtuaNES」と「NSD.Lib」というツールをご紹介します。(文章ちょっと長めです)
今のところ、「ソウルマン」のすべての音作りは、これらをもとに進めています。(というより、これらのおかげで、自分の求める感じの音作りができています)
VirtuaNES
Windows用のNES/ファミコンエミュレータです。
nsfという形式のファイルを読み込み、Windowsのパソコン上でファミコンの”音”を再生できます。また、wav形式へのファイル出力も可能です。
http://virtuanes.s1.xrea.com/index.php
リンク先の本家のホームページは、文字化けしていてちょっと怪しい雰囲気を感じるかもしれませんが、一応、私の環境では特に悪さはない状態です。なので安心していただいてもいいのかな、と思います。
↓から本体をダウンロードしました。

こんなツールの見た目です。

ファイルメニューから、nsfファイルを開いて曲を再生したり、wav形式でファイル出力したりできます。
NSD.lib
mmlという形式の、”楽譜”を表現したファイルを読み込み、nsf形式のファイルに変換します。(何を言っているかわからないと思いますが、後でもう少し説明します)
https://github.com/Shaw02/nsdlib/releases
↓からダウンロードしました。

展開したフォルダの「nsdl130\bin\nsc64.exe」が本体になります。
多少専門的で申し訳ないですが、コマンドプロンプトで、以下のコマンドを実行することで、mmlファイルをnsfファイルに変換することができます。
.\nsc64.exe -L.\nsd.bin sample.mml※sample.mmlは例ですので、適宜、ご自身で作成されたmmlファイル名に読み替えてください
曲を作る作業
これらのツールを使い、以下の手順を踏むことで、ファミコンの”音”をした曲を奏でることができます。
mmlファイルを作る!
1.のmmlファイルを「NSD.lib」を使ってnsfファイルに変換する!
2.のnsfファイルを「VirtuaNES」を使って出来栄えチェックして、wavファイルに変換する!
3.のwavファイルをゲーム内で読み込み、再生する!

上のサンプルを見てもおわかりの通り、mmlの作成では、基本的に音符を1つづつ打ち込むということになります。
今は見ることも触れることもない、初期の「携帯電話の着メロ」を打ちこむ感覚に近いかもしれません。書式を覚えるまでが面倒ですが、mmlの作成作業には昔のような"ナツカシさ"が漂います。鳴る音もファミコンそのものというのが、なんとも…。
こうして作った”楽譜”となるmml形式のファイルを、「VirtuaNES」が読み込めるnsf形式に変換して、そこから、さらにゲーム(pygeme)で読み込めるwav形式に変換します。これでようやく、ゲームプレイ中に曲が流せるようになりました。(めでたし、めでたし)
(………でも、DTMの道には、うまく踏み込めなかったなぁ、、、)
最後に
環境のセットアップ、mmlの仕様や作成テクニックなど、もう少し掘り下げてみたいところですが、それはまた別の機会に。(まだまだ教えられるほど、詳しくないってだけですが…)
ひとまず、筆者が先ほどの手順を繰り返して、mmlと数日格闘したところ、無事に「ソウルマン」のタイトル画面に添えるBGMを完成させることができました~。
曲のタイトルは「soulman」です!よかったら聞いてください!!
別々になって申し訳ないですが、タイトルのアニメーションも置いております。ぜひ、タイトルと合わせた雰囲気を味わってください。
(音量にお気をつけくださいね)

この曲は深夜にメロディが下りてきた、筆者の渾身の一作です、いかがでしょうね?
最後までお読みいただき、ありがとうございました。
皆様も良きライフワークを!!