カイワレスタイル

ゲーム、アニメ、プログラム、興味のあることをツラツラと。

Raspberry piにゴミの日を喋らせる機能を改良した

機械に話しかけられるということ

前回、slack経由でRaspberry piに喋らせる機能を追加した。

kaiware007.hatenablog.jp

それを使ってゴミの日を通知するようにして、しばらく運用してみた結果、わかったことがある。

人はわかっていても、突然機械に喋られるとビビるし、理解が追いつかない。

実際運用してみて、突然ラズパイに「今日は可燃ごみの日です」と言われても、心の準備が出来ず「え!?なんだって?」となった。
まぁ機械に限らず、突然用件だけ言われたら、理解できずに聞き返してしまうもんだよなぁ。
考えてみれば当然だった。

人に話しかける時も「すみません」とか「もしもし」とか「Excuse me」とか1クッション置いてから用件を言う。
さらに、siriなども用件を言う前に何かしらの音が鳴る。
ちゃんと意味があったんだなぁ、と当たり前のことを再認識した。
心の準備大事。

ゴミの日に警告音を鳴らす

前述のことから、ゴミの日を音声で知らせる前にちょっとした警告音を鳴らすようにしてみた。
hubotに、普通に喋らせるtalkコマンドの他に、警告音付きのwarningコマンドを追加した。

child_process = require 'child_process'

module.exports = (robot) ->
    robot.respond /talk (.*)/i, (msg) ->
      atalk robot, msg, msg.match[1]
 
    robot.respond /warning (.*)/i, (msg) ->
      child_process.exec "aplay /home/pi/sound/warning.wav", (error, stdout, stderr) ->
        if !error
          atalk robot, msg, msg.match[1]
        else
          msg.reply error

atalk = (robot, msg, message) ->
     child_process.exec process.env.AQUESTALK_PATH + "/AquesTalkPi " + message + " | aplay -q", (error, stdout, stderr) ->
        if !error
          msg.reply 'OK'
        else
          msg.reply error

warningコマンドは、先に用意したwavファイルを再生させた後に、目的のメッセージを喋らせているだけ。

で、出来上がったのがこちら

www.instagram.com

これでもう聞き逃さない。


ダイレクトマーケティング

警告音といえばダライアス
シリーズ最新作「ダライアスバースト クロニクルセイバーズ」PS4, PSVita, Windows(Steam)で発売中!

darius.jp