8bit音楽の作り方講座その1

こんにちは。Sound Escapeのrana(@rana_mzk)です。

このサイトはYouTube向け8bitフリー素材サイトと名乗っています。

8bit音楽の制作にはコツがあり、私はMML(Music Macro Language)という方法を使っていますので、少し敷居の高い方法でやっています。

ちょっとずつですが、8bit音楽の制作のコツなどをおはなしできればと思いますので、お付き合いいただければ幸いです。

8bit音楽は簡単?

よくある間違いに「8bit音楽は3音しかないから簡単だ」というものがあります。

これは完全に間違いです。

何故かというと3音しか使えない手前、いろんなテクニックを吸収しないといけないので、技術的に成熟するまでにとても時間がかかるからです。

3音しか使えないと言いましたが、ファミコン音楽では理解するべきことがたくさんあります。

例えば、ファミコンの三音というのは3チャンネル音が使えるという意味ですが、その3チャンネルもすべて同じ音ではありません。

1,2チャンネルは矩形波のチャンネルであり、Duty比と言われる波形の比率で音色が決まります。12.5%、25%、50%の比率で音が変わり、これが音色作りの肝になってきます。

昨今の8bit音楽ではDuty比の切り替えで声を表現する手法があり、細かい打ち込みに加えて、8bit音楽ならではの発想力も試されると思います。

こちらはVRC6という拡張音源を使い、+3音でトランス的な曲を書いている曲なんですが、ボーカルはDuty比の切り替えや打ち込みを駆使して歌っているかのような表現をしています。

このボーカルは、オリジナルが桃井はるこさんの歌なんですが、日本語として8bitで再現してこの動画のように打ち込んだ方というのはアメリカ人の女性になります。日本人じゃないのにとても驚きました。

いかがでしょうか?ここまでくれば極めているという領域だと思いますが、とても大変なのがわかると思います。

仕様を理解する

ファミコンの仕様を理解しましょう。

先ほど、1,2チャンネルの役割については説明しました。では次は3音目になる、3チャンネル目です。

こちらは三角波と言われていまして、主にベースに使われる音源になります。

三角波はボリュームが一定に決まっています。1、2チャンネル目の矩形波は音量がいじれるのですが、三角波ではそうはいきません。

さて、皆さんに質問です。

本来ベースに使う、三角波ですが、これをメロディーに使うとどうなるでしょうか?

答えは、ピッチがずれるというのが正解になります。

ファミコンは8bitですが、こちらの8bitというのは0から7の8bitの計算になり、綺麗な整数値にならないんですね。

また、ファミコンの音の高さを割り出す計算式というのもありまして、そちらで計算すると、確かに三角波は上ずったりしてうまくピッチがあいません。

ドラゴンクエスト3のおおぞらをとぶという曲がありますが、こちらはメロディーに三角波を使っていて、とても効果的に計算されている曲のように思います。

ノイズチャンネルの使い方

最後になりますが、3音に通常含まないところで、ノイズチャンネルの解説を簡単にします。

「ファミコンは3音」というのは間違いではないのですが、実際にはノイズのチャンネル、またDPCMと言われる、PCMチャンネルが4チャンネル目、5チャンネル目に存在します。

ノイズとDPCMは通常ドラムに割り当てて使うのですが、たとえばDPCMではサンプリングした声なども入れられますので、理論上はなんでもできるチャンネルになります。

当時は予算の関係でDPCMチャンネルはほとんど使われることがなかったようですので、ノイズチャンネルでのドラムメイキングが肝になってきます。

こちらも1チャンネルでキック、スネア、ハイハットの要素を表現することになりますので、とても大変ですね。

ファミコンの仕様に興味を持たれた方は

ファミコンの仕様に興味を持たれた方はnesdev wikiを覗いてみると良いでしょう。

https://wiki.nesdev.org/w/index.php?title=Nesdev_Wiki

こちらは英語ですが、とても役にたつことが書いてあり、仕様が公開されていないファミコン音源でとても役に立ちます。

また後述しますが、mck wikiというサイトは日本語でのチップチューンメイキングに有用な情報がたくさんありますので、是非目を通されることを推奨します。

8bit音楽の作り方

さて、実際の8bit音楽の作り方ですが、以下のような方法があると思います。

A.VSTiを使う

B.MMLを駆使してNSFを作成する。

C.トラッカーを使う

D.専用のDAWを使う

主にはこの4つだと思います。

順番に説明していきます。

A.VSTiを使う

この方法はまず合うかどうか試してみて欲しいです。

通常のDAWという作曲ソフトと合わせて使う方法です。

VSTiというのはシンセサイザーのプラグインのことですね。

おすすめのVSTiがあります。

YMCKというチップチューンミュージシャンの方が作っている

magical 8bit plug2

です。

https://ymck.net/

この動画を作る際に使ったりしています。

ドラクエの呪文の効果音を作ってみた。

ドラクエの効果音を再現してみたやつです。

