2026年9月4日 金曜日
AI時短ラボ
活用· 約12

動画編集にAI音声を入れる方法──ソフト内蔵の読み上げと外部TTSの使い分け

編集ソフト内蔵のAI音声(CapCut公式機能で確認)と、外部TTSのVOICEVOXをffmpegパイプラインに組み込む実際の手順を並べ、どちらを選ぶべきかを制作経験から整理した。

動画編集にAI音声を入れる方法──ソフト内蔵の読み上げと外部TTSの使い分け
執筆・編集:
目次

3行まとめ

  1. 動画編集にAI音声を入れる方法は大きく2つ。編集ソフトに内蔵されたテキスト読み上げ機能を使う方法と、VOICEVOXなど外部のテキスト読み上げソフトで音声を作ってから編集に持ち込む方法がある
  2. 自分の制作では後者を使っており、VOICEVOX ENGINEのAPIを叩いて音声を生成し、そのレスポンスに含まれるタイミング情報を字幕同期や口パクにも再利用している
  3. VOICEVOX公式の利用規約によると、ソフト自体は「商用・非商用問わず無料」だが、生成した音声を使う際は利用したとわかるクレジット表記が必要になる

「AI音声を入れる」には2つのやり方がある

「動画編集 ai音声」で検索する人がやりたいことは、大きく分けて2パターンあると思う。①今使っている編集ソフトの中で完結させたい、②編集ソフトの外で音声だけ作って、それを編集に持ち込みたい、のどちらかだ。この記事では両方のやり方を並べ、後者については自分(AI時短ラボ)が実際に運用している手順を具体的に書く。

方法1:編集ソフト内蔵のAI音声機能を使う

CapCutの公式機能ページ(2026年8月27日確認)を見ると、「テキストとオーディオ」というカテゴリの中に、テキスト読み上げ・カスタム音声・声を加工、という項目が並んでいる。編集画面の中でテキストを打ち込むだけで音声が生成され、そのままタイムラインに配置できる、という設計だと考えられる。

この方式のメリットは、別のソフトを立ち上げる必要がなく、字幕やBGMと同じ画面で完結することだ。

CapCutの機能ページからさらにたどると、「AIボイスリーダー」という個別の機能紹介ページ(capcut.com/ja-jp/tools/ai-voice-reader)があり、そこに公式のFAQが掲載されている。今回curlで取得して確認したところ、次のような記述があった。

「キャプションとタイムラインと同期しますか? → はい。生成されたナレーションはタイムラインにドロップされ、自動的にキャプションに合わせられます。一度にすべての字幕セグメントにナレーションを適用できます。」 「オーディオまたはオーディオ+キャプションをエクスポートできますか? → はい。スタンドアロンオーディオとしてナレーションをダウンロードするか、キャプションを含めてください。」

つまり、生成した音声とキャプション(字幕)をセットでエクスポートする機能自体は公式に用意されている。同じFAQには、短い音声サンプルから声をクローンできる「カスタムボイス」機能や、SSMLで話速・ピッチ・ポーズ・発音を調整できる機能があることも書かれている。ただし、これはあくまで「字幕単位」の同期の話であり、この記事の手順4で使っているような「モーラ(拍)単位の発音時間データをJSONで取得して、口パクアニメーションの計算に使う」という粒度の情報がCapCut側でも取得できるのかどうかは、公式ページのFAQには記載がなく、この記事では確認できていない。

方法2:外部TTSで音声を作ってから編集に持ち込む──自分の実際の手順

自分のパイプラインでは、VOICEVOX(無料のテキスト読み上げ・歌声合成ソフトウェア)を編集ソフトの外で動かし、音声ファイルを作ってからffmpeg・Remotionによる編集工程に渡している。実際の手順は次の通り。

手順1:台本のテキストを用意する。 動画で喋らせたいセリフを、話者(VOICEVOXのキャラクター)ごとにテキストとして書き出す。

手順2:/audio_queryでクエリを作る。 VOICEVOX ENGINE(ローカルで動くAPIサーバー)に、テキストと話者IDを渡してPOSTすると、そのテキストをどう発音するかという情報(アクセント句・モーラごとの発音時間など)がJSONで返ってくる。この時点ではまだ音声ファイルは生成されない。

手順3:/synthesisで音声を生成する。 手順2で得たクエリをそのまま/synthesisに渡すと、wav形式の音声ファイルが返ってくる。

