HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
English Translate 中文翻訳
LINK
BACK
 

[NEW] 2016/04/10

Raspberry Pi 3で日本語音声を合成して喋らせる方法(Open JTalk編) Raspberry Pi 3で日本語音声を合成して喋らせる方法(Open JTalk編)

(ラズパイ3で 音声合成システム Open JTalkをコンパイルして、お手軽に日本語の文章を喋らせる方法)

Tags: [Raspberry Pi], [電子工作]






● Raspberry Pi 3 Model B

 Raspberry Pi3 Model B RPI2 RPI3

 大人気の CPUボードの Raspberry Piに WiFiと Bluetoothが搭載されたモデルが新発売となりました。
 以前から Raspberry Pi 2を買おうかどうか迷っていましたが、Raspberry Pi 3 Model Bの発売を機に購入を決意してラズベリアンになる事にしました。

 ※ ラズパイの OS Raspbianはバージョンが上がる毎に過去の版と OSの内部の作りが変わり、過去に書かれた製作記事(例えば Raspbian Wheezyの時代の記事)がそのままではエラーが出たりして動かない事が有ります。
 ※ 当方のホームページのラズパイ記事は全て Raspberry Pi 3 Model Bと Raspbian Jessieの組み合わせで動作確認をしております。
(ただし、将来的に新しい Raspbian OSが出た場合に、当方の Raspbian Jessieを基にした内容がそのままでは動かない可能性が有ります。)


● Raspberry Pi 3 Model Bで日本語音声を合成して出力する

 日本語のTTS、Japanese Text to Speech

 Open JTalkをラズパイでコンパイルして使用する方法の記事は既に他のサイトやブログで有りますが、新しい Raspbianではそのままでコンパイル出来なかったり使用出来なかったりしたので、ラズパイ3の最新の Raspbian Jessieでも確実に Open JTalkをコンパイルして動作させる方法をまとめました。
 ※ Raspbian 8 Jessie 2016-03-18版で確認
 ※以前のバージョンの Raspbian 7 Wheezyや Raspbian Squeezeでは手順が異なる所が有る。

 まずは、音声出力のスピーカの動作の確認から。

 音声出力の音量の設定
$ alsamixer

 音声出力 自動
$ amixer cset numid=3 0

 音声出力 ヘッドホンジャック
$ amixer cset numid=3 1

 音声出力 HDMI
$ amixer cset numid=3 2
 ※ HDMIから音声が出ない場合は config.txtの # hdmi_driver=2の行の #を取る。
 ※行の先頭の #を取る。
# hdmi_driver=2
 を
hdmi_driver=2
 にする。

 スピーカーのテスト
$ speaker-test -t sine -f 800

 サウンドの再生確認
$ aplay /usr/share/sounds/alsa/Front_Center.wav
$ aplay /usr/share/sounds/alsa/Noise.wav



● Raspberry Pi 3 Model Bで Open JTalkを使用して日本語音声を合成して出力する

 Open JTalk 日本語音声合成
Open JTalk

 Open JTalk 日本語音声合成をラズパイ3で利用するには下記の方法が有ります。
 方法1) apt-getでパッケージを取得してインストールする方法
 方法2) ソースコードを自前でコンパイルする方法



●方法1) apt-getでパッケージを取得してインストールする方法

 apt-getで Open JTalk 日本語音声合成をインストールします。
 2016/04現在は Version 1.07がインストール出来ます。
 (最新のソースからビルドする場合は Version 1.09となる)

 下記コマンドでインストールする。
$ sudo apt-get -y install open-jtalk libhtsengine1 open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

 パッケージは全部で 4個
open-jtalk - Open JTalk本体 Version 1.07
libhtsengine1 - Open JTalkの動作に必要な HTSエンジン
open-jtalk-mecab-naist-jdic - Open JTalk用の辞書ファイル
hts-voice-nitech-jp-atr503-m001 - 音声合成用データファイル 音響モデル

