MacOS のターミナルでテキストファイルの読み原稿を音声ファイルにして、規定の時間内に合わせる方法
題のとおりです。`say` はそれなりに便利ですが、読み上げの速度は一定です。保存と速度変更の手順は下記の通りです。`ffmpeg` を使いますから Homebrew などでインストールしてくださいね。
- 現在の作業ディレクトリ (present working directory) ` ./ ` にある manuscript.txt を、ターミナルコマンドの `say` で imput.aiff にする
- この音声ファイル imput.aiff の再生速度を `ffmpeg` で変更して、output.mp3 で保存する
- QuickTime などで所要時間を確認し、規定の時間内に収まるように、上記の再生速度の変数を変更する
の順です。コマンドは下記の2行です。下記の例では 1.2 倍速にしています。
say -f ./m1anuscript.txt -o ./imput.aiff
ffmpeg -i ./input.aiff -vn -af "atempo=1.2" ./output.mp3
速度の変更のためには "atempo=1.2" の 1.2 を変更します。なお、`say` での変換先は、aiff 形式がおすすめです。m4a 形式は `ffmpeg` や `iTunes` が読まないようですので、お薦めしません。
時間内に収まることがわかっている音読ファイルがあると、自分で読み直す際のタイムキーパーになってくれます。
ニューラルが使えれば上手な英語を話す Amazon Polly の音声ファイルも扱えるはずです。なお、`ffmpeg` が読み込める形式で保存しているかで手間が少し変わります。