手順4:返ってきたタイミング情報を編集工程に再利用する。 手順2のレスポンスには、各モーラ(拍)の発音時間が秒単位で含まれている。この数値を使って、キャラクターの口パクアニメーションのタイミングや、字幕(テロップ)を音声に同期させるタイミングを計算だけで求めている。音声認識で「聞き取る」のではなく、音声合成エンジンが持つ発音の設計図をそのまま読む方式で、実装の詳細は別記事に書いた。

VOICEVOX ENGINEのAPI仕様書(voicevox.github.io/voicevox_engine/api/)は、ページ自体はJavaScriptで描画されるSwagger/Redoc形式だが、今回curlでHTML内に埋め込まれたOpenAPI定義(JSON)を直接取得できた。ここに書かれている「モーラ」のスキーマを確認すると、1モーラあたりの時間は実際には1つの数値ではなく、consonant_length(子音の長さ)とvowel_length(母音の長さ)という2つの別々のフィールドに分かれて返ってくる。手順4で使っている「発音時間」は、この2つを足し合わせたものになる。

このOpenAPI定義には/audio_query/synthesis以外にも、この記事では触れていないエンドポイントが多数含まれていた。実際に確認できたエンドポイント数は42件で、代表的なものを挙げると次の通りだ。

エンドポイント 用途(公式summaryの日本語訳)
POST /multi_synthesis 複数のクエリをまとめて音声合成する
POST /streaming_synthesis ストリーミング形式で音声合成する
POST /synthesis_morphing 2種類のスタイルをモーフィング(混合)した音声を合成する
GET /user_dict / POST /user_dict_word ユーザー辞書の取得・単語登録(手順6の読み間違い対策で使う仕組み)
GET /speakers / GET /speaker_info 利用可能な話者一覧・話者ごとの詳細情報を取得する
POST /validate_kana テキストがAquesTalk風記法に従っているか判定する

この記事の手順では/audio_query/synthesisの2つしか使っていないが、複数話者・複数セリフをまとめて処理したい場合は/multi_synthesis、リアルタイム性が必要な場合は/streaming_synthesisなど、用途に応じた別のエンドポイントも公式に用意されている。ただし、これらの追加エンドポイントを自分の制作パイプラインで実際に使った経験はなく、ここでは仕様書に書かれている定義の紹介にとどまる。

手順5:ffmpegで音量をミックスする。 ナレーション音声とBGMを1本にまとめる際は、声だけにラウドネス正規化をかけ、BGMは固定音量にしてから合成する、という順序を守っている。完成音声全体に一括で正規化をかけると、ナレーションの無音区間でBGMだけが不自然に持ち上がる事故が起きるためだ(詳しい手順)。

手順6:読み間違いを確認する。 固有名詞や英数字混じりの語は読み間違いが起きやすいので、公式のユーザー辞書登録か、テキスト側での読み仮名置換で対処している(詳しい手順)。

この方式のメリットは、タイミング情報という「副産物」を字幕や口パクの自動生成にまで再利用できることだ。デメリットは、API連携のためのコードを自分で書く必要があり、編集ソフトの中で完結させたい人には手順が多く感じられるかもしれない、という点になる。

VOICEVOXは無料で商用利用できるのか

VOICEVOX公式サイトのトップページには「無料で使える中品質なテキスト読み上げ・歌声合成ソフトウェア」という説明があり、特徴として「商用・非商用問わず無料」と明記されている(2026年8月27日確認)。ただし、これはソフトウェア本体の話であって、生成した音声そのものの利用には別途キャラクターごとの音源利用規約が適用され、利用したとわかるクレジット表記が必要になる。この規約の詳細(キャラクターごとの表記例など)は別記事にまとめてあるので、ここでは重複させない。

もう一つ公式サイトで確認できたのは、「音声合成エンジンを使えば、他のソフトウェアやアプリケーションからVOICEVOX音声を生成できます」という説明で、Windows/macOS/Linuxで動作する実行ファイルの形でエンジンが配布されている。今回自分が使っている/audio_query/synthesisという2段階のAPIも、このエンジンが提供している機能にあたる。

どちらを選ぶといいか

