2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonとjuliusとIFTTTを組み合わせて特定フレーズでツイートさせる

Posted at

参考
Raspberry Pi×JuliusとPythonでスマートスピーカー風にカメラを操作 | パソコン工房 NEXMAG
IFTTTとRaspberry PiでIoTエッジデバイスを作る | パソコン工房 NEXMAG

##IFTTTのセットアップ

IFTTTでツイートするアプレットを立てましょう。今回は固定キーワードと重複ツイートを避けるために日時をツイートさせます。
アプレット名はtweetとして、こんな感じ。

設定できたらWebhooksページのDocumentationを開いて

アプレット名を入力してcurlコマンドを取得します

##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

image.png

できた!!!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?