見出し画像

英語が苦手でもネイティブナレーションによるアプリ紹介・デモ動画は作れる!マルチモーダル生成AIをフル活用しよう

以前の記事では多言語対応アプリの制作について解説しました。ではアプリが完成した後、どのようにプロモーションしていきましょうか?大手企業のように知名度もリソースもない中での宣伝は大変ですね。X (Twitter), Product Hunt, Reddit など情報発信するサービスは揃っています。

活字でのアピールは古典的ですが当然押さえておくべきです。しかし今はスマートフォン全盛期です。一般層にリーチするには文字より動画の方が伝わるかもしれません。動画制作は大変ですが、完成すれば複数のプラットフォームで拡散できます。

この記事ではあなたが開発したアプリを紹介またはデモする動画の作り方を紹介します。アプリと違って多言語対応は無理ですが、英語が苦手でもネイティブのナレーションによる紹介動画が作れる方法です。

デモ動画が撮影できるサービスはすでに多数あります。代表的なものではArcadeなど、プレゼンターの顔を左下にワイプで出して解説する動画をYouTubeでも見かけますね。しかし日本人が英語で解説しながら動画を撮影するのは難易度が高すぎます。

そのためこの記事では自分で声を出さずに英語の読み上げ音声を用意します。生成AIがあるじゃないですか。しかも今はマルチーモーダルという、文章・画像・音声・動画を相互変換できるようになっています。英語はできなくてもそれらしい動画は作れます。

実際にできた動画を紹介しつつ、制作プロセスを公開します。個人開発者が世界に出るために乗り越えるべき課題は多いですがチャレンジしてみましょう。


完成品

こちらが今回制作したデモ動画です。

タイプとしてはアプリの使い方を紹介したいわゆる「How To動画」です。ティザー動画やブランディング動画ではありません。

もし再生していただけるなら、最初からネイティブ英語全開で解説が始まっていることがお分かりいただけます。音声も読み上げ文もAIによる合成です。

この動画の制作過程を解説します。

制作ステップ

英語ナレーションによるアプリ紹介動画作成の流れ

動画制作は下記のステップから構成されます。

  1. 画面操作を録画(音声無し)

  2. Geminiの動画→文字変換で文字起こし、台本のたたき台生成

  3. ClaudeやGPTで台本文章を推敲

  4. 生成AIの文字→音声変換で文章を読み上げ、音声ファイル化

  5. 動画と音声を合成・編集して完成

実は私はこれらの一部をPythonコードで処理しました。しかしこの記事ではプログラムに慣れていない方も想定して、ウェブサービスを使った動画化の方法を解説します。プログラムによる方法は最後に捕捉で紹介します。

操作画面を録画(音声不要)

まずはアプリの画面を収録します。

画面録画に有料サービスを使う必要はありません。Mac, iPhone, iPadならOS標準のキャプチャ機能、Windows なら OBS Studio などのフリーツールでできます。

音声録音は不要です。後のステップでAIが作り出すからです。

注意点としては、ポインタやカーソルが画面に写るように設定を確認してください。次のステップにて、録画した動画をAIに渡して「何をやっているのか」解析させます。そのためにはマウスの移動やクリック・タップ動作、画面切り替えなど一連の動きが収録されている必要があります。

また録画を始める前に、予めどのような操作をするか決めておきましょう。私はメモ書き程度でどの順でどういう操作をするかリストを用意しました。

そして録画を実施します。後の編集のために想定よりも長めに録画すると良いでしょう。

この方法はPCだけでなくスマホアプリの紹介動画にも活用できるはずです。

Google AI Studio (Gemini) で動画から文字起こし

録画した動画をマルチモーダルAIに見せて何をしているのか文章化しましょう。そうすればナレーションの台本を一から作る必要はありません。台本のたたき台もAIに作らせるのです。

動画を生成するAIの情報は溢れています。しかし動画を解析させるAIについては見かけません。あったとしても動画の内容を要約させる用途がほとんどです。

この記事で紹介する方法は違います。動画を要約させるのではなく「実況させる」のです。要約と台本化は違います。このニュアンス伝わるでしょうか。

ここでは Google AI Studio を使います。ブラウザからアクセスしましょう。

Google Gemini は動画→文字変換がサポートされています。他社の生成AIは画像入力はあっても動画入力はないはず(?)です。

Google AI Studio で新しいプロジェクトを作り、動画を読ませて下記のプロンプトで文字起こしさせます。

動画内でユーザーはあるウェブアプリを操作しています。
何をしているのか、視聴者にわかりやすい台本になるようにできるだけ詳しく実況してください。

動画のアップロードと解析に数分かかります。その間お待ちください。

Google AI Studio による動画の文字起こし(実況)

上図は実際に文字起こしした結果です。直接英語で書き起こす方がボリュームが多くたたき台としては良いのですが、ここでは日本語で書き起こししました。これをダウンロードして推敲、英訳しましょう。

注意点としては、動画のサイズが大きいとアップロードに失敗することです。あらかじめサイズを圧縮しましょう。

Google公式情報だと最大1時間分の動画をサポートしていますが最大ファイルサイズについては記載がありません。4分の動画でも録画直後の高画質動画だと400MBありアップロードに失敗しました。

