Localizar arquivos de áudio para transcrição em lote

A transcrição em lote é usada para transcrever um grande volume de dados de áudio no armazenamento. A transcrição em lote pode acessar arquivos de áudio de dentro ou fora do Azure.

Quando arquivos de áudio de origem são armazenados fora do Azure, eles podem ser acessados por meio de um URI público (como "https://crbn.us/hello.wav"). Os arquivos devem estar diretamente acessíveis; não há suporte para URIs que exigem autenticação ou que invocam scripts interativos para o arquivo ser acessado.

Arquivos de áudio armazenados no Armazenamento de Blobs do Azure podem ser acessados por meio destes dois métodos:

Você pode especificar um ou vários arquivos de áudio ao criar uma transcrição. Recomendamos que você forneça vários arquivos por solicitação ou aponte para um contêiner de armazenamento de Blobs do Azure com os arquivos de áudio a serem transcritos. O serviço de transcrição em lote pode lidar com um grande número de transcrições enviadas. O serviço transcreve os arquivos simultaneamente, o que reduz o tempo de retorno.

Formatos de áudio e codecs com suporte

A API de transcrição em lote é compatível com muitos formatos e codecs diferentes, como:

  • WAV
  • MP3
  • OPUS/OGG
  • FLAC
  • WMA
  • AAC
  • ALAW no contêiner WAV
  • MULAW no contêiner WAV
  • AMR
  • WebM
  • M4A
  • SPEEX

Observação

O serviço de transcrição em lote integra o GStreamer e pode aceitar mais formatos e codecs sem retornar erros, enquanto sugerimos usar formatos sem perdas, como WAV (codificação de PCM) e FLAC para garantir a melhor qualidade de transcrição.

Upload do Armazenamento de Blobs do Azure

Quando os arquivos de áudio estão localizados em uma conta de Armazenamento de Blobs do Azure, você pode solicitar a transcrição de arquivos de áudio individuais ou de todo um contêiner de Armazenamento de Blobs do Azure. Você também pode gravar resultados de transcrição em um contêiner de Blob.

Observação

Para limites de blob e contêiner, confira cotas e limites de transcrição em lote.

Siga estas etapas para criar uma conta de armazenamento e carregar arquivos wav do diretório local para um novo contêiner.

  1. Vá para o portal do Azure e entre em sua conta do Azure.
  2. Crie um recurso de conta de armazenamento no portal do Azure. Use a mesma assinatura e grupo de recursos que seu recurso de Fala.
  3. Selecione a conta de armazenamento.
  4. No grupo Armazenamento de dados no painel esquerdo, selecione Contêineres.
  5. Selecionar + Contêiner.
  6. Insira um nome para o novo contêiner e selecione Criar.
  7. Selecione o novo contêiner.
  8. Escolha Carregar.
  9. Escolha os arquivos a serem carregados e selecione Carregar.

Mecanismo de segurança de serviços confiáveis do Azure

Esta seção explica como configurar e limitar o acesso aos arquivos de áudio de origem da transcrição em lote em uma conta de Armazenamento do Azure usando o mecanismo de segurança confiável dos serviços do Azure.

Observação

Com o mecanismo de segurança confiável dos serviços do Azure, você precisa usar o Armazenamento de Blobs do Azure para armazenar arquivos de áudio. Não há suporte para o uso de Arquivos do Azure.

Se todas as ações desta seção forem executadas, a Conta de armazenamento será configurada da seguinte forma:

Portanto, na verdade, sua conta de Armazenamento fica completamente "bloqueada" e não pode ser usada em nenhum cenário além de transcrever arquivos de áudio que já estavam presentes no momento em que a nova configuração foi aplicada. Você deve considerar essa configuração como um modelo no que diz respeito à segurança dos dados de áudio e personalizá-la de acordo com suas necessidades.

Por exemplo, é possível permitir o tráfego de IPs selecionados e Redes virtuais do Azure. Você também pode configurar o acesso à sua conta de armazenamento usando pontos de extremidade privados (consulte também este tutorial), reativar o acesso usando a chave da conta de armazenamento, permitir o acesso a outros serviços confiáveis do Azure, etc.

Observação

O uso de pontos de extremidade privados para Fala não é necessário para proteger a conta de armazenamento. Você pode usar um ponto de extremidade privado para solicitações de API de transcrição em lote, ao mesmo tempo em que acessa separadamente os arquivos de áudio de origem de uma conta de armazenamento segura, ou vice-versa.

Seguindo as etapas abaixo, você poderá restringir severamente o acesso à conta de armazenamento. Em seguida, você atribui as permissões mínimas necessárias para que a identidade gerenciada por recursos de Fala acesse a Conta de armazenamento.

Habilitar a identidade gerenciada atribuída pelo sistema para o recurso de Fala

Siga estas etapas para habilitar a identidade gerenciada atribuída pelo sistema para o recurso de Fala que você usará para transcrição em lote.

  1. Vá para o portal do Azure e entre em sua conta do Azure.

  2. Selecione o recurso de Fala.

  3. No grupo Gerenciamento de Recursos no painel esquerdo, selecione Identidade.

  4. Na guia Atribuída ao Sistema, selecione Ativado para o status.

    Importante

    A identidade gerenciada atribuída pelo usuário não atenderá aos requisitos para o cenário da conta de armazenamento de transcrição em lote. Habilite a identidade gerenciada atribuída pelo sistema.

  5. Selecione Salvar

