Guia de Usuário

Este guia exemplifica de forma básica as principais operações para realizar a transcrição em arquivos individuais ou em um lote de arquivos. Elas são:

Transcrever arquivos individuais

Exemplifica de forma básica as principais operações para transcrever arquivos individuais. Para maiores detalhes consulte o guia da API REST.

Para realizar a transcrição de arquivos individuais de áudio, deve-se realizar os seguintes passos:

1. Realizar o upload dos arquivos

Os arquivos podem ser transferidos pelo método upload na API REST.

Exemplo:

curl -X POST http://localhost:8080/trd/audiofile/upload \
  -H 'Content-type:multipart/form-data' \
  -F 'files[]=@<path-to-file>/file1.wav' \
  -F 'files[]=@<path-to-file>/file2.wav'

Após utilizar o método upload conforme descrito acima, serão devolvidas, como resultado, a identificações respectivas <audio_id> de cada um dos arquivos. Guarde estas identificações pois serão utilizadas nos próximos passos.

Exemplo:

{"file1.wav":"http://localhost:8080/trd/audiofile/<audio_id1>","file2.wav":"http://localhost:8080/trd/audiofile/<audio_id2>"}

No exemplo de resultado mostrado abaixo as identificações são: a <audio_id> do file1.wav é 5eff59b9dc400aff1ba84bca, e a <audio_id> do file2.wav é 5eff59b9dc400aff1ba84bcd.

Exemplo:

{"file1.wav":"http://localhost:8080/trd/audiofile/5eff59b9dc400aff1ba84bca","file2.wav":"http://localhost:8080/trd/audiofile/5eff59b9dc400aff1ba84bcd"}

2. Iniciar a transcrição do arquivo

Quando a transcrição é iniciada, os arquivos do são colocados em uma fila de trabalho, onde aguardam a execução de todas as etapas do processo, que são:

  • NORMALIZAÇÃO: o arquivo tem seu formato ajustado para o padrão interno. O número de canais de áudio (se mono ou stereo) são identificados e a duração do áudio é contabilizada.
  • DIARIZAÇÃO: cada canal de áudio é segmentado em trechos de fala e associados a um locutor.
  • RECONHECIMENTO: os segmentos de fala são transcritos para texto.

Exemplo:

curl -X GET http://localhost:8080/trd/transcription/start/audiofile/<audio_id>

3. Acompanhar o andamento do processo

Cada arquivo possui um atributo de controle que indica se ele deve ser colocado em uma das várias filas de trabalho que executam o processo de transcrição. O atributo de controle do processo possui os valores:

  • IDLE: o arquivo está ocioso e não está na fila de trabalho
  • RUNNING: o arquivo está na fila de trabalho
  • PAUSED: o arquivo foi colocado em espera. A etapa atual do processo será concluída
  • FINISHED: o arquivo foi finalizado
  • FAILED: ocorreu uma falha em alguma etapa do processo e o arquivo não será processado

Aviso

Em caso de falha, o arquivo deve ser verificado pois pode ter havido alguma incompatibilidade de formato ou falha genérica. O processo pode ser reiniciado após a operação de reset da API.

Quando um arquivo está no estado RUNNING ele será colocado em uma fila de trabalho de acordo com a etapa do processo de transcrição. A etapa em que o arquivo se encontra está definida em um atributo de estado do processo, e pode ter um dos seguintes valores:

  • INITIAL: o arquivo está no estado inicial, após a criação do registro ou reset
  • NORMALIZING: o arquivo está na fila de trabalho de normalização
  • NORMALIZED: o arquivo foi normalizado e a diarização ainda não iniciou
  • DIARIZING: o arquivo está na fila de trabalho de diarização
  • DIARIZED: o arquivo foi diarizado e o reconhecimento ainda não iniciou
  • RECOGNIZING: o arquivo está na fila de trabalho do reconhecimento
  • RECOGNIZED: o arquivo foi reconhecido

Exemplo:

curl -X GET http://localhost:8080/trd/transcription/status/audiofile/<audio_id>

4. Recuperar o resultado da transcrição

