open-jtalk を使ってみる
open-jtalk を使ってみる
docomo のテキストを音声に変えるAPIが終了したらしいので無料で使えるopen-jtalkを入れてみたいと思います。
参考:Open JTalkでテキストスピーチ on Debian
どうやら音声データは下のリポジトリからとってこないといけなぽいです。
ソースパッケージ: hts-voice-nitech-jp-atr503-m001
インストール
インストールと挙動を確認してみたいと思います。
mkdir jtalk-project
cd jtalk-project/
apt-get install open-jtalk
apt-get install open-jtalk-mecab-naist-jdic
git clone https://salsa.debian.org/debian/hts-voice-nitech-jp-atr503-m001.git
echo "ぱいそん" > text.txt
open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic/ -m /code/jtalk-project/hts-voice-nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice text.txt -ow output.wav
同階層に output.wav と言うファイルが出来たかと思います。実行すると、なかなか渋めの声で「ぱいそん」と喋ってくれてますね。
ちなみにコマンドのオプションは下の通りです。
-x (辞書の指定) 辞書があるフォルダーのパスを指定します。 ...
-m (音声データの指定) ...
-ow (WAVファイルの指定) ...
-ot (ログファイルの指定) ...
-s (サンプリング周波数) ...
-p (フレーム周期) ...
-a (オールパス値) ...
-b (ポストフィルター係数)
pythonで動かしてみる
# -*- coding: utf-8 -*-
import subprocess
def jtalk():
subprocess.run(
[
"open_jtalk",
"-x", "/var/lib/mecab/dic/open-jtalk/naist-jdic/",
"-m", "/code/jtalk-project/hts-voice-nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice",
"text.txt",
"-ow", "output.wav"
]
)
if __name__ == '__main__':
jtalk()
ディスカッション
コメント一覧
まだ、コメントがありません