$ open_jtalk -h
The Japanese TTS System "Open JTalk"
Version 1.07 (http://open-jtalk.sourceforge.net/)
Copyright (C) 2008-2013 Nagoya Institute of Technology
All rights reserved.

$ echo "こんにちは" | 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 ~/ojtalk.wav
$ aplay ~/ojtalk.wav

ojtalk.sh
#!/bin/sh
TMP=/tmp/ojtalk_tmp.wav
echo "$1" | 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 $TMP
aplay --quiet $TMP
rm -f $TMP

$ sudo nano ojtalk.sh
$ sudo chmod 755 ojtalk.sh
$ ./ojtalk.sh あいうえお。日本語音声合成です。


● Open JTalkで 女性の音声データを使用する MMDAgentの mei音声データ

 nitech_jp_atr503_m001が男性の音声データなので女性の音声データを使用する。
MMDAgent Voice data
$ wget http://tenet.dl.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.6/MMDAgent_Example-1.6.zip
 MMDAgent_Example-1.6.zip 11MBをダウンロードする

$ unzip MMDAgent_Example-1.6.zip
$ mv -f ./MMDAgent_Example-1.6/Voice/mei/ ./Voice_mei/
$ rm -r -f ./MMDAgent_Example-1.6

$ echo "こんにちは" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/Voice_mei/mei_normal.htsvoice -ow ~/ojtalk.wav
$ aplay ~/ojtalk.wav

ojtalk_mei.sh
#!/bin/sh
TMP=/tmp/ojtalk_tmp.wav
echo "$1" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/Voice_mei/mei_normal.htsvoice -ow $TMP
aplay --quiet $TMP
rm -f $TMP

$ sudo nano ojtalk_mei.sh
$ sudo chmod 755 ojtalk_mei.sh
$ ./ojtalk_mei.sh あいうえお。日本語音声合成です。



 Open JTalkで使用する音響モデル htsvoiceファイルはググルと出てくる。

 Open JTalkでは Version 1.06から音声合成の音響モデルとして .htsvoice形式のファイルを使用します。
 htsvoiceファイルは上記の nitech_jp_atr503_m001と MMDAgent Meiの他にもググレば出てきます。



●方法2) ソースコードを自前でコンパイルする方法

 自前でコンパイルすると最新の Version 1.09を使用出来ます。

 Open JTalk 日本語音声合成の最新バージョンをコンパイル Version 1.09

 2016/04現在は apt-getだと Version 1.07がインストールされ、最新ソースの Version 1.09よりも古いです。
 なので、最新のソースからビルドをしてみます。

 Open JTalkは HTS engine APIを使用していると言う事で、hts_engine APIを最初に makeします。

hts_engine API

 hts_engine API Version 1.10
$ wget http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.10.tar.gz
$ tar zxvf hts_engine_API-1.10.tar.gz
$ cd ./hts_engine_API-1.10
$ ./configure
$ make

 hts_engine APIは
/home/pi/hts_engine_API-1.10
 にインストール(配置)される。

 Open JTalkのソースを取得して、configureでコンフィグして、makeでコンパイルします。
$ wget http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.09.tar.gz
$ tar zxvf open_jtalk-1.09.tar.gz
$ cd ./open_jtalk-1.09
$ ./configure \
--with-charset=UTF-8 \
--with-hts-engine-header-path=/home/pi/hts_engine_API-1.10/include \
--with-hts-engine-library-path=/home/pi/hts_engine_API-1.10/lib
$ make
$ sudo make install

