

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SpeakAndGetDigits
<a name="speak-and-get-digits"></a>

テキストを提供して音声を再生し、ユーザーからデュアルトーンマルチ周波数 (DTMF) ディジットを収集します。テキストには、プレーンテキスト、または音声合成マークアップ言語 (SSML) で強化されたテキストを使用できます。サポートされている SSML 機能の中でも特に一時停止の追加、特定の単語の強調、話し方の変更によって、Amazon Chime SDK が音声を生成する方法をより細かく制御できます。ユーザーが正しい DTMF ディジット数を入力しなかったなどの失敗が発生した場合、このアクションは「失敗」音声を再生し、`Repeat` パラメータで定義された試行回数を SIP メディアアプリケーションが使い切るまでメイン音声を再生します。

Amazon Chime SDK は、テキストを肉声に近い音声に変換するクラウドサービスである Amazon Polly を使用しています。Amazon Polly は、標準エンジンと、音声品質が改善されているニューラルエンジンを提供しています。サポートする言語は 20 を超え、60 の音声に対応しています。Amazon Polly では音声機能は無料で提供されますが、Amazon Polly の使用には料金がかかります。価格情報については、Amazon Polly の[料金ページ](https://aws.amazon.com/polly/pricing/)または請求ダッシュボードを参照してください。

**重要**  
Amazon Polly の使用には、 AWS Machine Learning および人工知能サービスに固有の[AWS 条件](https://aws.amazon.com/service-terms/)を含むサービス条件が適用されます。

**Topics**
+ [SpeakAndGetDigits アクションの使用](#speak-digits-action)
+ [ACTION\$1SUCCESSFUL イベントの処理](#speak-digits-success)
+ [ACTION\$1FAILED イベントの処理](#speak-digits-fail)
+ [Amazon Chime SDK 音声コネクタサービスにリンクされたロールの使用](#speak-digits-policy)

## SpeakAndGetDigits アクションの使用
<a name="speak-digits-action"></a>

次の例は、`SpeakAndGetDigits` アクションの一般的な使用方法を示しています。

```
{
    "SchemaVersion": "1.0",
    "Actions":[
        {
            "Type": "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "call-id-1",          // required
                "InputDigitsRegex": "^\d{2}#$", // optional
                "SpeechParameters": {
                    "Text": "Hello World",      // required
                    "Engine": "neural",         // optional. Defaults to standard
                    "LanguageCode": "en-US",    // optional
                    "TextType": "text",         // optional
                    "VoiceId": "Joanna"         // optional. Defaults to Joanna
                },
                "FailureSpeechParameters": {
                    "Text": "Hello World",      // required
                    "Engine": "neural",         // optional. Defaults to the Engine value in SpeechParameters
                    "LanguageCode": "en-US",    // optional. Defaults to the LanguageCode value in SpeechParameters
                    "TextType": "text",         // optional. Defaults to the TextType value in SpeechParameters
                    "VoiceId": "Joanna"         // optional. Defaults to the VoiceId value in SpeechParameters
                },
                "MinNumberOfDigits": 3,         // optional
                "MaxNumberOfDigits": 5,         // optional
                "TerminatorDigits": ["#"],      // optional
                "InBetweenDigitsDurationInMilliseconds": 5000,  // optional
                "Repeat": 3,                    // optional
                "RepeatDurationInMilliseconds": 10000           // required
            }
        }
    ]
}
```

**CallId**  
説明 – Lambda 関数呼び出しの CallDetails における、参加者の `CallId`。  
使用できる値 – 有効な `callID`  
*必須* – はい  
デフォルト値 - なし

**InputDigitsRegex**  
説明 - ユーザーが正しいディジットと文字を入力できるようにするための正規表現パターン。  
使用できる値 - 有効な正規表現パターン  
*必須* – いいえ  
*デフォルト値* – なし

**SpeechParameters.Engine**  
説明 - 音声合成用のテキストを処理するときに使用するエンジン (標準またはニューラル) を指定します。  
使用できる値 – `standard` \$1 `neural`  
*必須* – いいえ  
デフォルト値 - standard

**SpeechParameters.LanguageCode**  
説明 - 言語コードを指定します。これはバイリンガル音声を使用する場合にのみ必要となります。バイリンガル音声の使用時に言語コードが指定されていない場合は、バイリンガル音声のデフォルト言語が使用されます。  
使用できる値 - [Amazon Polly の言語コード](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*必須* – いいえ  
*デフォルト値* – なし

**SpeechParameters.Text**  
説明 - 入力テキストを指定します。`ssml` を `SpeechParameters.TextType` として指定した場合は、入力テキストの SSML 形式に従う必要があります。SSML の詳細については、「Amazon Polly デベロッパーガイド」の「[SSML ドキュメントから音声を生成する](https://docs.aws.amazon.com/polly/latest/dg/ssml.html)」を参照してください。  
使用できる値 - 文字列  
*必須* – はい  
*デフォルト値* – なし

**SpeechParameters.TextType**  
説明 - `SpeechParameters.Text` のテキスト形式を指定します。指定されない場合、デフォルトで `text` が使用されます。SSML の詳細については、「Amazon Polly デベロッパーガイド」の「[SSML ドキュメントから音声を生成する](https://docs.aws.amazon.com/polly/latest/dg/ssml.html)」を参照してください。  
使用できる値 – `ssml` \$1 `text`  
*必須* – いいえ  
デフォルト値 – `text`

**SpeechParameters.VoiceId**  
説明 - `SpeechParameters.Text` のテキストを読み上げるために使用される Amazon Polly の音声の ID。  
使用できる値 - [Amazon Polly の音声 ID](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*必須* – いいえ  
デフォルト値 - Joanna

**FailureSpeechParameters.Engine**  
説明 - 顧客が音声合成に関する無効な応答を入力したときに使用される失敗メッセージの処理に使用するエンジン (標準またはニューラル) を指定します。  
使用できる値 – `standard` \$1 `neural`  
*必須* – いいえ  
デフォルト値 - `SpeechParameters.Engine` 値

**FailureSpeechParameters.LanguageCode**  
説明 - 顧客が無効な応答を入力したときに使用する言語コードを指定します。バイリンガル音声を使用する場合にのみ必要となります。言語コードを指定せずにバイリンガル音声を使用した場合は、バイリンガル音声のデフォルト言語が使用されます。  
使用できる値 - [Amazon Polly の言語コード](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-LanguageCode)  
*必須* – いいえ  
デフォルト値 - `SpeechParameters.LanguageCode` 値

**FailureSpeechParameters.Text**  
説明 - 顧客が無効な応答を入力したときに読み上げられる入力テキストを指定します。`ssml` を `FailureSpeechParameters.TextType` として指定した場合は、入力テキストの SSML 形式に従う必要があります。  
使用できる値 - 文字列  
*必須* – はい  
*デフォルト値* – なし

**FailureSpeechParameters.TextType**  
説明 - `FailureSpeechParameters.Text` で指定される入力テキストがプレーンテキストか SSML かを指定します。デフォルト値はプレーンテキストです。詳細については、「Amazon Polly デベロッパーガイド」の「[SSML ドキュメントから音声を生成する](https://docs.aws.amazon.com/polly/latest/dg/ssml.html)」を参照してください。  
使用できる値 – `ssml` \$1 `text`  
*必須* – いいえ  
デフォルト値 - `SpeechParameters.Text` 値

**FailureSpeechParameters.VoiceId**  
説明 - `FailureSpeechParameters.Text` の文字列を読み上げるために使用される音声の ID。  
使用できる値 - [Amazon Polly の音声 ID](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-VoiceId)  
*必須* – はい  
デフォルト値 - `SpeechParameters.VoiceId` 値

**MinNumberOfDigits**  
説明 - タイムアウトになるか「通話失敗」メッセージが再生される前にキャプチャする最小ディジット数。  
使用できる値 - 0 以上  
*必須* – いいえ  
デフォルト値 - 0

**MaxNumberOfDigits**  
説明 - 終了ディジットなしで停止する前にキャプチャする最大ディジット数。  
使用できる値 - `MinNumberOfDigits` より大きい値  
*必須* – いいえ  
デフォルト値 – 128

**TerminatorDigits**  
説明 - ユーザーが MaxNumberOfDigits 未満の値を入力した場合に、入力を終了するのに使用されるディジット  
使用できる値 - 0 1 2 3 4 5 6 7 8 9 \$1 \$1 のいずれか  
*必須* – いいえ  
デフォルト値 – \$1

**InBetweenDigitsDurationInMilliseconds**  
説明 - 失敗音声を再生するまでのディジット入力間の待ち時間 (ミリ秒単位)。  
使用できる値 - 0 より大きい値  
*必須* – いいえ  
デフォルト値 - 指定しない場合、デフォルトは `RepeatDurationInMilliseconds` 値になります。

**Repeat**  
説明 - ディジットの取得を試みた回数の合計。このパラメータを省略すると、デフォルトでディジットの収集が 1 回試行されます。  
使用できる値 - 0 より大きい値  
*必須* – いいえ  
*デフォルト値* – 1

**RepeatDurationInMilliseconds**  
説明 - ディジットを取得する各試行のタイムアウト (ミリ秒単位)。  
使用できる値 - 0 より大きい値  
*必須* – はい  
*デフォルト値* – なし

## ACTION\$1SUCCESSFUL イベントの処理
<a name="speak-digits-success"></a>

次の例は、一般的な `ACTION_SUCCESSFUL` イベントを示しています。

```
{
    "SchemaVersion": "1.0",
    "Sequence": 3,
    "InvocationEventType": "ACTION_SUCCESSFUL",
    "ActionData": {
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "call-id-1",          
                "InputDigitsRegex":  "^\d{2}#$", 
                "SpeechParameters": {
                    "Engine":  "neural",         
                    "LanguageCode": "en-US",    
                    "Text":  "Hello World",           
                    "TextType":  "text",         
                    "VoiceId": "Joanna"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "neural",         
                    "LanguageCode":  "en-US",    
                    "Text":  "Hello World",           
                    "TextType": "text",         
                    "VoiceId": "Joanna"         
                },
                "MinNumberOfDigits": 3,         
                "MaxNumberOfDigits": 5,         
                "TerminatorDigits": ["#"],      
                "InBetweenDigitsDurationInMilliseconds": 5000,  
                "Repeat": 3,                    
                "RepeatDurationInMilliseconds": 10000           
            },
            "ReceivedDigits": "1234"
    },
    "CallDetails":{       
       ...
    }
}
```

## ACTION\$1FAILED イベントの処理
<a name="speak-digits-fail"></a>

次の例は、一般的な `ACTION_FAILED` イベントを示しています。

```
{
    "SchemaVersion": "1.0",
    "Sequence":2,
    "InvocationEventType": "ACTION_FAILED",
    "ActionData":{
            "Type":  "SpeakAndGetDigits",
            "Parameters": {
                "CallId": "call-id-1",          
                "InputDigitsRegex":  "^\d{2}#$", 
                "SpeechParameters": {
                    "Engine":  "neural",         
                    "LanguageCode": "en-US",    
                    "Text":  "Hello World",           
                    "TextType":  "text",         
                    "VoiceId": "Joanna"         
                },
                "FailureSpeechParameters": {
                    "Engine":  "neural",         
                    "LanguageCode":  "en-US",    
                    "Text":  "Hello World",          
                    "TextType": "text",        
                    "VoiceId": "Joanna"        
                },
                "MinNumberOfDigits": 3,      
                "MaxNumberOfDigits": 5,        
                "TerminatorDigits": ["#"],      
                "InBetweenDigitsDurationInMilliseconds": 5000,  
                "Repeat": 3,                    
                "RepeatDurationInMilliseconds": 10000         
            },
            "ErrorType":  "SystemException",
            "ErrorMessage":  "System error while running action"
    },
    "CallDetails":{       
       ...
    }
}
```

**エラー処理**  
以下の表では、`Speak` アクションによってスローされるエラーメッセージを列挙し、説明しています。


| エラー | メッセージ | 理由 | 
| --- | --- | --- | 
| `AccessDenied` | `AWSServiceRoleForAmazonChimeVoiceConnector` ロールが正しく設定されていません。 | Amazon Polly へのリクエストに使用されたロールが存在しないか、アクセス許可がありません。これを解決するには、「[Amazon Chime SDK 音声コネクタサービスにリンクされたロールの使用](#speak-digits-policy)」セクションの手順を参照してください。 | 
| `InvalidActionParameter` |   | アクションのパラメータの検証中にエラーが発生しました。このアクションで使用可能なパラメータとそのオプションを確認するには、「Amazon Polly デベロッパーガイド」の「[SynthesizeSpeech](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html)」を参照してください。 | 
| `MissingRequiredActionParameter` | `Text` は必須パラメータです。 | このアクションのパラメータには `Text` 値が必要です。 | 
| `MissingRequiredActionParameter` | `Text` は最大 1,000 文字に制限されています。 | テキストが文字数制限を超えています。 | 
| `SystemException` | アクションの実行中にシステムエラーが発生しました。 | アクションの実行中にシステムエラーが発生しました。 | 

## Amazon Chime SDK 音声コネクタサービスにリンクされたロールの使用
<a name="speak-digits-policy"></a>

`Speak` アクションまたは `SpeakAndGetDigits` アクションのサービスにリンクされたロールを手動で作成する必要はありません。Amazon Chime SDK コンソール、、または AWS API で SIP メディアアプリケーションを作成 AWS Command Line Interfaceまたは更新すると、Amazon Chime SDK によってサービスにリンクされたロールが作成されます。

詳細については、「Amazon Chime SDK 管理者ガイド」の「[Using the Amazon Chime service-linked role](https://docs.aws.amazon.com/chime/latest/ag/using-service-linked-roles-stream.html)」を参照してください。