スペクトログラムと物理演算

↑まだ聴いてない人は聴いて(はーと)

本記事では、さっきの曲を題材にスペクトログラムと物理演算を解説します。彩所為に興味ない人でも2枠を作りたいなら役立つものになってると思うので、自分語りかよとブラウザバックせずに、ぜひ読んでいってください。


スペクトログラム

まず、本家通りのものを作りたい人はAdobe Audition(有料)かRX 10 Standard(有料)買ってください。RXとかの使い方は持ってないので知りません。無料ソフトならwavetoneの音源抽出でもできなくはないらしいです。

(ここにwavetoneの音源抽出解説動画をドロップしようとしたら、ニコ動が死んでた)

追記:無料ソフトでも比較的簡単にできるという説があるようです。しかし、筆者のPCではソフトが動作しませんでした…

で、ここからが本題です。
安さとある程度の本家っぽさを兼ね備えた無料ソフト:「The ARSS」のご紹介です。

詳しい使い方はこのブログを読んでいただければ自分が解説するより格段にわかりやすいと思いますが、模倣者向けに補足で説明すると
・Modeは2でも3でもできると思うが、多分3の方が良い?自分は3でやったが、3だと生成に時間がかかる
・16000 Hz以上の音域はYoutubeに削られるので、絶対に上限(Max. frequencyの値)は16000 Hzより下にする
・下限(Min. frequencyの値)は曲と干渉しないようにする必要があるので、2000~4000 Hzとかそのへんにする(彩2は4000 Hzだが、後述するように曲によっては低めの音域のほうが読みやすいケースもある)
・画像サイズは200*800とか長方形にしても問題ない
といったところですかね。

ざっくり言うとこんな感じの流れになります:
①画像編集ソフトでスペクトログラムの文字の画像を作る

②ARSSで音声ファイルにする

③DAWで音源に重ねて鳴らす

そうしてできたものがこれ:

※普通の曲はこんなにきれいに高音域が真っ青にはなりません

..はスペクトログラムから音を引いて作っているのに対して、この技法では音を足して作っているので、足した音がかなり悪目立ちしてしまいます。たまたま彩2は高音域がスカスカだったので比較的小さい音量にできましたが、それはあんまり褒められたことではなくて、そして足す音は少しでも小さい音量にできれば望ましいわけで、音量を削るさらなるコツというかテクニックを解説します。

L-Rで差をつけろ

wavetoneには、「Stereo」「L-R」などのボタンが上部に並んでいます。これはなにかというと、普通に音声ファイルをスペクトログラムにしたのがStereoなのに対し、L-Rでは左右の音の差をスペクトログラムにしたものになります。要するに、左や右から聞こえてくる音とか、「広がりがある」音とかはL-Rにするとくっきり浮かび上がってきます。これを使って、L-Rにすればきれいに抜き出せるようにしてやろう、というのが今回の作戦です。
音響とかのことをある程度ちゃんと調べた方ならご存知とは思いますが、L100%とR100%に同じ音声ファイルを置いて、コンマ何秒単位でずらせば簡単にL-Rで浮かび上がらせることができます。
彩2のL-Rのスペクトログラムはこんな感じ。

………彩2だと差がわかりにくいという意見は当然あると思うので、高音域がスカスカじゃない曲を借りてきましょう。今回借りてくるのはこれだ!

波形だけじゃわかんないですね。▒(全て行方の所為です。)です。
これに自分が作った音声を足してみるとこんな感じ。(高音だと結局読みづらかったので少し下の音域に入れてますが、可能なら高音に入れた方が悪目立ちしにくいと思います)

Stereo。読めませんね
L-Rにしてちょっとパラメーターいじったやつ。読める!!!

読みにくいという批判は免れえないかと思いますが、一応読めると思います。音声はこんな感じ。これを許容範囲と思うかはみなさんにお任せします。(頑張ればもう少し音量を下げてもギリ読めますが、解読者の負荷が上がります。あと、この曲は最大限大きくしないと読めないパターンなので、曲によってはもっと小さい音量でも読み取れるようにできます。)

めちゃくちゃ微妙な塩梅での調整になるので、ちゃんと読めることを確認してから投稿するようにしてください。マジで。

あと、この曲が気に入った人は本家も聴いてください。


物理演算

みんなだいすきAlgodooを使用しました。といっても、Algodooの使い方をまともに解説した資料は界隈内外問わず全然ないんですよねえ。本記事ではとくに、algodooのバグやわかりにくい仕様が原因で難しくなってしまっている部分を重点的に説明します。(多くの人が知らなさそうな情報を太字にしているので、algodooに自信ニキは太字部分だけ読むと時短)