$ /usr/local/bin/open_jtalk
The Japanese TTS System "Open JTalk"
Version 1.09 (http://open-jtalk.sourceforge.net/)
Copyright (C) 2008-2015 Nagoya Institute of Technology
All rights reserved.


$ cd
$ wget http://tenet.dl.sourceforge.net/project/open-jtalk/Dictionary/open_jtalk_dic-1.09/open_jtalk_dic_utf_8-1.09.tar.gz
$ tar zxvf open_jtalk_dic_utf_8-1.09.tar.gz
$ ls -l ./open_jtalk_dic_utf_8-1.09
total 65392
-rw-r--r-- 1 pi pi 262496 Dec 25 02:06 char.bin
-rw-r--r-- 1 pi pi 4349 Dec 25 02:08 COPYING
-rw-r--r-- 1 pi pi 3792262 Dec 25 02:06 matrix.bin
-rw-r--r-- 1 pi pi 62882899 Dec 25 02:06 sys.dic
-rw-r--r-- 1 pi pi 5690 Dec 25 02:06 unk.dic

$ echo "こんにちは" | /usr/local/bin/open_jtalk -x ~/open_jtalk_dic_utf_8-1.09 -m ~/Voice_mei/mei_normal.htsvoice -ow ~/ojtalk.wav
$ aplay ~/ojtalk.wav



● open_jtalk Version 1.07

 open_jtalk Version 1.07
The Japanese TTS System "Open JTalk"
Version 1.07 (http://open-jtalk.sourceforge.net/)
Copyright (C) 2008-2013 Nagoya Institute of Technology
All rights reserved.

The HMM-Based Speech Synthesis Engine "hts_engine API"
Version 1.08 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2013 Nagoya Institute of Technology
              2001-2008 Tokyo Institute of Technology
All rights reserved.

Yet Another Part-of-Speech and Morphological Analyzer "Mecab"
Version 0.994 (http://mecab.sourceforge.net/)
Copyright (C) 2001-2008 Taku Kudo
              2004-2008 Nippon Telegraph and Telephone Corporation
All rights reserved.

NAIST Japanese Dictionary
Version 0.6.1-20090630 (http://naist-jdic.sourceforge.jp/)
Copyright (C) 2009 Nara Institute of Science and Technology
All rights reserved.

open_jtalk - The Japanese TTS system "Open JTalk"

  usage:
       open_jtalk [ options ] [ infile ]
  options:                                                       [  def][ min-- max]
  -x  dir      : dictionary directory                            [  N/A]
  -m  htsvoice : HTS voice files                                 [  N/A]
  -ow s        : filename of output wav audio (generated speech) [  N/A]
  -ot s        : filename of output trace information            [  N/A]
  -s  i        : sampling frequency                              [ auto][   1--    ]
  -p  i        : frame period (point)                            [ auto][   1--    ]
  -a  f        : all-pass constant                               [ auto][ 0.0-- 1.0]
  -b  f        : postfiltering coefficient                       [  0.0][ 0.0-- 1.0]
  -r  f        : speech speed rate                               [  1.0][ 0.0--    ]
  -fm f        : additional half-tone                            [  0.0][    --    ]
  -u  f        : voiced/unvoiced threshold                       [  0.5][ 0.0-- 1.0]
  -jm f        : weight of GV for spectrum                       [  1.0][ 0.0--    ]
  -jf f        : weight of GV for log F0                         [  1.0][ 0.0--    ]
  -z  i        : audio buffer size (if i==0, turn off)           [    0][   0--    ]
  infile:
    text file                                                      [stdin]


● open_jtalk Version 1.09

 open_jtalk Version 1.09
The Japanese TTS System "Open JTalk"
Version 1.09 (http://open-jtalk.sourceforge.net/)
Copyright (C) 2008-2015 Nagoya Institute of Technology
All rights reserved.

The HMM-Based Speech Synthesis Engine "hts_engine API"
Version 1.10 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2015 Nagoya Institute of Technology
              2001-2008 Tokyo Institute of Technology
All rights reserved.

Yet Another Part-of-Speech and Morphological Analyzer "Mecab"
Version 0.996 (http://mecab.sourceforge.net/)
Copyright (C) 2001-2008 Taku Kudo
              2004-2008 Nippon Telegraph and Telephone Corporation
All rights reserved.

NAIST Japanese Dictionary
Version 0.6.1-20090630 (http://naist-jdic.sourceforge.jp/)
Copyright (C) 2009 Nara Institute of Science and Technology
All rights reserved.

open_jtalk - The Japanese TTS system "Open JTalk"

  usage:
       open_jtalk [ options ] [ infile ]
  options:                                                       [  def][ min-- max]
  -x  dir      : dictionary directory                            [  N/A]
  -m  htsvoice : HTS voice files                                 [  N/A]
  -ow s        : filename of output wav audio (generated speech) [  N/A]
  -ot s        : filename of output trace information            [  N/A]
  -s  i        : sampling frequency                              [ auto][   1--    ]
  -p  i        : frame period (point)                            [ auto][   1--    ]
  -a  f        : all-pass constant                               [ auto][ 0.0-- 1.0]
  -b  f        : postfiltering coefficient                       [  0.0][ 0.0-- 1.0]
  -r  f        : speech speed rate                               [  1.0][ 0.0--    ]
  -fm f        : additional half-tone                            [  0.0][    --    ]
  -u  f        : voiced/unvoiced threshold                       [  0.5][ 0.0-- 1.0]
  -jm f        : weight of GV for spectrum                       [  1.0][ 0.0--    ]
  -jf f        : weight of GV for log F0                         [  1.0][ 0.0--    ]
  -g  f        : volume (dB)                                     [  0.0][    --    ]
  -z  i        : audio buffer size (if i==0, turn off)           [    0][   0--    ]
  infile:
    text file                                                    [stdin]



Tags: [Raspberry Pi], [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入出来る通販ショップ一覧まとめ
Raspberry Pi Zero Wを海外通販の Pimoroni等での購入方法、購入出来る通販ショップ一覧まとめ

  ラズパイゼロW Pi Zero Wirelessモデルを海外通販で先行して購入し、サクッと入手する方法

Raspberry Pi3で安定して使える相性の無い microSDカードのまとめ
Raspberry Pi3で安定して使える相性の無い microSDカードのまとめ

  ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない

Raspberry Pi 3 Model Bに専用カメラモジュールを接続する方法
Raspberry Pi 3 Model Bに専用カメラモジュールを接続する方法

  ラズパイに専用カメラモジュールを接続して Raspbianで写真の静止画撮影や動画を録画する方法

Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ

  ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も

Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳
Raspberry Pi 3公式フォーラムの FAQの内容の日本語訳

  ラズパイ公式フォーラムの「The Raspberry Pi 3 Model B Q&A thread」の日本語訳

Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法

  ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ

大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう
大人気の CPUボード、Raspberry Pi 3 Model Bで作ってみよう

  Raspberry Piの開発環境の構築やタッチパネル付き液晶ディスプレイや各種センサーの使い方まとめ


Raspberry Pi 3、シングルボードコンピュータ ラズパイ3 Raspberry Pi関連はこちらへまとめました
 下記以外にも多数のラズパイ関係の記事が有ります。
 (I2C制御、GPIO制御、1-Wire制御、シリアル通信、日本語音声合成、日本語音声認識、中国語音声合成、MeCab 形態素解析エンジン、赤外線リモコン制御、秋月 I2C液晶モジュール、KeDei 3.5インチ液晶、HDMI 5インチ液晶、NFCカードリーダ、コマンドライン操作方法等)
Raspberry Pi 3に HDMI接続の 800x480 5インチ TFT液晶を接続して使用する方法
Raspberry Pi 3 Jessieで LIRC機能を使って学習リモコン、赤外線リモコンを送受信する方法
Raspberry Pi 3の WiFiを広告ブロック機能付きの無線LANアクセスポイント化 hostapd + dnsmasq編
Raspberry Pi 3の Bluetoothで ブルテザで通信する方法(Bluetooth編)
Raspberry Pi 3で日本語音声を合成して喋らせる方法(Open JTalk編)
Raspberry Pi 3に USB Micを接続して日本語の音声認識をする方法(Julius編)
Raspberry Pi 3の GPIOに LEDとスイッチを接続して Lチカする方法
Raspberry Pi 3の GPIOに LEDとスイッチを接続してシャットダウンボタンを実装する方法
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
Raspberry Pi 3の GPIOに I2C通信方式の気圧計 BMP280を接続する方法
Raspberry Pi 3に I2C通信方式の NFCリーダライタ PN532を接続して NFC FeliCaカードを読む方法
Raspberry Pi 3でネットワーク ライブカメラを構築する方法 Motion編
Raspberry Pi 3でネットワーク ライブカメラを構築する方法 MJPG-streamer編
Raspberry Pi 3 Model Bで動画処理アプリ FFmpegをコンパイルする方法
Raspberry Pi3の X-Window Systemに Windowsのリモートデスクトップから接続する方法
Raspberry Pi3に WebRTCの STUN/TRUNサーバと PeerJSサーバをインストールする方法


Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)
BangGood通販はドローン以外にも面白い商品がまだまだ有った(電子工作編)

  レーザー彫刻機、カラー液晶の DIYオシロ、Arduinoや Raspberry Pi用の小型カラー液晶



[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外はweb構成の変更で移動する場合があります)
Copyright (c) 2016 FREE WING, Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_open_jtalk/