要旨
2026.01.09のblog「「音生成の可能性」と「映像による音生成・改」」の表紙に炎の画像を使いました。今回紹介するのは、この炎の映像から音を作製する方法です。抽象的なイメージに対して音を付けることができることを示す例です。そしてもう一つは、液滴が水面に落ちた時、ボチャンと鳴りますが、このように単発で比較的短い音を映像から作製してみます。これで映像による音生成の方法として、「「音生成の可能性」と「映像による音生成・改」」で紹介した、筋肉の動き、ポテンシャルへの衝突、2026/01.09「映像による音生成2」で扱った、図形の変化、そして今回の、抽象と単発、いずれもTouchDesignerで音を作製を完結することができました。これらはそれぞれに専用のアナログシンセサイザーを作製しているようなものです。電子回路で機能ブロックを作製して、それらを結線することで様々な音が作りだせるようにしたのがアナログシンセサイザーです。プログラムを使ってソフトによるアナログシンセサイザーを作る方法は勿論あります。しかし現在のアナログシンセサイザーは映像から音を作るものではありません。ですので映像から変調信号を作るブロックがありません。この部分を新たに追加して、映像用シンセサイザーを開発するのは意味があるかもしれません。また音への変換機能をより広く解釈すると、映像からデータを作る方法の一つと解釈することもできます。
炎の音の作製
最初に作製した映像を見ていただきましょう。音に注目ください。ToucDesignerによるものです。
よく聞いていただくと、炎が弱い時と強い時と音が変化しています。映像も軽く色変化しています。
まず映像についてです。blenderによって炎の映像と海面の映像を作製し、それらをcross TOPで合成して作製しています。2つの映像を合成したのは、炎のメラメラとした感じをだすのに、海面の映像の潮を使おうと思ったからです。blenderによって炎を作る方法はblenderの物理シミュレーションの機能を使っています。YouTubeに沢山上がっています。私は「https://www.youtube.com/watch?v=vQq0jFL1I-Y」を利用しました。また海面の映像はblenderのモディファイアーの中の物理演算の下にある「海洋」を使って作製します。YouTubeの「https://www.youtube.com/watch?v=vSgWZG2ugf0&t=101s」を利用しました。合成した後、leve TOPで色変化を付けています。 blenderは形状を作るのに適しているだけでなく、物理演算も多く備えています。
次に音の作製方法について述べます。音調整のためのフィルタのパラメータ等については音を聞きながら調整しています。細かな点は省略し全体の構成を説明致します。次の画像を見てください。

映像から変調信号を作製しホワイトノイズを変調する手法です。今回の音作製の特徴は、今の時間と少し過去の時間を活用している点です。これによって音の激しさを作っています。過去のデータを直接利用できるのはプログラムならでは手法です(2026.01.10のblog「躍動感1:オブジェクトからの視線」でも、現在の位置を少し過去の位置から見ています)。左上のcross TOPで映像を合成しています。これをモノクロに変えてthreshold TOPで白黒表示にしanalize TOPでピクセルの平均値を求めます。これをtop to CHOPで数値化します。これが動きのデータの元です。この方法は、形が明確でない抽象的な映像で動きがある場合、それをデータ化するのに向いています。続いてtrail CHOPで時間のデータに変えます。そしてtrim CHOPで最後のデータつまり現在の値を抽出します(図中のブランチAの変調データ)。これでaudio oscillator CHOPで作製したホワイトノイズを変調するのがブランチAです。これだけでも炎の感じはでます。ただ勢いを感じさせるために、ブランチB, ブランチCを用意し、それらをcross CHOPで合成しました。cross CHOPはA,B,Cの3つの入力がある場合、Crossパラメータの値が0~1の時A~Bの値を出力し、1~2の時はB~Cの値を出力します。例えばCross = 1.2の時はBが80%、Cが20%の合成になります。添付画像のブランチBでは、trail CHOPのデータをtrim CHOPで選択するとき、少し過去のデータを選択しています(図中のブランチBの変調データ)。つまり過去のデータを使ってホワイトノイズを変調しています。そしてブランチCはブランチAとブランチBを足したデータです。これら3つをcross CHOPに入力し、映像の時間変化に合わせてCrossパラメータを0~2に変化させています。後はオーディオフィルタのパラメータを調整しています。
液滴の音の作製
次は映像が単発でポンと現れて消えるような場合に、音を作製することができるのか、という課題に対するアプローチです。映像はblenderで水面に水滴が落ちた時の振る舞いを表しています。blenderの物理演算を使っています。YouTubeの「https://www.youtube.com/watch?v=I-Qj6vSrkN8」を利用しました。それでは音に着目しながら映像を見てください。
液滴が水面に衝突すると、クレータ状になり、次に柱ができ、それが崩壊し、水面が揺らぎます。衝突した際に、クレータと水柱ができて崩壊する際の音を作る系統と、水面が揺らぐことでできる音の系統と、2系統作製し、それらを合成して全体の音を作ることにしました。音生成するプログラムの主要部分が次の画像です。

左上にmoviefilein TOPがありここにblenderで作製した映像を入れます。中央付近にaudioosc CHOPでホワイトノイズを作製しています。これが変調するmath CHOPのミキシング1とミキシング2に繋がっています。これが系統1,系統2です。ミキシング1の入力をたどると、映像をcrop TOPで画面の縦方向に変化する部分を切り取っています。切り取った映像をtop to CHOPでデータ化します。ここでは画像の中央よりやや下側の横軸方向でカットしたデータを得ています。trim CHOPで横軸の範囲を決めます。これをanalayze CHOPで平均化し数値化します。これが変調データです。つまり、crop TOPで範囲を制限した画像を、ある高さで横軸方向で切ったその変化をデータ化したということです。このデータとホワイトノイズをミキシングしています。これで衝突した時のボコッという音を作っています。この方法は、2026.01.08の「「音生成の可能性」と「映像による音生成・改」」で筋肉の音を作製したのと似ています。次にmath CHOP ミキシング2をたどってください。crop TOPで水面部分を取り出し、これをthreshold TOPで白黒にし、analyze TOPで平均化してtop to CHOPで数値化しています。これがミキシング2の変調信号です(thereshold TOP – analize TOP – top to CHOPの組み合わせは、炎の場合と同様です)。これは水面部分の揺らぎの変化量を抽出したデータになります。ここからザワザワしたバックグランドの音を作製しています。
まとめ
「音生成の可能性」と「映像による音生成・改」のblogで述べましたが、音生成はAIが得意ではありません。これは音が千差万別であり、かつ人の感覚の評価と合わせたデータが少ないからです。ここが形状から音生成する手法が役立てる部分だと思っています。結局、ホワイトノイズや三角波, 矩形波等と変調データをミキシングして作製します。この変調データを形状を元にして如何に作製するかがポイントでした。今回と、「映像による音生成2」、「「音生成の可能性と・・・」とで複数の方法を試しました。勿論他にもあると思います。結果的には形状から音を作ることがある程度できるという印象を持ちました。音生成はMAXを使うと様々な音加工のオペレータが用意されていますが、TouchDesignerでもある程度できるのは意外でした。映像から音が作れるわけですが、これは映像の変化をデータ化できることでもあります。この考えはより広い活用につながると思っています。


コメント