今回作成するアプリのホームページのアドレスを入力する項目ですが、とりあえず適当なURLを入れておきましょう。空欄のままでOKです。URLとはユーザーが認証(アプリ連携)作業をした後の、戻り先となるURLアドレスのことで、アクセストークンを取得する際に利用します。Application」をクリックしてください。Systemで作業したほうが楽です。LXTerminalからテキストエディターでtwitterの認証データを保存しておくためのファイル「twitterInfo.py」を開いてください。twitterInfo.py以下のような画面が表示されたと思います。「X」が並んでいる部分を、これから埋めていきます。Management(https://apps.twitter.com/)にアクセスしてください。Tokens」タブを選んでください。token」をクリックしてください。Secret」をマウスで範囲選択してコピーし、テキストエディタで開いている「twitterInfo.py」の該当する「X」のところにペーストしてください。「SCREEN_NAME」には、自分のユーザー名を記入してください。先頭の「@」はつけてもつけなくてもOKです。テキストエディターを保存して閉じてください。Secret)は、このアプリ自身のIDとパスワードで、ACCESS_TOKENとACCESS_TOKEN_SECRETは、webサービスなど第3者がユーザーの代わりにユーザーの情報にアクセスするために発行されたIDとパスワードです。当然ながらパスワードは他者に知られないよう厳重に管理してください。いずれも上記のアプリの画面から簡単に再発行することができます。認証ライブラリのインストールtwitterとの認証を簡単に実現するため、requestsモジュールとrequestsのOAuth用追加ライブラリrequests_oauthlibをインストールします。コマンドラインから下記のように打ち込んでください。requests_oauthlibちなみに「pip」はPythonのパッケージ管理システムで、サードパーティ製のモジュールを簡単にインストール・管理するためのツールです。最新のRaspbianであれば、最初からインストールされているはずです。サンプルプログラム1まずは任意のユーザーのつぶやきを音声合成で喋らせるサンプルです。Piをインストールし、スピーカーの設定を終えた状態)で、下記のコマンドを実行してください。sampleTweet2Speech1.pyあなたの最新のツイートがロボットから発話されたら成功です。twitterで何かをつぶやいてみて、それが発話されるかどうかも確認してみてください。実験なので自分のツイートを発話させましたが、「twitterInfo.py」の「SCREEN_NAME」に任意のユーザー名を入力すれば、有名人や友だちなど、好きな人のつぶやきを発話させることができます。「sampleTweet2Speech.py」の12行目あたりにある「talkSpeed」の値を変えることで、発話速度を変えられます。指定できる値は50から300で大きな値にするほど早口でしゃべります。その下あたりにある「interval」の数値を変えることで、最新ツイートをチェックする間隔を秒数で調整できます。APIのうち、「GET-statuses-user_timeline」を利用してツイート内容「text」を発話させましたが、他のAPIを使えば、日時やユーザー名やリツイート数などの情報を取得することもできます。詳細はドキュメントをご覧ください。開発者ドキュメント日本語訳サンプルプログラム2これはユーザーが喋った言葉を音声認識して自動的にツイートするサンプルです。「Juliusで音声認識させてみる」を終えた状態(Juliusがインストールされ、マイクの設定を終えた状態)で、下記のコマンドを実行してください。sampleSpeech2Tweet1.pyjuliusをモジュールモードで起動するため、起動するまでちょっと時間がかかります。Speak」と表示されたら、マイクに向かって何かを喋ってみてください。twitterを確認し、ツイートされていたら成功です。多くの場合、正しく認識されずに変な言葉がツイートされてしまうと思いますが、認識率を上げるのは結構大変です。twitterの規定により、同じ発言を繰り返すことはできません。過度に高頻度な発言をしていると発言できなくなってしまいますのでご注意ください。音声認識の精度が低いなぁと思ったら、まずは騒音の無い場所でマイクに向かって明瞭に喋ってみてください。認識精度を上げたい場合は設定ファイル「julius2.jconf」のパラメータをいじってみてください。APIのうち、「POST-statuses-update」を利用しています。詳細はドキュメントをご覧ください。APIは他にもいろいろありますので、ぜひ挑戦してみてください。API」とは、「REST形式で利用できるAPI」のことです。Transfer」の略で、URLに対してGET,POST,PUT,DELETEでリクエストを送信し、レスポンスをjsonやXMLで受け取る形式のことです。Interface」の略で、WEB上に公開されていてユーザーが利用することができるソフトウェアのことです。twitterに限らずwebサービスを行っている多くの企業が、APIを公開しているので、APIを活用することで簡単に高度な技術を利用することができます。ベゼリーは量産を目指して開発継続中です。facebookページに「いいね!」をお願いします。