このように音声がなくても文章化できます。ゼロから原稿を起こすのは大変なのでここは時短しましょう。

Claude/GPTで文章を推敲

次に書き起こした文章を編集して台本を完成させましょう。

ナレーション風に文章を完成させます。AIを使ってもいいのですが、新しいアプリだとAIは知識を持っていないのであなた自身の言葉で書くことをお勧めします。

エディタは何を使っても良いです。AIはChatGPTやClaudeのブラウザ版でも問題ありません。私はCursorエディタでも試しました。前記事のアプリ多言語化のように数十ファイルの翻訳とは違い、今回は1ファイルのみです。画面をまたぐコピペ作業は大きな負担ではありません。

文章が完成したら英訳しましょう。下記のプロンプトを推奨します。

添付ファイルはアプリ紹介動画の台本です。
英語の視聴者向けに英語のナレーション文章に書き直してください。

やりたいことは(1)英訳、 (2)できるだけ話し言葉にしたい、の2点です。一気にやってもらうのが理想です。

台本の英訳例 Claude 3.5 Sonnet 使用 (1)

しかしそう簡単にはいきません。上図はCursorエディタ・Claudeで英訳した例です。現状のAIの性能では(1)英訳だけで終わってしまいます。プロンプトは「ナレーション文章」ではなく「実況風に」の方がよかったかもしれません。

そこで続けてこのプロンプトを指示してみましょう。

Could you correct it suitable for read loud on YouTube?

英語のままコピペします。

台本の英訳例 Claude 3.5 Sonnet 使用 (2)

見づらい場合はすみません。画面右側の英訳を最初の英文と比較すると見事に話し言葉になっています。これなら読み上げにいいですね。

英語であらかじめ台本を準備した場合は2番目のステップだけでいいです。その場合のプロンプトはこちらです。

Attached is a script of introducing a web app. Could you correct it suitable for read loud on YouTube?

制作の流れ図では「推敲=Claude」「話し言葉=GPT」と書きました。AIにも個性があるので使い分けられるとより「いい仕事」ができます。

同じ翻訳作業をGPT-4oにもやらせてみました。やはり一発では読み上げ風の英文にはならなかったので2回作業指示しました。どのような違いがあるのかご確認ください。

台本の英訳例 GPT-4o 使用 (1)
台本の英訳例 GPT-4o 使用 (2)

いかがでしょうか。違いはお分かりになりましたか?

ClaudeはGPTと比較して格調高い、GPTの方がかなりフランクな感じです。YouTube動画にするなら私ならGPTの翻訳結果を採用します。

このように日本語からでもナレーション原稿は作れます。

ElevenLabsでネイティブ英語の読み上げ

ElevenLabsで読み上げ音声を合成(実験中の画面)

完成した文章を読み上げてもらいましょう。

日本語ならVoicevoxでずんだもんの声などを使う方法があります。しかしここでは英語でかつビジネスライクな読み上げを想定しています。そのため海外サービスを使いましょう。

読み上げサービスはいくつかあるのですが、ここではElevenLabsを使います。ElevenLabsは本来有料サービスですが、声の種類が多くて生成時間も短いので優秀です。今回の例では無料クレジット分で生成できました。

上図はElevenLabsのウェブサービスを使っている様子です。前段階で書き上げた原稿を丸々コピペし、声を選んで生成します。

数分すると合成された音声ができます。その場で再生できますし、ダウンロードもできます。ダウンロードした音声を動画編集で使います。

ElevenLabsの声の種類が多い理由は、多様なアクセント(なまり)をサポートしているためです。わからなければデフォルト設定でいいでしょう。

映像と音声を編集して完成

最後に動画編集です。Mac/iPad/iPhoneならiMovieでできます。凝りたいひとは専用ツールでもいいでしょう。Windowsの動画編集ソフトについては知識がありません。OBS Studioでも簡単な編集はできるようです。

私は動画編集のスキルがないので大変でした。出来上がった音声をカットせず、音声の長さに動画の長さを合わせました。そのため長めの録画を先におすすめしました。

今回は最初に録画した動画が短かったので録画をやり直しました。音声を聞いて台本にタイムスタンプを書き込みアプリの操作時間を記録。長めの動画を再度録画して不要部分をカットしました。それでも編集は苦戦しました。

完成した動画はYouTubeなどのプラットフォームにアップしてタイトルと概要をつけましょう。概要文は読み上げスクリプトの抜粋を使うなど工夫することができます。

お疲れ様でした。

補足1:動画タイトル案の生成にmonjuを使う

英語の動画タイトル案をmonjuに出させてみた

動画のタイトルを英語でどうするか悩みませんか?そんな時は "マルチAIブレインストーミングmonju" をお使いください。

私が開発したアプリです。宣伝のようになってしまい恐縮です。

そもそもmonjuは自分が欲しいと思ったアプリです。アイデア出しに困った時に助けてほしい。何かやる時の戦略や方向性を決めたい時の情報を文章ではなくマインドマップにぱっと出してほしい。

