Help us understand the problem. What is going on with this article?

WebAPI からのバイナリーデータをローカルに保存して利用する(AITalk WebAPI 編)

More than 3 years have passed since last update.

Pepper から WebAPI にアクセス、バイナリーデータを受け取り、その結果を利用したいことありますよね。一つ試してみました。 AITalk WebAPI(http://www.ai-j.jp/webapi) がクラウドで合成した音声ファイルをローカルに保存、再生します。

Python ボックスを新規に作り、onStart 入力にこんな感じのコードを入れました。

    def onInput_onStart(self, p):
        import requests

        url = self.getParameter("WebAPI URL")
        data = {
            'username':self.getParameter("username"),
            'password':self.getParameter("password"),
            'text':str(p),
            'speaker_id':'','speaker_name':'','volume':'1.0','speed':'1.0','pitch':'1.0','range':'1.0','ext':'ogg'}

        req = requests.post(url, params = data)

        appId = self.packageUid()
        dataPath = qi.path.userWritableDataPath(appId, "aitalk.ogg")
        f = open(dataPath, 'w')
        f.write(req.content)
        f.close()

        self.onStopped(dataPath)

Python ボックスは、入力と出力をそれぞれ文字列型に変更しています。入力には喋らせるテキストを与えます。出力には保存されたファイルのパスが出力されます。
AITalk WebAPI を利用するためには専用の URL、ユーザー IDとパスワードが必要です。これらは Python ボックスのパラメータで与えるようにしています。

ID、パスワードならびに URL については AITalk より入手します。
http://www.ai-j.jp/webapi

サンプルを次に展開しました。
https://github.com/tkawata1025/pepper_aitalk_cloud

サンプルは、わたし個人が試したテストコードとご理解ください。あらゆる環境の動作保障をしているわけではありません、、

AITalk に限らず Web API から返されるバイナリーデータの利用方法の一例として活用いただければ幸いです。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away