こちらの動画では先ほどご紹介したDuty比の切り替えの応用で、矩形波の音色切り替えを高速で12.5%→25%→50%と切り替えるようなことをやっています。効果音作りは楽曲制作よりも音に対する知識などがより必要になりますので、まずは楽曲制作をしてからこういった効果音を作られると良いと思います。

まずはガレージバンドやフリーのDAWとかを使ってこのプラグインを使えないか試してみると良いと思います。

今回はガレージバンドでの作り方を解説していきます。

まずはVSTi本体をダウンロードします。

右上のAPPから
左のこちらをクリックします
下にスクロールします
Macの場合は左、Windowsの場合は右をクリックしてダウンロードします。

ダウンロードはこれで完了です。

次はMacに認識させるためのセットアップをしましょう。

Macへのインストールは色々とやり方がありますが、今回はComponentsを利用する方法を採用しました。

Zipファイルを解凍するとこんな感じです。

ライブラリ→Audio→Plug-Ins→ComponentsのフォルダにComponentsフォルダにあるMagical 8bitPlug2.componentを配置します。

私のMacではこんな感じです。

Logicやガレージバンドが既に起動されている状態の方はプラグインの読み込みのため、一度ソフトを再起動しましょう。

再起動しましたら、Smart Controlをメニューから表示させて、magical 8bit plug2を読み込みます。

この画面まで辿り着くが大変ですよね。

上のバーのメニューの表示から、Smart Controlを開くと画面の真ん中のプラグインというところに表示されているElectric Pianoあたりの音色が押せますので、ここを押してYMCKのプラグインから読み込んであげましょう。

キーボードもメニューから表示させることができます

ここまで、くれば後は打ち込むだけですね。お疲れ様でした。

その他フリーソフトに関しては、こちらの記事をご参照ください。

B.MMLを駆使してNSFを作成する

私が使っている方法です。

敷居はかなり高いです。

まずMMLという手法についてですが、MusicMacroLanguageといって、文字で作曲する方法になります。

このサイトでも公開しているフリーの素材にお城をイメージした曲があります。

これ、どうやって書いているかというとこんな風に書いています。

#title		"Castle above the sky"
#composer	"rana"
#Copyright	"nsd.lib, Copyright (c) 2012 S.W. All rights reserved."
#offsetPCM	$C000
#code		"nsd.bin"
#bgm		1
E(3) = {      	06 08 10 11 11 11 10 10 10 10			;StringsA
		09 D8 09 D8 08 D8 08 D8 07 D8 07 D8 L	06 }
E(5) = {       	10 07
		13 11 09 07 05 03 02
		04 07 05 04 03 02 02 01
		03 05 04 03 02 02 01 L 01 }
BGM(0)
{
//intro
TR1 Ev5 EC2,3 l4 [o4 ga>cdega>c]4
TR2 [r-1]8
TR3 [r-1]8
TR1 [o4 ga>cdega>c]4
TR2 [r-1]8
TR3 o5 l1 dc <ba> dc<ba>
TR1 [o4 ga>cdega>c]4
TR2 o4 Ev3 l1 dc <ba> dc<ba>
TR3 [r-1]8
TR1 [r-1]8
TR2 o4 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR3 o3 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR2 o4 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR3 o3 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR1 o5 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR1 o5 l8 gaga>c4< gaga>c4< gaga
          gaga>c4< gaga>c4< >d<bag>
TR2 [r-1]8
TR3 [r-1]4 [o6 dc<ba>]8
}
実際にできる曲はこんな感じ

こういう風に作曲していくのがMMLで曲を書く方法です。

敷居が高い、というか普通の人が見たら何をしているかわからないと思います。

プログラミングと一緒で「できる人はできるけど、わからない人にはわからない」という壁がある気がしますね。

MMLは1970年代くらいから日本で使われていますので、リファレンスが比較的たくさんあるのかなと思います。人によってはさっきのようにMMLを公開している人がいます。

ちょっと前まではmckというコンパイラーが使われていました。

コンパイラーというのはMMLをNSFに変換するものです。

このNSFというのが当時ファミコンでも使われていたのと同様の音楽のフォーマットになります。

ものすごく有名な曲ですが、mckを使って書かれている曲としてはこういう曲がありますね。

http://www.rootnyanplus.com/user/naruto/chiptune.html

(*最近の曲はBandcampに移行したようで、Badncampで音源を買うとNSFがついてくるようです。)

narutoさんはホームページで一部のMMLも公開しているので、参考にしてみると良いかもしれません。

NSFというのはNES Sound Formatの略と言われています。

mck wikiがこのあたりは詳しいので、是非のぞいてみてくださいね。

https://wikiwiki.jp/mck/

NSFが扱えるとどんな利点があるかというと、実際のファミコンから出力できるという大きなメリットがあります。

現在は生産が終了してしまっているようですが、よくテラネットワークシステムさんという同人サークルの自主制作ハードウェアが使われるようですね。

http://www2s.biglobe.ne.jp/~tns/

mckについて知りたい方はWiz.さんの書かれた「上手な草の生やし方」という本が役に立ちます。

http://fmpsg.info/wizcd/pdf/ppmck_w.pdf

