2023年5月19日

プレイヤーの行動によって音楽が変化するインタラクティブミュージックの実践に役立つかもしれないツールや、素材の準備方法など、いままで学んだことのまとめです。

Unity使用者向けの内容ですが、その他のゲームエンジンでも使えるかもしれません。また、インタラクティブとまではいかなくとも、音楽に合わせた演出にも使えたらいいな~というふわっとした内容です。

ゲーム制作も音楽も趣味でやっている初心者が書いているので、間違いがあるかもしれません。


インタラクティブミュージックという言葉を広めてくださった方の記事を先に読んだほうが有用だと思います。


はじめに

  • インタラクティブミュージック:プレイヤーの行動により音楽がシームレスに変わる
  • アダプティブミュージック:ゲームの進行によって音楽が変わる

プレイヤーの行動による寄与が大きければインタラクティブなのかなと思います。草原のフィールドから町に入った時にBGMが変わるのもインタラクティブ??と言えなくもないのかなと思いましたが、シームレスが重要なようです。もしBGMの切り替わりがぶつ切りではなく、拍や小節に配慮して途切れずに変化していればインタラクティブという認識です。

  • 好きなゲーム例:Crypt of the Necrodancer
    • 楽器パート変動、ショップキーパーの歌声などなどその他楽しい要素
    • 好きすぎて一人で協力プレイモードをクリアしました
  • 有名なゲーム例:ポケモンやゼルダ
    • 縦だけじゃなくて横遷移とかランダムな曲変化とか最早お手本なのでは
    • 遊ぶ機会を逃し続けています

実践してみた自作ゲーム例

目次


縦の遷移

例:プレイヤーがアイテムを取ると曲のアレンジが変わる

例:洞窟に入ったらBGMがこもった感じになる

縦の遷移に必要なもの

差分のある曲素材を用意します。以下はその例です。

  • 原曲と、原曲にリバーブなどの効果がかかっているもの
  • 原曲と、原曲のアレンジ(テンポは同じ)
  • 1つの曲をトラック分けしたもの

ささやかながら差分のある自作素材を公開しています。こんな感じの差分を用意するのが楽だと思います。また、加工可のフリー素材サイトから好きな曲を選んで編集する方法も下記に記載しました。一部のゲームエンジンではピッチ変更やリバーブなどのエフェクトを内蔵しているので、差分素材を用意しなくても大丈夫かもしれません。

GoodEuro OGGファイル BPM160(1拍 0.375秒 4小節6秒) 4拍子 36小節 ループ対応

ドラム、伴奏+ドラム、主旋律+伴奏+ドラム

その他素材置き場 BGM素材 – Cockatrice Digital (cktrc.com)

素材を用意する方法

  • 自分で作曲する
    • 私はCubaseを使っています。シェア率が高いので初心者でも安心。
    • Cakewalkは無料! Cakewalk by BandLab | BandLab製品
    • アカペラで録音すればいいのでは。ボイパもいいと思う。
    • 生演奏を録音してもいいのでは。それを聞きながら2曲目を作れば差分完成。
  • 差分のある曲素材を見つける
    • ゲーム制作で大人気の魔王魂さんのサイト内検索で「アレンジ」と検索すると何曲か見つかりました。さすが! 魔王魂 | 無料で使える森田交一の音楽 (maou.audio)
    • インタラクティブミュージックの普及に伴い、差分を公開してくれる素材サイトさんが増えると思うのでクリエイター諸氏次第ではないでしょうか。
    • 作曲の延長線上ですが、フレーズが完成しているタイプのサンプルパック(音の素材集)を使うことで差分のある曲を簡単に作れます。無料のものもたくさんあります。ある程度は知識や慣れが必要です。また、サンプルパックによっては素材を単体で使用することがNGなものもあるので注意です。SPECIAL – サンプルパックを体験してみよう | SONICWIRE
      • サンプルパックさえ使えれば横の遷移も簡単
  • 音源分離編集ソフトを使う
  • 音源分離サービスを使う
    • ブラウザで動かせるものには限りがある
    • 元になる素材が加工可なのか、使用するサービスの規約と併せて要確認
  • 既存のBGM素材を加工する
    • 主要な動画編集ソフトにはオーディオエフェクトがいくつかついている
    • Unityのオーディオミキサーを使えばリバーブなどの効果を簡単に付けられるので、差分素材をわざわざ用意しなくても良さそう。と思いきやWebGLだとエフェクトがかからないみたいなので、エディターで録音して使うのもありかも(音ズレしないように微調整が必要で逆に労力がかかるかも)。
    • DAWソフトなら簡単にできる。DTMを始めよう。
  • 作曲できる人を連れて来る
    • 出来れば一番楽。

