前提・実現したいこと
C,Java経験のみのPython初心者です。現在Pythonでプログラムを書く必要があり書いています。
https://qiita.com/kkoba84/items/b828229c374a249965a9
https://tool-lab.com/make/raspberrypi-startup-28/
上記のサイトをもとに天気予報をAPIで取得してOpenjtalkで喋らせるプログラムを書いています。
発生している問題・エラーメッセージ
音声はでるのですがaとしか発音していません。単純に上のaが代入されてないからだと考えますが色々と試したのですが治すことができず質問しました。
エラーメッセージ
### 該当のソースコード コード import subprocess from datetime import datetime import api import shlex import json, urllib2 def jtalk(t): open_jtalk=['open_jtalk'] mech=['-x','/var/lib/mecab/dic/open-jtalk/naist-jdic'] htsvoice=['-m','/usr/share/hts-voice/mei/mei_normal.htsvoice'] speed=['-r','1.0'] outwav=['-ow','open_jtalk.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 = ['aplay','-q','open_jtalk.wav'] wr = subprocess.Popen(aplay) city = "140010" url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=%s' % city try: response = urllib2.urlopen(url) weather = json.loads(response.read()) a = weather['title'] + weather['forecasts'][0]['telop'] print(a) finally: response.close() if __name__ == '__main__': jtalk('a')
試したこと
jtalk(a)とする→変化なし
jtalk(u'a')とする→エラー
jtalkや天気情報取得のプログラムの場所を変更する→やり方が違うのかエラー
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー