1. msrks

    No comment

    msrks
Changes in body
Source | HTML | Preview
@@ -1,87 +1,85 @@
導入めちゃめちゃ簡単でした。homebrewありがとう。
## espeak: 英語
インストール & 実行
```bash
$ brew install espeak
```
```bash
$ espeak "hello world"
```
## open-jtalk: 日本語
インストール。これだけで辞書ファイルも音声ファイルも入りました。
```bash
$ brew install open-jtalk
```
実行 (女性ボイス: voice/mei/mei_normal.htsvoice)
```bash
-$ echo "吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。
-何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
-吾輩はここで始めて人間というものを見た。" > sample.txt
+$ echo "吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで始めて人間というものを見た。" > sample.txt
$ open_jtalk \
-x /usr/local/Cellar/open-jtalk/1.10_1/dic \
-m /usr/local/Cellar/open-jtalk/1.10_1/voice/mei/mei_normal.htsvoice \
-ow out.wav sample.txt
$ afplay out.wav
```
実行 (男性ボイス: voice/m100/nitech_jp_atr503_m001.htsvoice)
```bash
$ open_jtalk \
-x /usr/local/Cellar/open-jtalk/1.10_1/dic \
-m /usr/local/Cellar/open-jtalk/1.10_1/voice/m100/nitech_jp_atr503_m001.htsvoice \
-ow out.wav sample.txt
$ afplay out.wav
```
pythonから実行。以下の`jtalk.py`を作成して保存。
```python:jtalk.py
# coding: utf-8
import subprocess
from datetime import datetime
def jtalk(t):
open_jtalk = ['open_jtalk']
mech = ['-x', '/usr/local/Cellar/open-jtalk/1.10_1/dic']
htsvoice = ['-m', '/usr/local/Cellar/open-jtalk/1.10_1/voice/mei/mei_normal.htsvoice']
speed = ['-r', '1.0']
outwav = ['-ow', 'out.wav']
cmd = open_jtalk + mech + htsvoice + speed + outwav
c = subprocess.Popen(cmd, stdin=subprocess.PIPE)
c.stdin.write(t)
c.stdin.close()
c.wait()
aplay = ['afplay', 'out.wav']
wr = subprocess.Popen(aplay)
def say_datetime():
d = datetime.now()
text = '%s月%s日、%s時%s分%s秒' % (d.month, d.day, d.hour, d.minute, d.second)
jtalk(text)
if __name__ == '__main__':
say_datetime()
```
```bash
$ python jtalk.py
```
python モジュールとして利用
```bash
$ python
>>> import jtalk
>>> jtalk.jtalk ("ロウセイのリチョウは博学サイエイ、天宝のマツネン、若くして名をコボウに連ね、ついでコウナンイに補せられたが、性、狷介、自ら恃むところ頗る厚く、センリに甘んずるを潔しとしなかった。")
```
> 参考: http://qiita.com/kkoba84/items/b828229c374a249965a9