【Pronunciation Assessment API – DolphinSOE】のクイック・スタート・マニュアル

株式会社DolphinAI『Pronunciation Assessment API-DolphinSOE』で開発した発音評価デモシステム機能強化、英語発音より詳細韻律結果がリアルタイムフィードバック

デモシステム

URL

https://soe.dolphin-ai.jp/demo-sentence

### HTTP POST インタフェース

### 対話フロー

トークンの作成→POSTリクエストの送信→評価結果の返却

POST リクエストはJSON形式とform-data形式をサポートしています。必要に応じて選択してください。

### 1. トークンの作成

### リクエストアドレス

POST https://api.ai.smart-speech.com/auth/v1/createToken/{appId}

{appId}はビジネスから貴社に割り当てられたappIdで、URLでパラメーターを渡します。

### ヘッダー

| パラメーター名 | タイプ | 説明 | デフォルト値 |
| --- | --- | --- | --- |
| Content-Type | String | リクエストタイプ | application/json |

### ボディ（JSON）

| パラメーター名 | タイプ | 説明 | デフォルト値 |
| --- | --- | --- | --- |
| timestamp | Int | unixタイムスタンプ（10桁） | 必須 |
| signature | String | デジタル署名 | 必須 |
| sdk | String | 固定値：http | 必須 |
### シグネチャの構築方法:

● appId と timestamp のリクエストパラメーターを使用して、正規則化されたリクエスト文字列 stringToSign を構築します（パラメーターの順番に注意）。例:

appId=xxxx-xxxx-xxxx&timestamp=1234567890

● 先ほど構築したリクエスト文字列を用いて、HMAC-SHA1 署名アルゴリズムで対応するデジタル署名（Base64エンコード）を計算します。ビジネスから貴社に割り当てられた appSecret を署名アルゴリズムの鍵として使用してください。

signature = Base64(HMAC-SHA1(stringToSign, appSecret))

● HMAC-SHA1 在線計算ツールは、生成されたデジタル署名が正しいかどうかを照合のに使用できます:

● メッセージ: 手順1で構築した stringToSign（リクエスト文字列）を入力

● アルゴリズム: SHA1 を選択

● 鍵: あなたの appSecret を入力

● 下記のチェックボックスは選択しない

● 計算ボタンをクリックすると、「結果 B」が正しいデジタル署名になります。生成したデジタル署名がその結果と一致すれば、署名は正しいことを示します。

**デジタル署名のサンプルコード:**

![1733291390328~1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932446/fd7a74ff-a974-6afd-43c1-67d6e89d3501.jpeg)


### レスポンス

{
  "status":"00000",
  "message":"成功",
  "data":{
    "appId":"my-app-id-xxxxx",//トークンを作成するappId
    "token":"xxxxxxxxxxxxxxxxxx",//生成されたトークン、有効期間168時間
    "currentTime": 1660523938, //現在のサーバー時間
    "expireTime": 1660527538 //トークンの有効期限（サーバー時間）
  }
}
### 2. HTTP POST リクエストを開始する

### 接続アドレス

形式は次の通りです:

https://api.ai.smart-speech.com/soe/en-US/{問題タイプコード}/v1/api

問題タイプ文書を参照して対応する問題タイプコードを取得してください。

例えば、単語問題（問題タイプコード：word）の接続アドレスは次の通りです:

https://api.ai.smart-speech.com/soe/en-US/word/v1/api

### リクエストを開始する

注意:

評価にかかかる時間が音声とテキストの長さに密接有关系です。chapter、topic、retell問題タイプは時間がかかる可能性があるため、これらの問題タイプのresponseTimeoutパラメーター設定を 注意深く请关注这些题型的responseTimeout参数设置，以防返回结果超时。

Header

| パラメーター名 | タイプ | 説明 | デフォルト値 |
| --- | --- | --- | --- |
| Authorization | String | 標準HTTPヘッダー、認証情報を設定。形式は標準Bearer <Token> の形式でなければならない（注意Bearer後のスペース）。 | 必須 |
| sdk | String | 固定値：http | 必須 |
| version | String | 固定値：1.0.0.0 | 必須 |
| OS | String | オペレーティングシステムとバージョン、例：Ubuntu 18.04 | 必須 |
| deviceId | String | デバイスの一意識別子、例：0A15C7578CA2 | 必須 |

① ボディ（JSON形式）