導入してこの画面を開けるようになっていることは前提として、話を進めていきます。

この画面

さて、文字を落とすためには文字を並べた画像を作って読み込むわけですが、ここで既に落とし穴があります。
文字を並べた画像の画像サイズが大きすぎると、以下のように小さいパーツが歯抜けになってしまいます。

歯抜け(画像サイズ 3500×6000)

これを避けるためには、画像サイズを小さくすればよいです。何枚かに分割すればいいと思います。

きれい(3500×2000)

また、文字が当たり判定を貫通して動いたりしてしまうケースがありますが、これはalgodoo上で文字が小さすぎることが原因です。画像を読み込ませるときに、ズームアウトを最大限にした状態で読み込ませるのがおすすめです。

あと超小ネタなんですけど、物理演算は全部文字だけ若干灰色(#ebebeb)なので暇な人はそこも再現してみよう。あとあと、文字の表記が若干違うガバとかはあとでおまけとして紹介しときます。

文字が若干灰色、ボールは真っ白

文字の固定(重力に従わないようにする)は「右クリック→図形アクション→背景に接着」でできます。

ここまでくれば文字を落とせるわけですが、すべあな本家は文字のパーツがバラバラにならないのに対し、algodooで何も設定しないと文字のパーツがバラバラになって落ちていきます。これを防ぐためには、「パーツを複数選択→右クリック→図形アクション→接着」の手順を踏みます。

面倒だけどやると見た目大分それっぽくなる

さらなるコツとして、右クリックして物性から摩擦の値を小さく、反発の値を大きくするとより本家っぽい暴れ方をしてくれます。(第二間奏については、「全てあなたの所為です。」部分だけ摩擦を大きくするといいかもしれない)

第一間奏

第一間奏などではオブジェクトに引力を持たせたいことがあると思います。オブジェクトに引力を持たせるためには、「オブジェクトで右クリック→物性→引力の度合いのバーを動かす」という手順を踏みます。

ここで残念なお知らせとして、第一間奏については完全に本家のような動かし方をするのはかなり難しいです。本家の映像を見るに文字は重力に従って動いているのに対し、ボールは重力の影響を受けていないように見えます。このような設定はalgodooではできません。(ボールを軽くすることで擬似的に重力の影響を減らすことはできますが、ボールからの引力はボールの重量と掛け算になっているので引力も小さくなってしまいます)
再現できた人がいたら教えて下さい。

(追記 2024/7/8)
公開後に頂いた意見を掲載します(殆ど未検証)
・そもそも本家も文字に重力は働いていない(下向きの初速度とボールの引力で重力のように見えるだけ)のでは?
・ボールにスラスターを付けて常に上向きの力を与え続ければ擬似的に重力の影響を消せるのでは?
・コントローラーの機能を用いて文字を加速させることが出来るよ

第二間奏(モールスパート)

本家FULLはなんかよくわからない順番で小出しに落ちてくるので、僕はこんな感じでやってみました。割と再現度高いと思います。

shortも一応画像貼っときます。

動画編集編

algodooには動画ファイルの出力機能はありませんので、録画していい感じにトリミングしてもらうことになります。そこから先、編集段階でのTIPSを述べておきます。
・背景色が#000000になってるとは限らないので、ルミナンスキーをかけよう
・モーションブラーをかけよう
・shortの場合、左がちょっと見切れてるガバがあるよ
・FULLの場合、前奏の下がちょっと見切れてるガバがあるよ

問題のシーン①
問題のシーン②

(おまけ)文字表記

ここまでくると技術的アドバイスと言うよりはただの小ネタ集ですが、おまけとして紹介しておきます。

[short]
歌詞「それは万有引力の様なモノであり、」→物理演算「それは万有引力の様なモノであり、」
歌詞「繰り言を吐くの? 砂を噛み、鏤骨を齧り、」→物理演算「クリゴトを吐くの? スナを噛み、ルコツを齧り、」

[FULL]
歌詞「それは万有引力の様なモノであり、」→物理演算「それは万有引力の様なものであり、」
歌詞「それはテレメトリ信号が指し示す通り、」→物理演算「それはテレメトリ信号が指し示す通り、」

こんなもんですかねえ。ガバ模倣とかは狂人の域なのでやりたくなかったらやらなくていいと思います。


この記事が気に入ったらサポートをしてみませんか?