

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como usar a transcrição ao vivo do SDK do Amazon Chime
<a name="meeting-transcription"></a>

Você usa a transcrição ao vivo do SDK do Amazon Chime para gerar transcrições ao vivo atribuídas pelo usuário de suas reuniões. A transcrição ao vivo do SDK do Amazon Chime se integra aos serviços Amazon Transcribe e Amazon Transcribe Medical para gerar transcrições das reuniões do SDK do Amazon Chime enquanto elas estão em andamento.

A transcrição ao vivo do SDK do Amazon Chime processa o áudio de cada usuário separadamente para melhorar a precisão em cenários com vários alto-falantes. O SDK do Amazon Chime usa seu algoritmo de locutor ativo para selecionar os dois principais locutores ativos e, em seguida, envia o áudio para o Amazon Transcribe, em canais separados, por meio de um único stream. Os participantes da reunião recebem transcrições atribuídas pelo usuário por meio de mensagens de dados do SDK do Amazon Chime. Você pode usar as transcrições de várias maneiras, como exibir legendas, criar transcrições de reuniões ou usar as transcrições para análise de conteúdo.

A transcrição ao vivo usa um stream para o Amazon Transcribe durante a transcrição da reunião. Aplicam-se os custos-padrão do Amazon Transcribe e do Amazon Transcribe Medical. Para obter mais informações, consulte os [Preços do Amazon Transcribe](https://aws.amazon.com/transcribe/pricing/). Em caso de dúvidas sobre uso ou cobrança, entre em contato com seu gerente de AWS conta.

**Importante**  
[Por padrão, o Amazon Transcribe pode usar e armazenar conteúdo de áudio processado pelo serviço para desenvolver e AWS melhorar os serviços de IA/ML, conforme descrito mais detalhadamente na seção 50 dos Termos de Serviço.AWS](https://aws.amazon.com/service-terms/) O uso do Amazon Transcribe pode estar sujeito às leis ou regulamentações federais e estaduais relacionadas à gravação ou interceptação de comunicações eletrônicas. É responsabilidade sua e de seus usuários finais cumprir todas as leis aplicáveis em relação à gravação, incluindo notificar adequadamente todos os participantes de uma sessão ou comunicação gravada de que a sessão ou comunicação está sendo gravada e obter todos os consentimentos necessários. Você pode optar por não AWS usar conteúdo de áudio para desenvolver e melhorar os serviços de AWS IA/ML configurando uma política de exclusão de serviços de IA usando o Organizations. AWS 

**Topics**
+ [Arquitetura do sistema](#sys-architecture)
+ [Faturamento e uso](#billing-and-usage)
+ [Configurar sua conta para a transcrição ao vivo do SDK do Amazon Chime](configure-transcribe.md)
+ [Escolher as opções de transcrição ao vivo do SDK do Amazon Chime](transcription-options.md)
+ [Iniciar e interromper a transcrição ao vivo do SDK do Amazon Chime](initiate-transcription.md)
+ [Parâmetros de transcrição ao vivo do SDK do Amazon Chime](#transcription-parameters)
+ [Noções básicas sobre os eventos de transcrição ao vivo do SDK do Amazon Chime](transcription-events.md)
+ [Noções básicas sobre os eventos de transcrição ao vivo do SDK do Amazon Chime](process-msgs.md)
+ [Processar um evento de transcrição ao vivo do SDK do Amazon Chime](delivery-examples.md)
+ [Analisar transcrições do SDK do Amazon Chime](parse-transcripts.md)

## Arquitetura do sistema
<a name="sys-architecture"></a>

O SDK do Amazon Chime cria transcrições de reuniões em tempo real, sem que o áudio saia da rede da AWS , por meio de uma integração do lado do serviço com sua conta Amazon Transcribe ou Amazon Transcribe Medical. Para maior precisão, o áudio dos usuários é processado separadamente e depois misturado na reunião. O SDK do Amazon Chime usa seu algoritmo de locutor ativo para selecionar os dois principais locutores ativos e, em seguida, envia o áudio para o Amazon Transcribe ou para o Amazon Transcribe Medical, em canais separados, por meio de um único stream. Para reduzir a latência, as transcrições atribuídas pelo usuário são enviadas diretamente para cada participante da reunião por meio de mensagens de dados. Ao usar um canal de mídia para capturar o áudio da reunião, as informações de transcrição da reunião também são capturadas.

![\[Um diagrama mostrando o fluxo de dados da transcrição da reunião.\]](http://docs.aws.amazon.com/pt_br/chime-sdk/latest/dg/images/transcription-architecture.png)


## Faturamento e uso
<a name="billing-and-usage"></a>

A transcrição ao vivo usa um stream para o Amazon Transcribe ou Amazon Transcribe Medical durante a transcrição da reunião. Aplicam-se os custos-padrão do Amazon Transcribe e do Amazon Transcribe Medical. Para obter mais informações, consulte os [Preços do Amazon Transcribe](https://aws.amazon.com/transcribe/pricing/). Em caso de dúvidas sobre uso ou cobrança, entre em contato com seu gerente de AWS conta.

# Configurar sua conta para a transcrição ao vivo do SDK do Amazon Chime
<a name="configure-transcribe"></a>

Antes de usar a transcrição ao vivo do Amazon Chime SDK, você deve conceder permissão ao Amazon Chime SDK para chamar o Amazon Transcribe e o Amazon Transcribe Medical em sua conta. AWS Você faz isso adicionando a função vinculada ao serviço Chime Transcription à sua conta. Para obter informações sobre a criação da função vinculada ao serviço para transcrição ao vivo, consulte [Uso de funções com transcrição ativa](https://docs.aws.amazon.com/chime-sdk/latest/ag/using-service-linked-roles-transcription.html) no *Guia de administração do SDK do Amazon Chime*. Para obter mais informações sobre funções vinculadas a serviços, consulte [Funções vinculadas a serviços](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) no *Guia do usuário do IAM*.

# Escolher as opções de transcrição ao vivo do SDK do Amazon Chime
<a name="transcription-options"></a>

Ao usar a transcrição ao vivo do SDK do Amazon Chime, você usa o [Amazon Transcribe](https://aws.amazon.com/transcribe/) ou o [Amazon Transcribe Medical](https://aws.amazon.com/transcribe/medical/) em sua conta da AWS . Você tem acesso a todas as [linguagens de streaming suportadas pelo Amazon Transcribe](https://docs.aws.amazon.com/transcribe/latest/dg/what-is-transcribe.html), além de atributos como [vocabulários personalizados](https://docs.aws.amazon.com/transcribe/latest/dg/how-vocabulary.html) e [filtros de vocabulário](https://docs.aws.amazon.com/transcribe/latest/dg/filter-unwanted-words.html). Ao usar o Amazon Transcribe Medical, você pode escolher uma especialidade médica, um tipo de conversação e, opcionalmente, fornecer qualquer vocabulário personalizado. Aplicam-se os custos-padrão do Amazon Transcribe e do Amazon Transcribe Medical.

O processo de escolha das opções de transcrição segue essas etapas. 

## Etapa 1: escolha de um serviço de transcrição
<a name="choose-service"></a>

Você precisa decidir qual serviço de transcrição usar, [Amazon Transcribe](https://aws.amazon.com/transcribe/) ou [Amazon Transcribe Medical](https://aws.amazon.com/transcribe/medical/). 

Se o seu caso de uso exigir recursos médicos de fala para texto, você provavelmente quer usar o Amazon Transcribe Medical. Para todos os outros casos de uso, você provavelmente quer usar o Amazon Transcribe.

Você especifica qual serviço de transcrição usar ao chamar a API `StartMeetingTranscription`:
+ Para usar o Amazon Transcribe, especifique uma `TranscriptionConfiguration` com `EngineTranscribeSettings`. 
+ Para usar o Amazon Transcribe Medical, especifique uma `TranscriptionConfiguration` com `EngineTranscribeMedicalSettings`.

## Etapa 2: escolha de uma região de transcrição
<a name="choose-region"></a>

Você precisa escolher uma AWS região para o serviço de transcrição. [Para obter informações sobre as AWS regiões disponíveis para o Amazon Transcribe e o Amazon Transcribe Medical, consulte a tabela de serviços regionais.AWS](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

 Em geral, a menor latência entre a região de mídia e a região de transcrição de uma reunião oferece a melhor experiência de usuário. Para obter a latência mais baixa, use a mesma região para mídia e transcrição sempre que possível. No entanto, você pode ter outros fatores a considerar ao selecionar uma região, como requisitos regulatórios ou as regiões em que você configurou o Amazon Transcribe ou o Amazon Transcribe Medical.

Os atributos do Amazon Transcribe e do Amazon Transcribe Medical, como vocabulários personalizados ou filtros de vocabulário, são específicos da região. Se você configurar qualquer um desses recursos, deverá fazê-lo de forma idêntica em todas as AWS regiões nas quais pretende usar a transcrição ao vivo. Como alternativa, você pode usar a mesma região do Amazon Transcribe para todas as reuniões.

Você pode especificar a região que o serviço de transcrição usa. Você faz isso adicionando o nome da região ao campo `Region` das configurações do mecanismo de transcrição ao chamar a API `StartMeetingTranscription`. Se você não especificar uma região, o SDK do Amazon Chime tentará usar o serviço de transcrição na região de mídia da reunião. Para que o SDK do Amazon Chime selecione a região do serviço de transcrição para você, especifique `auto` no campo `Region`. Quando você faz isso, o Amazon Chime seleciona a região do serviço de transcrição com base na região de mídia da reunião, conforme descrito nas tabelas abaixo. Para obter mais informações sobre a API `StartMeetingTranscription`, consulte [Iniciar e interromper a transcrição ao vivo do SDK do Amazon Chime](initiate-transcription.md) neste guia.

**nota**  
A região de transcrição selecionada pelo Amazon Chime SDK está sujeita a alterações, pois o AWS Amazon Chime SDK, o Amazon Transcribe e o Amazon Transcribe Medical disponibilizam mais regiões.

**Seleção automática de região do Amazon Transcribe**  



|  Região de mídia do SDK do Amazon Chime  |  Código da região  |  Região da transcrição  | 
| --- | --- | --- | 
|  Leste dos EUA (Ohio)  |  us-east-2  | us-east-2  | 
|  Leste dos EUA (Norte da Virgínia)  |  us-east-1  | us-east-1  | 
|  Oeste dos EUA (Norte da Califórnia)  |  us-west-1  | us-west-2 | 
|  Oeste dos EUA (Oregon)  |  us-west-2  | us-west-2  | 
|  África (Cidade do Cabo)**\$1**  |  af-south-1  | eu-west-2  | 
|  Ásia-Pacífico (Mumbai)  |  ap-south-1  | eu-west-2 | 
|  Ásia-Pacífico (Seul)  |  ap-northeast-2  | ap-northeast-2 | 
|  Ásia-Pacífico (Singapura)  |  ap-southeast-1  | ap-northeast-1 | 
|  Ásia-Pacífico (Sydney)  |  ap-southeast-2  | ap-southeast-2 | 
|  Ásia-Pacífico (Tóquio)  |  ap-northeast-1  | ap-northeast-1 | 
|  Canadá (Central)  |  ca-central-1  | ca-central-1 | 
|  Europa (Frankfurt)   |  eu-central-1  | eu-central-1  | 
|  Europa (Irlanda)  |  eu-west-1  | eu-west-1 | 
|  Europa (Londres)  |  eu-west-2  | eu-west-2  | 
|  Europa (Milão)**\$1**  |  eu-south-1  | eu-central-1  | 
|  Europa (Paris)  |  eu-west-3  | eu-central-1  | 
|  Europa (Estocolmo)  |  eu-north-1  | eu-central-1 | 
|  América do Sul (São Paulo)  |  sa-east-1  | sa-east-1 | 
|  GovCloud (Leste dos EUA)  |  us-gov-east-1  |  us-gov-west-1  | 
|  GovCloud (Oeste dos EUA)  |  us-gov-west-1  |  us-gov-west-1  | 

**Seleção automática de região do Amazon Transcribe Medical**  



|  Região de mídia do SDK do Amazon Chime  |  Código da região  |  Região da transcrição  | 
| --- | --- | --- | 
|  Leste dos EUA (Ohio)  |  us-east-2  | us-east-2 | 
|  Leste dos EUA (Norte da Virgínia)  |  us-east-1  | us-east-1 | 
|  Oeste dos EUA (Norte da Califórnia)  |  us-west-1  | us-west-2 | 
|  Oeste dos EUA (Oregon)  |  us-west-2  | us-west-2 | 
|  África (Cidade do Cabo)**\$1**  |  af-south-1  |  eu-west-1  | 
|  Ásia-Pacífico (Mumbai)  |  ap-south-1  | eu-west-1  | 
|  Ásia-Pacífico (Seul)  |  ap-northeast-2  | us-west-2 | 
|  Ásia-Pacífico (Singapura)  |  ap-southeast-1  | ap-southeast-2 | 
|  Ásia-Pacífico (Sydney)  |  ap-southeast-2  | ap-southeast-2 | 
|  Ásia-Pacífico (Tóquio)  |  ap-northeast-1  | us-west-2 | 
|  Canadá (Central)  |  ca-central-1  | ca-central-1 | 
|  Europa (Frankfurt)   |  eu-central-1  | eu-west-1 | 
|  Europa (Irlanda)  |  eu-west-1  | eu-west-1 | 
|  Europa (Londres)  |  eu-west-2  | us-east-1 | 
|  Europa (Milão)**\$1**  |  eu-south-1  | eu-west-1 | 
|  Europa (Paris)  |  eu-west-3  | eu-west-1 | 
|  Europa (Estocolmo)  |  eu-north-1  | eu-west-1 | 
|  América do Sul (São Paulo)  |  sa-east-1  | us-east-1 | 

**nota**  
Para usar a transcrição ao vivo em regiões marcadas com um asterisco (**\$1**), você deve primeiro ativar a região em sua conta da AWS . Para obter mais informações, consulte [Como habilitar uma região](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) em Referência geral da AWS.

Para informações sobre regiões do e os endpoints para cada serviço, consulte:
+ [Regiões de mídia do SDK do Amazon Chime](https://docs.aws.amazon.com/chime-sdk/latest/dg/chime-sdk-meetings-regions.html)
+ [Endpoints e cotas do Amazon Transcribe](https://docs.aws.amazon.com/general/latest/gr/transcribe.html#transcribe_region)
+ [Endpoints e cotas do Amazon Transcribe Medical](https://docs.aws.amazon.com/general/latest/gr/transcribe-medical.html)

## Etapa 3: revisar as service quotas
<a name="transcribe-quotas"></a>

Cada reunião do SDK do Amazon Chime com transcrição ao vivo requer exatamente um stream HTTP/2 para o Amazon Transcribe ou o Amazon Transcribe Medical. Ambos os serviços têm service quotas regionais para o número de fluxos HTTP/2 simultâneos e para transações iniciais de fluxo por segundo. Para obter mais informações sobre as cotas, consulte [Diretrizes e cotas](https://docs.aws.amazon.com/transcribe/latest/dg/limits-guidelines.html) no *Guia do desenvolvedor do Amazon Transcribe*. Para obter informações sobre aumentos de cotas, consulte Service Quotas no AWS console.

# Iniciar e interromper a transcrição ao vivo do SDK do Amazon Chime
<a name="initiate-transcription"></a>

Use a API [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_StartMeetingTranscription.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_StartMeetingTranscription.html) do SDK do Amazon Chime para iniciar a transcrição da reunião aplicando uma `TranscriptionConfiguration` à reunião. O controlador do SDK do Amazon Chime encaminha a configuração para a reunião de forma assíncrona. O sucesso ou o fracasso de iniciar a transcrição da reunião é sinalizado por meio de uma mensagem via Amazon Simple Notification Service (Amazon SNS) e Amazon. EventBridge

**Como iniciar a transcrição**  
Este exemplo de mostra como iniciar a transcrição ao vivo com o 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"
        }
    }
}
```

Este exemplo de mostra como iniciar a transcrição ao vivo com o 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`: inicia a transcrição da reunião.  
`meetingId`: o ID da reunião, exibido pela [API CreateMeeting](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_CreateMeeting.html#API_CreateMeeting_ResponseSyntax).  
`TranscriptionConfiguration`: encapsula os parâmetros para a transcrição ao vivo. Você deve especificar exatamente uma configuração, `EngineTranscribeSettings` ou `EngineTranscribeMedicalSettings`.

`EngineTranscribeSettings`: especifica o uso do Amazon Transcribe e transmite suas configurações ao [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` – obrigatório.  
`VocabularyFilterMethod`: opcional.  
`VocabularyFilterName`: opcional.  
`VocabularyName`: opcional.  
`Region`: opcional.  
`EnablePartialResultsStabilization`: opcional.  
`PartialResultsStability`: opcional.  
` ContentIdentificationType`: opcional.  
`ContentRedactionType`: opcional.  
`PiiEntityTypes `: opcional.  
`LanguageModelName`: opcional.

`EngineTranscribeMedicalSettings`: especifica o uso do Amazon Transcribe Medical e transmite suas configurações ao [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` – obrigatório.  
`Speciality` – obrigatório.  
`Type` – obrigatório.  
`VocabularyName`: opcional.  
`Region`: opcional.  
` ContentIdentificationType`: opcional.

**Respostas**  
O Amazon Transcribe e o Amazon Transcribe Medical recebem as seguintes respostas:
+ `OK` (200) com corpo vazio, se você aplicar com sucesso o `TranscriptionConfiguration` à reunião.

**Mensagens de erro**  
O Amazon Transcribe e o Amazon Transcribe Medical recebem as seguintes mensagens de erro:
+ **BadRequestException (400):** Os parâmetros de entrada não correspondem às restrições do serviço.
+ **ForbiddenException (403):** O cliente está permanentemente proibido de fazer a solicitação.
+ **NotFoundException (404):** O `meetingId` não existe.
+ **ResourceLimitExceededException (400):** A solicitação excede o limite de recursos. Por exemplo, muitas reuniões têm a transcrição ao vivo ativada.
+ **ServiceFailureException (500):** O serviço encontrou um erro inesperado.
+ **ServiceUnavailableException (503):** O serviço não está disponível no momento.
+ **ThrottledClientException (429):** O cliente excedeu seu limite de taxa de solicitação.
+ **UnauthorizedClientException (401):** O cliente não está atualmente autorizado a fazer a solicitação.

Chamar `StartMeetingTranscription` pela segunda vez atualiza a `TranscriptionConfiguration` aplicada à reunião.

**Como interromper a transcrição**  
Use a API [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) para remover a `TranscriptionConfiguration` para um `meetingID` específico e finalizar a transcrição da reunião. O encerramento de uma reunião interrompe a transcrição automaticamente.

Este exemplo mostra a sintaxe da solicitação que invoca a `StopMeetingTranscription`.

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

**Respostas**  
O Amazon Transcribe e o Amazon Transcribe Medical recebem as seguintes respostas:
+ `OK` (200) com corpo vazio, se você remover com sucesso a `TranscriptionConfiguration` da reunião.

**Mensagens de erro**  
O Amazon Transcribe e o Amazon Transcribe Medical recebem as seguintes mensagens de erro:
+ **BadRequestException (400):** Os parâmetros de entrada não correspondem às restrições do serviço.
+ **ForbiddenException (403):** O cliente está permanentemente proibido de fazer a solicitação.
+ **NotFoundException (404):** O `meetingId` não existe.
+ **ServiceFailureException (500):** O serviço encontrou um erro inesperado.
+ **ServiceUnavailableException (503):** O serviço não está disponível no momento.
+ **ThrottledClientException (429):** O cliente excedeu seu limite de taxa de solicitação.
+ **UnauthorizedClientException (401):** O cliente não está atualmente autorizado a fazer a solicitação.

## Parâmetros de transcrição ao vivo do SDK do Amazon Chime
<a name="transcription-parameters"></a>

O Amazon Transcribe e o Amazon Transcribe APIs Medical oferecem vários parâmetros ao iniciar a transcrição do streaming, como e. [https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/dg/API_streaming_StartStreamTranscription.html) É possível usar esses parâmetros na API `StartMeetingTranscription`, a menos que o SDK do Amazon Chime predetermine o valor do parâmetro. Por exemplo, os parâmetros `MediaEncoding` e `MediaSampleRateHertz` e não estão disponíveis porque o SDK do Amazon Chime os define automaticamente.

O Amazon Transcribe e o Amazon Transcribe Medical validam os parâmetros, o que permite que você use novos valores de parâmetros assim que estiverem disponíveis. Por exemplo, se o Amazon Transcribe Medical lançar o suporte para um novo idioma, você só precisará especificar o valor do novo idioma no parâmetro `LanguageCode`. 

# Noções básicas sobre os eventos de transcrição ao vivo do SDK do Amazon Chime
<a name="transcription-events"></a>

O SDK do Amazon Chime envia eventos do ciclo de vida da transcrição, que você pode usar para acionar notificações e iniciar fluxos de trabalho posteriores. Alguns exemplos de uso dos eventos de transcrição incluem:
+ Como medir a adoção da transcrição ao vivo em reuniões do SDK do Amazon Chime
+ Preferências de idioma de rastreamento

Você pode enviar eventos para a Amazon EventBridge, Amazon Simple Notification Service e Amazon Simple Queue Service. Para obter mais informações, consulte [Eventos de AWS serviços](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) no *Guia do EventBridge usuário da Amazon*.

## A transcrição da reunião do SDK do Amazon Chime foi iniciada
<a name="transcript-start"></a>

O SDK do Amazon Chime envia esse evento quando a transcrição da reunião é iniciada ou quando [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_TranscriptionConfiguration.html) é atualizada. 

**Exemplo: dados do evento**  
A seguir estão dados de exemplo para esse evento.

```
{
    "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)": "{...}"
    }
}
```

## A transcrição da reunião do SDK do Amazon Chime foi paralisada
<a name="transcript-stop"></a>

O SDK do Amazon Chime envia esse evento quando a transcrição da reunião é paralisada.

**Exemplo: dados do evento**  
A seguir estão dados de exemplo para esse evento.

```
{
    "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)": "{...}"
    }
}
```

## A transcrição da reunião do SDK do Amazon Chime foi interrompida
<a name="transcript-interrupted"></a>

O SDK do Amazon Chime envia esse evento se a transcrição da reunião é interrompida.

**Exemplo: dados do evento**  
A seguir estão dados de exemplo para esse evento.

```
{
    "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)": "{...}"
    }
}
```

## A transcrição da reunião do SDK do Amazon Chime foi retomada
<a name="transcript-resumed"></a>

O SDK do Amazon Chime envia esse evento se a transcrição da reunião é retomada após uma interrupção.

**Exemplo: dados do evento**  
A seguir estão dados de exemplo para esse evento.

```
{
    "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)": "{...}"
    }
}
```

## A transcrição da reunião do SDK do Amazon Chime falhou
<a name="transcript-failed"></a>

O SDK do Amazon Chime envia esse evento se a transcrição da reunião falhar ao iniciar ou não for retomada após uma interrupção.

**Exemplo: dados do evento**  
A seguir estão dados de exemplo para esse evento.

```
{
    "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)": "{...}"
    }
}
```

# Noções básicas sobre os eventos de transcrição ao vivo do SDK do Amazon Chime
<a name="process-msgs"></a>

O serviço do SDK do Amazon Chime compartilha informações de transcrição com os participantes enviando objetos `TranscriptEvent` em mensagens de dados. Um `TranscriptEvent` entrega uma `Transcript` ou um `TranscriptionStatus`. 

Uma `Transcript` inclui resultados com registro de data e hora, palavras atribuídas pelo usuário e pontuação. Um resultado pode ser “parcial”; nesse caso, o sistema geralmente o atualiza em um `TranscriptEvent` posterior. Isso permite que você veja as transcrições rapidamente e aplique atualizações em linha posteriormente, conforme necessário.

Um `TranscriptStatus` pode realizar um dos eventos `TranscriptionStatusType`, listados no exemplo na próxima seção.

As versões mais recentes do Amazon SDKs Chime incluem tipos de dados adicionais e funções auxiliares para processamento comum a. `TranscriptEvent`

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

Este exemplo mostra um evento de transcrição típico.

```
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;
}
```

## Diretrizes de dados
<a name="data-guidelines"></a>

Lembre-se dessas diretrizes à medida que avança.

1. `transcription.results` pode apresentar mais de um resultado.

1. Se `transcription.results[i].isPartial = true`, pode haver uma atualização para todo o resultado. A atualização é provável, mas não garantida. A atualização tem o mesmo `transcript.result[i].resultId`. Se você quiser evitar transcrições de baixa confiança, pode ignorar completamente os resultados parciais. Se quiser resultados de baixa latência, você pode exibir resultados parciais e, em seguida, sobrescrever completamente quando a atualização chegar.

1. `transcription.results[i].alternatives` sempre contém pelo menos uma entrada. Se contiver mais de uma entrada, a entrada mais confiável será a primeira na lista. Na maioria dos casos, você pode pegar a primeira entrada em `transcription.results[i].alternatives` e ignorar as outras.

1. `transcription.results[i].alternatives[j].items` inclui uma entrada para cada palavra ou sinal de pontuação.

1. O conteúdo `transcription.results[i].alternatives[j].items[k].` é o que foi falado.

1. `transcription.results[i].alternatives[j].items[k].attendee` é a atribuição do conteúdo pelo usuário (quem).

1. `transcription.results[i].alternatives[j].items[k].startTimeMs` é o "quando" do conteúdo. Isso permite a word-by-word renderização da transcrição atribuída pelo usuário em diferentes usuários na ordem em que as palavras foram faladas.

1. Geralmente, o campo `transcription.results[i].alternatives[j].items[k].endTimeMs` pode ser ignorado, mas é fornecido para determinar quem disse o quê e quando.

1. `transcription.results[i].alternatives[j].items[k].vocabularyFilterMatch` é verdadeiro se o conteúdo corresponder a uma palavra no filtro, caso contrário, é falso.

1. `transcription.results[i].alternatives[j].items[k].confidence` é um valor entre 0 e 1. Isso indica a confiança do mecanismo de que o conteúdo do item corresponde corretamente à palavra falada, com 0 sendo a menor confiança e 1 sendo a maior confiança.

1. `transcription.results[i].alternatives[j].items[k].stable` indica se a palavra atual será alterada em futuras atualizações parciais de resultados. Esse valor só pode ser verdadeiro se você ativar o atributo de estabilização parcial de resultados configurando `EnablePartialResultsStabilization` como `true` em sua solicitação.

1. `transcription.results[i].alternatives[j].entities` inclui uma entrada para cada entidade que os atributos de identificação ou redação de conteúdo detectam. A lista só será preenchida se você ativar a Identificação ou Redação de conteúdo. Uma entidade pode ser dados como informações de identificação pessoal ou informações de saúde. Você pode usar entidades para destacar ou agir sobre palavras de interesse durante a transcrição.

1. `transcription.results[i].alternatives[j].entities[k].category` é a categoria da entidade. É igual ao tipo de identificação ou redação de conteúdo, como "PII" ou "PHI", que é fornecido na solicitação.

1. `transcription.results[i].alternatives[j].entities[k].confidence` mede o quão forte é o mecanismo para que o conteúdo específico seja realmente uma entidade. Observe que isso é diferente da confiança no nível do item, que mede a confiança do mecanismo na exatidão das palavras em si.

1. `transcription.results[i].alternatives[j].entities[k].content` é o texto real que compõe a entidade. Isso pode ser vários itens, como um endereço.

1. `transcription.results[i].alternatives[j].entities[k].startTimeMs` captura a hora em que a entidade começou a ser falada.

1. `transcription.results[i].alternatives[j].entities[k].endTimeMs` captura a hora em que a entidade parou de ser falada.

1. `transcription.results[i].alternatives[j].entities[k].type` só é compatível com o mecanismo de Transcrição e fornece o subtipo da entidade. Esses são valores como `ADDRESS`, `CREDIT\$1DEBIT\$1NUMBER` e assim por diante.

## Registrar manipuladores de eventos para TranscriptEvents
<a name="register-handler"></a>

Os exemplos a seguir usam a biblioteca cliente do Amazon Chime SDK para. JavaScript No entanto, o padrão é consistente em todo o Amazon Chime SDKs.

O `TranscriptionController` no `RealtimeController` e no `RealtimeControllerFacade` inclui funções específicas para adicionar um manipulador que processa `TranscriptionEvents`:

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

O `TranscriptionController` tem duas funções para gerenciar a assinatura e o cancelamento da assinatura de retornos de chamada de `TranscriptionEvent`:

```
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;
}
```

**Como usar o `TranscriptionController` opcional**  
Nós fornecemos uma implementação-padrão da interface `TranscriptionController` chamada `DefaultTranscriptionController`. A implementação-padrão em `DefaultRealtimeController` e `DefaultAudioVideoFacade` retorna um objeto `DefaultTranscriptionController`:

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

O `DefaultRealtimeController` também usa um objeto `TranscriptionController` opcional em seu construtor. Isso permite que você anule o comportamento `DefaultTranscriptionController`. Os aplicativos do desenvolvedor assinam e cancelam a assinatura de um ou mais retornos de chamada por meio do objeto `TranscriptionController` do objeto `AudioVideoFacade`:

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

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

# Processar um evento de transcrição ao vivo do SDK do Amazon Chime
<a name="delivery-examples"></a>

Os exemplos a seguir mostram como processar um `TranscriptEvent` recebido.

**nota**  
O resultado exato depende de vários fatores, incluindo a rapidez com que as pessoas falam e quando fazem uma pausa.

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

Este exemplo mostra uma operação de `StartMeetingTranscription` típica.

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

A operação gera um `TranscriptEvent`.

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

## Exemplo 2: um resultado de transcrição parcial
<a name="example-2"></a>

Neste exemplo, um participante diz: "A rápida raposa marrom pula sobre o cachorro preguiçoso." Observe que neste exemplo, o valor `isPartial` é `true`. Se você examinar mais profundamente a mensagem, verá que o sistema processou a palavra "raposa" como "fatos". O sistema usa o mesmo `resultId` para atualizar a transcrição. 

```
{
    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
                }]
            }]
        }]
    }
}
```

## Exemplo 3: um resultado de transcrição final
<a name="example-3"></a>

No caso de uma transcrição parcial, o sistema processa a frase novamente. Esse exemplo tem um valor `isPartial` de `false`, e a mensagem contém "raposa" em vez de "fatos". O sistema reemite a mensagem usando o mesmo 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
                }]
            }]
        }]
    }
}
```

# Analisar transcrições do SDK do Amazon Chime
<a name="parse-transcripts"></a>

Use o comando a seguir para analisar o conteúdo da transcrição de uma mensagem de transcrição. O comando analisa frases completas dos arquivos 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"])
```