BGM の作り方

音楽の知識ゼロから、Pyxel でそれらしい曲を組み立てる

← トップページへもどる / 関連:step0 フェーズ7

このページについて

音楽理論を学ぶページではありません。楽譜が読めなくても、ドレミが分からなくても、 手順どおりに置いていけば「聞ける BGM」になるという、その手順をまとめたページです。

フェーズ 7 で作った 4 秒のループを題材にします。あそこで打ち込んだ音の並びには、 実はちゃんと理由がありました。それを 1 つずつ説明していきます。

いちばん大事なことを先に 作曲でつまずく原因のほとんどは「いきなりメロディから作ろうとすること」です。 メロディは最後に作ります。先に土台を作れば、メロディは驚くほど簡単になります。

1. BGM は 4 つの層でできている

ゲームの BGM は、次の 4 つが重なってできています。そして作る順番は、下から上です。

作る順番 ④ メロディ 耳に残る主役。土台ができてから最後に乗せる ③ ドラム 拍を刻む。ノイズ音色で作る。あるだけで一気に曲らしくなる ② ベース コードの一番低い音をなぞるだけ。作るのがいちばん簡単 ① コード進行 曲の設計図。これ自体は鳴らさない。「どの音を使ってよいか」を決める 土台から順に積む。メロディから作ろうとすると、ほぼ必ず行き詰まる
下の 3 層は「決めごと」に近く、迷う要素がほとんどありません

2. 音の正体は「12 段の階段」

まず音の高さの仕組みだけ押さえます。これだけ知っていれば足ります。

1 オクターブ = 12 段。数字は Pyxel の音番号 25 27 30 32 34 C D E F G A B 24 26 28 29 31 33 35 ファ A2 = 33 = 440Hz(基準の音) / +12 すると 1 オクターブ上(A3 = 45)
ゲーム制作では、ドレミではなく C D E F G A B の英語音名を使うのが普通です

キーボードのどのキーが、どの音か

リソースエディタの鍵盤は、パソコンのキーボードに割り当てられています。 音名が分かればキーが決まるので、この表さえ手元にあれば、 どんな譜面でも打ち込めます。

音名CC#DD#EF F#GG#AA#B
下段
(OCTAVE の高さ)
ZSXDCV GBHNJM
上段
(その 1 つ上)
Q2W3ER 5T6Y7U
OCTAVE 4 は「ない」。C4 は上段のキーで出す キーで届く範囲は、いつも下段+上段の 2 オクターブぶんです。 たとえば C3 E3 G3 C4 と打ちたいときは、OCTAVE を 3 にしたまま Z C B Q。 最後の C4 のために OCTAVE を上げる必要はありません(そもそも 4 には上がりません)。
逆に、上段でも届かないほど低い音・高い音を使いたいときだけ、OCTAVE を動かします。

3. 最強のルール:黒鍵を使わない

音を適当に置くと不協和になるのは、使ってよい音を決めていないからです。 逆にいえば、最初に「この 7 音だけ使う」と決めてしまえば、 どう並べても致命的には外れません

知識ゼロならこれ 1 つでいい 白鍵だけを使う。Pyxel のキーボードでいえば Z X C V B N M(下段)と Q W E R T Y U(上段)だけを押し、 S D G H J2 3 5 6 7 には触らない。 これだけで「A マイナー(イ短調)」という、ゲーム BGM でいちばん使われる音の集まりになります。

さらに確実にしたければ、白鍵 7 音のうちぶつかりやすい 2 音(F と B)を外した 5 音だけを使います。 これをペンタトニックといい、どんな順番で並べても、まず外れません

C D E F G A B Z X C V B N M キー この 5 音なら外れない 使ってよい 黒鍵は当分使わない
ペンタトニック = A・C・D・E・G の 5 音。フェーズ 7 のメロディは、実はこの 5 音だけでできています

4. コード進行 = 曲の設計図

コードとは、同時に鳴らすと気持ちよく響く音のセットのことです。 そしてコード進行は、その並び順。曲の「地面」にあたります。

