加藤祐介ブログ

TouchDesignerを使って曲の音声に合わせた動画を作成してみる

記事投稿日: 2025年9月21日(日)

最終更新日: 2025年9月21日(日)

目次

はじめに

自分で作った楽曲に動画を付けたかったので、 TouchDesignerを使って曲の音声に合わせた動画を作成してみます。 TouchDesignerは映像やデジタルアート作品を作成できるソフトウェアです。

インストール

下記リンクが公式サイトで、ここからインストールできます。

TouchDesignerの公式サイト

環境

私はWindows 11 Homeで試しました。

TouchDesignerの使い方

Touch Designerでは音声や映像などに関するノード(オペレータ)の入出力を繋いで作品を作っていきます。

実際のTouchDesignerでノードを繋いでいる様子が下図です。

TouchDesignerの画面

ノード(オペレータ)の種類

TouchDesignerの画面上でTABキーを押すとノード(オペレータ)の選択ウィンドウが表示されます。

ノード(オペレータ)のウィンドウ

ノード(オペレータ)の種類は下記です。

曲の音声に合わせた動画を作成する

自分で作った楽曲の音声に合わせた動画を作成してみます。 下記のYouTubeの動画を参考にさせていただきました。 ありがとうございます。

参考動画

音声ファイルを入力していい感じの波形にする

まず対象の曲の音声ファイルを入力して波形を作ります。

CHOPのAudio File Inノードを使用して音声ファイルを取得します。 さらにこのノードをAudio Spectrumノードに繋いで周波数ごとに分けた波形を生成します。 しかしこのままだとサンプル数が多いので、 Resampleノードに繋いでサンプル数を減らします(今回は5に設定)。

また作業中に音を聴けたほうが便利なのでAudio Device Outノードにも繋いでPCから音声が流れるようにしています。

音声ファイルを入力

周波数ごとに取り出して出力する

次に周波数ごとに波形を取り出して出力できるようにします。

CHOPのTrimノードを使って各周波数のサンプルごとにチャンネルを分けます。 今回はサンプル数を5に設定してチャンネルを5つを分けます。 それをMathノードに繋いでチャンネルを統合します。 lagノードに繋ぐと変化が緩やかになります(なくても大丈夫です)。 最後にnullノードに繋いで出力します(nullノードで出力するのが慣習らしいです)。

周波数ごとに取り出す

3Dオブジェクトを作成して波形を反映させる

5つのチャンネルをそれぞれ5つの3Dオブジェクトに対応させます。

CHOPのnullを5つのSOPのBoxノードに繋ぎます。 それぞれのBoxノードのsizeのy軸方向に「op('null1')['chan1']」と入力してnullの出力をそれぞれのチャンネルに対応させます。 x軸方向とz軸方向のsizeは適当に決めます。 また位置も被らないようにそれぞれ適当にずらしておきます。

次にBoxノードをMaterialノードに繋いで色を設定します。 色はMATのConstantノードで設定できます。今回は白色に設定しています。

次にそれぞれを一旦nullに繋いだ後、COMPのGeometryノードに繋ぎます。GeometryのScaleを適当にいじって大きさを調整するとよいです。

最後にTopのRenderノードに5つすべてを繋いで動画を描画します。RenderにはCameraノードが必要なので適当に作成して繋いでおきます。

3Dオブジェクト作成

動画をファイルに出力

描画した動画をファイルとして保存します。 その前にOverノードととconstantノードを使用して背景を黒色にしておきます。 最後にMovie File Outノードに繋いで「Record」ボタンを押すと録画してファイルとして保存できます。 動画と一緒に曲の音声も録音したかったので、Movie File OutのCHOPの項目にAudio File Inノードを指定しました。

ファイルとして動画を保存

完成した動画

完成した動画はYouTubeで公開しました。 参考になれば幸いです。

おわりに

今回はTouchDesignerを使って自分で作った曲に合わせた動画を作成しました。 直感的に操作して動画を作成できるとてもよいソフトウェアだと思います。 使いこなすためにはまだまだ時間がかかりそうですが、いろいろできそうなのでこれからも使っていきたいと思います。 それでは、また。

お知らせ

過去のお知らせ

シリーズ記事一覧

各シリーズの記事を下記にまとめてあります。

