MacOS のターミナルでテキストファイルの読み原稿を音声ファイルにして、規定の時間内に合わせる方法

題のとおりです。`say` はそれなりに便利ですが、読み上げの速度は一定です。保存と速度変更の手順は下記の通りです。`ffmpeg` を使いますから Homebrew などでインストールしてくださいね。

  1. 現在の作業ディレクトリ (present working directory) ` ./ ` にある manuscript.txt を、ターミナルコマンドの `say` で imput.aiff にする
  2. この音声ファイル imput.aiff の再生速度を `ffmpeg` で変更して、output.mp3 で保存する
  3. 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` が読み込める形式で保存しているかで手間が少し変わります。

B! LINE