資料室へ戻る

AIしくみあそび / ゲームあそび

効果音を20個作って聴き比べる作業がしんどかったので、音を作る装置をこしらえた

手で注文を書いて20個作り、ひとつずつ聴いて選んでいた。そこを装置にしたら、効果音から環境音、BGMまで広がった。

効果音を20個作って聴き比べる作業がしんどかったので、音を作る装置をこしらえた

ゲームを作っていると、音がほしくなる。

コインを取る音、跳ねる音、ダメージを受ける音。無いとどうにも寂しいのだが、これがなかなか手に入らない。

そこで生成AIに作らせていた。Stable Audio Open 1.0という、文章を渡すと音を作ってくれるモデルである。「コインを取る音、ゲーム用、短く」のような注文を書くと、それらしい音が出てくる。

問題は、一発で当たらないことだった。

音は当たり外れがとても大きい。同じ注文でも、出てくるものは毎回違う。だから8個、多いときは20個くらい作って、ひとつずつ聴いて、良さそうなものを選ぶ。

当時のフォルダを開くと、こうなっている。

手作業で作った効果音のファイルが番号付きで大量に並んでいる

コインが8個、ジャンプが8個、ダメージに至っては22個。同じ音の変奏が延々と並んでいる。

生成のたびに手で注文を打ち直し、出てきたファイルを探して、再生して、また戻る。音を作る時間より、音を並べて聴く準備のほうが長い。

ここを装置にできないか、というのが始まりである。

まず効果音を装置にした

作ったのは、レシピJSONを1枚渡すと音が出てくる流れである。

注文文、長さ、何個作るか、をJSONに書いて渡す。すると生成して、前後の無音を切り、音量を揃えて、ogg・wav・波形の画像を出す。ゲームにそのまま持っていける状態で出てくる。

1本あたり約4秒で焼けるので、3個でも5個でも気軽に作れる。あわせて聴き比べ用の画面も作った。並んだ音を再生して、良かったものに★を付けるだけの画面である。

上のフォルダから選ばれて、コロコロニャビットで実際に鳴っているのがこの2つだ。

コインを取る音(Stable Audio Open 1.0)
跳ねる音(Stable Audio Open 1.0)

コツもだいぶ分かってきた。「何の音か + 質感 + game sound effect + short」の順で書くと安定する。punchy(芯のある)や whoosh(風切り)はよく効く。それと、放っておくと歌やメロディが混ざってくるので、「音楽・メロディ・声は出さないで」を毎回添えるようにした。

正直に言うと、Stable Audio Openの音はちょっとちゃっちい。ただ、これがいいときもある。ゲームの効果音は生々しすぎないほうがはまることが多いし、何より4秒で焼けるので数を出せる。

いま当ラボのゲームの効果音は、だいたいこの装置から出ている。よこぼラボファイターズの音もそうである。

この装置は、同じ時期にまとめて作った9本のパイプラインの1本になった。

もう一つのモデルは、環境音が良かった

途中で MOSS-SoundEffect v2 というモデルを足した。

効果音でも試したのだが、面白かったのは環境音のほうだった。

街の喧騒(MOSS-SoundEffect v2)
雨(MOSS-SoundEffect v2)

ただしMOSSは1本焼くのに約5分かかる。Stable Audio Openの4秒に対して70倍以上である。数を出して選ぶ使い方には向かないので、装置の中では「ここは決めたい」という時に呼ぶ切り札の位置にした。

なお、このモデルはComfyUIを特定の起動オプション付きで立ち上げないと落ちる。原因を突き止めるまでしばらくかかった。

効果音の次は、曲

ここまでで効果音と環境音が回るようになった。

次に欲がでた。BGMもできるのではないか。

使ったのは ACE-Step。こちらは分単位の曲を作れるモデルである。途中で新しい版(1.5 turbo)に替えたら、これがだいぶ速い。1曲60秒級が80秒ほどで焼ける(前の版は数分から十数分かかっていた)。

よこぼカート3D用に、3コースぶんのBGMを作ることにした。キャニオンのコースは「バンジョーっぽいカントリー風」でいこうと決めていたので、そう注文した。

すると、バンジョーは良かったのだが、一緒に鳴っているバイオリンが耳障りだった。

バイオリンが耳障りだったキャニオンBGM

ならば「バイオリンは出さないで」と書けばいい——と思ったのだが、これが効かない。

新しい版は速さのために作りを変えていて、その代わりに「出さないで」という指定を受け付けなくなっていたのである。効果音のときは効いていた手が、ここでは使えない。

禁止できないなら、どうするか。

注文文からその楽器を消して、別の楽器に差し替える。 カントリー風のバイオリン(fiddle)を消して、ハーモニカを足した。

バイオリンを外してハーモニカに差し替えた版

耳障りな音が消えて、カントリー風のまま気持ちよくなった。

引き算ができないモデルでは、引くのではなく入れ替える

「のどかなフルート調」を、モデルに通る言葉へ

残りの2コースも同じ調子で進めた。

注文は日本語で来る。「草原はのどかなフルート調のミドルテンポ」「街は昼間のアップテンポでノリノリのポップ」。これをモデルに通る語へ訳すのが、やってみると一番手間のかかる仕事だった。

草原(のどかなフルート調)
街(昼間のアップテンポ)

街のほうは一度失敗している。最初に作ったものが夜のシンセの曲になってボツになった。「街」だけ渡して、時間帯を書かなかったのである。

モデルは書いていないことを勝手に決める。昼か夜かは、こちらが決めて書く。

新しい版になって、テンポとキーを注文文ではなく専用の欄で指定できるようになったのも助かった。ゲーム内でループさせるとき、テンポが分かっていると合わせやすい。

ちなみに、カートの曲が全部この装置というわけではない。ここで作ったのは3コースぶんで、ほかのコースにはSunoで作った曲を使っている。効果音のほうは装置に寄せきったが、曲は使い分けが残っている。

ところで、これ全部うちのパソコンで鳴っている

ここまで当たり前のように書いてきたが、ひとつ言い忘れていた。

この記事で聴いてもらった音は、全部わたしのノートパソコンの中で作られている。

Stable Audio OpenもMOSSもACE-Stepも、どれも手元にモデルを置いて動かしている。ネットに繋がっていなくても鳴るし、何回焼いても料金は増えない(さっき出てきたSunoはクラウドのサービスなので、あちらは別である)。

これは慣れると忘れてしまうのだが、なかなかすごいことである。

しかも効いているのは感動だけではない。20個焼いて19個捨てる、という乱暴な使い方ができるのは、1回ごとに課金されないからだ。数を出して耳で選ぶという進め方は、手元で動くから成り立っている。

結局、聴き比べるだけになった

いま音がほしくなったら、レシピを1枚書いて装置を回す。

出てきたものは聴き比べ用の画面に並ぶ。再生ボタンを押して、良かったものに★を付けるだけである。当たらなければ数を増やしてもう一周する。1曲80秒なので遠慮はいらない。

最初にしんどかった「20個作って聴いて選ぶ」の、作って探して並べる部分がなくなった。残っているのは聴いて選ぶところだけで、そこは元々やりたかった作業である。

作れる音はまだ増えそうだし、当たり外れの大きさも変わっていない。ただ、当たりを引くまで回すのが苦ではなくなった。

次はどのコースの曲を作ろうか。研究継続。(Dr.よこぼ)