Categorias:

Funções de arquivo (funções de AI)

AI_TRANSCRIBE

Transcreve o texto de um arquivo de áudio com carimbos de data/hora e rótulos do palestrante opcionais. AI_TRANSCRIBE oferece suporte a vários idiomas, e o áudio pode conter mais de um idioma. Os carimbos de data/hora e rótulos do palestrante são extraídos com base na granularidade do carimbo de data/hora especificada, conforme mostrado na tabela abaixo.

Granularidade do carimbo de data/hora

Resultado

Padrão

Transcrição de todo o arquivo de áudio em uma só parte

Palavra

Transcrição com carimbos de data/hora para cada palavra

Orador

Indica quem está falar e um carimbo de data/hora, em cada alteração de palestrante

Sintaxe

AI_TRANSCRIBE( <audio_file> [ , <options> ] )
Copy

Argumentos

Obrigatório:

audio_file

Um objeto do tipo FILE representando um arquivo de áudio. Use a função TO_FILE para criar uma referência ao seu arquivo preparado.

Opcional:

options

Um valor OBJECT contendo zero ou mais dos seguintes campos.

  • timestamp_granularity: uma string especificando a granularidade de carimbo de data/hora desejada. Os valores possíveis são:

    • "word": o arquivo é transcrito como uma série de palavras, cada uma com seu próprio carimbo de data/hora.

    • "speaker": o arquivo é transcrito como uma série de “turnos” de conversação, cada um com seu próprio carimbo de data/hora e rótulo de orador.

    Se esse campo não for especificado, todo o arquivo será transcrito como um único segmento sem carimbos de data/hora por padrão.

Retornos

Uma string contendo uma representação JSON do resultado da transcrição. O objeto JSON contém os seguintes campos:

  • "audio_duration": a duração total do arquivo de áudio em segundos.

  • "text": a transcrição do arquivo de áudio completo, fornecida quando o campo timestamp_granularity não é especificado.

  • "segments": uma matriz de segmentos, fornecida quando o campo timestamp_granularity está definido como "word" ou "speaker". Cada segmento é um objeto JSON contendo os seguintes campos:

    • "start": a hora de início do segmento em segundos.

    • "end": a hora final do segmento em segundos.

    • "text": o texto de transcrição para o segmento.

    • "speaker_label": o rótulo do palestrante para o segmento, fornecido quando o campo timestamp_granularity está definido como speaker. Os rótulos são da forma “SPEAKER_00», «SPEAKER_01”, etc. e são atribuídos na ordem que os colunas são detectados no arquivo de áudio.

Requisitos de controle de acesso

Os usuários devem usar uma função que tenha a função do banco de dados SNOWFLAKE.CORTEX_USER. Consulte Privilégios obrigatórios para obter mais informações sobre essa função.

Notas de uso

  • AI_TRANSCRIBE oferece suporte aos seguintes idiomas:

    • Árabe

    • Búlgaro

    • Cantonês

    • Catalão

    • Chinês

    • Tcheco

    • Holandês

    • Inglês

    • Francês

    • Alemão

    • Grego

    • Húngaro

    • Indonésio

    • Italiano

    • Japonês

    • Coreano

    • Letão

    • Polonês

    • Português

    • Romeno

    • Russo

    • Sérvio

    • Esloveno

    • Espanhol

    • Sueco

    • Tailandês

    • Turco

    • Ucraniano

    Os idiomas suportados são detectados automaticamente. Para uma detecção precisa do idioma, o áudio deve começar nos primeiros cinco segundos do arquivo.

  • Os seguintes formatos de áudio são suportados. Fatores como taxa de amostragem, profundidade de bits e número de canais não afetam a transcrição, embora para formatos sem perdas e/ou não comprimidos, esses fatores podem tornar o arquivo grande demais para processar. Internamente, AI_TRANSCRIBE usa áudio monofônico em 16 KHz, e converte arquivos de entrada para esse formato, se necessário.

    • FLAC

    • MP3

    • Ogg

    • WAV

    • WebM

  • O tamanho máximo do arquivo de áudio é 700 MB.

  • A duração máxima do arquivo de áudio é de 60 minutos quando a granularidade do carimbo de data/hora está definida como “palavra” ou “orador”. Se a granularidade do carimbo de data/hora não for usada, a duração máxima é de 120 minutos.

Exemplos

Para exemplos, consulte Exemplos de áudio de AI.

Solução de problemas

Se a função falhar, ela retornará uma resposta de erro. As mensagens de erro comuns incluem:

Mensagem de erro

Situação e solução

Objeto de opções inválidas

A opção fornecida para o campo timestamp_granularity, se fornecido, deve ser «palavra» ou «professor».

Sem resposta do servidor

O arquivo de áudio não pode ser recuperado, talvez por causa de um URL com escopo expirado.

Arquivo grande demais. O tamanho máximo é 734.003.200 bytes, o arquivo excede este limite.

O arquivo de áudio fornecido excede o tamanho máximo de arquivo.

Formato de arquivo inválido. Somente arquivos [“flac”, “mp3”, “ogg”, “wav”, “webm”] são compatíveis, ou o arquivo WebM não contém um fluxo de áudio.

O arquivo de áudio não é um dos formatos suportados, que estão listados na mensagem de erro. Arquivos WebM oferecem suporte a vários tipos de mídia, portanto, certifique-se de que o arquivo contenha um fluxo de áudio. Se o arquivo estiver em um formato suportado, verifique se ele não está corrompido.

O arquivo ficará muito grande após uma nova amostragem para 16.000 Hertz. O tamanho esperado é 3.355.444.448.000,0 bytes.

O arquivo de áudio fornecido é muito grande após a reamostragem para 16 KHz. Se o áudio fornecido tiver uma taxa de amostragem menor, seu tamanho reamostrado será maior do que o original e poderá exceder o tamanho máximo de arquivo permitido.

Duração do áudio muito longa: 6052,10 segundos. Máximo permitido: 3600 segundos. ou Duração do áudio muito longa: 7335,28 segundos Máximo permitido: 7200 segundos.

O arquivo de áudio fornecido é muito longo. Se você estiver usando a granularidade de carimbo de data/hora, a duração máxima é de 60 minutos (3600 segundos).

Linguagem detectada não suportada

O arquivo de áudio contém um idioma não compatível com AI_TRANSCRIBE.

Disponibilidade regional

AI_TRANSCRIBE está disponível nas seguintes regiões:

  • AWS US West 2 (Oregon)

  • AWS US East 1 (N. Virginia)

  • AWS EU Central 1 (Frankfurt)

  • Azure East US 2 (Virginia)

Limitações

As funções do Snowflake Cortex não são compatíveis com tabelas dinâmicas.