Quando o arquivo estiver no estado RECOGNIZED, a transcrição daquele arquivo é considerada finalizada. A partir desse momento, o resultado da transcrição daquele arquivo pode ser consultado com segurança, pois todos os dados estarão completos. O resultado pode ser consultado a qualquer momento, porém pode apresentar resultados parciais.

Exemplo:

curl -X GET http://localhost:8080/trd/transcription/result/audiofile/<audio_id>

Transcrever um lote de arquivos

Exemplifica de forma básica as principais operações para transcrever um lote de arquivos. Para maiores detalhes consulte o guia da API REST.

Para realizar a transcrição de um lote de arquivos de áudio, deve-se realizar os seguintes passos:

1. Realizar o upload dos arquivos

Os arquivos podem ser transferidos pelo método upload na API REST. Defina um nome arbitrário para o lote antes de executar o método. Caso o lote já exista, os arquivos serão adicionados ao lote.

Exemplo:

curl -X POST http://localhost:8080/trd/audiofile/upload \
  -H 'Content-type:multipart/form-data' \
  -F 'batch=<nome_lote>' \
  -F 'files[]=@<path-to-file>/file1.wav' \
  -F 'files[]=@<path-to-file>/file2.wav'

2. Iniciar a transcrição do lote

Quando a transcrição é iniciada, os arquivos do lote são colocados em uma fila de trabalho, onde aguardam a execução de todas as etapas do processo, que são:

  • NORMALIZAÇÃO: o arquivo tem seu formato ajustado para o padrão interno. O número de canais de áudio (se mono ou stereo) são identificados e a duração do áudio é contabilizada.
  • DIARIZAÇÃO: cada canal de áudio é segmentado em trechos de fala e associados a um locutor.
  • RECONHECIMENTO: os segmentos de fala são transcritos para texto.

Exemplo:

curl -X GET http://localhost:8080/trd/transcription/start/batch/<nome_lote>

3. Acompanhar o andamento do processo

Cada arquivo possui um atributo de controle que indica se ele deve ser colocado em uma das várias filas de trabalho que executam o processo de transcrição. O atributo de controle do processo possui os valores:

  • IDLE: o arquivo está ocioso e não está na fila de trabalho
  • RUNNING: o arquivo está na fila de trabalho
  • PAUSED: o arquivo foi colocado em espera. A etapa atual do processo será concluída
  • FINISHED: o arquivo foi finalizado
  • FAILED: ocorreu uma falha em alguma etapa do processo e o arquivo não será processado

Aviso

Em caso de falha, o arquivo deve ser verificado pois pode ter havido alguma incompatibilidade de formato ou falha genérica. O processo pode ser reiniciado após a operação de reset da API.

Quando um arquivo está no estado RUNNING ele será colocado em uma fila de trabalho de acordo com a etapa do processo de transcrição. A etapa em que o arquivo se encontra está definida em um atributo de estado do processo, e pode ter um dos seguintes valores:

  • INITIAL: o arquivo está no estado inicial, após a criação do registro ou reset
  • NORMALIZING: o arquivo está na fila de trabalho de normalização
  • NORMALIZED: o arquivo foi normalizado e a diarização ainda não iniciou
  • DIARIZING: o arquivo está na fila de trabalho de diarização
  • DIARIZED: o arquivo foi diarizado e o reconhecimento ainda não iniciou
  • RECOGNIZING: o arquivo está na fila de trabalho do reconhecimento
  • RECOGNIZED: o arquivo foi reconhecido

Exemplo:

curl -X GET http://localhost:8080/trd/transcription/status/batch/<nome_lote>

4. Recuperar o resultado da transcrição

Quando todos os arquivos estiverem no estado RECOGNIZED, a transcrição é considerada finalizada. A partir desse momento, o resultado da transcrição pode ser consultado com segurança, pois todos os dados estarão completos. Note que esse conceito é relativo pois a qualquer momento novos arquivos podem ser adicionados ao lote. O resultado pode ser consultado a qualquer momento, porém pode apresentar resultados parciais.

Exemplo:

curl -X GET 'http://localhost:8080/trd/transcription/result/batch/<nome_lote>' --output <nome_lote>.zip