API de controle do processo de transcrição¶
A Transcrição de Diálogos possui uma API REST que permite realizar as operações cadastro e transferência de arquivos de áudio, bem como controlar o processo de transcrição dos arquivos. Esta seção tem como objetivo detalhar essas funções que compõem a API REST do servidor de transcrição.
A API do Transcrição de Diálogos é auto-documentada, e pode ser acessada a partir da seguinte URL http://TRD_HOST:8000/trd/v3/docs, onde TRD_HOST é o IP do servidor de funcionamento d a Transc de Diálogos.
Nota
Caso não tenha acesso a um servidor de transcrição a documentação também pode ser acessada a partir do link
Nota
Para acessar o Transcrição de Diálogos na nuvem é necessário possuir um token de acesso.
API JOB síncrona¶
Aviso
API para desenvolvimento. Não utilize em produção.
Transcrição síncrona de um arquivo, e a duração do arquivo deve ter até 120 segundos. O arquivo é apagado ao final do processo.
Requisição
POST /trd/v3/transcribe
- Query
Tag (opcional)
- Header
Authorization
- Request Body
Arquivo binário
Configuração
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
401 - Não autorizado
403 - Acesso negado
413 - Arquivo de mídia muito longo ou quantidade de minutos excedida.
422 - Erro de validação
429 - Número de solicitações excedida
503 - Servidor ocupado
- Resultado
O resultado é um objeto que denominamos de JOB que possui os seguintes atributos.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
started_at: timestamp do inicio do processo de transcrição
diarized_at: timestamp do final do processo de diarização
completed_at: timestamp do final do processo de transcrição
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
Exemplos
Chamada REST:
curl -X 'POST' \
'http://localhost:8000/trd/v3/transcribe?tag=tag-novo' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: multipart/form-data' \
-F 'upload_file=@nasceu.wav;type=audio/x-wav'
Resultado JSON:
{
"job": {
"id": "6230c7ea39231fb28999286d",
"filename": "nasceu.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:07:54.418000-03:00",
"started_at": "2022-03-15T14:07:55.607000-03:00",
"diarized_at": "2022-03-15T14:07:57.810000-03:00",
"completed_at": "2022-03-15T14:07:58.956000-03:00",
"tag": "tag-novo",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3909.2
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 4.531,
"speech": 3.2590000000000003,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
},
"segments": [
{
"channel": 1,
"speaker": "1",
"start": 0.861,
"end": 4.12,
"status": "RECOGNIZED",
"alternatives": [
{
"text": "a minha filha nasceu hoje ela tem dez anos",
"words": [
{
"text": "a",
"score": 98,
"start_time": 0.000035418154,
"end_time": 0.08985883
},
{
"text": "minha",
"score": 100,
"start_time": 0.08985883,
"end_time": 0.45
},
{
"text": "filha",
"score": 100,
"start_time": 0.45,
"end_time": 0.87
},
{
"text": "nasceu",
"score": 100,
"start_time": 0.87,
"end_time": 1.3199999
},
{
"text": "hoje",
"score": 100,
"start_time": 1.3199999,
"end_time": 1.77
},
{
"text": "ela",
"score": 98,
"start_time": 1.86,
"end_time": 2.1299999
},
{
"text": "tem",
"score": 99,
"start_time": 2.1299999,
"end_time": 2.339976
},
{
"text": "dez",
"score": 100,
"start_time": 2.34,
"end_time": 2.6699998
},
{
"text": "anos",
"score": 100,
"start_time": 2.6699998,
"end_time": 3.12
}
],
"score": 99,
"lm": "builtin:slm/callcenter-small"
}
],
"task_results": {}
}
]
}
API JOB assíncrona¶
Transcrição assíncrona de um arquivo. É criado um processo de transcrição (job) e é iniciado, sendo inserido na fila de processamento.
Requisição
POST /trd/v3/job/create
- Query
Tag (opcional)
- Header
Authorization
- Request Body
Arquivo binário
Configuração (opcional)
callback_urls: (opcional: api webhook)
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
403 - Acesso negado
413 - Arquivo de mídia muito longo ou quantidade de minutos excedida.
422 - Erro de validação
429 - Número de solicitações excedida
503 - Servidor ocupado
- Resultado
O resultado é um objeto que denominamos de JOB que possui os seguintes atributos.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
Exemplos
Chamada REST:
curl -X 'POST' \
'http://localhost:8000/trd/v3/job/create' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: multipart/form-data' \
-F 'upload_file=@nasceu.wav;type=audio/x-wav'
Resultado JSON:
{
"job": {
"id": "6230c8b739231fb289992870",
"filename": "nasceu.wav",
"status": "QUEUED",
"created_at": "2022-03-15T14:11:19.275927-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
API Lista JOB¶
Retorna a lista de todos jobs criados.
Requisição
GET /trd/v3/job
- Query
Tag (opcional): Tag criar um conjunto de arquivos
Page (opcional): Número da pagina iniciando em 1
Limit (opcional, máximo 1000): Limite da página
- Header
Authorization
- Response
200 - Resultado da consulta
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
O resultado é um objeto que denominamos de JOB que possui os seguintes atributos.
page: número da pagina que será retornada
limit: número de item resultantes por pagina
total: número total de jobs
result: lista com todos os jobs
Chamada REST:
curl -X 'GET' \
'http://localhost:8000/trd/v3/job?page=1&limit=100' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"page": 1,
"limit": 100,
"total": 4,
"results": [
{
"job": {
"id": "6230c6d439231fb289992867",
"filename": "single.wav",
"status": "COMPLETED",
"callback_failure_reason": "",
"failure_reason": ""
}
},
{
"job": {
"id": "6230c70c39231fb28999286a",
"filename": "single.wav",
"status": "COMPLETED",
"tag": "tag-novo",
"callback_failure_reason": "",
"failure_reason": ""
}
},
{
"job": {
"id": "6230c7ea39231fb28999286d",
"filename": "nasceu.wav",
"status": "COMPLETED",
"tag": "tag-novo",
"callback_failure_reason": "",
"failure_reason": ""
}
},
{
"job": {
"id": "6230c8b739231fb289992870",
"filename": "nasceu.wav",
"status": "COMPLETED",
"callback_failure_reason": "",
"failure_reason": ""
}
}
]
}
API Status JOB¶
Retorna o status do processo de transcrição.
Requisição
GET /trd/v3/job/status/<id>
- Header
Authorization
- Path
id: identificador do processo
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
O resultado é um objeto que denominamos de JOB que possui os seguintes atributos.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
started_at: timestamp do inicio do processo de transcrição
diarized_at: timestamp do final do processo de diarização
completed_at: timestamp do final do processo de transcrição
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
Exemplos
Chamada REST:
curl -X 'GET' \
'http://localhost:8000/trd/v3/job/status/6230c8b739231fb289992870' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"job": {
"id": "6230c8b739231fb289992870",
"filename": "nasceu.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:11:19.275000-03:00",
"started_at": "2022-03-15T14:11:19.520000-03:00",
"diarized_at": "2022-03-15T14:11:20.768000-03:00",
"completed_at": "2022-03-15T14:11:21.606000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3909.2
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 4.531,
"speech": 3.2590000000000003,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
API Resultado JOB¶
Obtém o resultado da transcrição de um arquivo finalizado.
Requisição
GET /trd/v3/job/result/<id>
- Query
format (csv opcional)
- Header
Authorization
- Path
id: identificador do processo
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
Retorna um JSON ou um CSV com a transcrição do arquivo.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
started_at: timestamp do inicio do processo de transcrição
diarized_at: timestamp do final do processo de diarização
completed_at: timestamp do final do processo de transcrição
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
segments: lista com os trechos da transcriação
Chamada REST com resultado em json:
curl -X 'GET' \
'http://localhost:8000/trd/v3/job/result/6230c8b739231fb289992870' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Chamada REST com resultado em csv:
curl -X 'GET' \
'http://localhost:8000/trd/v3/job/result/6230c8b739231fb289992870?format=csv' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"job": {
"id": "6230c8b739231fb289992870",
"filename": "nasceu.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:11:19.275000-03:00",
"started_at": "2022-03-15T14:11:19.520000-03:00",
"diarized_at": "2022-03-15T14:11:20.768000-03:00",
"completed_at": "2022-03-15T14:11:21.606000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3909.2
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 4.531,
"speech": 3.2590000000000003,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
},
"segments": [
{
"channel": 1,
"speaker": "1",
"start": 0.861,
"end": 4.12,
"status": "RECOGNIZED",
"alternatives": [
{
"text": "a minha filha nasceu hoje ela tem dez anos",
"words": [
{
"text": "a",
"score": 98,
"start_time": 0.00003584186,
"end_time": 0.0898649
},
{
"text": "minha",
"score": 100,
"start_time": 0.0898649,
"end_time": 0.45
},
{
"text": "filha",
"score": 100,
"start_time": 0.45,
"end_time": 0.87
},
{
"text": "nasceu",
"score": 100,
"start_time": 0.87,
"end_time": 1.3199999
},
{
"text": "hoje",
"score": 100,
"start_time": 1.3199999,
"end_time": 1.77
},
{
"text": "ela",
"score": 98,
"start_time": 1.86,
"end_time": 2.1299999
},
{
"text": "tem",
"score": 99,
"start_time": 2.1299999,
"end_time": 2.3399758
},
{
"text": "dez",
"score": 100,
"start_time": 2.34,
"end_time": 2.6699998
},
{
"text": "anos",
"score": 100,
"start_time": 2.6699998,
"end_time": 3.12
}
],
"score": 99,
"lm": "builtin:slm/callcenter-small"
}
],
"task_results": {}
}
]
}
API Parar JOB¶
Interrompe o processo de transcrição.
Nota
Só é possivel interromper um job com o status em QUEUED ou IN_PROGRESS.
Requisição
POST /trd/v3/job/stop/<id>
- Header
Authorization
- Path
id: identificador do processo
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
Retorna o objeto JOB com o formato JSON com o status do arquivo atualizado.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
started_at: timestamp do inicio do processo de transcrição
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
Chamada REST:
curl -X POST 'http://localhost:8000/trd/v3/job/stop/6230cb8a39231fb289992a13' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"job": {
"id": "6230cb8a39231fb289992a13",
"filename": "teste1.wav",
"status": "STOPPED",
"created_at": "2022-03-15T14:23:22.866000-03:00",
"completed_at": "2022-03-15T14:23:38.357000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "c6e28a049070b13e2cd95b2b2f8dc005",
"size": 108779400
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
API Retornar JOB¶
Inicia um novo processo de transcrição para um arquivo cujo processo foi interrompido ou falhou.
Nota
Só é possivel reprocessar um job que falhou FAILED ou foi interrompido STOPPED.
Requisição
POST /trd/v3/job/retry/<id>
- Header
Authorization
- Path
id: identificador do processo
- Response
200 - Resultado da transcrição
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
Retorna o objeto JOB com um novo id.
id: identificador único do processo de transcrição
filename: nome do arquivo
status: estado do processo de transcrição
create_at: timestamp do momento de upload do arquivo
tag: identificador opcional do arquivo
callback_urls: endereços para o webhook
media: objeto que reuni informações de media do arquivo transcrito, como seu tamanho, numero de canais e formato
config: objeto que reuni informações de configuração, dos processo de diarização e reconhecimento
Chamada REST:
curl -X 'POST' \
'http://localhost:8000/trd/v3/job/retry/6230cb8a39231fb289992a13' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"job": {
"id": "6230cbcc39231fb289992a14",
"filename": "teste1.wav",
"status": "QUEUED",
"created_at": "2022-03-15T14:24:28.724841-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "c6e28a049070b13e2cd95b2b2f8dc005",
"size": 108779400
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
API Remover JOB¶
Apaga um processo que foi interrompido, falhou ou terminou.
Requisição
DELETE /trd/v3/job/<id>
- Header
Authorization
- Path
id: identificador do processo
- Response
200 - JOB removido
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
Chamada REST:
curl -X 'DELETE' \
'http://localhost:8000/trd/v3/job/6230cb8a39231fb289992a13' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"job": {
"id": "6230cb8a39231fb289992a13",
"filename": "teste1.wav",
"status": "DELETED",
"created_at": "2022-03-15T14:23:22.866000-03:00",
"completed_at": "2022-03-15T14:23:38.357000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "c6e28a049070b13e2cd95b2b2f8dc005",
"size": 108779400
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
API Consulta¶
Permite recuperar os registros dos Jobs, utilizando campos do registro como filtros. É possível também definir quais campos devem ser recuperados, através do recurso de projeção.
Requisição
GET /trd/v3/query/job?result=<result>&tag=<tag>&filename=<filename>&status=<status>&start_date=<start>&end_date=<end>&page=<page>&limit=<limit>
- Header
Authorization
- Path
result (opcional)
tag (opcional)
filename (opcional)
status (opcional)
start_date (opcional)
end_date (opcional)
page (opcional)
limit (opcional)
- Response
200 - Resultado da consulta
400 - Solicitação inválida
403 - Acesso negado
404 - Não encontrado
422 - Erro de validação
- Resultado
O resultado é um objeto que denominamos de JOB que possue os seguintes atributos.
page: numero da pagina que será retornada
limit: numero de item resultantes por pagina
total: numero total de jobs que se adequam a consulta
result: lista com todos os jobs
Chamada REST:
curl -X 'GET' \
'http://localhost:8000/trd/v3/query/job?result=false&status=COMPLETED&start_date=2022-03-13T00%3A00%3A00.000%2B00%3A00&end_date=2022-03-16T00%3A00%3A00.000%2B00%3A00&page=1&limit=100' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <token>'
Resultado JSON:
{
"page": 1,
"limit": 100,
"total": 4,
"results": [
{
"job": {
"id": "6230c6d439231fb289992867",
"filename": "single.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:03:16.697000-03:00",
"started_at": "2022-03-15T14:03:18.875000-03:00",
"diarized_at": "2022-03-15T14:03:23.853000-03:00",
"completed_at": "2022-03-15T14:03:25.230000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "a79984a2cf53d24abbd147f98a63cc67",
"size": 36784,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3855.412095639944
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 2.296,
"speech": 1.091,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
},
{
"job": {
"id": "6230c70c39231fb28999286a",
"filename": "single.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:04:12.563000-03:00",
"started_at": "2022-03-15T14:04:12.829000-03:00",
"diarized_at": "2022-03-15T14:04:13.933000-03:00",
"completed_at": "2022-03-15T14:04:14.545000-03:00",
"tag": "tag-novo",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "a79984a2cf53d24abbd147f98a63cc67",
"size": 36784,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3855.412095639944
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 2.296,
"speech": 1.091,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
},
{
"job": {
"id": "6230c7ea39231fb28999286d",
"filename": "nasceu.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:07:54.418000-03:00",
"started_at": "2022-03-15T14:07:55.607000-03:00",
"diarized_at": "2022-03-15T14:07:57.810000-03:00",
"completed_at": "2022-03-15T14:07:58.956000-03:00",
"tag": "tag-novo",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3909.2
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 4.531,
"speech": 3.2590000000000003,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
},
{
"job": {
"id": "6230c8b739231fb289992870",
"filename": "nasceu.wav",
"status": "COMPLETED",
"created_at": "2022-03-15T14:11:19.275000-03:00",
"started_at": "2022-03-15T14:11:19.520000-03:00",
"diarized_at": "2022-03-15T14:11:20.768000-03:00",
"completed_at": "2022-03-15T14:11:21.606000-03:00",
"callback_urls": [],
"callback_failure_reason": "",
"failure_reason": "",
"media": {
"md5": "18eef3c06a975dc8cd1adad4ae662824",
"size": 72544,
"input": {
"sample_rate": 8000,
"channels": 1,
"bit_rate": 128000,
"format": "Wave",
"codec": "PCM",
"bandwidth": 3909.2
},
"output": {
"redundant_channel": false,
"channels": [
{
"channel": 1,
"duration": 4.531,
"speech": 3.2590000000000003,
"silence": false
}
]
}
},
"config": {
"priority": 50,
"normalization": {},
"diarization": {
"vad": {
"chunk_max_silence": 1200,
"chunk_max_length": 3600,
"dual_tone": {
"enabled": false,
"row_freq": [
350,
697,
770,
852,
941
],
"col_freq": [
440,
1209,
1336,
1477,
1633
],
"start_time": 0,
"stop_time": 5,
"min_duration": 0.012
}
},
"clustering": {
"threshold": -0.4,
"enabled": true
},
"descriptor": {
"enabled": false
}
},
"recognition": {
"lm": "builtin:slm/callcenter-small",
"textify": {
"enabled": false
},
"hints_words": [],
"decoder": {
"max_sentences": 1,
"word_details": 1
},
"tasks": []
}
}
}
}
]
}