| パラメーター名       | タイプ  | 説明                                                         | デフォルト値      |
|-------------------|-------|----------------------------------------------------------------|-------------|
| langType           | string | 言語オプション、英語：en-US                                      | 必須         |
| format           | string | オーディオ形式、wav、mp3をサポート                                 | 必須         |
| sampleRate        | int    | オーディオサンプリングレート（Hz）、現在は16000のみをサポート            | 必須         |
| audioBase64       | string | オーディオファイルのBase64エンコード                                      | audioUrlと選択 |
| audioUrl         | string | オーディオファイルのパブリックインターネットダウンロードアドレス                    | audioBase64と選択 |
| looseness        | int    | 評価緩さ度、範囲：0-9、値が大きいほど緩い                                | 4           |
| connectTimeout    | int    | 接続タイムアウト（秒）、範囲：5-60                                        | 15          |
| responseTimeout   | int    | 応答タイムアウト（秒）、範囲：5-60、chapter、topic、retell問題タイプ：45 | 他の問題タイプ：15 |
| scale           | int    | 評価スコアリング、範囲：1-100                                          | 100         |
| ratio           | float  | 評価調整係数、範囲：0.8-1.5（最大3桁）                                      | 1.0         |
| userId         | string | userIdを設定推奨、異なるユーザーを区別するため                           | 空          |
| maxPrefixSilence  | int    | 音声前置サイレンス検出阈値（秒）、範囲1～30。録音開始後サイレンスが該当期を超えるとWarningイベントを返す。 | 0           |
| maxSuffixSilence   | int    | 音声后置サイレンス検出阈値（秒）、範囲1～30。句末サイレンスが該当期を超えると自動的に評価を終了。 | 0           |
| maxPrefixSilenceMs | int    | 音声前置サイレンス検出阈値（ミリ秒）、範囲 [0～30000]。録音開始後サイレンスが該当期を超えるとWarningイベントを返す。 | 0           |
| maxSuffixSilenceMs  | int    | 音声后置サイレンス検出阈値（ミリ秒）、範囲 [0～30000]。句末サイレンスが該当期を超えると自動的に評価を終了。 | 0           |
| connti          | int    | 連読と失爆検出を有効にするかどうか、デフォルトは0、英語のみ対象                  | 0           |
| mini            | int    | デフォルトは0で、全データを返します。1を使用すると、シンプルなデータ（合計点数、流暢性、正確性、完整性等）のみを返します。 | 0           |
| precision       | string | 評価精度を設定、デフォルトは0、0、0.1、0.25、0.5、1の値のみサポート。設定した値がこの5つの内にある場合に限って0で処理。 | 0           |
| params         | dict   | 問題タイプパラメーター、問題タイプ文書を参照して対応する問題タイプパラメーター形式を取得してください。 | 必須         |

**ボディ（JSON形式）サンプル**

{
  "params": {
    "モード": "単語",
    "参照テキスト": "こんにちは"
  },
  "オーディオBase64": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "サンプルレート": 16000,
  "フォーマット": "mp3",
  "言語タイプ": "en-US",
  "緩さ度": 4,
  "ユーザーID": "uid11586253a"
}

② ボディ（form-data 形式）

| パラメーター名         | タイプ | 説明                                                                 | デフォルト値 |
|---------------------|--------|----------------------------------------------------------------------|----------|
| langType              | text   | 言語オプション、英語：en-US                                               | 必須     |
| format               | text   | オーディオ形式、wav、mp3をサポート                                     | 必須     |
| sampleRate            | text   | オーディオサンプリングレート（Hz）、現在は16000のみをサポート             | 必須     |
| audioFile             | file   | オーディオファイル                                                         | 必須     |
| looseness             | text   | 評価緩さ度、範囲：0-9、値が大きいほど緩い                                       | 4        |
| connectTimeout         | text   | 接続タイムアウト（秒）、範囲：5-60                                           | 15       |
| responseTimeout      | text   | 応答タイムアウト（秒）、範囲：5-60、chapter、topic、retell問題タイプ：45       | 他の問題タイプ：15 |
| scale                | text   | 評価スコアリング、範囲：1-100                                                   | 100      |
| ratio                | float  | 評価調整係数、範囲：0.8-1.5（最大3桁）                                           | 1.0      |
| userId              | text   | 入力されたuserIdは評価結果で返されます                                           | 空       |
| maxPrefixSilence       | int    | 音声前置サイレンス検出阈値（秒）、範囲 1～30。録音開始後サイレンスが該当期を超えるとWarningイベントを返す | 0        |
| maxSuffixSilence        | int    | 音声后置サイレンス検出阈値（秒）、範囲 1～30。句末のサイレンスが該当期を超えると自動的に評価を終了 | 0        |
| maxPrefixSilenceMs      | int    | 音声前置サイレンス検出阈値（ミリ秒）、範囲 [0～30000]。録音開始後サイレンスが該当期を超えるとWarningイベントを返す | 0        |
| maxSuffixSilenceMs       | int    | 音声后置サイレンス検出阈値（ミリ秒）、範囲 [0～30000]。句末のサイレンスが該当期を超えると自動的に評価を終了 | 0        |
| connti               | int    | 連読と失爆検出を有効にするかどうか、デフォルトは0、英語のみ対象                           | 0        |
| mini                 | int    | デフォルトは0で、全データを返します。1を使用すると、シンプルなデータ（合計点数、流暢性、正確性、完整性等）のみを返します。 | 0        |
| precision            | string  | 評価精度を設定、デフォルトは0、0、0.1、0.25、0.5、1の値のみサポート。設定した値がこの5つの内にある場合に限り0で処理 | 0        |
| params               | text   | 問題タイプパラメーター、問題タイプ文書を参照して対応する問題タイプパラメーター形式を取得してください。 | 必須     |


② ボディ（form-data 形式）例

Postmanを使用してテスト为例：
 
![1733291338564~1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3932446/376d7120-cc03-57e4-b1d0-afac0d196e68.jpeg)


結果を返します。
対応する問題タイプの文書を参照してください。


### 問い合わせ先

【会社名】　 株式会社DolphinAI

【担当部署】 経営管理部CS課

【担当者名】 浅川　幸

【電話番号】 03-6775-4523

【メールアドレス】 soe.contact@dolphin-ai.jp

【ウェブサイト】　https://soe.dolphin-ai.jp/