音声による感情認識技術API

技術提供パートナー

Panasonic

トライアル版SDKをご利用の方は下記ボタンより申請してください

APIの使い方について

アクセストークンの発行


APIのご利用には、アクセストークンが必要です。
「マイページ」より、アクセストークンを発行してからご利用ください。

API概要


本APIは、Panasonicの特許に基づき開発された「音声による感情認識API」です。
音声を解析し、音声に含まれる特徴量から「怒り」「喜び」「平静」を取得することができます。

感情認識の結果は、Rough値(声帯の力み、感情のこもり具合)とSoft値(声の柔らかさ、トーン)の2値によって表されます。各値は0〜1の値をとります。Rough値は感情的になるほど大きく、Soft値は楽しさや親しみのある状況で大きくなる傾向があります。2値によって感情を解釈する際の例を以下の図に示します。

図.Rough値 / Soft値の解釈の例

図.Rough値 / Soft値の解釈の例

API仕様


HTTPプロトコルを用いて音声ファイルをPOSTすることで、その解析結果をjson形式で取得することができます。音声の5秒毎のRough値(声帯の力み、感情のこもり具合)とSoft値(声の柔らかさ、トーン)の2種を取得することができます。

- 実行例


以下はcURLを用いてAPIを実行し、sample.mp3という音声ファイルの解析を行う例です。


      $ curl https://api.pas-ta.io/feeling/v3/analysis \
              --data-binary @sample.mp3 \
              -H 'Authorization: Bearer AGAGVHGQ1YTHI...' \
              -H 'Content-Type: audio/*'
      

- エンドポイント

[POST] https://api.pas-ta.io/feelings/v3/analysis

- 使用制限

使用制限は設けておりませんが、過剰なリクエストの場合は制限することがあります。 タイムアウト時間は5秒です。処理時間がそれを超える場合はその音声ファイルは利用できません。

- リクエスト

以下2つのヘッダを明示する必要があります。

<必須HTTPヘッダ>


          Authorization: Bearer <your_access_token>
          Content-Type: audio/*
        

以下はアクセストークンが

AAAAAAIAAAAGADRHMDRHMDDIZDEXNJRKMZQZMJRHOTA5NZC1NZC1N2QWNMNMOGU0

である場合のリクエストヘッダ例です。


      POST /feelings/v3/analysus HTTP/1.1
      Host: api.pas-ta.io
      Authorization: Bearer
      AAAAAAIAAAAGADRHMDRHMDDIZDEXNJRKMZQZMJRHOTA5NZC1NZC1N2QWNMNMOGU0
      Content-Type: audio/*
      

- 入力音声ファイル仕様

入力音声のファイル仕様は、以下の通りです。

<ファイルサイズ>

10[MB]までの音声ファイルを送ることができます。それを超える音声ファイルを送った場合、413エラーを返します。
10[MB]以内の場合でも処理時間がタイムアウト時間5秒を超える場合は利用できません。

<音声ファイルフォーマット>

◆非圧縮

wavサンプリング周波数:8〜80[kHz], ビット深度:16[bit], PCM, GSM
aiffサンプリング周波数:8〜80[kHz], ビット深度:16[bit], PCM

◆非可逆圧縮

aacサンプリング周波数:8〜48[kHz], チャンネル数:1〜2, ビットレート:96〜320[kbps]
mp3サンプリング周波数:8〜48[kHz], チャンネル数:1〜2, ビットレート:96〜320[kbps]
wmaサンプリング周波数:8〜48[kHz], チャンネル数:1〜2, ビットレート:96〜320[kbps]

◆可逆圧縮

flacサンプリング周波数:8〜48[kHz], チャンネル数:1〜2, ビットレート:96〜320[kbps]

- レスポンス

<レスポンスヘッダ>

以下はリクエストが成功した時のレスポンスヘッダです。


      HTTP/1.1 200 OK
      Date: Wed, 22 Nov 2017 06:23:50 GMT
      Connection: close
      Content-Type: application/json
      Access-Control-Allow-Origin: *
      Content-Length: 1350
      

<レスポンスボディ>

json形式で解析結果が返却されます。
以下はjson形式のレスポンスボディの例です。


      {
        "meta": {
          "sample_rate": 4410,
          "channels": 1,
          "bit_rate": 80000,
          "format_name": "mp3"
        },
        "results":[
          {
            "form": 0.0,
            "to": 5.0,
            "rough": 0.333,
            "soft": 0.25
          },
          {
            "form": 5.0,
            "to": 10.0,
            "rough": 0.75,
            "soft": 0.5
          },
          {
            "form": 10.0,
            "to": 15.0,
            "rough": 0.218,
            "soft": 0.843
          },
          {
            "form": 15.0,
            "to": 20.0,
            "rough": 0.354,
            "soft": 0.838
          },
          {
            "form": 20.0,
            "to": 25.0,
            "rough": 0.36,
            "soft": 0.64
          },
          {
            "form": 25.0,
            "to": 30.0,
            "rough": 0.636,
            "soft": 0.136
          },
          {
            "form": 30.0,
            "to": 35.0,
            "rough": 0.68,
            "soft": 0.181
          },
          {
            "form": 35.0,
            "to": 40.0,
            "rough": 0.916,
            "soft": 0.416
          },
          {
            "form": 40.0,
            "to": 45.0,
            "rough": 0.285,
            "soft": 0.071
          },
          {
            "form": 45.0,
            "to": 50.0,
            "rough": 0.545,
            "soft": 0.5
          },
          {
            "form": 50.0,
            "to": 44.0,
            "rough": 1.0,
            "soft": 0.0
          }
        ]
      }
      

<レスポンス仕様>

key type value
meta object 送信した音声ファイルのメタデータ(サンプリングレート, ビットレート等)
results array 解析結果
from, to float 解析区間[秒]
rough float 声の力み具合を0〜1で表現します(音声感情強度)
soft float 声の柔らかさ具合を0〜1で表現します(音声感情種別)

<HTTPステータスコード>

HTTPステータスコードは、以下のとおりです。

コード 意味 内容
200 OK 成功
400 Bad Request リクエストの内容に誤りがあります
401 Unauthorized 認証ヘッダーがありません
403 Forbidden 認証tokenが誤っています
404 Not Found リソースが見つかりません
405 Method Not Allowed 許可されていないメソッドです
413 Payload Too Large 送信した音声ファイルのサイズが大きすぎます
429 Too Many Requests リクエスト数が多すぎます 1,2分ほど経ってから再度利用してください
500 Internal Server Error サーバ内部エラーが発生しました
503 Service Unavailable サービスを利用できません

感情認識技術APIに関するよくあるご質問

どのような感情が認識できますか?

「怒り」「喜び」「平静」の3つとなります。

感情認識速度はどのぐらいですか?

導入環境により多少の差が発生する場合もありますが、SDK形式で約300ms(0.3秒)程度、API形式(クラウド)で約500ms(0.5秒)です。

前もって音声のサンプルデータ(教師データ)を用意する必要はありますか?

当技術は、音声自体の持つ特徴量をベースとした「音響解析型」を採用しているため、あらかじめ音声のデータを収集したり教師データをご用意いただく必要はございません。導入後すぐにパフォーマンスを発揮します。

その他の「技術サポート」はこちらをご参照ください。

よくあるご質問 <API技術サポート>