うれしいことに、定番の進行がいくつかあり、そのまま借りて構いません。 著作権があるのは「メロディ」であって、コード進行は共有財産です。 プロもみんな同じ進行を使っています。

コード進行感じベースが弾く音(OCTAVE 1)
Am → F → C → G定番中の定番。前向き・王道 NVQ(上段) → B
Am → F → C → Em落ち着く・浮遊感
(フェーズ 7 で使ったもの)
NVQ(上段) → C
Am → G → F → G哀愁。ずっと同じ場所を回っている感じ NBVB
Am → Dm → G → C展開する。場面が動く感じ NXBQ(上段)
ベースは「コードの名前の音」を鳴らすだけ Am なら A、F なら F、C なら C。 コード名の頭文字の音を、1 つ鳴らせばいいだけです。 和音として 3 音を重ねる必要はありません(ゲーム BGM では 1 音のほうがむしろ普通です)。 これが「ベースがいちばん簡単」と書いた理由です。

5. 拍とテンポ:16 ステップを 4 つに割る

Pyxel のサウンドは、マス目にひとつずつ音を置いていく形式です。 16 ステップを 4 つのブロックに割り、1 ブロックに 1 コードを割り当てます。 これで 4 コード = 1 ループが完成します。

テンポは SPEED で決まります。1 ステップの長さ = SPEED ÷ 120 秒なので、 4 ステップを 1 拍と数えると次のようになります。

SPEED1 ステップ16 ステップの長さテンポの目安
100.083 秒1.3 秒180 BPM / 疾走感。シューティング向き
150.125 秒2 秒120 BPM / 軽快。アクション向き
200.167 秒2.7 秒90 BPM / 標準的
300.25 秒4 秒60 BPM / ゆったり。step0 で使った設定
400.333 秒5.3 秒45 BPM / 荘厳・不気味

6. 作る手順(このとおりに進めれば完成する)

1234 5678 9101112 13141516 コード Am F C Em ② ベース AFCE ③ ドラム ④ メロディ ACED CAG 4 ステップ = 1 ブロック 白マスは休符。ベースとドラムはブロックの頭に置くだけでよい 「ド」=低いノイズ(キック) 「タ」=高いノイズ(スネア) 小さいマス=ごく小音量のノイズ
フェーズ 7 で作ったループに、ドラムを足した形。上の行から順に作るのではなく、コード → ベース → ドラム → メロディの順に作ります

手順 ①:コード進行を決める(考える時間 30 秒)

上の表から 1 つ選ぶだけです。迷ったら Am → F → C → G。 紙に書く必要すらなく、頭の中で決めれば十分です。

手順 ②:ベースを打つ(いちばん簡単)

SOUND 1、OCTAVE 1。ステップ 1・5・9・13 にコードの頭文字の音を置き、あとは全部休符。 これだけで土台が完成します。音色は T(三角波)、音量は 4 前後。

手順 ③:ドラムを打つ(曲らしさが一気に出る)

SOUND 2、音色は N(ノイズ)。ノイズは音の高さが「音程」ではなく「質感」になります。 低い音番号ほど「ドッ」、高いほど「シャッ」と鳴ります。

役割置く場所音の高さの目安音量
キック(ド)ステップ 1・9低め(OCTAVE 0 〜 1 の Z あたり)7
スネア(タ)ステップ 5・13中くらい(OCTAVE 2 の N あたり)6
ハイハット(チ)その間(ステップ 3・7・11・15)高め(OCTAVE 3 の Y あたり)12
VOL は 1 マスずつ変えられる フェーズ 7 では「VOL は 1 個入れれば全体に効く」と書きました。これは 「短ければ先頭から繰り返される」という意味で、 マスごとに違う値を入れれば、そのとおりに変わります。 ドラムでは、この強弱こそが命です。たとえば 7 1 6 1 7 1 6 1 … のように打つと、強い音と弱い音が交互になって 「ノリ」が生まれます。

手順 ④:最後にメロディ

SOUND 0、OCTAVE 2。ここまでで土台ができているので、 ペンタトニックの 5 音(A C D E G)を、適当に置いても成立します。 それでも、次の 4 つを守るとぐっと「曲」に近づきます。

