Do toque em parar ao resumo pronto: as etapas, as notas e o que pode dar errado.
Tocar em parar encerra a gravação e dá início a todo o resto. O áudio vai para os servidores do Chui, é transcrito e depois resumido. No celular, a gravação já está salva no aparelho antes de tudo isso: se não houver conexão, ela espera e é enviada quando a conexão voltar. Nada se perde por causa de uma rede ruim e não é preciso tocar em nada.
No Mac ou no Windows, uma gravação não se perde se o Chui fechou enquanto ela ainda estava sendo encerrada: na próxima vez que o Chui abrir, ele encontra essa gravação e a envia para a reunião que você começou, com as notas (desde o build 236).
A reunião passa por elas e o app mostra em qual está:
Uma notificação avisa quando o texto e o resumo de uma reunião estão prontos. Ela não traz título nem conteúdo.
O Chui não é um produto de transcrição. A ideia é anotar duas linhas durante a reunião (um nome, um número, o que você prometeu) e deixar o Chui juntá-las com o que foi realmente dito. O resumo é escrito a partir das duas coisas; as linhas digitadas o orientam, em vez de aparecerem nele ao pé da letra. As notas também podem ser escritas ou corrigidas depois da reunião.
list_meetings() dá a lista: id, título, data, duração, status e nada mais. get_meeting() dá o resumo de uma reunião, suas notas, sua duração e quantos falantes foram detectados. Em geral, é o ponto certo para parar. A transcrição é uma leitura separada e bem mais cara: veja Como encontrar o que foi dito.
A reunião em que você está também aparece nessa lista, marcada como in_progress, para que um assistente a quem perguntem “no que estou agora?” consiga responder. Não há transcrição nem resumo até a gravação chegar (o Chui transcreve a reunião depois que ela termina) nem duração final. Por isso, o que volta é há quanto tempo ela está em andamento, quando o Chui ouviu som do aparelho pela última vez e as notas que estão sendo digitadas nela, à medida que são digitadas. Um assistente pode ler essas notas, acrescentar algo a elas e dizer que a reunião não terminou; não deve informá-la como vazia ou com falha, embora seja isso que essas partes que faltam pareçam vistas de fora.
Isso quer dizer “não terminou”, e não “acontecendo agora”, e vale a pena saber a diferença. O Chui só fica sabendo que uma gravação terminou quando o aparelho avisa, e três coisas bem diferentes parecem idênticas vistas do servidor: uma conversa em andamento; uma que parou há um minuto e cujo áudio ainda está sendo enviado; e um celular que morreu no meio da reunião e nunca mais vai dizer nada. Por isso, o assistente é instruído a não afirmar que o microfone está ligado.
Em vez disso, ele recebe um único fato, bem restrito. Enquanto uma reunião está sendo gravada, o celular envia um trecho de som a cada noventa segundos, então o Chui sabe há quanto tempo chegou o trecho mais recente dessa gravação, e nada além disso. Um intervalo longo significa que nenhum áudio novo chegou: a gravação pode estar pausada, o celular pode estar offline ou a reunião pode ter terminado sem que o Chui fosse avisado. Um intervalo curto também não prova que ela está ao vivo, porque um celular que está enviando uma gravação antiga por uma conexão nova parece igualmente recente. O Chui repassa o número em vez de apontar uma causa e, quando não conseguiu verificar nada, não diz nada em vez de chutar.
O Chui dá o título da reunião sozinho, geralmente a partir do convite da agenda ou do que foi dito, então o nome muitas vezes é um palpite. Dá para corrigi-lo no app ou pedindo a um assistente: rename_meeting(). As notas digitadas durante a reunião também podem ser corrigidas por um assistente, e ele pergunta antes, porque o texto novo substitui todas elas de uma vez e as antigas não ficam guardadas em lugar nenhum. prepare_update_meeting() mostra as notas como estão e como ficariam, e nada aconteceu ainda nesse momento; só depois que você diz sim é que update_meeting() as grava, exatamente com o texto que você viu. O assistente deve enviar o texto inteiro com a alteração, senão o resto se perde. Se as notas mudaram nesse meio-tempo (em outro aparelho, por exemplo), nada é gravado e ele precisa perguntar de novo.
O resumo pode ser corrigido do mesmo jeito: um nome errado, um número errado, uma decisão registrada ao contrário. prepare_update_summary() mostra o resumo como está e como ficaria, nada aconteceu ainda nesse momento, e só depois que você diz sim é que update_summary() grava exatamente o texto que você viu, substituindo o resumo inteiro. A transcrição não pode ser editada, nem por um assistente, nem no app: ela é o que foi dito.
Um resumo corrigido à mão vira um resumo comum depois, e nada o protege. Dar nome a um falante, mudar as notas, mesclar ou separar falantes na reunião, renomear uma delas ou pedir um resumo novo faz o Chui reescrever o resumo do zero a partir da transcrição e das notas, e a correção é substituída. Então, quando o erro está em quem estava falando ou no que dizia uma nota, corrija isso: o resumo se ajusta sozinho um ou dois minutos depois.
Um stand-up semanal é uma mesma reunião que se repete, e o Chui sabe quais gravações são ocorrências dela pela série da agenda a que pertencem. Essa série fica guardada na gravação, em vez de ser consultada depois. get_series() dá as ocorrências anteriores de uma reunião, da mais recente para a mais antiga. Assim, “o que combinamos na semana passada?” e “o que ficou em aberto da anterior?” se resolvem com uma chamada e depois um get_meeting(), em vez de uma busca por títulos que podem nem se parecer. Uma reunião gravada sem evento na agenda não pertence a nenhuma série, e a resposta diz isso em vez de voltar vazia.
Uma reunião pode voltar marcada como interrompida (cut short) ou parcial (partial). É o Chui dizendo que a gravação não cobre a conversa inteira: o app foi suspenso, ou a gravação foi reconstruída depois de uma falha e o final dela nunca chegou a ser salvo. Resuma o que existe como um fragmento; não descreva como se fosse a reunião inteira. Uma reunião não tem essa marcação quando nada deu errado, e um arquivo importado nunca tem, porque não há relógio da reunião para comparar.
get_coverage() faz essa pergunta diretamente e responde em uma frase: se a gravação cobre a reunião, qual a duração do arquivo, quanto tempo durou a reunião e que parte dela chegou à gravação. Nada na transcrição mostra isso. Vinte minutos de uma reunião de noventa se leem exatamente como uma reunião inteira de vinte, então vale perguntar antes de dizer a alguém o que foi combinado. A resposta também distingue “ninguém mediu isso” de “está tudo certo”, que não são a mesma coisa.
O resumo são essas notas incorporadas ao que foi dito, então, quando uma das duas coisas muda, o Chui o reescreve sozinho um ou dois minutos depois. Dar nome a um falante ou corrigir uma nota costuma bastar. No app, "Escrever o resumo de novo" (Write the summary again) mostra uma linha discreta enquanto reescreve (desde o build 248). Um assistente pode pedir isso diretamente, e essa é a única coisa que ele pode fazer aqui que custa dinheiro de verdade a cada chamada: uma passada de modelo de linguagem pela reunião inteira e, para uma reunião que nunca foi transcrita, também uma passada de transcrição pelo áudio. Além disso, o resumo que já existe é descartado. Por isso ele pergunta antes: prepare_resummarise_meeting() mostra o resumo que seria descartado e diz qual das duas passadas um sim pagaria, sem gastar nada; só depois que você diz sim é que resummarise_meeting() inicia a passada. Se o Chui já tiver reescrito o resumo sozinho nesse meio-tempo, ele avisa e não paga nada. Uma reunião em que o Chui não ouviu nenhuma palavra não pode ser resumida de novo, e ele avisa isso em vez de pagar para ouvir o silêncio duas vezes.
Se o Chui errou o tipo de gravação, mude. No fim de um resumo, um botão diz que tipo de gravação o Chui achou que era, como um memo, uma entrevista ou uma reunião (desde o build 248). Escolha outro tipo e o resumo é escrito de novo nesse formato, com o antigo esmaecido até o novo chegar; o mesmo botão também pode devolver a escolha ao Chui. Por escrito, passar shape para prepare_resummarise_meeting() escreve o resumo de novo no formato indicado e o mantém para essa reunião; auto devolve a escolha ao Chui.
Uma nota curta, para uma só voz (desde o build 235). Uma gravação com uma só voz, como um pensamento que você fala para si mesmo, pode voltar como uma nota curta: o próprio pensamento, organizado, sem títulos nem nomes de falantes, e marcada com uma lâmpada nas suas reuniões. Desde o build 236, isso vale também para uma gravação longa, de horas, que antes podia ser lida como duas vozes e tratada como reunião.
Um formato seu, ensinado uma vez. Se uma reunião sua tem seus próprios títulos — a revisão semanal é sempre números, riscos, pedidos — diga isso uma vez a um assistente e o Chui passa a escrevê-la assim. Para uma reunião recorrente, ensine com set_series_shape() (a partir de qualquer reunião dela; get_series() lê o formato), para uma etiqueta com summary_shape em update_label() (list_labels() mostra). O Chui continua abrindo com um curto «em resumo» e fechando com os próximos passos e as questões em aberto. O formato da reunião recorrente vale mais que o da etiqueta; duas etiquetas com formatos diferentes deixam a escolha com o Chui. Um formato vazio devolve a escolha ao Chui. Faz parte do plano pago e é pedido em palavras — não há botão no app.
A transcrição volta como speaker_0, speaker_1 … O mecanismo distingue as vozes, mas não sabe o nome delas. Dar nome a uma voz no app, ou por um assistente com name_speaker(), coloca o nome no lugar do rótulo em todo lugar onde essa reunião é lida. Também adiciona a pessoa à lista para que a próxima reunião a sugira e reescreve o resumo com o nome.
Quando você dá nome a uma voz no app, a lista começa com «Eu», com o nome da sua conta ao lado: um toque coloca o seu nome nessa voz exatamente como a sua conta o escreve (desde o build 249).
O reconhecimento de uma voz de uma reunião para outra só acontece para quem ativou o “Reconhecimento da própria voz” (Own-voice recognition) para si (Configurações que dá para mudar pedindo). A voz dessas pessoas já chega com nome nas reuniões delas e nas reuniões da empresa para as quais foram convidadas; qualquer outra voz começa como speaker_0, speaker_1 … e recebe nome à mão. Um nome que o Chui deu a uma voz se muda com um toque, como qualquer outro.
Um nome que o Chui deduziu da conversa e que ninguém confirmou ainda aparece como um nome comum, mas é só um palpite. Tocar nele oferece “Sim, é …” (Yes, this is …), que o torna permanente, e “Não é …” (Not …), que o remove. Por meio de um assistente, get_meeting() lista esses nomes em tentative_speaker_names; dar à voz o mesmo nome o confirma, e prepare_reject_speaker_name() seguido de reject_speaker_name() o remove.
Cada falha diz qual é e o que dá para fazer: o arquivo foi cortado antes de ser salvo; o áudio nunca chegou; o formato não pode ser lido; a transcrição ficou sem tempo (a gravação está segura, tente de novo mais tarde); o resumo não foi escrito, mas a transcrição está lá. A maioria oferece tentar de novo.
Quando um resumo não pode ser escrito por causa de uma falha do lado do Chui, o Chui continua tentando sozinho a cada hora durante cerca de um dia (desde o build 230), então um problema durante a noite não deixa a reunião esperando por "Escrever o resumo de novo" (Write the summary again).
Excluir uma reunião destrói a gravação, a transcrição, o resumo e as notas, em todo lugar onde existam, para sempre. Junto com eles vai tudo o que o Chui tinha aprendido sobre as pessoas da reunião a partir daquela conversa. Qualquer link público para ela deixa de funcionar. O Chui lembra que a reunião foi excluída, então um celular que ainda tenha o áudio o descarta em vez de enviá-lo de novo depois. Nada disso pode ser recuperado.
No app, é Excluir reunião (Delete meeting) no fim da reunião, ou deslizar a linha. Nos dois casos, o Chui pergunta antes, em um painel que mostra o nome da reunião.
Um assistente também pode fazer isso, e pergunta do mesmo jeito: em duas etapas, porque essa é uma das coisas que não dá para desfazer. prepare_delete_meeting() mostra qual é a reunião: como se chama, quando foi, quanto durou, se você digitou notas nela e se alguém de fora do Chui a está lendo por um link. Nada aconteceu ainda nesse momento. Só depois que você diz sim é que delete_meeting() a destrói, e ele não aceita nada além da resposta a essa pergunta. Não há como apontá-lo para uma reunião que não acabou de ser mostrada a você. Um colega que consegue abrir uma reunião que alguém compartilhou com a equipe não pode excluí-la; só quem a gravou pode.
Você parou de gravar no intervalo e começou de novo depois, ou a gravação morreu e o Chui registrou o resto da reunião separadamente. De um jeito ou de outro, uma conversa está na sua lista como duas linhas, com dois resumos e dois conjuntos de falantes.
Peça a um assistente para juntá-las. prepare_merge_meetings() mostra as duas: qual fica, quanto dura cada uma, quanto durou o intervalo entre elas e quanto duraria a gravação unida. Nada aconteceu ainda nesse momento. Só depois que você diz sim é que merge_meetings() faz a junção, e ele não aceita nada além da resposta a essa pergunta.
O que ele faz: as duas gravações são colocadas uma depois da outra, na ordem em que foram feitas, dentro da reunião mais antiga, que mantém seu id e sua data. A reunião mais recente é então excluída. O Chui lê a gravação unida de novo desde o início, e a reunião fica com uma transcrição, um resumo e um conjunto de falantes cobrindo a conversa inteira. Isso leva alguns minutos. As notas digitadas em qualquer uma das reuniões são mantidas, em ordem, e as da segunda metade são deslocadas no tempo.
Nenhum áudio se perde com isso. Cada segundo das duas gravações está dentro da reunião que fica, medido, antes que a outra linha seja tocada. O que não volta são as palavras: os dois resumos e as duas transcrições são substituídos, inclusive as correções feitas à mão em qualquer um deles, e nada traz as duas linhas de volta. Não há como desfazer.
Mais duas coisas que vale saber antes de pedir. Se as duas metades são vistas por pessoas diferentes (uma compartilhada com a sua empresa, outra guardada só para você), a reunião unida pode ser vista por quem podia ver a mais privada das duas. Assim, a junção não mostra a ninguém algo que você guardou para si. E se qualquer uma das metades estava vinculada a um evento da agenda, a reunião unida mantém esse vínculo e continua na sua série.
O Chui se recusa a fazer três coisas, e avisa antes de você decidir, não depois.
Ele não junta duas gravações que não consegue montar honestamente, como duas metades gravadas com configurações diferentes ou uma feita no celular e outra no Mac. Nesse caso, ele prefere não produzir um arquivo que reproduza a reunião de forma errada. Ele também não junta duas linhas que começaram no mesmo instante e duraram o mesmo tempo: é uma conversa que chegou ao Chui duas vezes, não duas metades de uma, e juntá-las faria uma reunião que diz tudo duas vezes. Nesse caso, exclua uma delas.
E ele ainda não consegue juntar nada gravado em uma aba do navegador. Uma gravação feita no navegador escreve seu índice ao longo da gravação, e não em um único lugar no final, e o Chui não tem como juntar duas dessas. As gravações em si estão bem e tocam normalmente; o Chui só não consegue juntá-las. As duas metades de uma reunião que você quer juntar precisam ter sido gravadas no celular, no Mac ou em um PC com Windows.
Em uma conta gratuita, o Chui também se recusa se a reunião que ficaria ainda não foi lida (uma que deu errado, por exemplo) e as dez reuniões do mês já foram usadas. Ler a gravação unida seria a primeira leitura, ela ocuparia uma vaga do mês e as duas metades ficariam bloqueadas de uma vez. Uma conta paga não tem esse limite; com a conta gratuita, dá para juntá-las no mês que vem. Quanto custa uma conta explica os limites da conta gratuita.
Não há botão para isso em lugar nenhum do Chui. É um conserto que você percebe ao ler as duas reuniões, e é ali que faz sentido pedir.
O contrário: você deixou o celular na mesa, ou o notebook aberto, e três conversas foram para uma única gravação. O Chui registrou uma reunião com um único resumo, que fala de todas elas e, portanto, de nenhuma.
Nos builds 238 e 239, uma gravação no celular se dividia sozinha em reuniões separadas a cada silêncio longo, enquanto gravava; desde o build 240, «Nova gravação» no celular volta a fazer uma única gravação que vai até «Parar» (Gravar uma reunião).
O Chui costuma perceber sozinho. Depois de ler uma gravação de meia hora ou mais, o Chui verifica se ela é, na verdade, várias reuniões, principalmente por quem está falando: onde algumas pessoas param de vez e outras começam, ali termina uma reunião. Ele confere cada um desses pontos com o assunto da conversa, a sua agenda e eventuais pausas. Só quando tudo bate é que a tela da reunião mostra um cartão: “Parecem 3 reuniões separadas” (Looks like 3 separate meetings), com cada parte, seu horário, um título e as pessoas nela. Desmarque uma parte para mantê-la junto da vizinha; “Dividir em N” (Split into N) faz o corte, e “É uma reunião só” (It’s one meeting) faz o cartão sumir de vez.
Ou pergunte onde ela se divide. find_split_points() responde com a sugestão do próprio Chui: as mesmas partes que o cartão mostra, com os nomes. Ele também lista os silêncios longos: em que ponto da gravação cada um está, quanto durou, a última coisa dita antes e a primeira dita depois. Ele não muda nada do que você vê. Se você disser que é uma reunião só, keep_as_one_meeting() é o “É uma reunião só” por escrito.
Depois, peça o corte. prepare_split_meeting() lista cada parte que passaria a existir: quando começa, quanto dura e a primeira coisa dita nela. Nada aconteceu ainda nesse momento. Só depois que você diz sim é que split_meeting() faz o corte, e ele não aceita nada além da resposta a essa pergunta.
O que ele faz: o áudio é dividido exatamente onde você indicou, e cada parte vira uma reunião própria. A primeira parte mantém o id desta reunião, sua data, seu título e seu link publicado; as outras são reuniões novas, que começam nos horários em que foram realmente gravadas. Nada é regravado e nada é transcrito de novo. O Chui sabe em que segundo cada palavra foi dita, então as palavras da primeira hora simplesmente ficam com a primeira hora, e os nomes das vozes ficam exatamente como estão. Suas notas vão com a parte durante a qual foram digitadas. Depois, o Chui escreve um resumo novo para cada parte, o que leva menos de um minuto.
Não conta para as dez reuniões por mês da conta gratuita. Nada é enviado para ser transcrito de novo, então não há o que cobrar: se você tinha usado nove reuniões antes do corte, continua com nove depois.
O que você perde é o resumo da gravação inteira, e também o que esse resumo registrou sobre as pessoas nela. O Chui escreve essas informações de novo a partir dos resumos novos. Nenhum áudio e nenhuma palavra se perdem. Não há como desfazer: juntar as partes de novo com merge_meetings() funcionaria, mas isso relê a gravação unida do zero e leva alguns minutos.
O Chui se recusa a cortar, antes de perguntar qualquer coisa, em quatro casos: uma parte que ficaria com menos de dez segundos; uma gravação feita em uma aba do navegador, cujo índice o Chui ainda não consegue cortar; uma reunião que ele ainda está lendo; e uma reunião para a qual ele não tem os tempos de cada palavra. Nesse último caso, ele avisa, e ler a reunião de novo resolve.
Uma reunião que o Chui montou depois que o aparelho que gravava parou de enviar pode ser dividida, ou juntada com outra reunião, na hora (desde o build 247). Se esse aparelho enviar depois o resto da gravação, a parte que o Chui não tinha chega como uma reunião separada.
O único botão para isso está no cartão que o Chui mostra quando suspeita que uma gravação é várias reuniões; um corte em qualquer outro ponto se pede por escrito.