我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記 我が家のインコ「れもん&ぽぽ&ぐぐ&さん」の日記22 : 我が家にさんちゃんがやってきた 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記21 : 2ヶ月ぶりのインコ日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記20 : 久しぶりのインコ日記 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記19 : 鳥フェス浅草2025に行ってきました! 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記18 : 2024年に感謝&2025年もよろしくお願いします 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記17 : れもんもぐぐも平和な日々を送っています 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記16 : れもんが本に掲載されたり、愛鳥祭に行ったりなど 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記15 : 落花生、新聞紙、れもんとぐぐの邂逅 インコの飼い方と注意点(2024年版) 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記14 : 大人に近づくれもんと遊ぶ余裕が出てきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記13 : 生後4ヶ月を迎えたれもんと我が家に慣れてきたぐぐ 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記12 : ぽぽが亡くなりました、そしてぐぐがやってきました インコ仲間「れもん&ぽぽ」の日記11 : ズグロシロハラインコのぽぽ、我が家へ セキセイインコ「れもん」の日記10 : 生後100日のれもん、ついに喋る セキセイインコ「れもん」の日記9 : 換羽期のれもん セキセイインコ「れもん」の日記8 : 病院へ挑戦! セキセイインコ「れもん」の日記7 : 外出用ゲージにチャレンジ! セキセイインコ「れもん」の日記6 : 新宿ことり博に行ってきました! セキセイインコ「れもん」の日記5 : 3週間経って順調に成長している模様 セキセイインコ「れもん」の日記4 : 鳥フェス千葉2024に行ってきました! セキセイインコ「れもん」の日記3 : 2週間経って我が家にも慣れてきた模様 セキセイインコ「れもん」の日記:第2回 セキセイインコの「れもん」が我が家にやってきました!
AlpacaHackで始めるCTF入門 AlpacaHackで始めるCTF入門7:AlpacaHack Round 5 - XorshiftStreamに挑戦 AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦 AlpacaHackで始めるCTF入門5:AlpacaHack Round 3 - qrimeに挑戦 AlpacaHackで始めるCTF入門4:AlpacaHack Round 2 - Simple Loginに挑戦 AlpacaHackで始めるCTF入門3:初めてのCTFに参加 AlpacaHackで始めるCTF入門2:DreamhackでCTF入門 AlpacaHackで始めるCTF入門1:初めてのCTF
シェル芸 第66回シェル芸勉強会メモ 第64回シェル芸勉強会メモ ChatGPTでシェル芸勉強会の問題が解きたい シェル芸botで遊びたい(Bash)
ROS 2 ROS 2シェル芸:URDFを置換してRVizで表示する 改訂新版『ROS 2ではじめよう』を読了&メモ書き ROS 2 Jazzy公式チュートリアル02: ROS 2のノードとトピックについて ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで ROS 2 Humble 公式チュートリアル 02: ROS 2 のノード関係のコマンド ROS 2 Humble 公式チュートリアル 01: 環境構築から turtlesim まで
VRChat Modular Avatarを使ってVRChatのアバターのオブジェクトをワールドに固定する VRChatのアバターのオブジェクトにアニメーションを設定する 【VRChat】Modular Avatarを使ってアバターのオブジェクトの表示と非表示を切り替える 公開されているVRMモデルをVRChatで動かす
技術ネタ TouchDesignerを使って曲の音声に合わせた動画を作成してみる Sonic Piで作曲してみる Visual Studio CodeでGitHub Copilot使用時にGitHubにサインインできない問題を解決 Unityでブラウザゲーム(Webアプリ)を作成してレンタルサーバで動かす方法 echoコマンドで"-n"をそのまま出力したい シェル芸オンラインジャッジの紹介 Ubuntu 24.04 LTSにおいてノートPCを電源に接続していない状態だと画面が暗くなる問題の解決方法 HTMLのvideoタグで貼った動画のサムネイルがSafariで表示されない問題を解決 WSL2上のUbuntuのVimで矩形選択するための設定 HTMLとCSSで画像のスライドショーを作成 GitHub Actionsでサーバ上のブログを自動更新 Windows と Ubuntu のデュアルブート
ELDEN RING BLOG ELDEN RING BLOG 9: DLCに挑戦した ELDEN RING BLOG 8: 最後のボスを倒した ELDEN RING BLOG 7: ラニのストーリーを進めた ELDEN RING BLOG 6: 四体目と五体目の大ボスを倒した ELDEN RING BLOG 5: 三体目の大ボスを倒した ELDEN RING BLOG 4: 二体目の大ボスを倒した ELDEN RING BLOG 3: 一体目の大ボスを倒した ELDEN RING BLOG 2: レベル上げと武器強化の旅 ELDEN RING BLOG 1: 今更ながら始める初見ELDEN RING冒険日記
ELDEN RING NIGHTREIGN BLOG ELDEN RING NIGHTREIGN BLOG 3: 喰らいつく顎を倒した ELDEN RING NIGHTREIGN BLOG 2: 最初の標的を倒した ELDEN RING NIGHTREIGN BLOG 1: マルチプレイ初戦
ポケポケブログ ポケポケブログ4:「超克の光」環境でもベトベトンデッキはまだ強い ポケポケブログ3:「時空の激闘」環境でもベトベトンデッキを使いたい ポケポケブログ2:「幻のいる島」環境でもベトベトンデッキが強いです ポケポケブログ1:ベトベトン+マタドガスデッキをおすすめする
読書日記 読書日記『本を読んだことがない32歳がはじめて本を読む』【ネタバレあり】 読書日記:近畿地方のある場所について【ネタバレあり】 改訂新版『ROS 2ではじめよう』を読了&メモ書き
映画日記 映画日記『ラストマイル』感想【ネタバレあり】
料理日記 料理日記:オムライス 料理日記:豆腐春巻き 料理日記:鶏肉とナスのほりにし炒め 料理日記:卵焼き 料理日記:鶏肉の照り焼き&小松菜のおひたし 料理日記:納豆蕎麦 料理日記:ローストビーフ 料理日記:バターガーリックチキン
その他 JR東日本公式のお忘れ物チャットにお世話になった話 『Omega Crafter』プレイ日記: チュートリアル編 自作ブログ大改造計画 HTML数式表示テスト 自作ブログ開始

加藤祐介ブログの著作物はCC BY-NC-ND 4.0で公開されています。
加藤祐介ブログのソフトウェアはApache License 2.0で公開されています。
About License: GitHub - YusukeKatoBlog/LICENSE
© 2023 YusukeKato All Rights Reserved.