この記事はGame Boy Advent Calendar 2018 の8日目の(ちょっと遅れた)記事です。
最初にGBでチップチューン を作ろうとして1年あまりが経ち、プリパラ で友達になったchibi-tech先輩からのアドバイス (「まずは曲を耳コピ して勉強すべき」という話)を受けて、何曲か耳コピ して一応は完成させることができました。
ただ、当然完成させるまで紆余曲折がありました。特に「耳コピ したい楽器の音色を(GBで可能な範囲で)再現する」というところが大変で、未だに自分の中で体系化できていない/納得いってない部分が多いので、今の段階で一度まとめておこうと思います。
(言い訳がましいですが)私はミュージシャンでもチップチューン 自体にも詳しいわけでもないので、内容は稚拙な部分が多いと思います。もし物足りない点や誤りがあればコメント等で教えていただければ幸いです。
楽音・噪音 の区別をつける
音作りの際にはまず楽音(音程が感じられる音)・噪音(音程を感じられない音) を意識しましょう。基本的にギターやトランペットなどのメロディーを奏でる音(楽音)はPULSE/WAVチャネルで、打楽器の音(噪音 )はNOISEチャネルで実装します。
楽器の音響学の本を読むと「明確に区分できるものではない」などといった理由で別の区分が使われていることもあるのですが、我々がGBで考えるにはこの区分で充分だと思います。ちなみに、他の区分には「自励振動楽器/減衰振動楽器」などですが、実際に音作りする際にはENVELOPEで簡単に調整できる(例えば「鉄琴は減衰楽器だからE1くらいにしよう」とか)ので現実問題として困らないと思います。
pianotsurezurenikki.seesaa.net
ただ、打楽器系の音でもノイズから作るのが難しいものがあります。例えば「ハンドクラップの音をノイズチャネルで再現する」ことは私にはできませんでした。このような場合はWAVチャネルのサンプリング音源を使いましょう。
また、たまにNOISEチャネルの音を高音域のクリック音として使っている方もいるようですが、結構な高等テクでしょう。
私はNOISEチャネルではあまりTABLEコマンドを使えていません。なにかのポリシーというわけではなく、「どこをどういじれば思い通りの音になるか」が掴めていないからです。ただ、NOISEで自分が出せないいい音を出してる方もいらっしゃるので勉強したいと思っています。
「波形に倍音 がどれだけ含まれているか」を意識する
次に、楽音の音色を作る方法です。
ざっくりと「サイン波に近いほどシンプルで暗い音」「遠いほど明るくうるさい音」になるイメージで居ます。比較になってしまいますが、PULSEだとduty cycleが50%と25%を比較したときに、それぞれが50%が「暗い音」と25%が「明るい音」に聞こえます。
info.shimamura.co.jp
基本的に倍音 が多い音のほうが(私の印象では)素敵なのですが、他の音と比べて目立たせたくない場合も多々あり、倍音 の小さい音を選びます。chiptune と関係ない話では、「教会の鐘の音」のような音は倍音 が非常に多く含まれていて魅力的なのですが、それ単体だけで鳴っているからであって、他の音と組み合わせて曲を構成するには主張が激しすぎて使いづらいと思います。
ベースのような低音域で使う音色は「倍音 を増やして高音域を目立たせすぎると、(高音と比較して)人間の可聴域に当たる範囲が多く、必要以上にうるさく聞こえてしまう」ので注意しましょう。そのため、ファミコンでは三角波が使われることが多い そうなのですが、GBでは使えないので、私はWAVチャネルでベースの音を作っています。
実はファミコン 音源のファミコン 音源らしさたる最大の要因がこの三角波 です。ファミコン から出力される三角波 は「擬似三角波 」で普通の三角波 よりも少し荒く、歪んだ音がしてアタック感が強いのが特徴。
また逆に、敢えて倍音 を上げて、ベースの音の目立たせるようなテクニックもあるようです。以下の話はチップチューン の話ではないですが、我々はフィルターを使った音域カット が利用できないので、これを波形のレベルで調整する必要があります。
むしろ、かなり倍音 が多く強調する音を作る場合には、PULSEチャネルの音に対して、Wコマンド(duty比の変更)やTSP(音程の変更)を使います。Mr.ゲーム&ウォッチ の鐘の音みたいになるので、それを調整してマイルドにしてから使っています。
VIDEO www.youtube.com
やや関係ない話になりますが、ゲーム実機を使う場合はマスタリングのような工程が無く、「さっきの音と同じ音色を使いたいが、今は他の音を目立たせたい」ような場合、音量の調整をEコマンドを使って愚直に調整していく必要があります。
ENVELOPE(ADSR)を意識する
楽器の音色は一定ではなく、音の大きさの時間変化が伴います。その際に一般のシンセサイザー で使われることの多いADSRを知っていると便利です。
sleepfreaks-dtm.com
LSDj のENVELOPE機能はアタックの大きさとその後の減衰方法しか指定できず貧弱なので、比較的すぐにTABLEのVOLを使って工夫するようになるはずです。そのときに、このような時間変化の形が意識できていると混乱しないと思います。
↑ちなみにVOLはここです。
また、人の耳の特性として「アタック時の音色で聞き分けている」らしく、例えば音楽の基礎 (岩波新書) という本では「アタックだけ楽器の音色をマスクすると、人はあまり聞き分けられなかった」という実験が紹介されています。そのため、例えばトランペットの音は「アタック時に一瞬1オクターブ上の音からLコマンドで徐々に引き戻す」という形で作るとうまくいきました。次の記事で具体的なパラメータを紹介しています。
sakana38.hatenablog.com
他にもアタック時に音色が不安定になる楽器は多いので、「一瞬だけ強烈なビブラート(Vコマンド)をかけて汚す」「アタック時のduty cycleを変える」など工夫しています。
キックの音の作り方
けっこう重要なので、こちらを読んでください。
sakana38.hatenablog.com
原則としては、「アタックで一気に音が大きくなる」「波も一気に詰まる=周波数(音の高さ)も急に高くなる」「音の高さも音の大きさもエネルギーの低い方向に解放される」というイメージでいます。
↑おえかきボード で描いた図。
私はちゃんと使ったことは無いですが、NOISEチャネルで作ったキック(NOISE KICK)も、(海外のフォーラムを参考にしつつ)それなりに納得のいくものができたので、これはけっこう普遍的に使える感覚だと思います。
最近困っていること
WAVチャネルの擬似的にフィルターをかけているような曲を聞いたのですが、本気でどうやってるのか分かりませんでした。後でミックスしたとかだったらどうしよう。
soundcloud.com
「いかにもシンセサイザー 」なベースの音も出したいと思っています。いろいろ調べていてTORIENAさんのインタビュー に行き着いたのですが、
——— ところどころで聴くことができるTB-303 みたいなグライドも、LSDj でできるんですか?
TORIENA できます! わたし、うねるベースが大好きなんですよ。でも、グライドという機能があるわけではなく、いろいろな方法を使って、人力でああいうフレーズをつくっているんです。
「いろいろな方法」の部分はどうなってるんだ〜〜!😭
また、耳コピ した際に「元の曲もっさりしてしまう」のも困っています。これは「リズムを敢えてずらす」のとか「適切にノイズを入れる」ので解決するようなのですが、まだ感覚が掴めていません。
参考図書
シンセサイザー についての本。chibitechさんがマニアなので会話するために勉強したのですが、chiptune のGB自体もシンセサイザー の一種なのでかなり役に立ちました(ゲーム機では使えない機能も多いのですが…)。やっぱり彼女も必要あって勉強したんだと思います。
次の本はこれ。古い本ですが、楽音・噪音 の違いや、人間の耳の特性などがよくまとまっていて、この後他の本を読んでいると「ああ、あのことか」とピンとくることが多いです。