手前味噌で申し訳ございませんが、この例はまさにmonjuのお手本のような事例です。

入力テーマは「新しい◯◯アプリを紹介するYouTube動画のキャッチーなタイトル」といった感じでよいでしょう。

結果は上図に示したとおりです。実際の出力結果です。

私がキャッチフレーズとして使っている “Boost Your Creativity” を Gemini が出してくれました。以前から気に入っているフレーズなので採用。最終的なタイトルは "Boost Your Creativity: monju Makes Brainstorming Fun and Easy." としました。

注意点があります。アプリの言語設定 (LANGUAGE) を英語 (English)、テーマ(プロンプト)は上述の日本語のままで実行してください。アプリは設定した言語で出力するように制御されています。日本語を選択してしまうとそのまま日本語のタイトルを提案されます。

補足2:上級者向けのAPI活用

ここまで紹介した方法はウェブサービスをフル活用しました。手軽にできる方法です。

しかし本当のところは、動画→文字起こしの部分と文章→音声の部分はPythonプログラムでやりました。すでにAPIをお持ちの方はこの方法でもいいですし、また私が開発しているLLMMasterの動作確認のためにこの方法でやりました。

上級者向けのやり方としてまとめます。AIエディタのCursorを使えば一画面で完結します。

Python環境構築

上級者向けなので細かい解説は省略しますが、念のため作業フォルダにて仮想環境を作りましょう。

python3 -m venv venv
source venv/bin/activate

そして必須パッケージを下記のコマンドでインストールします。

python -m pip install -U pip wheel
python -m pip install llmmaster

各社のAPIキーを環境変数としてセットします。

Windows (CMD)

SET GOOGLE_API_KEY=your_google_key
SET OPENAI_API_KEY=your_openai_key

Mac/Linux

export GOOGLE_API_KEY="your_google_key"
export OPENAI_API_KEY="your_openai_key"

Gemini APIで動画を文字起こし

文字起こしはこちらでもGeminiでやります。

エディタに下記のコードをコピーペーストして "vtt.py" といった感じで保存しましょう。

from pathlib import Path
from llmmaster import LLMMaster

video_file = './source.mp4'

print('Setting up LLMMaster...')

key = 'google_vtt'
prompt = "Could you make a script of what is the user doing on the screen? As detail as possible."

master = LLMMaster()
master.summon({
    key: master.pack_parameters(
        provider=key,
        model='gemini-1.5-pro',
        prompt=prompt,
        video_file=video_file
    )
})

print('Running LLMMaster...')
master.run()

print('Saving script...')
Path('script.txt').write_text(master.results[key], encoding='utf-8')

print('Done.')

元の動画は上記のスクリプトにて "source.mp4" となっています。実際のファイルとプログラムで読み込むファイルの名前を一致させ、同じ作業フォルダに入れてください。

プロンプトは英語で書いてあります。最終的に英語のナレーションにするため、英文で出してもらった方が日本語を介するよりも私には時短になります。また正直なところ英語出力の方が日本語よりもボリュームが多く叩き台としては有用でした。

このプログラムを下記のコマンドで実行すると文字起こしの結果が "script.txt" として保存されます。実行したフォルダ内に保存されるはずです。

python vtt.py

OpenAI TTS で読み上げよろしく

音声合成作業もAPIでできます。LLMMasterとしてはVoicevox, ElevenLabs, OpenAI をサポートしています。

これまでの経験上、英語の読み上げを無難にやっていると感じたOpenAIのTTS (Text-to-Speech) でやりました。実際のデモ動画音声はこのOpenAIで作ったものです。

音声合成のPythonスクリプトはこのようになります。 "tts.py" としてエディタで保存しましょう。

from pathlib import Path
from llmmaster import LLMMaster

print('Reading script...')
prompt = Path('script.txt').read_text(encoding='utf-8')

print('Setting up LLMMaster...')
key = 'openai_tts'
master = LLMMaster()
master.summon(
    {
        key: master.pack_parameters(
            provider=key,
            prompt=prompt,
            voice='alloy',
            response_format='mp3',
            speed=1.0
        )
    }
)

print('Running LLMMaster...')
master.run()

print('Saving speech...')
if master.results[key]:
    with open('speech.mp3', 'wb') as f:
        for chunk in master.results[key].iter_bytes():
            f.write(chunk)

print('Done.')

読み上げ元の原稿は "script.txt" として作業フォルダ内に保存してあります。

OpenAI のAPIでは "alloy," "echo," "fable," "onyx," "nova," "shimmer." の中から声を選択できます。今回は alloy を選びました。この中で女性の声は nova だけです。

音声フォーマットは 'mp3', 'opus', 'aac', 'flac', 'wav', 'pcm' から選べます。何も考えずにmp3で問題ないです。

そして下記のコマンドを実行しましょう。結果は "speech.mp3" として保存されます。

python tts.py

書き起こしも読み上げも数分かかります。できるまでしばしお待ちください。


このように文字起こしや読み上げだけでなく、動画のタイトルも生成AIに考えてもらえます。どんどん活用してあなたのプロダクトを世界に向けて発信していきましょう!

前記事


いいなと思ったら応援しよう!