1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VOICEPEAKに論文を読んでもらう

Posted at

背景

作業中に論文や教科書を読んでもらいたいので、以下のような条件をみたす text-to-speech のソフトウェアを探していた。

  • 従量課金でない(論文や教科書は文字数が多いので)
  • コマンドラインで実行できる
  • 声に不自然さがない

VOICEPEAK 彩澄あすみりりせ がこれらの条件をみたしていたので、これを購入した。ただしコマンドラインは正式版として提供されているのではないらしい。参照:Voicepeak コマンドのオプションと使用例

出力した音声はスマホなどで聞くことを想定している。スマホは、音声ファイルよりも動画ファイルのほうが扱いやすいことも多い(例:YouTube の非公開動画として上げておく)ので、今回は動画の作成まで行う。

voice.png

検証環境

  • WSL2 上の Ubuntu 20.04
  • Homebrew をインストール済み

準備

必要に応じて popplerffmpeg をインストールする。

brew install poppler  # PDFからテキストファイルを作成する場合に必要
brew install ffmpeg   # 動画にする場合に必要

また動画化する場合に立ち絵を使用したい場合は 公式ページ からダウンロードしておく。WSL 側で使いやすいようにコピーしておく。

cp /mnt/c/Users/USER/Downloads/ririse_seihuku_illust/ririse_seihuku_illust/彩澄りりせ_制服イラスト/001.png .
chmod -x 001.png

手順

  1. PDFからテキストを抜き出す。

    pdftotext -f FIRST_PAGE -l LAST_PAGE PDF_FILENAME TEXT_FILENAME
    
  2. 必要に応じてテキストを編集する。特に日本語以外が苦手なので、日本語読みしたカタカナ表現などに置き換える。もしこの処理を本格的にやりたければ cmudict を使うといい。

  3. VOICEPEAK を使って、テキストファイルから WAV ファイルを作成する。

    /mnt/c/Program\ Files/VOICEPEAK/voicepeak.exe -t TEXT_FILENAME -o WAV_FILENAME
    
  4. WAV ファイルが複数の場合は1つにまとめる。

    sox INPUT_WAV_FILENAME1 INPUT_WAV_FILENAME2 OUTPUT_WAV_FILENAME
    
  5. WAV ファイルを元に動画 (MP4) を作成する。参照:FFmpegで音声ファイルと画像1枚から動画を作成してみた

    ffmpeg \
        -loop 1 \
        -r 30000/1001 \
        -i 001.png -i WAV_FILENAME \
        -vcodec libx264 \
        -acodec aac \
        -strict experimental \
        -ab 320k -\
        ac 2 -\
        ar 48000 \
        -pix_fmt yuv420p \
        -shortest \
        VIDEO_NAME
    

出力例

感想

日本語に限れば十分なクオリティだと思う。一方で、繰り返しになるが、日本語以外は難があり、前処理で頑張る必要がある。日本語以外が出てこない論文や教科書というのは少数派だと思うので、小説などのほうが向いているかもしれない。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?