コツなぜ
1. 隣の音へ動くのを基本にする 跳ぶと歌いにくい。ときどき跳ぶから、その跳躍が目立って気持ちよくなる
2. 出だしと終わりはコードの音に Am のブロックなら A・C・E のどれかで始めると、収まりがよくなる
3. 同じ形をくり返す 覚えやすさは、ほぼ「くり返し」で決まる。前半 8 ステップの形を、 音の高さだけ変えて後半でもう一度使う
4. 休符を惜しまない 詰め込むと素人っぽくなる。半分が休符でちょうどいい

フェーズ 7 のメロディを分解してみる

実際に打ち込んだ 7 音は A → C → E → D → C → A → G でした。

つまり、あの並びはたまたまではなく、上のコツをそのまま適用したものでした。 逆にいえば、この 4 つを守れば同じように作れます。

7. 音色とチャンネルの割り振り

Pyxel は同時に 4 音まで(CH0 〜 CH3)。役割を固定しておくと迷いません。

CH役割おすすめ音色音量の目安
0メロディS 矩形波(前に出る)/P パルス波56
1ベースT 三角波(低音がきれい)45
2副旋律・和音P パルス波(細くて邪魔をしない)34
3ドラムN ノイズマスごとに 17
音量は「メロディがいちばん大きい」が鉄則 全部を 7 にすると、何が主役か分からない団子になります。 メロディ > ベース > 伴奏の順に下げてください。 ドラムのハイハットは 1 でも十分に聞こえます。
短いチャンネルは自動でくり返されます ミュージックの各チャンネルは長さが違っていても構いません。 短いほうは、長いほうが終わるまで先頭から自動でくり返します。 16 ステップのベースと 32 ステップのメロディを組み合わせれば、 ベースが 2 周するあいだにメロディが 1 周する形になります。 長い曲を作りたいときは、メロディだけを長くすればよいということです。

8. 行き詰まったときの逃げ道

やること効果
音を減らす 迷ったら足すのではなく引く。休符を増やすだけで良くなることが多い
SPEED を変えてみる 同じ音の並びでも、速さを変えると別の曲に聞こえる。いちばん手軽な救済策
音色を変えてみる TSP を入れ替えるだけで印象が激変する
1 オクターブ上げ下げする メロディが低くてもたつくときは、全部 +12 して上げると映える
好きなゲーム音楽を思い出しながら打つ 「なんとなく似た形」を目指すのは有効な練習。ただし そのまま写すのは避ける(メロディには著作権があります)
Pyxel には自動生成機能もありますが…… pyxel.gen_bgm() という、アルゴリズムで BGM を作る関数が用意されています。 ただしこれが返すのは MML という別形式の文字列で、 .pyxres には保存されません(リソースファイルには 音符・音色・音量・効果・速度しか保存されない形式のため。実際に試して確認しました)。 エディタのピアノロールにも表示されないので、 step0 の作り方とは別の道になります。「こんな機能もある」という程度に留め、 当面は自分で打ち込むのがおすすめです。

9. 用語早見表

用語ひとことで言うと
オクターブ音の高さのひと回り。Pyxel の音番号で 12 ぶん
半音階段 1 段ぶん。Pyxel の音番号で 1 ぶん
キー(調)その曲で使ってよい音の集まり。白鍵だけなら「A マイナー」
マイナー/メジャー暗い響き/明るい響き。同じ白鍵でも、どの音を中心にするかで変わる
ペンタトニック外れにくい 5 音。A・C・D・E・G
コード同時に鳴らすと調和する音のセット。ベースはその頭文字の音を弾く
コード進行コードの並び順 = 曲の設計図。定番を借りてよい
BPM1 分あたりの拍数。大きいほど速い
ルート音コードの土台になる音。Am なら A
まとめ:迷ったらこれだけ
  1. 黒鍵を使わないZ X C V B N MQ W E R T Y U だけ)
  2. ベースから作る(ステップ 1・5・9・13 に Am → F → C → G
  3. メロディは 5 音だけ(A・C・D・E・G)で、半分は休符
この 3 つだけで、聞ける BGM になります。