2017年7月10日月曜日

Rasoberry Pi docomo雑談apiと会話してみる

どうもcaketetuです.

今回はdocomo雑談apiを用いてraspberry pi と会話してみます.
docomo雑談対話api
コチラのサイトを参考にさせて頂きました.

サイトのコードをそのまま動かしてみた結果,
なんか微妙に会話がかみ合っていませんが
何とか成立はしています.
やたらカレーが好きなようです.

juliusとopen Jtalkを用いて会話を試みます.
それぞれのコードはコチラコチラ参考にさせて頂きました.

現在の環境はこんな感じ.


acerのハードオフで買ったスピーカーを接続.型番は不明です.
マトリクスLEDが光っていますが,今回は動きません.

動かした動画
raspberry piは動かないので今回はコンソールだけ.


動作は遅いですが,何とか会話しています.
ちょっと質問が意地悪ですが笑

今回は
音声認識ー>julius
AI->docomo api
出力ー>open Jtalk
の組み合わせを試しましたが,今後いろいろなサービスを
利用し,処理の高速化&精度の向上を目指したいと思います.

需要ないかもですが今回作ってみたみたスクリプト
起動シェルスクリプト 環境に合わせて変更
https://drive.google.com/open?id=0B4sMYcSdF0SFZ011ME5rUnBxU2c
Open Jtalk
https://drive.google.com/open?id=0B4sMYcSdF0SFaENYbmxzR0VYTG8
メインのjuliusプログラム docomo_api_key を環境に合わせて変更
https://drive.google.com/open?id=0B4sMYcSdF0SFaFMzb2ZieS1IcGs
ドコモ雑談API
https://drive.google.com/open?id=0B4sMYcSdF0SFX0ltaGdRcUZMdlE




2017年7月5日水曜日

Rasoberry Pi juliusとopen Jtalkを試してみる

I2C接続顔モジュールの形がほぼ定まってきたので,
なんとかしてRasPiと会話したい.

いろいろ調べた結果,音声認識にJulius,音声合成にopen Jtalkを
使用している例が多かったので,今回はこれらを導入したいと思います.

カメラ・マイクはLOGICOOL ウェブカム HD画質 120万画素 C270
スピーカーは外部電源の取れるものをイヤフォンジャックから出力しています.

・Julius
導入は参考サイトが多くあるので省略します.
ただ一点だけjuliusインストール時に./configureが実行できませんでした.
どうやらautomakeを使うらしい.
以下を実行すると無事makeできました.
$aclocal && libtoolize --force && automake --add-missing && autoreconf

ちょっと試してみます
$cd julius-kits/dictation-kit-v4.3.1-linux

$ALSADEV="plughw:0,0" ~/julius-4.4.2/julius/julius -C ~/julius-kits/dictation-kit-v4.4/main.jconf -C ~/julius-kits/dictation-kit-v4.4/am-gmm.jconf -nostrip


撮影環境が悪くて動画がブレブレです笑
精度がかなり高くて驚きました.

・Open Jtalk
こちらも導入は省略.
適当なテキストファイルを用意しました.

voice.txt
ハロー ラズベリーパイ オープンジェイトーク デモ

ついでにインストールした女性(mei)の声でwavファイルに変換します.
$open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic -ow test.wav voice.txt

aplayコマンドで再生します.
$aplay -Dhw:1,0 test.wav



思ったより自然な声です.
個人的にはもっと落ち着いた声がいいななんて.

次回からこれらを用いて具体的なソフトの製作をしたいと思います.

参考にさせていただいたサイト
http://qiita.com/t_oginogin/items/f0ba9d2eb622c05558f4
http://www.pentacreation.com/blog/2016/12/161223.html
http://qiita.com/lutecia16v/items/8d220885082e40ace252



2017年7月3日月曜日

ESP-WROOM-02 お遊び基盤を作ってみた

ちょっと小ネタを少々.

値段あわせで買ったESP-WROOM-02ですが,
お遊びボードを作ってみました.



小さく収まりました.レギュレータが付いており,
12Vまでの入力に対応.こうしてみると自由に使えるピンは少ないですね.



いろいろ繋げてもコンパクトです.
暇なときに遊びたいと思います.

ジャイロセンサ MPU6500を使ってみる

お久しぶりです.
今回は自分がイマイチ使用したことのないジャイロセンサを使ってみます.
使用したのはMPU6500を搭載したコレ amazonで280エンでした。
3軸加速度,3軸角速度の6軸をI2CまたはSPI通信で取得できます.



LPC1114を使ってちょっとZ軸のみ角度を出してみたいと思います.
回路はこんな感じ.今回はSPIで通信しました.