最近はmckと合わせて、nsd.libというコンパイラーがよく使われています。

http://shaw.la.coocan.jp/nsdl/

私もnsd.libを愛用しています。

MMLという方法にこだわるのであれば、最初はテキスト音楽「サクラ」に触れてみると良いと思います。

https://sakuramml.com/

MMLは敷居が高いのですが、書けるとそんなにハイスペックなパソコンもいりませんし、場所も取らなくてよいです。私はよくスタバでMacBookAirを広げながら曲を書いています。

せっかくなので、MMLでの制作方法についてもちょっとだけお話しできればと思います。

まずはテキストエディタ、コンパイラー、NSF再生ソフトを用意します。

テキストエディタはメモ帳でもなんでも良いのですが、私はMicrosoftのVisual Studio Codeを使っています。

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

このMMLを書く工程というのが、NSF制作のキモになってきます。

テキストエディタが用意できたら、次はコンパイラーを用意します。

mckもMacで使えるのですが私は最近はnsdlibを愛用していますので、自分用にビルドして使ったりしています。

https://www.tatsuyakitahara.com/archives/289

こちらの記事を参考にセットアップしてみてください。

再生ソフトについてはnsfplayもしくはnsfplayjが良いと思います。Windowsの方はnsfplayを、Macの方はnsfplayjを利用しましょう。

http://bbbradsmith.github.io/nsfplay/

nsfplay本家サイトはこちらから。現在のバージョンは2.4です。

https://github.com/osoumen/nsfplayj

osoumenさんがMac/Linuxでも使えるようにJUCEというプラットフォームを使い、 nsfplayを移行してくださっています。アプリの出力などにJUCEが必要なのですが、無料版でビルド可能ですので、利用してみましょう。

ここまで、揃ったらようやくMMLを書き始めます。

まるでわからないという方はnsdlibのsampleを見てみましょう。

まずはsampleのNSFを聞いてみると良いと思います。

良いなと思った曲があったらMMLをよくみて、解析してみましょう。

MMLの実際の書き方については、どうやったらうまくかけるかはまだ私も暗中模索なところがあるのですが、プログラミングと同じで、書くのがうまくなりたかったら、とにかく書くしかありません。

実際のMMLの流れについてはnsdlibのマニュアルに記載もありますし、下記に紹介します、私のフリー音源サイトでは8bit音楽を作った際に書いたMMLは公開していますので参考になさってみてください。

勉強の仕方として、まずはこのサイトにある、MMLをテキストエディタにコピー&ペーストして、保存。コンパイルしてみて、聞いてみた後に自分なりにそのMMLをいじってみるというのがスタートとして良いと思います。また、各種ツールなどを使って既存の楽曲をコピーするのも役に立ちますね。

C.トラッカーを使う

トラッカーというのは、MMLと合わせてよく使われている形式ですね。

famitrackerなどが有名です。

https://github.com/HertzDevil/0CC-FamiTracker

特にこの0CC Famitrackerというのがよく使われています。

こんな感じで上から下に流れていく感じです。MMLと比べるとグラフィカルでわかりやすいですよね。

私はトラッカーもたまに使ったりしますがゲームボーイなどで曲を書きたい方はトラッカーが向いています。

こちらはファミコンではありませんが、ゲームボーイだとlsdjなどがよく使われていて、トラッカー形式になっている感じです。

https://www.littlesounddj.com/lsd/index.php

LSDJについてはこちらをご参照ください。

https://www.tatsuyakitahara.com/archives/298

トラッカーは国際標準なのですが、私はあまり詳しくないため、mck wikiの項目などをみて導入されると良いと思います。若手のチップチューナーはトラッカーが多いようです。

D.専用のDAWを使う

AのVSTiを使う方法にやや近いと思います。こちらはDAW的なソフトを使う方法です。

ソフトとしてはいろいろとあります。

こちらの記事で使えるフリーソフトをたくさんご紹介していますので、ぜひご覧ください。

https://www.tatsuyakitahara.com/archives/1346

ここではfamistudioを取り上げたいと思います。

https://famistudio.org/

famistudioはGarage Bandのような感じで使える、入門向けのシーケンサーです。こちらは8bitに特化されており、特徴的なのがNSFと言われる、当時のファミコン音源拡張子での出力が可能なことですね。

無料でWindows/macOS/Linuxと対応しています。

細かい使い方はまた講座の記事を書こうと思いますので、お待ちください。

まとめ

この記事のまとめになります。

まず、magical 8bit plug2などのVSTiを試してみる。

mckwikiなどを参考にMMLを書いてみる。

トラッカーにも挑戦してみる。

そして専用DAWにも触ってみる。

といった感じです。

最後に、こちらのサイトでは自作の8bitのフリー音楽を配布しています。すべてMMLで制作したもので、MMLもその楽曲の個別欄に記載しています。

https://www.soundescape.info/

また、Spotifyなどのサブスクリプションサービスでも
私の曲をお聞きいただけます。

YouTubePaylist

この記事が少しでもお役に立てば光栄です。

Twitterのフォローはこちらから。

9 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です