

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

# Amazon Chime SDK ライブ文字起こしの使用
<a name="meeting-transcription"></a>

Amazon Chime SDK ライブ文字起こしを使用すると、ユーザー属性付きの会議の文字起こしがリアルタイムで生成されます。Amazon Chime SDK ライブ文字起こしは、Amazon Transcribe サービスおよび Amazon Transcribe Medical サービスと統合され、Amazon Chime SDK ミーティングの文字起こしを会議の進行中に生成します。

Amazon Chime SDK ライブ文字起こしは、各ユーザーの音声を個別に処理することで、マルチスピーカーシナリオでの精度を向上させます。Amazon Chime SDK は、アクティブトーカーアルゴリズムを使用して上位 2 人のアクティブトーカーを選択し、それらのユーザーの音声を個別のチャネルに分離したうえで 1 つのストリームとして Amazon Transcribe に送信します。会議の参加者は、Amazon Chime SDK データメッセージを介してユーザー属性付きの文字起こしを受け取ります。文字起こしは、字幕の表示、会議の文字起こしの作成、文字起こしを使用したコンテンツ分析など、さまざまな方法で使用できます。

ライブ文字起こしでは、会議の文字起こしを行っている間、Amazon Transcribe への 1 つのストリームを使用します。Amazon Transcribe および Amazon Transcribe Medical の標準コストが適用されます。詳細については、「[Amazon Transcribe の料金](https://aws.amazon.com/transcribe/pricing/)」を参照してください。使用量または請求に関するご質問は、 AWS アカウントマネージャーにお問い合わせください。

**重要**  
デフォルトでは、Amazon Transcribe は、サービス[AWS 条件](https://aws.amazon.com/service-terms/)のセクション 50 で詳しく説明されているように、サービスによって処理されたオーディオコンテンツを使用して保存し、 AWS AI/ML サービスを開発および改善する場合があります。Amazon Transcribe の使用は、電子通信記録または傍受に関する連邦および州の法律または規制の対象となる場合があります。録音に関するすべての適用法を遵守することは、お客様とそのエンドユーザーの責任です。これには、録音セッションまたは通信のすべての参加者にセッションまたは通信が録音されていることを適切に通知し、必要なすべての同意を得ることを含みます。 AWS Organizations を使用して AWS AI サービスのオプトアウトポリシーを設定することで、オーディオコンテンツ AWS を使用して AI/ML サービスを開発および改善することをオプトアウトできます。

**Topics**
+ [システムアーキテクチャ](#sys-architecture)
+ [請求と使用状況](#billing-and-usage)
+ [Amazon Chime SDK ライブ文字起こし用のアカウントの設定](configure-transcribe.md)
+ [Amazon Chime SDK ライブ文字起こしオプションの選択](transcription-options.md)
+ [Amazon Chime SDK ライブ文字起こしの開始と停止](initiate-transcription.md)
+ [Amazon Chime SDK ライブ文字起こしパラメータ](#transcription-parameters)
+ [Amazon Chime SDK のライブ文字起こしイベントについて](transcription-events.md)
+ [Amazon Chime SDK のライブ文字起こしメッセージについて](process-msgs.md)
+ [受信した Amazon Chime SDK ライブ文字起こしイベントの処理](delivery-examples.md)
+ [Amazon Chime SDK トランスクリプトの解析](parse-transcripts.md)

## システムアーキテクチャ
<a name="sys-architecture"></a>

Amazon Chime SDK は、Amazon Transcribe アカウントまたは Amazon Transcribe Medical アカウントとのサービス側の統合により、音声を AWS ネットワーク外に出すことなく、会議の文字起こしをリアルタイムで作成します。精度を向上させるため、ユーザーの音声は個別に処理されてから、会議の音声に融合されます。Amazon Chime SDK は、アクティブトーカーアルゴリズムを使用して上位 2 人のアクティブトーカーを選択し、それらのユーザーの音声を個別のチャネルに分離したうえで 1 つのストリームとして Amazon Transcribe または Amazon Transcribe Medical に送信します。レイテンシーを低減するため、ユーザー属性付きの文字起こしは、データメッセージを介してすべての会議参加者に直接送信されます。メディアパイプラインを使用して会議の音声をキャプチャする場合、会議の文字起こし情報もキャプチャされます。

![\[会議の文字起こしのデータフローを示す図。\]](http://docs.aws.amazon.com/ja_jp/chime-sdk/latest/dg/images/transcription-architecture.png)


## 請求と使用状況
<a name="billing-and-usage"></a>

ライブ文字起こしでは、会議の文字起こしを行っている間、Amazon Transcribe または Amazon Transcribe Medical への 1 つのストリームを使用します。Amazon Transcribe および Amazon Transcribe Medical の標準コストが適用されます。詳細については、「[Amazon Transcribe の料金](https://aws.amazon.com/transcribe/pricing/)」を参照してください。使用量または請求に関するご質問は、 AWS アカウントマネージャーにお問い合わせください。

# Amazon Chime SDK ライブ文字起こし用のアカウントの設定
<a name="configure-transcribe"></a>

Amazon Chime SDK ライブ文字起こしを使用する前に、 AWS アカウントで Amazon Transcribe と Amazon Transcribe Medical を呼び出すアクセス許可を Amazon Chime SDK に付与する必要があります。そのためには、Chime Transcription サービスリンクロールをアカウントに追加します。ライブ文字起こし用のサービスリンクロールの作成については、「Amazon Chime SDK Administration Guide」の「[Using roles with live transcription](https://docs.aws.amazon.com/chime-sdk/latest/ag/using-service-linked-roles-transcription.html)」を参照してください。IAM サービスリンクロールの詳細については、「IAM ユーザーガイド」の「[Service Linked Roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)」を参照してください。

# Amazon Chime SDK ライブ文字起こしオプションの選択
<a name="transcription-options"></a>

Amazon Chime SDK ライブ文字起こしを使用する場合は、 AWS アカウント内で [Amazon Transcribe](https://aws.amazon.com/transcribe/) または [Amazon Transcribe Medical](https://aws.amazon.com/transcribe/medical/) を使用します。[Amazon Transcribe がサポートするすべてのストリーミング言語](https://docs.aws.amazon.com/transcribe/latest/dg/what-is-transcribe.html)に加えて、[カスタム語彙](https://docs.aws.amazon.com/transcribe/latest/dg/how-vocabulary.html)や[語彙フィルター](https://docs.aws.amazon.com/transcribe/latest/dg/filter-unwanted-words.html)などの機能にもアクセスできます。Amazon Transcribe Medical を使用する場合、医療専門分野や会話タイプを選択することができ、オプションで任意のカスタム語彙を指定することもできます。Amazon Transcribe および Amazon Transcribe Medical の標準コストが適用されます。

文字起こしオプションを選択するプロセスでは、以下のステップを実行します。

## ステップ 1: 文字起こしサービスを選択する
<a name="choose-service"></a>

[Amazon Transcribe](https://aws.amazon.com/transcribe/) または [Amazon Transcribe Medical](https://aws.amazon.com/transcribe/medical/) のどちらの文字起こしサービスを使用するかを決める必要があります。

医療分野の音声テキスト変換機能が必要なユースケースでは、ほとんどの場合に Amazon Transcribe Medical を使用することが推奨されます。それ以外のユースケースでは、ほとんどの場合に Amazon Transcribe を使用することが推奨されます。

`StartMeetingTranscription` API を呼び出すときに使用する文字起こしサービスを指定します。
+ Amazon Transcribe を使用するには、`TranscriptionConfiguration` と `EngineTranscribeSettings` を指定します。
+ Amazon Transcribe Medical を使用するには、`TranscriptionConfiguration` と `EngineTranscribeMedicalSettings` を指定します。

## ステップ 2: 文字起こしのリージョンを選択する
<a name="choose-region"></a>

文字起こしサービスの AWS リージョンを選択する必要があります。Amazon Transcribe と Amazon Transcribe Medical で利用可能な AWS リージョンについては、[AWS リージョン別サービスの](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)表を参照してください。

 一般的に、会議のメディアリージョンと文字起こしリージョンの間のレイテンシーが低いほど、ユーザーエクスペリエンスが高くなります。レイテンシーを最低限に抑えるために、可能な限りメディアと文字起こしに同じリージョンを使用してください。ただし、リージョンを選択する際には、規制要件や、Amazon Transcribe または Amazon Transcribe Medical を設定したリージョンなど、他の要素を考慮する必要がある場合があります。

Amazon Transcribe と Amazon Transcribe Medical の機能 (カスタム語彙や語彙フィルターなど) は、リージョンに固有のものです。これらの機能のいずれかを設定する場合は、ライブ文字起こしを使用する予定のすべての AWS リージョンで同じように設定する必要があります。または、すべての会議に同じ Amazon Transcribe リージョンを使用することもできます。

文字起こしサービスで使用するリージョンを指定できます。これを行うには、`StartMeetingTranscription` API を呼び出すときに、文字起こしエンジン設定の `Region` フィールドにリージョン名を追加します。リージョンを指定しない場合、Amazon Chime SDK は会議のメディアリージョンで文字起こしサービスの使用を試みます。Amazon Chime SDK で文字起こしサービスのリージョンが自動的に選択されるようにするには、`Region` フィールドで `auto` を指定します。そうすると、Amazon Chime は、以下の表で説明されているように、会議のメディアリージョンに基づいて文字起こしサービスのリージョンを選択します。`StartMeetingTranscription` API の詳細については、本ガイドの「[Amazon Chime SDK ライブ文字起こしの開始と停止](initiate-transcription.md)」を参照してください。

**注記**  
Amazon Chime SDK によって選択された文字起こしリージョンは、Amazon Chime SDK AWS、Amazon Transcribe、Amazon Transcribe Medical によってより多くのリージョンが利用可能になるため、変更される可能性があります。

**Amazon Transcribe の自動リージョン選択**  



|  Amazon Chime SDK メディアリージョン  |  リージョンコード  |  文字起こしリージョン  | 
| --- | --- | --- | 
|  米国東部 (オハイオ)  |  us-east-2  | us-east-2  | 
|  米国東部 (バージニア北部)  |  us–east–1  | us–east–1  | 
|  米国西部 (北カリフォルニア)  |  us-west-1  | us-west-2 | 
|  米国西部 (オレゴン)  |  us-west-2  | us-west-2  | 
|  アフリカ (ケープタウン)**\$1\$1**  |  af-south-1  | eu-west-2  | 
|  アジアパシフィック (ムンバイ)  |  ap-south-1  | eu-west-2 | 
|  アジアパシフィック (ソウル)  |  ap-northeast-2  | ap-northeast-2 | 
|  アジアパシフィック (シンガポール)  |  ap-southeast-1  | ap-northeast-1 | 
|  アジアパシフィック (シドニー)  |  ap-southeast-2  | ap-southeast-2 | 
|  アジアパシフィック (東京)  |  ap-northeast-1  | ap-northeast-1 | 
|  カナダ (中部)  |  ca-central-1  | ca-central-1 | 
|  欧州 (フランクフルト)   |  eu-central-1  | eu-central-1  | 
|  欧州 (アイルランド)  |  eu-west-1  | eu-west-1 | 
|  欧州 (ロンドン)  |  eu-west-2  | eu-west-2  | 
|  欧州 (ミラノ)**\$1\$1**  |  eu-south-1  | eu-central-1  | 
|  欧州 (パリ)  |  eu-west-3  | eu-central-1  | 
|  欧州 (ストックホルム)  |  eu-north-1  | eu-central-1 | 
|  南米 (サンパウロ）  |  sa-east-1  | sa-east-1 | 
|  GovCloud (米国東部)  |  us-gov-east-1  |  us-gov-west-1  | 
|  GovCloud (米国西部)  |  us-gov-west-1  |  us-gov-west-1  | 

**Amazon Transcribe Medical の自動リージョン選択**  



|  Amazon Chime SDK メディアリージョン  |  リージョンコード  |  文字起こしリージョン  | 
| --- | --- | --- | 
|  米国東部 (オハイオ)  |  us-east-2  | us-east-2 | 
|  米国東部 (バージニア北部)  |  us–east–1  | us–east–1 | 
|  米国西部 (北カリフォルニア)  |  us-west-1  | us-west-2 | 
|  米国西部 (オレゴン)  |  us-west-2  | us-west-2 | 
|  アフリカ (ケープタウン)**\$1\$1**  |  af-south-1  |  eu-west-1  | 
|  アジアパシフィック (ムンバイ)  |  ap-south-1  | eu-west-1  | 
|  アジアパシフィック (ソウル)  |  ap-northeast-2  | us-west-2 | 
|  アジアパシフィック (シンガポール)  |  ap-southeast-1  | ap-southeast-2 | 
|  アジアパシフィック (シドニー)  |  ap-southeast-2  | ap-southeast-2 | 
|  アジアパシフィック (東京)  |  ap-northeast-1  | us-west-2 | 
|  カナダ (中部)  |  ca-central-1  | ca-central-1 | 
|  欧州 (フランクフルト)   |  eu-central-1  | eu-west-1 | 
|  欧州 (アイルランド)  |  eu-west-1  | eu-west-1 | 
|  欧州 (ロンドン)  |  eu-west-2  | us–east–1 | 
|  欧州 (ミラノ)**\$1\$1**  |  eu-south-1  | eu-west-1 | 
|  欧州 (パリ)  |  eu-west-3  | eu-west-1 | 
|  欧州 (ストックホルム)  |  eu-north-1  | eu-west-1 | 
|  南米 (サンパウロ）  |  sa-east-1  | us–east–1 | 

**注記**  
アスタリスク (**\$1**) でマークされたリージョンでライブ文字起こしを使用するには、最初に、 AWS アカウントでそのリージョンを有効にする必要があります。詳細については、「 AWS 全般のリファレンス」の「[リージョンを有効にする](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)」を参照してください。

各サービスのリージョンとエンドポイントの詳細については、以下を参照してください。
+ [Amazon Chime SDK メディアリージョン](https://docs.aws.amazon.com/chime-sdk/latest/dg/chime-sdk-meetings-regions.html)
+ [Amazon Transcribe エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/transcribe.html#transcribe_region)
+ [Amazon Transcribe Medical エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/transcribe-medical.html)

## ステップ 3: サービスクォータを確認する
<a name="transcribe-quotas"></a>

ライブ文字起こしを使用する Amazon Chime SDK ミーティングごとに、Amazon Transcribe または Amazon Transcribe Medical への HTTP/2 ストリームが 1 つだけ必要です。どちらのサービスにも、同時 HTTP/2 ストリームの数と 1 秒あたりのストリーム開始トランザクション数に対応したリージョン別のサービスクォータがあります。クォータの詳細については、「Amazon Transcribe Developer Guide」の「[Guidelines and quotas](https://docs.aws.amazon.com/transcribe/latest/dg/limits-guidelines.html)」を参照してください。クォータの引き上げについては、 AWS コンソールのService Quotas」を参照してください。

# Amazon Chime SDK ライブ文字起こしの開始と停止
<a name="initiate-transcription"></a>

Amazon Chime SDK の [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_StartMeetingTranscription.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_StartMeetingTranscription.html) API を使用して、`TranscriptionConfiguration` を会議に適用することで会議の文字起こしを開始します。Amazon Chime SDK コントローラは、設定を会議に非同期的に転送します。会議の文字起こしの成否は、Amazon Simple Service (Amazon SNS) と Amazon EventBridge を介したメッセージによって通知されます。

**文字起こしを開始する**  
この例は、Amazon Transcribe でライブ文字起こしを開始する方法を示しています。

```
POST /meetings/meetingId/transcription?operation=start HTTP/1.1 
Content-type: application/json
{
    "TranscriptionConfiguration": {
        "EngineTranscribeSettings": {
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_ResponseSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_ResponseSyntax)": "en-US",  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_ResponseSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_ResponseSyntax)": "tag",
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "profanity",
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "lingo",
            "Region": "us-east-1"
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": true,  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "high",  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "PII",  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "PII",  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "ALL",  
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestSyntax)": "language-model"
        }
    }
}
```

この例は、Amazon Transcribe Medical でライブ文字起こしを開始する方法を示しています。

```
POST /meetings/meetingId/transcription?operation=start HTTP/1.1 
Content-type: application/json
{  
    "TranscriptionConfiguration": {
        "EngineTranscribeMedicalSettings": {
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html)": "en-US",
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html)": "PRIMARYCARE",
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html)": "CONVERSATION",
            "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html)": "lingo",
            "Region": "us-east-1",
           "[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html)": "PHI", 
        }
   }
}
```

`StartMeetingTranscription` – 会議の文字起こしを開始します。  
`meetingId` – [CreateMeeting API](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateMeeting.html#API_CreateMeeting_ResponseSyntax) によって返される会議の ID。  
`TranscriptionConfiguration` – ライブ文字起こしのパラメータをカプセル化します。設定は 1 つだけ (`EngineTranscribeSettings` または `EngineTranscribeMedicalSettings`) 指定する必要があります。

`EngineTranscribeSettings` – Amazon Transcribe の使用を指定し、その設定を [https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestParameters](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html#API_streaming_StartStreamTranscription_RequestParameters) に渡します。  
`LanguageCode` – 必須。  
`VocabularyFilterMethod` - オプション。  
`VocabularyFilterName` - オプション。  
`VocabularyName` - オプション。  
`Region` - オプション。  
`EnablePartialResultsStabilization` - オプション。  
`PartialResultsStability` - オプション。  
` ContentIdentificationType` - オプション。  
`ContentRedactionType` - オプション。  
`PiiEntityTypes ` - オプション。  
`LanguageModelName` - オプション。

`EngineTranscribeMedicalSettings` – Amazon Transcribe Medical の使用を指定し、その設定を [https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html#API_streaming_StartMedicalStreamTranscription_RequestParameters](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html#API_streaming_StartMedicalStreamTranscription_RequestParameters) に渡します。  
`LanguageCode` – 必須。  
`Speciality` – 必須。  
`Type` – 必須。  
`VocabularyName` - オプション。  
`Region` - オプション。  
` ContentIdentificationType` - オプション。

**レスポンス**  
Amazon Transcribe と Amazon Transcribe Medical は、以下のレスポンスを返します。
+ 会議に `TranscriptionConfiguration` が正常に適用された場合、`OK` (200) と空の本文。

**エラーメッセージ**  
Amazon Transcribe と Amazon Transcribe Medical は、以下のエラーメッセージを表示します。
+ **BadRequestException (400):** 入力パラメータがサービスの制限と一致しません。
+ **ForbiddenException (403):** このクライアントはリクエストの実行を永続的に禁止されています。
+ **NotFoundException (404):** `meetingId` は存在しません。
+ **ResourceLimitExceededException (400):** リクエストがリソースの制限を超えています。例えば、ライブ文字起こしが有効になっている会議が多すぎます。
+ **ServiceFailureException (500):** サービス中に予期しないエラーが発生しました。
+ **ServiceUnavailableException (503):** 現在、このサービスは利用できません。
+ **ThrottledClientException (429):** クライアントがリクエストレートの制限を超えました。
+ **UnauthorizedClientException (401):** クライアントは現在、リクエストを行う権限がありません。

`StartMeetingTranscription` の 2 回目の呼び出しにより、会議に適用されている `TranscriptionConfiguration` が更新されます。

**文字起こしの停止**  
[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StopMeetingTranscription.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StopMeetingTranscription.html) API を使用して、特定の `meetingID` の `TranscriptionConfiguration` を削除して、会議の文字起こしを終了します。会議を終了すると、文字起こしは自動的に停止します。

この例は、`StopMeetingTranscription` を呼び出すリクエスト構文を示しています。

```
POST/meetings/meetingId/transcription?operation=stop HTTP/1.1
```

**レスポンス**  
Amazon Transcribe と Amazon Transcribe Medical は、以下のレスポンスを返します。
+ 会議から `TranscriptionConfiguration` が正常に削除された場合、`OK` (200) と空の本文。

**エラーメッセージ**  
Amazon Transcribe と Amazon Transcribe Medical は、以下のエラーメッセージを表示します。
+ **BadRequestException (400):** 入力パラメータがサービスの制限と一致しません。
+ **ForbiddenException (403):** このクライアントはリクエストの実行を永続的に禁止されています。
+ **NotFoundException (404):** `meetingId` は存在しません。
+ **ServiceFailureException (500):** サービス中に予期しないエラーが発生しました。
+ **ServiceUnavailableException (503):** 現在、このサービスは利用できません。
+ **ThrottledClientException (429):** クライアントがリクエストレートの制限を超えました。
+ **UnauthorizedClientException (401):** クライアントは現在、リクエストを行う権限がありません。

## Amazon Chime SDK ライブ文字起こしパラメータ
<a name="transcription-parameters"></a>

Amazon Transcribe および Amazon Transcribe Medical の API には、ストリーミング文字起こしを開始する際に、[https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html) や [https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartMedicalStreamTranscription.html) などのさまざまなパラメータが用意されています。Amazon Chime SDK でパラメータの値が事前に決定されていない限り、これらのパラメータを `StartMeetingTranscription` API で使用できます。例えば、`MediaEncoding` パラメータと `MediaSampleRateHertz` パラメータは、Amazon Chime SDK によって自動的に設定されるため使用できません。

Amazon Transcribe と Amazon Transcribe Medical はパラメータを検証します。これにより、新しいパラメータ値が利用可能になりしだい、すぐにそれらを使用できるようになります。例えば、Amazon Transcribe Medical が新しい言語のサポートを開始した場合、必要なのは、`LanguageCode` パラメータに新しい言語値を指定することだけです。

# Amazon Chime SDK のライブ文字起こしイベントについて
<a name="transcription-events"></a>

Amazon Chime SDK は文字起こしのライフサイクルイベントを送信します。これを使用して通知をトリガーし、ダウンストリームワークフローを開始できます。文字起こしイベントを使用する例としては、以下のようなものがあります。
+ Amazon Chime SDK ミーティングでのライブ文字起こしの採用状況を測定する
+ 言語設定を追跡する

Amazon EventBridge、Amazon Simple Notification Service、Amazon Simple Queue Service にイベントを送信できます。詳細については、*「Amazon EventBridge ユーザーガイド*」の[AWS 「サービスからのイベント](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)」を参照してください。

## Amazon Chime SDK ミーティングの文字起こしが開始されました
<a name="transcript-start"></a>

Amazon Chime SDK は、会議の文字起こしが開始されるか、[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html) が更新されると、このイベントを送信します。

**例: イベントデータ**  
以下はこのイベントのサンプルデータです。

```
{
    "version": "0", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "id": "12345678-1234-1234-1234-111122223333", 
    "region": "us-east-1", 
    "detail-type": "Chime Meeting State Change", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": []
    "detail": {
        "version": "0", 
        "eventType": "chime:TranscriptionStarted",
        "timestamp": 12344566754,
        "meetingId": "87654321-4321-4321-1234-111122223333",
        "externalMeetingId": "mymeeting",
        "mediaRegion": "us-west-1",
        "transcriptionRegion": "us-west-2",
        "[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StartMeetingTranscription.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StartMeetingTranscription.html)": "{...}"
    }
}
```

## Amazon Chime SDK ミーティングの文字起こしが停止されました
<a name="transcript-stop"></a>

Amazon Chime SDK は、会議の文字起こしが停止されると、このイベントを送信します。

**例: イベントデータ**  
以下はこのイベントのサンプルデータです。

```
{
    "version": "0", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "id": "12345678-1234-1234-1234-111122223333", 
    "region": "us-east-1", 
    "detail-type": "Chime Meeting State Change", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": []
    "detail": {
        "version": "0", 
        "eventType": "chime:TranscriptionStopped",
        "timestamp": 12344566754,
        "meetingId": "87654321-4321-4321-1234-111122223333",
        "externalMeetingId": "mymeeting",
        "mediaRegion": "us-west-1",
        "transcriptionRegion": "us-west-2",
        "[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StopMeetingTranscription.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_StopMeetingTranscription.html)": "{...}"
    }
}
```

## Amazon Chime SDK ミーティングの文字起こしが中断されました
<a name="transcript-interrupted"></a>

Amazon Chime SDK は、会議の文字起こしが中断されると、このイベントを送信します。

**例: イベントデータ**  
以下はこのイベントのサンプルデータです。

```
{
    "version": "0", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "id": "12345678-1234-1234-1234-111122223333", 
    "region": "us-east-1", 
    "detail-type": "Chime Meeting State Change", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": []
    "detail": {
        "version": "0", 
        "eventType": "chime:TranscriptionInterrupted",
        "timestamp": 12344566754,
        "meetingId": "87654321-4321-4321-1234-111122223333",
        "externalMeetingId": "mymeeting",
        "message": "Internal server error",
        "mediaRegion": "us-west-1",
        "transcriptionRegion": "us-west-2",
        "[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html)": "{...}"
    }
}
```

## Amazon Chime SDK ミーティングの文字起こしが再開されました
<a name="transcript-resumed"></a>

Amazon Chime SDK は、会議の文字起こしが中断後に再開されると、このイベントを送信します。

**例: イベントデータ**  
以下はこのイベントのサンプルデータです。

```
{
    "version": "0", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "id": "12345678-1234-1234-1234-111122223333", 
    "region": "us-east-1", 
    "detail-type": "Chime Meeting State Change", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": []
    "detail": {
        "version": "0", 
        "eventType": "chime:TranscriptionResumed",
        "timestamp": 12344566754,
        "meetingId": "87654321-4321-4321-1234-111122223333",
        "externalMeetingId": "mymeeting",
        "mediaRegion": "us-west-1",
        "transcriptionRegion": "us-west-2",
        "[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html)": "{...}"
    }
}
```

## Amazon Chime SDK ミーティングの文字起こしが失敗しました
<a name="transcript-failed"></a>

Amazon Chime SDK は、会議の文字起こしが開始に失敗するか、中断後の再開に失敗すると、このイベントを送信します。

**例: イベントデータ**  
以下はこのイベントのサンプルデータです。

```
{
    "version": "0", 
    "source": "aws.chime", 
    "account": "111122223333", 
    "id": "12345678-1234-1234-1234-111122223333", 
    "region": "us-east-1", 
    "detail-type": "Chime Meeting State Change", 
    "time": "yyyy-mm-ddThh:mm:ssZ", 
    "resources": []
    "detail": {
        "version": "0", 
        "eventType": "chime:TranscriptionFailed",
        "timestamp": 12344566754,
        "meetingId": "87654321-4321-4321-1234-111122223333",
        "externalMeetingId": "mymeeting",
        "message": "Internal server error",
        "mediaRegion": "us-west-1",
        "transcriptionRegion": "us-west-2",
        "[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html)": "{...}"
    }
}
```

# Amazon Chime SDK のライブ文字起こしメッセージについて
<a name="process-msgs"></a>

Amazon Chime SDK サービスは、データメッセージで `TranscriptEvent` オブジェクトを送信することにより、文字起こし情報を参加者と共有します。`TranscriptEvent` は `Transcript` または `TranscriptionStatus` を配信します。

`Transcript` には、タイムスタンプとユーザー属性が付いた単語および句読点を含む結果が含まれます。結果が「部分的」なものになることもありますが、その場合は通常、後続の `TranscriptEvent` で更新されます。これにより、文字起こしをすばやく確認することができ、必要に応じて後でインラインで更新を適用することもできます。

`TranscriptStatus` は、次のセクションの例にリストされている `TranscriptionStatusType` イベントのいずれかを配信します。

新しいバージョンの Amazon Chime SDK には、`TranscriptEvent` の一般的な処理に使用する追加のデータ型とヘルパー関数が含まれています。

## TranscriptEvent
<a name="transcript-event"></a>

この例は、典型的な文字起こしイベントを示しています。

```
type TranscriptEvent = Transcript | TranscriptionStatus;

export class TranscriptEventConverter {
  static from(dataMessage: DataMessage): TranscriptEvent[] {
    // convert DataMessage to TranscriptEvents
    return ...
  }
}

export default class TranscriptionStatus {
    type: TranscriptionStatusType;
    eventTimeMs:                   number;
    transcriptionRegion:           string;
    transcriptionConfiguration:    string;
    message?:                      string;
}

enum TranscriptionStatusType {
    STARTED        =    'started',
    INTERRUPTED    =    'interrupted',
    RESUMED        =    'resumed',
    STOPPED        =    'stopped',
    FAILED         =    'failed',
}

export default class Transcript {
    results: TranscriptResult[];    // at least one
}

export class TranscriptResult {
    resultId:        string;
    isPartial:       boolean;
    startTimeMs:     number;
    endTimeMs:       number;
    alternatives:    TranscriptAlternative[];    // most confident first
    }

export default class TranscriptAlternative {
    items: TranscriptItem[];    // in start time order
    transcript: string; //concatenated transcript items
    entities?: TranscriptEntity[];
}

export default class TranscriptItem {
    type:                      TranscriptItemType;
    startTimeMs:               number;
    endTimeMs:                 number;
    attendee:                  Attendee;
    content:                   string;
    vocabularyFilterMatch?:    boolean;
    confidence?:               number;  
    stable?:                   boolean;
}

enum TranscriptItemType {
    PRONUNCIATION    =    'pronunciation',// content is a word
    PUNCTUATION      =    'punctuation',// content is punctuation
}

export default class TranscriptEntity {  
    category:       string;  
    confidence:     number;  
    content:        string;  
    endTimeMs:      number;  
    startTimeMs:    number;  
    type?:          string;
}

// This is an existing SDK model
export default class Attendee {
    attendeeId:        string;
    externalUserId:    string;
}
```

## データのガイドライン
<a name="data-guidelines"></a>

これらのガイドラインに留意しながら作業を進めてください。

1. `transcription.results` には複数の結果が含まれる場合があります。

1. `transcription.results[i].isPartial = true` の場合、結果全体が更新される可能性があります。更新される可能性は高いですが、確実に更新されるわけではありません。更新後も `transcript.result[i].resultId` は同じです。信頼度の低い文字起こしを回避したい場合は、部分的な結果を完全にスキップできます。低レイテンシーの結果が必要な場合は、いったん部分的な結果を表示してから、後で更新が到着したときに完全に上書きすることができます。

1. `transcription.results[i].alternatives` には、常に少なくとも 1 つのエントリが含まれます。複数のエントリが含まれる場合は、最も信頼度の高いエントリがリストの先頭に表示されます。ほとんどの場合、`transcription.results[i].alternatives` の最初のエントリを採用し、その他のエントリは無視できます。

1. `transcription.results[i].alternatives[j].items` には、各単語または句読点のエントリが含まれます。

1. `transcription.results[i].alternatives[j].items[k].` content には、発言内容が含まれます。

1. `transcription.results[i].alternatives[j].items[k].attendee` は、コンテンツのユーザー属性 (誰) です。

1. `transcription.results[i].alternatives[j].items[k].startTimeMs` は、コンテンツの「いつ」です。これにより、異なるユーザーによる発言が、その発言順序に従ってユーザー属性付きで文字起こしされて、単語ごとにレンダリングできるようになります。

1. `transcription.results[i].alternatives[j].items[k].endTimeMs` フィールドは通常は無視して構いませんが、誰がいつ何を言ったかを完全に把握できるように提供されています。

1. `transcription.results[i].alternatives[j].items[k].vocabularyFilterMatch` は、コンテンツがフィルター内の単語と一致した場合は true、それ以外の場合は false です。

1. `transcription.results[i].alternatives[j].items[k].confidence` は、0～1 の値です。これは、項目のコンテンツが発言と正しく一致しているというエンジンの信頼度を示します。0 が最も低い信頼度、1 が最も高い信頼度を示します。

1. `transcription.results[i].alternatives[j].items[k].stable` は、現在の単語が部分的な結果の更新によって将来的に変更されるかどうかを示します。この値が true になるのは、リクエストで `EnablePartialResultsStabilization` を `true` に設定して部分的な結果の安定化機能を有効にした場合だけです。

1. `transcription.results[i].alternatives[j].entities` には、コンテンツ識別またはリダクション機能によって検出された各エンティティのエントリが含まれます。このリストには、コンテンツ識別またはリダクションを有効にした場合にのみ値が入ります。エンティティは、個人情報や個人の健康情報などのデータである可能性があります。エンティティを使用して、文字起こし中に関心のある単語に対して、強調表示したり、アクションを実行したりすることができます。

1. `transcription.results[i].alternatives[j].entities[k].category` はエンティティのカテゴリです。これは、リクエストで提供されたコンテンツ識別またはリダクションのタイプ (「PII」や「PHI」などの) と同じです。

1. `transcription.results[i].alternatives[j].entities[k].confidence` は、特定のコンテンツが本当にエンティティであることに対するエンジンの信頼度を示します。これは、単語そのものの正確さに対するエンジンの信頼度を示す項目レベルの信頼度とは異なることに注意してください。

1. `transcription.results[i].alternatives[j].entities[k].content` は、エンティティを構成する実際のテキストです。これは、複数の項目 (住所など) である場合もあります。

1. `transcription.results[i].alternatives[j].entities[k].startTimeMs` は、当該エンティティの発言が開始された時刻をキャプチャします。

1. `transcription.results[i].alternatives[j].entities[k].endTimeMs` は、当該エンティティの発言が終了した時刻をキャプチャします。

1. `transcription.results[i].alternatives[j].entities[k].type` は、文字起こしエンジンでのみサポートされ、エンティティのサブタイプを提供します。これらは、`ADDRESS`、`CREDIT\$1DEBIT\$1NUMBER` などの値です。

## TranscriptEvents のイベントハンドラーの登録
<a name="register-handler"></a>

以下の例では、JavaScript 用の Amazon Chime SDK クライアントライブラリを使用しています。ただし、パターンはすべての Amazon Chime SDK で一貫しています。

`RealtimeController` および `RealtimeControllerFacade` の `TranscriptionController` には、`TranscriptionEvents` を処理するハンドラーを追加するための特定の関数が含まれています。

```
/** 
 * Returns the [[TranscriptionController]] for this real-time controller. 
 */
readonly transcriptionController?: TranscriptionController;
```

`TranscriptionController` には、`TranscriptionEvent` コールバックのサブスクライブとサブスクライブ解除を管理する 2 つの関数があります。

```
import TranscriptEvent from './TranscriptEvent';

export default interface TranscriptionController {
  /**
   * Subscribe a callback to handle received transcript event
   */
  subscribeToTranscriptEvent(callback: (transcriptEvent: TranscriptEvent) => void): void;

  /** 
   * Unsubscribe a callback from receiving transcript event 
   */
  unsubscribeFromTranscriptEvent(callback: (transcriptEvent: TranscriptEvent) => void): void;
}
```

**オプションの `TranscriptionController` を使用する**  
`TranscriptionController` インターフェイスのデフォルト実装 (`DefaultTranscriptionController` という名前) が用意されています。`DefaultRealtimeController` および `DefaultAudioVideoFacade` のデフォルト実装では、`DefaultTranscriptionController` オブジェクトが返されます。

```
/** 
get transcriptionController(): TranscriptionController {
   return this.realtimeController.transcriptionController;
}
```

`DefaultRealtimeController` では、そのコンストラクターにオプションの `TranscriptionController` オブジェクトを指定することもできます。これにより、`DefaultTranscriptionController` の動作をオーバーライドできます。デベロッパーアプリケーションは、`AudioVideoFacade` オブジェクトの `TranscriptionController` オブジェクトを通じて、1 つ以上のコールバックをサブスクライブまたはサブスクライブ解除します。

```
// Subscribe
this.audioVideo.transcriptionController?.subscribeToTranscriptEvent(this.transcriptEventHandler);

// Unsubscribe
this.audioVideo.transcriptionController?.unsubscribeFromTranscriptEvent(this.transcriptEventHandler););
```

# 受信した Amazon Chime SDK ライブ文字起こしイベントの処理
<a name="delivery-examples"></a>

以下の例は、受け取った `TranscriptEvent` を処理する方法を示しています。

**注記**  
正確な出力は、各個人の話す速度や休止のタイミングなど、いくつかの要因によって異なります。

## 例 1: StartMeetingTranscription
<a name="example-1"></a>

この例は、典型的な `StartMeetingTranscription` オペレーションを示しています。

```
meeting.StartMeetingTranscription(
    { EngineTranscribeSettings: { Languagecode: ‘en-US’ } } );
```

このオペレーションでは `TranscriptEvent` が生成されます。

```
{   
    status: {        
        type: 'started',        
        eventTimeMs: 1620118800000,        
        transcriptionConfig: {                    
            LanguageCode: 'en-US'        
        }    
    }
}
```

## 例 2: 部分的な文字起こしの結果
<a name="example-2"></a>

この例では、参加者は「The quick brown fox jumps over the lazy dog」と発言します。この例では、`isPartial` の値は `true` です。メッセージを詳しく調べると、システムが「fox」という単語を「facts」として処理していることがわかります。システムは同じ `resultId` を使用して文字起こしを更新します。

```
{
    transcript: {
        results: [{
            resultId:"1",                               isPartial: true,
            startTimeMs: 1620118800000,                 endTimeMs: 1620118801000,
            alternatives: [{
                items:[{
                    type:        'pronunciation',
                    startTimeMs: 1620118800000,         endTimeMs: 1620118800200,
                    attendee: { attendeeId: "1",        externalUserId: "A"},
                    content: "the",                     vocabularyFilterMatch: false
                },
                {
                    type:        'pronunciation',
                    startTimeMs: 1620118800200,          endTimeMs: 1620118800400,
                    attendee: { attendeeId: "1",         externalUserId: "A" },
                    content:"quick",                     vocabularyFilterMatch: false
                },
                {
                    type:'pronunciation',
                    startTimeMs: 1620118800400,          endTimeMs: 1620118800750,
                    attendee: { attendeeId: "1",         externalUserId: "A" },
                    content:"brown",                     vocabularyFilterMatch: false
                },
                {
                    type:'pronunciation',
                    startTimeMs: 1620118800750,          endTimeMs: 1620118801000,
                    attendee:{ attendeeId: "1",          externalUserId: "A" },
                    content:"facts",                     vocabularyFilterMatch: false
                },
                {
                    type:'punctuation',
                    startTimeMs: 1620118801000,          endTimeMs: 1620118801500,
                    attendee:{ attendeeId: "1",          externalUserId: "A" },
                    content:    ",",                     vocabularyFilterMatch: false
                }]
            }]
        }]
    }
}
```

## 例 3: 最終的な文字起こしの結果
<a name="example-3"></a>

部分的な文字起こしが発生した場合、システムはフレーズを再度処理します。この例の値では、`isPartial` の値は `false` で、メッセージには「facts」の代わりに「fox」が含まれています。システムは同じ ID を使用してメッセージを再発行します。

```
{
    transcript: {
        results: [{
            resultId:"1",                                isPartial: false,
            startTimeMs: 1620118800000,                  endTimeMs: 1620118801000,
            alternatives: [{
                items:[{
                    type:        'pronunciation',
                    startTimeMs: 1620118800000,          endTimeMs: 1620118800200,
                    attendee: { attendeeId: "1",         externalUserId: "A"},
                    content: "the",                      vocabularyFilterMatch: false
                },
                {
                    type:        'pronunciation',
                    startTimeMs: 1620118800200,          endTimeMs: 1620118800400,
                    attendee: { attendeeId: "1",         externalUserId: "A" },
                    content:"quick",                     vocabularyFilterMatch: false
                },
                {
                    type:'pronunciation',
                    startTimeMs: 1620118800400,          endTimeMs: 1620118800750,
                    attendee: { attendeeId: "1",         externalUserId: "A" },
                    content:"brown",                     vocabularyFilterMatch: false
                },
                {
                    type:'pronunciation',
                    startTimeMs: 1620118800750,          endTimeMs: 1620118801000,
                    attendee: { attendeeId: "1",          externalUserId: "A" },
                    content:"fox",                       vocabularyFilterMatch: false
                },
                {
                    type:'punctuation',
                    startTimeMs: 1620118801000,          endTimeMs: 1620118801500,
                    attendee: { attendeeId: "1",          externalUserId: "A" },
                    content:    ",",                     vocabularyFilterMatch: false
                }]
            }]
        }]
    }
}
```

# Amazon Chime SDK トランスクリプトの解析
<a name="parse-transcripts"></a>

次のコマンドを使用して、文字起こしメッセージから文字起こしの内容を解析します。このコマンドでは transcript-message.txt ファイルから全文を解析します。

```
with open('transcript-message.txt') as f:
        for line in f:
            result_json = json.loads(line)["transcript"]["results"][0]
            if result_json['isPartial'] == False:
                print(result_json["alternatives"][0]["transcript"])
```