フィルタ等は特に無しですが,ジャイロ側でいろいろ設定できるらしい
ので設定をいろいろ変えて検証します.
データシートからジャイロの設定はレジスタアドレス0x1b(27)で設定
できるっぽい.よって以下の条件で検証してみました.
レジスタ値0x00  ->  レンジ最小
レジスタ値0x98  ->  レンジ最大
レジスタ値0x99  ->  レンジ最大&フィルタ最大?
ローパスフィルタの記述がイマイチ不明ですが,
まあ仮に理解したとしてもいざ実践では実験からうまくいく設定を
見つけるしかないと思われるので,デフォルトと最大値?でどのように
変わるか検証します.
一応データシートの記述部分



静止時の生データ。
意外とレジスタ値0x98が一番良かったです.
サンプリングが早すぎる?と値がブレるのかな?



角度を算出し0-90度で数回動かしました.



一応レジスタ値0x98,0x99が良く取れてます.
まあ実験環境がアレなのであまり信用できませんが.
とりあえずレンジは広げたほうが良さげ?


一応値を取得して角度の算出までできました.
レジスタ値に関しては搭載する機器によって別途検証する必要が
ありそうです.
とりあえず買っただけなんでいつか使います笑

使用したmbedプログラム

2017年6月17日土曜日

I2C接続顔モジュール製作 回路編

I2C顔モジュールの回路と内部ソフトウェアがほぼ確定したので
まとめておこうと思います.

・まず回路





前回のとおりArduinoは不安定だったため,LPC1114を使用しました.
サーボが二つあるので電源は別電源をとるようにしています.
以外にもジャンパを少なく仕上げられました.結構自信作です.
以下回路図です.



・ソフトウェア
LEDドライバはソフトウェアI2C,モジュールへの指示は
ハードI2Cで行います.
ソフトI2Cライブラリはこちらです
さらにシリアル通信でも指示を送ることができます.

また,サーボは割り込みを用いて
少しゆっくり動くようにしました.
プロトコルは前回と同じで,
サーボ動作 -> ’s’+パン角[deg]+チルト角[deg]
LED表示右 -> ’r’+8byte 
LED表示左 -> ’l’+8byte
です.これはI2C,シリアル共通.

以下mbedコードです.
https://drive.google.com/open?id=0B4sMYcSdF0SFVDRvdlJ0WXJzdmM

ただバグが残り,サーボをOFFにする方法が不明です.
無駄な電力を消費するので動いていないときは切りたいのですが・・・






2017年6月13日火曜日

I2C接続顔モジュール製作 Rasoberry Piから接続

前回の記事からさらに作りこみました.
一回の記事に乗せきれないので数回に分けたいと思います.
今回はとりあえず動いた報告から.



概観です.正面から見るとなんとなくきれいにまとまってる
ようには見えます.この記事で製作したケースの上に載せると
いい感じです.ちなみにカメラはまだ起動させていません.



裏から見るとスパゲティ配線となっております.
ここら辺は今後作りこみたいと思います.



制御基盤を作り変えました.
前回はATmega328PUを使用しましたが,3.3Vでの動作は
少し不安定だったためLPC1114を使用しました.
動作は非常に安定しています.詳細は別記事で.




I2Cを用いてRaspBerryPiと接続.ちょっとがんばって
WEBサーバー経由で操作できるようにしてみました.
サーバ構築やHTMLなどは専門外なので見た目はよくないです.
この辺も今後作りこみたいところ.

2017年6月4日日曜日

Raspberry Piケースを自作してみた

私はRaspberry PIを初代B+と3b+を所持しておりますが,
ケースはひとつも持っていませんでした.
適当な箱に入れていたわけですが,今回ちゃんとしたケースに
入れてあげることにしました.

買うのもアレなので100均グッズで自作してみました.

使ったのはコイツ


ダイソーで買ったタッパーです.サイズがいい感じで加工しやすそうです.
その他高めのM3のスペーサ,低頭ねじ.
使用したツールはハンドドリル,カッター,ドライバーなど.



位置を決め一箇所だけハンドドリルで穴を開けます.
3b+はM3ではないようですが気合でいれました.
一度はめてみてから再度穴の位置を合わせます.
この位置あわせはかなり重要です.






3箇所とめましたが,ガタつくので結局4点止めにしました.


USBやディスプレイ端子の位置を合わせ,印をつけます.
ちょっと大きめにしないとコネクタによっては入らなくなります.

 

がんばってくりぬきます.自分はカッターを使用しましたが,
かなり時間がかかりました.何かいい方法はあるんでしょうか.
一箇所力んで失敗してしまいました・・・



一応完成です.





ついでに初代B+用も作りました.



お手軽ですが,結構気に入ってます.