注目キーワード

【動画制作者必見】面倒な「効果音の配置」を自動化する方法を解説! – もはやChatGPTは単なる文章生成系AIではない。【プログラミング×動画編集】

Youtube動画

以下は、本動画の字幕です。

このチャンネルを見ている視聴者の方ならお気づきだと思うのですが、私が喋るたびに効果音がもれなくついてきます。これ、手作業でやってません。というか、一々手作業でやっていたら日が暮れてしまいます。とても毎日投稿なんてできないです。もちろん、プログラミングを使って効果音の配置を自動化してるんですが、ここでふと思ったんです。上手くやれば話してる内容に合わせて効果音の種類を切り替えられるのでは?と。私の場合は、ものすごーく真面目なことをダラダラ喋るだけなので、こんなありきたりの効果音を延々と流すだけでも全然いいのですが、ゲーム実況などをやる場合は、話している内容に合わせて効果音の配置を自動化出来たらめちゃくちゃ時短になりそうですよね?ということで、その方法を考えてみます!

第1章はじめに

まあ、こんな感じで章を示す部分はピアノの単音に効果音が変わります。これをやるだけなら朝飯前です。if文や正規表現をちょっとでも知っていれば実装できますね。しかし、本当にやりたいのはこういうことではありません。話している内容に合わせて柔軟に効果音を配置するのが目的です。例えば「なんでやねん!」という発言があったら、自動的に「ビシッとツッコミ」の効果音を挿入する、ということですね。これ、一見難しそうですが、最近は便利なものがありますよね、ChatGPTです。

でも、ただプロンプトに投げればいいというわけでもないんですよ。私がこうして喋ってる文章の量って実は結構あるんです。いつも大体少なくても3000文字、多ければ5000文字くらいありまして、これで100行くらいになります。一々プロンプトに投げるのは大変ですよね、途方もない時間がかかるのは想像に難くないです。というわけで登場するのがChatGPTのAPIになるわけです。

第2章APIとは何か

このチャンネルを見ている人ならAPIの概要については把握していらっしゃるとは思うんですが、一応概要についてお話しします。APIはApplication Programming Interfaceの略でして、異なるソフトウェア同士を繋ぎ、データや機能をやり取りするための仕組みのことをいいます。そして、ChatGPTはAPIサービスを提供してるんですよ。これが何を意味するのかと言いますと、pythonとかjavascriptみたいなプログラミングを使って、自分の環境でChatGPTを動かすことができるんですよね。これを使えば、for文などを用いてChatGPTにプロンプトを投げる処理を自動化できるわけです。

第2章1節問題もある

これで晴れて問題解決かと思いきや、そうではありません。実はChatGPTにプロンプトを投げる処理って一回ごとに結構時間がかかるんですよ。それを行数分、いつもなら100回程度やるわけです、とても時間がかかって編集どころではありません。ではどうすればよいのか、ここで登場するのが非同期処理ですよ。

第2章2節非同期処理

一応非同期処理について説明しておきますと、ある処理を実行している最中に、それを中断することなく他の処理を実行する方式のことを非同期処理っていいます。要するに一度に100行分のリクエストをChatGPTに同時に送る、ということですね。そこで返ってきたそれぞれに合った効果音の情報を自動的に挿入していくことで、時短になりそうです。

第3章既にやってる

はい、長々と話してきましたが、これ、既にやってることと何ら変わりません。例えば画面中には「いらすとや」のイラストと一緒に簡単な文字が表示されていますが、流石にこれも手作業でやってないです。あと、私が喋ってる表情とか姿勢も結構頻繁に変わると思うんですが、これも話してる内容に合わせて自動で変更するようにプログラムされています。だから、ここでやっているやり方と同じことをすれば支障はなさそうですよね。それらを達成しているのが、ChatGPTのAPIなのです。

第4章大まかな流れ

ここまで説明したところで、ここからは、効果音の自動配置を実装する簡単な流れを考えていきましょう。まずは、動画のテロップを用意します。これがなければ何も始まりませんね。私の場合はメモ帳に台本を書いているので、そのファイルをそのまま字幕の情報とすることができますが、既に動画内のテロップが完成していて、後で効果音を一括で配置したい場合は厄介だと思います。Aviutlの場合は、以前私は動画のプロジェクトファイルから字幕の一覧を抽出するアプリを作成したので、それを使えば早いと思います。

あと、世の中には自動字幕生成ツールと呼ばれる便利なものがあります。Whisperなどが代表的ですね。こうした外部ツールを使ってもいいですし、字幕を読み上げているwavファイルがあるのならそこからテキストを抽出するAPIが確かあったと思います。私は使ったことがないので詳しいことは言えませんが、Google Cloudを探してみてください。ChatGPTのAPIにも似たようなものがあったはずです。

第4章1節テロップの内容を解析

こうして何らかの方法で字幕情報を用意します。この字幕を改行や句読点で分割して、ChatGPT APIを使ってそれぞれのパートごとに「このテロップに適したSEカテゴリは?」と聞いて分類するとよさそうです。このとき、例えば「拍手」「笑い声」「爆発音」「ツッコミ」みたいなタグを付与できてるといいですね。

第4章2節対応するSEを取得

まずはSEライブラリとタグを紐づけた辞書を用意します。例えば拍手のタグにはclap.wavを紐づけ、笑いのタグにはlaugh.wavを紐づけるといった塩梅ですね。これは各人のパスやダウンロードしている効果音のファイル名によって異なると思います。で、この辞書を元にさっき付与されたタグから一致するSEファイルを自動選択すれば良さそうです。

第4章3節動画編集ソフトにSEを自動挿入

ここまでは簡単ですが、最後に動画編集ソフトに自動で効果音を挿入しなくてはなりません。これが一番難しいと思います。使ってる編集ソフトによってやり方は異なります。私の場合、Aviutlを使ってるのですが、exoファイルをプログラムを使って自動作成することで対応しています。あるいはAviutlはLuaによるスクリプト制作をサポートしているので、それを使うという方法もありますね。Davinci Resolveの場合、確かPythonを使ったAPIがあったと思います。Premiere Proも同様です。

荒業ですが、MoviePyといったモジュールを使ってプログラミング上で動画編集を完結させるといった方法もあります。これはご自身の環境や使っているソフトに応じて変わると思います。

第5章結論

このようにして、効果音の配置を自動化できると思います。みなさんも試してみてください。個人的にはChatGPTって、ただ文章を書くだけじゃなくてこうした自動化にも使えると思うんですよね。今まで人間がやっていたところを積極的にAIに置き換えることで楽をしていきたいものです。ご視聴、ありがとうございました。

最新情報をチェックしよう!