その他
    ホーム 技術発信 open-jtalk で日本語の読み上げをさせる
    open-jtalk で日本語の読み上げをさせる
     

    open-jtalk で日本語の読み上げをさせる

    やること

    PCに日本語テキストを音読させてみます。
    mac と fodora33 で試したので
    インストールのコマンドと簡単なスクリプトを記載します。

    mac版

    環境

    uname -a
    Darwin macbook1010390.local 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64
    
    brew --version
    Homebrew 2.7.5
    
    afplay -h
        Audio File Play
        Version: 2.0

    インストール

    brew install open-jtalk

    バージョンやファイルパスなど表示されるので確認します。

    以上、あとはスクリプトを書いて実行するだけです。Homebrew ありがたや。

    スクリプト

    cat ~/bin/mei 
    #!/bin/bash
    
    OJT_DIC=/usr/local/Cellar/open-jtalk/1.11/dic
    OJT_VOICE=/usr/local/Cellar/open-jtalk/1.11/voice/mei/mei_normal.htsvoice
    OJT_TMP=/tmp/out.wav
    if [ -p /dev/stdin ]; then
        cat -
    else
        echo $@
    fi | open_jtalk -x $OJT_DIC -m $OJT_VOICE -ow $OJT_TMP
    afplay $OJT_TMP

    実行例

    chmod u+x ~/bin/mei
    mei 厳密に言うとトマトは果物です。
    mei その家には人間と豚と犬と鶏と家鴨が住んでいたが、まったく、住む建物も各々の食物も殆ど変っていやしない。

    fedora33版

    環境

    uname -a
    Linux kiwi.kadosawa6 5.10.11-200.fc33.x86_64 #1 SMP Wed Jan 27 20:21:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
    
    ffmpeg --version
    ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers

    インストール

    # いろいろ取ってくるので適当なアーカイブ置き場へ移動します。
    cd /usr/local/src
    # 音声作成エンジンをインストールします。
     wget https://downloads.sourceforge.net/project/hts-engine/hts_engine%20API/hts_engine_API-1.10/hts_engine_API-1.10.tar.gz
     tar zxvf hts_engine_API-1.10.tar.gz
     cd hts_engine_API-1.10/
     make
     make install
    # open-jtalk本体をインストールします。
    cd /usr/local/src
    wget https://downloads.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz
    tar zxvf open_jtalk-1.11.tar.gz
    cd open_jtalk-1.11/
    ./configure --with-charset=UTF-8
    make
    make install
    # 音響モデルをインストールします。
    cd /usr/local/src
    wget http://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.8/MMDAgent_Example-1.8.zip
    unzip MMDAgent_Example-1.8.zip
    # 呼び出し易いようにシンボリックリンクを作成しておきます。
    cd /usr/local/share/
    ln -s /usr/local/src/MMDAgent_Example-1.8/Voice hts_voice

    スクリプト

    cat ~/bin/mei
    #!/bin/bash
    
    OJT_DIC=/usr/local/src/open_jtalk-1.11/mecab-naist-jdic
    OJT_VOICE=/usr/local/share/hts_voice/mei/mei_normal.htsvoice
    OJT_TMP=/dev/shm/out.wav
    if [ -p /dev/stdin ]; then
        cat -
    else
        echo $@
    fi | open_jtalk -x $OJT_DIC -m $OJT_VOICE -ow $OJT_TMP
    aplay $OJT_TMP

    実行例

    chmod u+x ~/bin/mei
    mei 季も桃も桃のうち
    mei 裏庭には二羽鶏がいる

    所感

    目が疲れているとき、こういうのを使ってドキュメントなどを確認するのも良いかもと思って試してみました。読み方の選び方やイントネーションをカスタマイズできないかなぁと思うこともありますが、未来を感じつつ現実に直面している感じがして楽しいです。