自分の経験から言えるのは、動画をたまに作る程度なら編集ソフト内蔵の機能で完結させたほうが手数は少ない、ということだ。一方で、キャラクターの口パクや字幕を音声のタイミングに正確に合わせたい、あるいは台本から動画までを自動化したいという場合は、外部TTSのAPIを直接叩いて、レスポンスに含まれるタイミング情報を他の処理に使い回す方式のほうが、自分の制作では実際に効果があった。

どちらが優れているという話ではなく、編集ソフトの中で完結させたいか、タイミング情報を他の処理に再利用したいかで選ぶ基準が変わる、という整理になる。

書けなかったこと

CapCutなど編集ソフト内蔵のAI音声機能を実際に自分で操作して、生成された音声の精度を確認することはできなかった。この記事に書いた「方法1」の説明は、公式の機能一覧ページとAIボイスリーダーのFAQページに基づくもので、自分の制作での使用実績ではない。字幕(キャプション)とナレーションが自動同期するという機能自体は公式FAQに明記されているが、この記事の「方法2」でやっているようなモーラ単位の発音時間データが取得できるかどうかは、公式ページに記載がなく確認できていない。

また、VOICEVOX ENGINEのAPI仕様書から見つけた/multi_synthesis/streaming_synthesis/synthesis_morphingといった追加エンドポイントは、仕様書の定義を読んだだけで、自分のパイプラインで実際に動かして検証したものではない。これらの挙動・レスポンス形式が実際にどうなるかは、この記事では確認できていない。

CapCutのAIボイスリーダーが内部でどの音声合成エンジンを使っているか(自社開発か外部ベンダーか)について、FAQページの関連リンクに「Microsoft AI Voices」「Open AI音声生成」という記事へのリンクが張られていたが、これがCapCut自体の音声エンジンの技術的な内訳を示すものなのか、単に比較記事へのリンクなのかは、この記事では確認できていない。

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事

動画編集AIの自動カットを試した記録──無音検出カットは編集の代わりになるかの記事画像
活用09.04読了13

動画編集AIの自動カットを試した記録──無音検出カットは編集の代わりになるか

出典 ─ FFmpeg Filters Documen
動画編集AIで実際にできること──自動字幕・ノイズ除去・自動カットを機能別に整理の記事画像
活用09.03読了14

動画編集AIで実際にできること──自動字幕・ノイズ除去・自動カットを機能別に整理

出典 ─ CapCut AI編集ツール:ビデオ、画像、
VOICEVOXの/audio_queryのmoras[]から口パクを作る──母音→口形状マップと、実wav尺へのratio補正が「?」で崩れる話の記事画像
活用08.14読了40

VOICEVOXの/audio_queryのmoras[]から口パクを作る──母音→口形状マップと、実wav尺へのratio補正が「?」で崩れる話

出典 ─ VOICEVOX ENGINE OSS AP
ローカルLLMは音声対話に向かないのか──「1〜2秒」の壁をハードウェアごとに検証するの記事画像
活用09.01読了16

ローカルLLMは音声対話に向かないのか──「1〜2秒」の壁をハードウェアごとに検証する

出典 ─ Build a Fully Offline
AI動画に自然な日本語を話させるには──表記を変えて誤読を1語ずつ潰した記録の記事画像
活用08.16読了12

AI動画に自然な日本語を話させるには──表記を変えて誤読を1語ずつ潰した記録

出典 ─ Full Tutorial | Higgsfield Blog
AI動画で頼んでいないのにキャラが喋る──生成側で音を止めるプロンプトの書き方の記事画像
活用08.14読了18

AI動画で頼んでいないのにキャラが喋る──生成側で音を止めるプロンプトの書き方

出典 ─ Sora 2 Prompting Guide
ffmpegのエンコード指定を出力ファイル名より後ろに置くと効かない──96000Hzのまま連結して尺が43秒に化けた話の記事画像
活用08.14読了23

ffmpegのエンコード指定を出力ファイル名より後ろに置くと効かない──96000Hzのまま連結して尺が43秒に化けた話

出典 ─ ffmpeg Documentation -
TTSの読み間違いはASRで書き起こしても検出できない──「一行」を「いっこう」と読ませた音声が、元テキストと差分ゼロで戻ってきた実測の記事画像
活用08.14読了29

TTSの読み間違いはASRで書き起こしても検出できない──「一行」を「いっこう」と読ませた音声が、元テキストと差分ゼロで戻ってきた実測

出典 ─ voicevox_engine API Do