Raspberry Pi


(1)OpenJtalkと+NTTdocomo音声認識・雑談会話APIを つかって会話を楽しむ

NTTdocomo音声認識・雑談会話APIを使ってOpen-Jtalkの「メイちゃん」の声で 雑談と「しりとり」を楽しむ。
対話型python を使って、雑談対話を試す。



次のように設定しました
 ・Raspberry Pi2に「jtalk」と「WiringPi」をインストール。設定は省略します。 本ホームページの「Raspberry Piを使って、 音声命令でキャタピラを操作」を参照してください。
 ・docomo Developer support からAPI key を取得。
 ・対話型python を使って、雑談対話を試す。
 ・Pythonプログラムで、雑談対話の返事を「jtalk」の「メイちゃん」の声で応答させる。



※2020年現在、使用したNTTdocomo音声認識・雑談会話APIは廃止と なっていまが、作成記録として残しておきます。


  Raspberry Pi2 の設定


1.Raspberry Pi2のOSは、製作時点で「NOOBS1.9.2」を使用しました。 OSの設定は省略します。

 2.「Open-Jtalk」、「WiringPi」のインストール及び設定は、 本Home Pageの「Raspberry Piを使って、 音声命令でキャタピラを操作」を参考にしてください。音響関係の設定も同様です。

 3.オーディオデバイスには、ALSAをそのまま使用しました。詳細は後で述べます。




  docomo Developer support からAPI key を取得


docomo Developer support からAPI key を取得します

1.docomo Developer support のWebサイト https://dev.smt.docomo.ne.jp/ を開きます。

2.「新規登録してAPIを活用する」をクリックします。


3.「docomo Developer support へようこそ」の画面が表示されます。


4.SNSアカウントかまたはメールアドレスで新規登録をします。

5.登録後、ログインしてマイページからAPIの申請をします。

6.メニューの「初めての方へ」、「API/ツール」、・・・・等をクリックして内容を確認しておきます。

7.「API/ツール」のAPIから「音声認識」を選択すると、次の画面が表示されます。


今回は、2つある「音声認識API」から、「Powered by アドバンストメディア」を申請します。
ただし、この「Powered by アドバンストメディア」は、90日間のみの使用となります。


8.「マイページ」から「音声認識」、「雑談対話」APIの申請をします。


9.「API利用申請・管理」の「新規API利用申請へ」ボタンをクリックします。

10.申請内容は、次のようにしました。
  ・アプリケーション名:RasPiSample
  ・アプリケーション概要:Raspberry Pi で雑談対話を行う。
  ・サービス予定日:2016/08/03
  ・アプリケーションタイプ:ネイティブアプリケーション
  ・コールバックURL:https://dummy
  ・提供者名:RasPiSample
  ・サポートメールアドレス:自分のメールアドレス

11.APIキーは、「マイページ」の「API利用申請・管理」に表示されるので、コピーして使用します。




  対話型python を使って、 雑談対話を試す。


Raspberry Piにある対話型python を使って雑談対話を試します。

1.「LTXTerminal」を使って、次のようにコマンドを実行します。

(1)  $ python

(2)対話型pythonが起動し、下図のように>>>の後に、一行ずつ入力していきます。

※payloadの内容は、適当です。

(3)「元気ですか」と入力したら、「元気やな」と返答しています。

  "utt": "元気ですか" と入力して、最後に「元気やな」と答えています。

(4)APIを関西弁指定にしています。

  "t":"20" としてあるのがそうです。




  雑談対話を繰り返す taiwa.pyを作成


雑談対話を繰り返せるように python でプログラムを作成しました。

1.python で次の taiwa.py を作成しました。


2.次のコマンドで、taiwa.pyを実行します。

  $ python taiwa.py

3.実行した結果が下図です。
 1回ごとの対話なので、要領を得ない内容になっている部分もあります。


4.「モード(mode)」と「コンテキストID(context)」の内容を引き継ぐことにより、対話を継続する ことができるので、以下のように taiwa.py の内容を修正しました。


5.結果は、次の通りです。
 対話の継続指定をすることにより、少しまともになったと思うが、まあ、こんなものでしょう。

※しりとりの返答で「・・・やけど」となっているのは、関西弁指定にしてあるためです。