第一部①(https://qiita.com/tkoji3744/items/dbc7fc194a794177850c)
での、「(3) Powerpointを介さず、Pythonのみで、テキストから一気に.mp4を出力するmake_voice_video_auto_bg.pyの作成」という方法は優れた方法で、大量なテキスト(ニュース原稿やオーディオブック)をAIに読ませることができかつ同時に背景画像も挿入できるものである。
だが、ずっとPowerpointをつかってきた自分としては、なんとか、Powerpointをうまく使う方法はないか?ともう少しためしてみた。それが、
(4)paper_show_pipeline.py (→ だが、これも、後述のように失敗)
流れ① PowerPoint録音:自分の声でナレーションをスライドごとに録音
② mp4書き出し:「ファイル→エクスポート→ビデオ作成」で出力。
PowerPoint音声入り動画になる。
ここまでは今までよくやってきた方法。自分の音声で動画をつくるなら、この方法が単純。この動画を(5)で紹介するVrew、によみこませれば、自分の声を字幕にすぐしてくれる。
しかし、今回は「自分の声」でなく「AIの声」をつかいたい。そうすると、「単にVrewによみこませる」以外の方法の工夫が必要になり、それをpythonスクリプトで記述していく。
③ Whisper STT:音声→テキスト+タイムスタンプ
④ テキスト修正:Whisperの出力(.srtや.txt)を整える
⑤ 字幕埋め込み:Whisper出力の時間情報で字幕表示
だが、「文字がまだ大きすぎる」「行間・ボックスが広すぎるため、画面の大部分を覆っている」「字幕の文章の間違いや読み上げ音声が増加」など問題続出。
なかなかうまくいかず、改善の見込みが?のため(ChatGPTの進言で)WhisperX導入で、この問題を解決しようとしたが、結局ぼくのWindowd11で、WhisperXが動く環境にすることがむずかしく(途中で挫折)。
結局、このpaper_show_pipeline_whisperx.pyは動かずに中止(失敗)。
(5)Vrewの導入
Vrewのインストール https://vrew.ai/ja/
(参考)Vrewの使い方については多くのYouTubeがでている。字幕作成以外に自動AI動画に作り方、あるいは、ふたりのAIに会話しているように異なる声色をいれたり、キャラクターを表示させる方法など。Powepointにない(あるいは、ではめんどうな)機能が紹介されている。
例 https://youtu.be/NmbINcpYXQg?si=DkRFYN4qfineaxhn
(参考)(おそろしいことに)GoogleIDで会員登録すると、既にぼくがYoutubeにあげていて字幕がついていなかった.mp4ファイルに字幕をつけたものを、既に勝手に制作していた。
(注)Vrewでの字幕の修正は、上の段でなく、下の段でおこなう。しかし、分割(Enter)、結合(Backspace)は、上の段でおこなう。
(注)Vrewで作成したmp4だけでなく、その一部をなすものを分割して、音声(mp3) や字幕(SRT:別ノソフトでVTTへの変換をあとからしないといけない)を個別に、エクスポートすることができる。これを、Powerpointにとりこんだり (参考動画:字幕編集に苦労しているならコレ!動画編集で必ず役立つVrewは神ツールだった)、後述する(6)のように利用することもできる。
今ある、https://youtu.be/iGRwUov3O74?si=d6qYJSQmsSPmFGtu
のもとの.pptファイルをみながら、自分の声でパワーポイントで録音したものを、mp4にかえ、それをそのままVrewで処理して字幕付き音声動画にしたもの。
これでも十分だが、今回の目標は、自分の声でなく、「自分の声からつくった」AIの声に語らせることである。
いずれにせよ、SimpleにこのVrewは、もうこのままで使える!つまり、ビデオ撮影したものの字幕挿入はこのVrewさえあれば、容易にできる。また、日本のニュースや映画に字幕をいれるだけでなく、外国語のニュースや映画字の幕に翻訳した字幕もいれることができる。しかも、簡易、かなり大量の処理ができる、すぐれもの!
だが、今回は、音声をそのまま使うのではなく、AI音声を使うことが目標だったので、もう一工夫を試みた。
(6)Powepointで作成した自分の声をVrewで字幕をつけたあと、その「自分の声」を「AIの声」にする。(→ 後述するよう、これも失敗)
① PowerPoint → mp4
② Vrewで自動字幕化+手修正:VrewのSTTで文字起こし → 編集GUIで直す③ Vrewから修正版SRT or mp4出力
④ そのテキストを独自PythonでTTS(ElevenLabs)処理
⑤ MoviePy等で合成
④⑤について、独自にpythonスクリプトを用意した。
replace_voice_with_ai_simple.py や、その改良版
replace_voice_with_ai_precise.py など
だが、これらは、動くに動いたが、音声と字幕のタイミングがずれすぎ、読み間違いも多すぎ。Vrewで作った時点のよりずいぶん質がおちてしまった。
そのほかにも、「Powerpointで作成したmp4動画からつくりだした、Vrewの情報を再度Powerpointに差し戻す」とか「最初のPowerpointの動画づくりの際、最初からAI音声をつかう」とかもアイデアとしてあがった。しかし、いずれの場合も、「音声と字幕のタイミング調整」を、Powerpointでは時間計測による手動作業でおこなわねばならない。しかし、Vrewはそれを自動でやってくれる(それがふたつの大きな違い)。
だが、ついにいい方法発見した。
(7)Vrew単独で紙芝居を作成する (一部復習)
🎙️ ステップ①:ElevenLabsで音声を生成する
1.ElevenLabsにログイン
https://elevenlabs.io/ にアクセス → ログイン。
2.「Speech Synthesis(音声合成)」を開く
🎤 Speech→ Text to Speech (テキストよみあげ)をクリック。
3.ナレーションテキストを入力
4. 音声の設定を選ぶ : 好きな声(例:Bella, Takumiなど)を選べるが、今回は作成済みの自分の声からつくったAIの声(Kojikoji)を選ぶ。
5.「Generate」ボタンを押す:下に波形が出てきます。
再生してOKなら、右下の「Download」ボタンから保存。💾 story_tts.mp3
(または story_tts.wav:どちらでもVrewで扱える)
🎞️ ステップ②:(Vrew側)
新規で作成⇒
1.「PCからビデオ・オーディオを読み込む」:左上の最初の項目
2. ElevenLabsで作った音声ファイルを選ぶ:
先ほどElevenLabsで保存したstory_tts.mp3を選択して「開く」。
改行・句読点の調整などを行う。分割が多すぎる場合は「クリップを結合」でまとめられます。上部メニュー「字幕」タブから:フォント:Noto Sans JP(推奨)サイズ・位置:中央下/白字/黒枠(または影つき)
- 字幕の修正・整形: 各セリフをクリックして、改行・句読点の調整などを行うときれいになる。
- 背景を追加 (紙芝居の絵):上のメニューから 🖼 「挿入」→「画像」 をクリック。自分のPCから画像を選択。左側のプレビュー画面に表示されるので サイズや位置を調整(ドラッグで拡大縮小OK)。仮に黒背景のままでも問題なし。*何行も、同じ絵を挿入するのが、紙芝居
何行も、同じ絵を挿入するのが、紙芝居
5.エクスポート(書き出し):右上の青いボタン。PCにmp4ファイル。
*あとはYoutubeにあげるだけ (参考 ファイルのBGMはYoutube上で選択すればよい)
*********************************
(参考)この、「ElevenLab → Vrew」という方法は、前回Note:1年半前、Powerpointを利用してYoutube投稿目的で作成した、「紙芝居」.mp4を改良する① | 記事編集 | note でのmake_voice_video_auto_bg.pyでの、方法と似たところがある。
つまり、「作成済の画像に、音声や字幕をあわせる」のでなく「作成した、音声・字幕に、あとから画像をあわせる」という言う意味で。
ずっと、学会のスライドづくりをPowepointでして(まず画像作成)、あとからアニメーション効果やmp4,mp3を挿入してきた、ぼくにとって、この「まず音声と字幕をあわせ、最後に画像を挿入する」というのは発想の転換だった(はじめはよくわからなかった)。
(追記)これを知ると、こんなPowerpointの利用も考えられるかもしれない。
① ElevenLabでテキスト→紙芝居1枚ごとにAI音声mp3作成(このテキスト量ならElevenLabもOK)
② このAI音声mp3をPowerpointにもっていき、画像ごとにはりつけ。Powerpointで、スライドショー⇒録画⇒自分ではなにもしゃべらず、AI音声をききながら画像をきりかえていく→Poerwpointでmp4書き出し
③ Powerpointのmp4をVrewに入れ、字幕をつくり→Vrewで字幕いりmp4再かきだし




