Linux Mintでテキストの読み上げ

日経Linux9月号にテキストを音声に変換する記事があったのでやってみた。

テキストを音声に変換する必要なパッケージの一括インストールをコマンドラインから行う。

  $ sudo apt install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

音声に変換するテキストファイルを、1行づつ読み込んで音声に変換する下記のスクリプトを作る。

  #!/bin/sh

  while read line; do
    echo "${line}" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow /run/user/`id -u`/tmp.wav && aplay /run/user/`id -u`/tmp.wav && rm /run/user/`id -u`/tmp.wav
  done

上記のスクリプトを、onsei.shなどというファイル名で保存して、

  $ chmod a+x onsei.sh

とやって実行属性をつけてから、

  $ ./onsei.sh < テキストファイル

とやると、テキストを読み上げてくれる。

Windowsには、テキストを読み上げてくれる高機能なフリーソフトがある。

Linux Mintに比べてはるかに簡単だが、Linux Mintでテキストを読み上げてくれた時は感激した。

Windowsは手間いらずだが、ワクワクするようなものがない。