助けてアヒルちゃん~お風呂に出動~製作者ブログ

アヒルちゃんの成長過程が記されたやる気が乏しいブログ

1週間の成果

はじめまして、いつもはチームの別の子にブログは投げてラズベリーパイと格闘してるぽんずです。

今日は内容がかなり濃くなるので私がブログに書き込みましたヾ(●´∀`*●)ノ

 

2/25にDocomo雑談APIが動かないと苦戦してから1週間...

ブログ更新を忘れるくらいラズベリーパイと格闘してました;-;

熱心に取り組んだおかげでかなり進んだので1週間の出来事を報告します。

 

2/26

25日同様Docomo雑談APIを叩きまくる。

こんな感じで書いてみたら~?↓

gyazo.com

 

こんなことに!WWW↓

gyazo.com

「エラー吐いてますやん...モオオオオオオオオオ」

エラー内容はリクエストエラー(JSONの問題)とのことで

書き換えてみたところ↓

gyazo.com

成功!!!↓

gyazo.com

「オォ!!!なんていってるんだ!?!?」

よくわかんないけど返ってきてる!すごい!という感想しかでてこなかったので。アドバイスをくれた先輩に聞いてみるとJSONのまま返ってきてる?とかなんとか(よく覚えてない)

そんなこんなで土日を挟み

 

2/29

JSONでそのまま返ってきちゃったなら形を直せばいいのでは?

そこでこちらのサイトを参考にさせていただきました。

簡単にできる!音声認識と音声合成を使ってRaspberrypiと会話 - Qiita

ここの雑談APIのプログラムの一番したのこれ↓

gyazo.com

これを一番下にいれてみると?

gyazo.com

「シャベッタアアアアアアアアアア!!!!!」

感動しました。こんにちはと言ったらこんばんわと返ってきました。

ちょっと変だけど気にしないそれはまた今度!ってなわけで次に進みました。

先ほどのこちらのブログのとおり進めてみると音声認識APIをためして難なくクリア

次はpyaudioで録音するということなのでインストール

ここから私はまったく意味のないことをしました。

gyazo.com

これをみた私。viで書き込み保存しました。

これ動作確認してるだけでつくらなくてよかったんですね!

この2日後に気づきました!!

書き込み保存してても支障はないので録音はできました。

気づかないまま次へ進みます。

 

AquesTalkで合成音声をやろう!

あれ?これやったことあるよね?

ためしにもう一度やりました。動きました。

「よかったやっといて...」

そして最終段階

!!!!対話!!!!!

とりあえずプログラムが乗っているので

APIkeyだけ変えて書いてみる。

ここで気づく#ってコメントだよね?いらないよね?

gyazo.com

これ消しましたWWWWW

たぶん初心者じゃない人はわかるはずですよね。

これ消しちゃだめなんですね...

gyazo.com

怒られました。エンコード指定しろって感じです?

言われて気づいて書き直しました。

gyazo.com

動いた!!!レコードの時間を決めろといわれたので3秒に設定

しかしまたやらかしました。

$ sudo python dialogue_test.pyで動かしてない。sudoが抜けてるw

ちなみにしたのやつは時間入力しないでエンター押しました・・・

6時間目が終わり集中力がきれたので帰宅。

 

3/1

昨日はsudoを書き忘れたから書こう!

gyazo.com

テキスト変換されてる!!!

でもわたしは「おはよう、元気?」って聞いたんだけど!ちょっともごもごしゃべったせいですかね;-;

テキスト変換はされてるけど雑談APIが叩けてない・・・

理由はエンコードとデコードのときにエラーが起きてるらしい。

UTF-8に変換できてない?のかな?もう全然ggってもでてこなくて挙句の果てに英語で書いてあるサイトに飛びました。

2時間ぐらいサイトをみて格闘したのですが、ふと言語設定ってちゃんとできたっけ?と思い出してみてみると

ja.UTF-0

ん????????????0?????????

OSがちゃんと入ってなかったんですかね。。。

理由はわからないけどこいつのせいだということにして

ラズベリーパイB+からラズベリーパイ2に変えることを決意。

 

3/2

B+を貸してくれてた先生が仕事で使うそうなので返さなきゃいけないのもあってちょうどよかった。

1からOS(らずびあん)を入れなおして、言語設定をみてみると

ちゃんといましたUTF-8ちゃん。よかったよかった。

そして対話に必要なもの全部入れなおして書き直したら

gyazo.com

おおおおおおおおおお!!!!!かえってきたああああ!!

でも音声になってないいいいいい

喜びと悲しみが入り混じる。ツライ

もう一度ほぼほぼ使わせてもらったプログラムを確認しました。

dialogue_test.py · GitHub

これを上から下まで舐めまわすように見てて気づいたんです。

エラーって44行目で起きてるけどこれってAquesTalkpiの設定じゃん。aplayの後ろって設定してから動かしたらどうなるの?

gyazo.com

とりあえずやったことのある。

aplay -Dhw:1,0

に変更。

すると動きました!!!!!

SSとるの忘れました!!!!!

はじめて自分で1から考えて問題解決ができた!

先輩の手も先生の手も借りなかった!!うれしい!たのしい!

プログラムってたのしい!!って本当に思えた瞬間でした。

満面の笑みで帰宅。

 

明日やること。

①対話しているところをムービーに残す。

②対話を命令文一回で繰り返しできるようにする。

③マイク入力がなかったら命令文を止める(抜ける?)

をやりたいと思います。

現時点ではループで命令を繰り返して、マイク入力がなくなったらループを外れるのが一番綺麗にできるのかぁと思ってます!

明日、明後日で③までできるようにがんばります!

 

ではまたv(o´∀`o)v