参考
Raspberry Pi×JuliusとPythonでスマートスピーカー風にカメラを操作 | パソコン工房 NEXMAG
IFTTTとRaspberry PiでIoTエッジデバイスを作る | パソコン工房 NEXMAG
##IFTTTのセットアップ
IFTTTでツイートするアプレットを立てましょう。今回は固定キーワードと重複ツイートを避けるために日時をツイートさせます。
アプレット名はtweetとして、こんな感じ。
設定できたらWebhooksページのDocumentationを開いて
##pythonコードの作成
juliusにはTCPソケット経由で認識結果を取得できるモジュールモードが備わっています。認識結果のスコア値が高かったらそのフレーズが発声されたと判断してツイートと音声を再生するようにします
monafuwaTweet.oy
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import socket
import time
import subprocess
host = 'localhost'
port = 10500
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host, port))
res = ''
while True:
# 音声認識の区切りである「改行+.」がくるまで待つ
while (res.find('\n.') == -1):
# Juliusから取得した値を格納していく
res += sock.recv(1024).decode()
print(res)
word2 = ''
for line in res.split('\n'):
#スコアを探す
index2 = line.find('SCORE="')
if index2 != -1:
print("found")
#スコア値を取得
line = line[index2+7 :line.find('"', index2 + 7)]
if len(line) != 0:
print(float(line))
if(float(line)<-6000.0):
print("OK")
#音声再生とツイート
subprocess.call("/home/pi/voice/random.sh", shell=True)
subprocess.call("curl -X POST https://maker.ifttt.com/trigger/tweet/with/key/##########YOURKEY#########", shell=True)
res = ''
##試してみる
juliusをモジュールモードで起動
julius -C ~/julius/julius-kit/dictation-kit-4.5/am-gmm.jconf -nostrip -gram ~/julius/dict/monafuwa -input mic -module
pythonクライアントを起動
./monafuwaTweet.py
できた!!!!