Agora, a identidade gerenciada do recurso de Fala pode ter acesso à sua conta de armazenamento.

Restringir o acesso à conta de armazenamento

Siga estas etapas para restringir o acesso à conta de armazenamento.

Importante

Carregue arquivos de áudio em um contêiner de Blob antes de bloquear o acesso à conta de armazenamento.

  1. Vá para o portal do Azure e entre em sua conta do Azure.
  2. Selecione a conta de armazenamento.
  3. No grupo Configurações no painel esquerdo, selecione Configuração.
  4. Selecione Desabilitado para Permitir o acesso público do Blob.
  5. Selecionar Desabilitado para Permitir acesso à chave de conta de armazenamento
  6. Clique em Salvar.

Para obter mais informações, confira Impedir o acesso de leitura pública anônimo a contêineres e blobs e Impedir a autorização de chave compartilhada para uma conta de Armazenamento do Azure.

Configurar o Firewall do Armazenamento do Azure

Tendo acesso restrito à conta de Armazenamento, você precisa permitir acesso a identidades gerenciadas específicas. Siga estas etapas para adicionar acesso ao recurso de Fala.

  1. Vá para o portal do Azure e entre em sua conta do Azure.

  2. Selecione a conta de armazenamento.

  3. No grupo Segurança + sistema de rede no painel esquerdo, selecione Sistema de Rede.

  4. Na guia Firewalls e redes virtuais, selecione Habilitado entre redes virtuais selecionadas e endereços IP.

  5. Desmarque todas as caixas de seleção.

  6. Verifique se o Roteamento de rede da Microsoft está selecionado.

  7. Na seção Instâncias de Recurso, selecione Microsoft.CognitiveServices/accounts como o tipo de recurso e selecione o recurso de Fala como o nome da instância.

  8. Clique em Salvar.

    Observação

    Pode levar até 5 minutos para propagar as alterações de rede.

Embora até agora o acesso à rede seja permitido, o recurso de Fala ainda não pode acessar os dados na conta de Armazenamento. Você precisa atribuir uma função de acesso específica para a identidade gerenciada do recurso de Fala.

Atribuir função de acesso a recursos

Siga estas etapas para atribuir a função Leitor de Dados do Blob de Armazenamento à identidade gerenciada do recurso de Fala.

Importante

Você precisa receber a função Proprietário da conta de Armazenamento ou escopo superior (como Assinatura) para executar a operação nas próximas etapas. Isso ocorre porque somente a função Proprietário pode atribuir funções a outras pessoas. Veja os detalhes aqui.

  1. Vá para o portal do Azure e entre em sua conta do Azure.

  2. Selecione a conta de armazenamento.

  3. Selecione Controle de Acesso menu (IAM) no painel esquerdo.

  4. Selecione Adicionar atribuições de função no bloco Permitir acesso a esse recurso.

  5. Selecione Leitor de Dados do Blob de Armazenamento em Função e selecione Avançar.

  6. Selecione Identidade Gerenciada em Membros>Atribuir acesso a.

  7. Atribua a identidade gerenciada do recurso de Fala e então selecione Examinar + atribuir.

    Screenshot of the managed role assignment review.

  8. Depois de confirmar as configurações, selecione Examinar + atribuir

Agora, a identidade gerenciada do recurso de Fala tem acesso à conta de Armazenamento e pode acessar os arquivos de áudio para transcrição em lote.

Com a identidade gerenciada atribuída pelo sistema, você usa um URL de conta de armazenamento simples (sem SAS ou outras adições) na solicitação para criar uma transcrição em lote. Por exemplo:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>"
}

Caso contrário, você poderia especificar arquivos individuais no contêiner. Por exemplo:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>"
    ]
}

URL de SAS para transcrição em lote

Uma SAS (Assinatura de Acesso Compartilhado) é um URI que concede acesso restrito a um contêiner do Armazenamento do Azure. Use-a quando quiser permitir acesso aos arquivos de transcrição em lote para um intervalo de tempo específico sem compartilhar a chave de conta de armazenamento.

Dica

Se o contêiner com arquivos de origem de transcrição em lote só deve ser acessado pelo recurso de Fala, use o mecanismo de segurança confiável dos serviços do Azure.

Siga estas etapas para gerar uma URL de SAS que você pode usar para transcrições em lote.

  1. Conclua as etapas em Upload do Armazenamento de Blobs do Azure para criar uma conta de Armazenamento e carregar arquivos de áudio em um novo contêiner.

  2. Selecione o novo contêiner.

  3. No grupo de Configurações no painel esquerdo, selecione Tokens de acesso compartilhado.

  4. Selecionar + Contêiner.

  5. Selecione Ler e Listar para Permissões.

    Screenshot of the container SAS URI permissions.

  6. Insira os horários de início e expiração para o URI de SAS ou deixe os padrões.

  7. Selecione Gerar token SAS e URL.

Você usa a URL de SAS na solicitação para criar uma transcrição em lote. Por exemplo:

{
    "contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>?SAS_TOKEN"
}

Caso contrário, você poderia especificar arquivos individuais no contêiner. Você deve gerar e usar uma URL de SAS diferente com permissões de leitura (r) para cada arquivo. Por exemplo:

{
    "contentUrls": [
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>?SAS_TOKEN_1",
        "https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>?SAS_TOKEN_2"
    ]
}

Próximas etapas