やり方

  • BGMのクロスフェード
    • BGM1以外は音量を0にして同時再生させる。任意のタイミングでBGM1の音量を徐々に下げ、BGM2の音量を徐々に上げる
    • Unityのタイムラインを使えば、横の遷移もしやすいしループも楽なので便利(だと思う)
    • 単純にクロスフェード(linear)させると中心部分で音が聞こえにくくなるので、三角関数的(sin2+cos2 =1)に変化させたほうが良い(下記の勉強会動画より) とのことです。DOTweenで遷移させれば楽です。イージングを調節していい感じのものを試してみてください。実際どの形式が良いのかは自信がないです(算数苦手民)。DOTweenのイージング一覧を世界一詳しく&分かりやすく説明する | ゲームUIネット (game-ui.net)
    • クロスフェードしなくても再生するタイミングで曲の再生時間を取得すればいいのでは?と思って作ってみたらかなり音ズレしました(WebGL)
    • Unityで曲を同時再生するときは曲のロードタイプをデフォルトの「ロード中に解凍」から「圧縮状態でメモリに格納」しないと重くなります(実体験)。「なぜこれがデフォルトなのか?」という怒りを含む記事を何件か読みました。
      • ストリーミングが一番軽く、PCで遊ぶ分には良かったのですが、iPadで開いたらかなり音ズレしてしまっていました。モバイル向けに作るにはバッファなどのより詳しい知識が必要なようで、難易度が高そう。
  • 横の遷移と併せて、小節が切り替わるタイミングで切り替え
    • 基本的にはクロスフェードと同じで複数の曲を同時再生し、切り替えるタイミングを曲の中で数カ所用意しておくタイプ。

注意点

曲を楽器ごとに分けた素材の再生パートを増やしていく方法だと、音が思ったより大きくなってしまったり、音ズレしたときに悲惨です。Unityの場合、音の大きさはオーディオミキサーにより制御可能です。同時再生するトラック数を多くするより、素材の段階で一緒にしてしまったほうがよさそうです。


横の遷移

  • 例:どこでゲームオーバーになってもきりのいいところで曲が終わる
    • 素材が1曲あればできるので差分が用意できなくても安心
    • BPMと拍子が分かっていると作りやすいけど必須ではない
    • 私ならBGMを止めたタイミングで爆発音を鳴らす
      • シンバルでも可
      • BGMの終わり部分を作ってもいいし、元々ループでない曲をゲームプレイ中はプログラミングで制御で数小節をループ再生させて、ゲームオーバー時にループ解除して終わりを演奏させるのもいいと思う。
  • 例:最初はドラムだけで、プレイヤーのアクションによって拍のタイミングで曲が始まる
    • 上手くやればエモさが演出できるのでは
  • 例:縦の遷移と併せて違和感なく曲を切り替える
    • 曲の構成を理解している必要がある
      • 自作曲で作るか、理解がある人を連れてこないと難しいかも
      • このパートはループさせて、このタイミングでこっちに飛んで……など凝りだすと楽しいけど大変
      • 前述のサンプルパックでの制作と相性がいいと思うけど初心者にはとっつきにくいかもしれない
    • Youtubeの解説付き動画などで実際に聞くのが分かりやすいかも
    • 自由度が高いし、遊んでいて気付いた時の満足度が(個人的に)高い

曲の差分がなくても使えるので、横の遷移のほうが導入が楽かもしれません。

プレイヤーの行動から曲の変化までがすぐだったり、数小節分の待ち時間が出来たりします。

導入方法

小節の区切りに合わせて曲が切り替わる、あるいは終了するという演出をしたい場合の例です。

まずBPMを確認します。BPMは1分間に何拍あるかという概念です(beat per minutes)。戦闘曲はBPM180とかで、のどかな曲はBPM80とかそんな感じです。通常の安静時心拍数はBPM60~100。

また、oggファイルを使うことをおすすめします。mp3ファイルは前後に無音箇所があるのでループには不向きだし、音に合わせた演出を作る場合はいちいちその無音空間を考慮する必要があります。できるだけ無音時間のない素材を用意したほうが無難です。

MP3とOGGの変換ツール MP3 OGG 変換。オンライン フリー — Convertio

BPM確認方法

  • BPMの記載がある素材を用意するのが一番早い
    • 大抵の素材サイトにはBPMの記載がない! 悔しい!
      • 途中でBPMが変わる曲も多いので仕方ないかもしれない
      • 生演奏や、それに近い良質な打ち込みはBPMが細かく変化するので初心者向けではないと思う
  • BPMを自動測定するサービスを使う
  • BPMを人力で測定する
  • BPMが分からなかったり、テンポが変わる曲の場合は、タイムラインを見ながら人力でイベント開始カ所を目打ちするという力技もあります。

BPMが分かったら、1拍何秒か、1小節が何秒か計算します。こちらのツールが大変便利です。(1小節の中に4拍あると4拍子の曲で、1小節の中に3拍子あれば3拍子の曲です。念のため。たまに拍子が分からない曲があるのでそれは仕方ないです。)キリのいい数字にならないこともあります。

