【創作系日記】『異世界にゲスト神として召喚されたらしいんだが……』オーディオコメンタリー版の顛末
こちらの日記(1)(2)の『異世界にゲスト神として召喚されたらしいんだが……』(RR)のビデオクリップを作成した件ですが、昨日の夜19時くらいから頑張って、解説付きのバージョン(オーディオコメンタリー版)の音声を作っていました:
……映像は、前の音楽だけバージョンと変更なしです。先の日記に書きましたように、最初にどのTTS(Test to Speech)AIを使おうかと考えて、まあ、ずんだ声でも良かったんですが、あれだけ歌うAIが進歩しているんで、どうせなら、最新のTTSを使おうと思った訳です。で、各キャラっぽい声で語らせたいと思い、Irodori-TTSを選定しました。とりあえず、
上記の記事他を参照して、スタンドアロン版を使った訳です>あさぎ あい様、どうもありがとうございます!
そうしたら。まず、
uv sync --extra cu128 # NVIDIA CUDA 12.8 (Linux/Windows) ……これをしても、GPUを使ってくれないということで、少しドツボりました。
まあ、CPUでも数十秒で一音声作ってくれるんでアリなんですが、やっぱりGPU使いたいよね~ということで、結局、README.mdを読んだところ(まずは、よく読みましょう、でした……)、
After syncing with a backend extra, use `uv run --no-sync ...` for the commands
below to avoid re-syncing the environment without the selected PyTorch backend
extra.……ということで、
uv run --no-sync python gradio_app_voicedesign.py --server-name 0.0.0.0 --server-port 7861で、無事、GPU使うバージョンを起動できました。私の環境でも、CPUよりかなり早く音声生成(CPUの数分の一)できます。
……このように、かなり自然な感じで音声合成できます! すごいですね、Irodori-TTS。顔文字で、口調を変更できたりもするようです。
というわけで、選定OKなんで、次は多数のセリフを一度に生成させようと思って、先の日記のサーバー版も入れました。
その後、ChatGPTさんに、シナリオに沿ってキャラ毎の音声を生成してもらうようなコードをpythonで生成してもらい、サーバーに投げて全WAVファイルを作ったんですが、声質が安定せず、できたファイルの中からソレっぽいものを「リファレンス音声」として、voicesフォルダー内に置き、そちらを使って生成してもらいました。それをChatGPTさんに「各WAVをstart秒の位置にそのまま加算し、最後に全体ピークで割って正規化する」pythonコードを生成してもらい、一個のWAVファイルにしたんですが……。
……という感じで、まあ、よっく考えなくても2分33秒の尺に対して台詞多すぎるよねということで、また台本から作り直し――「900字以内、数シーンまとめて」のしばりでChatGPTさんにお願いし、少し修正――同じ手順で、ようやく各WAVファイルが完成しました。ここまでで、12時過ぎです。
今度は、映像に合わせると(元々のシーン割からかなり編集しているので)ズレが大きく、機械的な合成だけだと無理かな~と気づき、結局、Audacityで映像のコマと合わせながらポチポチ修正して、やっとこさ最終的なWAVファイル作成しました。
まあ、途中で、少し映像に合わなくなっている部分があるんですが……これ以上は台詞を含めた大修正が必要なんで、そもそも映像直したいし……と、ちょっと妥協(苦笑)。
で、その後、先に挙げたYoutubeのファイルに音声だけ追加しようかな~と思ったところ、日本語の複数音声はできない……ということに気づき、結局、オーディオコメンタリー版として別途アップした次第です。ここまでで夜中の2時……と。
今回の教訓としては、夕食の後、お酒飲んで酔っ払った後で、なんか色々作業しない方が良いなあ~という感じでした(笑)。ね、眠い……。
しかし、色々と、勉強になりました! 英語音声も追加したいところですが、TTSから選定するのが面倒なんで、いずれ、今度という感じでしょうか(苦笑)。
それでは、(ふぁ~あ)また!
いいなと思ったら応援しよう!
よろしければ応援お願い致します! いただいたチップは執筆の諸経費に使わせていただきます!