はじめに
英語の動画を見るときに、動画から翻訳された字幕を読むのがめんどくさいので、字幕ファイルを突っ込むといい感じのタイミングで読みあげてくれるシステムを作ってみましたので、開発メモを共有します。
動作環境
Windows10
システム構成メモ
ファイル選択ダイアログからSRTファイルを選択する
- Unity Standalone File Browser(Windows / Mac / Linux)
複数環境で手軽にダイアログを開くことができる。
自力で実装も試したが、こちらの方がかなり楽に実装できる。
読み上げ用のテキストを生成する
正規表現を使って時刻と本文を分ける。
音声合成の声、音程、ピッチ、ボリュームを設定する
音声合成には、マルチプラットフォームで利用できて、パラメータも簡単に変更できるRT-Voice Proを選定した。
録音
AudioListenerから直接WAVファイルを作成する。
参考にしたのはこちら
- 雑音が混じるのでゲーム内の音だけを録音する必要あり。
- 直接mp3への変換は厳しそうなので、WAVを取得してから変換する。
元の動画に音声合成
Windows標準のフォトで元の音声を消してから、録音した音声を合成する。
最後に
作り終わってから気づきましたが、PlayStoreでも字幕ファイルの読み上げできるアプリが何個か出ているようでした…