これで曲のことが把握できました。あとはイベントのタイミングをそれに沿わせるだけです。拍に合わせて効果音を鳴らしても良いし、ゆらゆらさせたり大きさを変えたりすると楽しいです。

やりすぎると私のような三半規管弱者が酔うので、控えめにしていただけると助かります。

↓BPM160(1拍0.375秒)に合わせて振動するペンギンと背景(gif化の影響で正確ではないです)

ふわっとした情報

どこでループさせればいいのか、どこで切り替えればいいのか分からない場合、4拍子でも3拍子でも、大体の曲は8小節ごとにリズムやメロディーが変化するので、そのタイミングで変化させると良いのではないでしょうか。サンプル曲の場合、BPM160 → 4小節6秒なので、12秒ごとに切り替えのタイミングがあります。12秒、24秒、36秒、48秒のタイミングです。ループ対応のために48秒から4小節(6秒)がついています。54秒で終わったときに効果音としてシンバルを鳴らせば良い感じではないでしょうか。

この終わりの4拍子のせいで、単純に12秒ごとの切り替えタイミングにするとループ後にずれてしまいます。タイムラインで管理すれば大丈夫だと思います。もっといい方法があるかも。

小節や拍ごとに区切ることさえできれば、曲の加工や編集もしやすいと思います。ただ、既存の曲の場合はどうしても前後の曲の名残というか音が入ってしまうことがあるので、ループさせたり止めて再生したりというハードな使い方には向いていないかもしれません。

今まで散々BPMや小節について書きましたが、別に拍や小節に合わせる必要はないです。曲によりますし、好きなタイミングで色々すればいいと思います。可能性は無限で自由です。


役立ちツール紹介

効果音の管理に使っているフリーソフトです。Unityのエディターにもそのままドラッグアンドドロップできるし、タグやコメントを付けて管理できるのでおすすめです。連続再生もできます。BGMの拍子や小節を記録する項目もあるので、効果音に限らずサウンド管理には非常に便利です。上の画面の効果音はソフト配布元のサイトで買ったので、キーワードと説明文は最初から入っていました。


役立ちサイト紹介

私が映画「地獄の黙示録」の効果音パックを衝動買いしてしまったサイトです。充実の効果音! サンプルパック! プラグインやソフト音源もセールでお得になります。一部商品はUnityアセットストアでも売られていることがあるので、重複していないかどちらが安いか確認するといいかも。

好きな映画の効果音が売ってたらそりゃあ買ってしまいますよ。ゲームの効果音に置き換えれば理解を得やすいかもしれません。この効果音を使い切るまでは創作活動を続けられたらなと思います。効果音はフリー素材でも十分だと思いますが、気分が上がります。理性的判断が敗北を招く。


上級者向け

難しくて私にはあまり理解できなかったのですが、以下の動画はUnity Audioについて詳しいお話が聞けるので、とても役に立つと思います。

いくつかインタラクティブミュージック導入のための有用なライブラリがあるようなのですが、やってみようと思ったものの私には難しかったので頓挫しています。


私がインタラクティブミュージックという言葉を知ったきっかけの「u1w共有会」でもサウンド関係のトークが何度かあるので非常に参考になると思います。特に#9と#10で色々影響されて今に至ります。


まとめ

このソフトがすごい

こんなにきれいにパート分解できるソフトは初めてだったので感動しました。(drum.wavじゃなくてdrums.wavでした)


DTMを始めよう Cubaseは体験版もある

追記:60日間も! 無料体験! Pro版もEL版も両方試せる! Cubaseはセールで結構安くなるので、機を伺いつつ色々なDAWの体験版を試すといいかもしれません。


おわりに

インタラクティブミュージック実践にはとにかく素材集めが大変だと思いました。有償か無償かに関わらずそれ向けの素材が増えるのが先か、AIや音源分離ソフト、ゲームエンジンの進化で簡便に実装できるようになるのが先かは分かりませんが、将来的にはもっと音楽要素を簡単に個人制作に取り入れられるようになるのではないでしょうか。サンプルパックの扱いを覚えれば、作曲しなくても曲を用意できるのでやってみる価値はあるのではと思います。これ以上のことは「初心者でも導入できる」の範疇を超えてしまいますが……。

現状は作曲家さん(コンポーザーというらしい)に協力してもらうのが一番楽だと思います。開始何秒でテンポが変わるか、どこからどこまでループさせるか、自分で作った曲ならすぐ分かるし、盛り上がりに合わせて転調したり、アレンジを変えたり、ゲームの進行によって全く違う曲を完成させるタイプの演出なども出来るので自由度が格段に上がります。

この記事が役立つかは分かりませんが、音楽に連動した演出が好きなので、そういった作品が増えて欲しいなと思います。

Categories:

Tags: