Gravar áudio, transcrever com Groq e processar com IA no Android
Uma gravação preserva o que foi dito, mas nem sempre transforma a conversa em informação fácil de consultar. Para recuperar uma decisão ou uma tarefa, pode ser necessário voltar a ouvir vários minutos. AssistRecorder organiza um fluxo diferente no Android: grava o áudio, permite prepará-lo, solicita uma transcrição à Groq e envia o texto com um prompt para uma aplicação de inteligência artificial escolhida pelo utilizador.
Cada etapa permanece identificável. O AssistRecorder não inclui um chat próprio com um modelo de linguagem. Em vez disso, utiliza a ação ACTION_SEND do Android para abrir a partilha com clientes compatíveis, como ChatGPT, Claude ou Gemini. A resposta criada nessa aplicação externa pode ser copiada, colada novamente no AssistRecorder, guardada localmente e lida em formato Markdown.
De uma gravação a conteúdo utilizável
O texto pode ser corrigido, receber um título editado e ser associado a uma instrução antes do processamento. Os modelos de prompt ajudam a convertê-lo num resumo, numa ata ou numa lista de tarefas. A transmissão não ocorre indiscriminadamente: o áudio só é enviado para a Groq ao iniciar a transcrição, e prompt e texto apenas saem quando a partilha é ativada. Estes elementos e qualquer resposta de IA colada ficam guardados localmente.
Fluxo de trabalho habitual
Um processo completo pode decorrer da seguinte forma:
- Iniciar a gravação na aplicação, no widget ou através do gesto ou botão do assistente previamente configurado.
- Parar a gravação pelo acesso mais conveniente.
- Ouvir o ficheiro e utilizar os saltos de 15 segundos ou 1 minuto para localizar um ponto.
- Cortar sem perdas as partes desnecessárias do M4A.
- Iniciar a transcrição com a Groq e rever o texto e o título editáveis.
- Selecionar e adaptar um modelo de prompt, partilhando-o com a transcrição para o cliente de IA pretendido.
- Copiar o resultado externo e colá-lo no AssistRecorder para o guardar localmente e consultar como Markdown.
O áudio não tem obrigatoriamente de nascer nesta sequência. O AssistRecorder também importa gravações, permitindo reproduzi-las, prepará-las e integrá-las no mesmo fluxo. Os ficheiros podem depois ser exportados ou partilhados através dos mecanismos do Android.
Gravar na aplicação, no widget ou pelo assistente
O AssistRecorder é uma aplicação nativa para Android. Na interface principal, os controlos de início e paragem estão disponíveis quando se trabalha diretamente na aplicação. O widget oferece um acesso no ecrã inicial, útil quando se pretende começar a gravar sem percorrer outros ecrãs.
Depois de configurar o AssistRecorder como assistente predefinido, o gesto ou botão atribuído pelo aparelho pode controlar a gravação. A instalação não faz esta configuração, e o comando varia entre dispositivos.
As gravações são criadas em M4A com AAC, num canal mono e a 48 kHz. Estão disponíveis taxas de 32, 64 e 96 kbit/s. Independentemente da forma de início ou da taxa selecionada, o ficheiro pode seguir para reprodução, corte, exportação e eventual transcrição.
Reprodução, corte, importação e exportação
O leitor permite avançar ou recuar 15 segundos e 1 minuto, seja para rever uma frase ou percorrer uma conversa maior antes de transcrever.
O corte de M4A é efetuado sem perdas, sem recodificar as partes mantidas, e também pode ser aplicado a um ficheiro M4A importado. Existem opções de exportação e partilha. A exportação usa os recursos do Android para escolher o destino e não pede acesso geral ao armazenamento.
Transcrição Groq com uma chave do utilizador
O AssistRecorder utiliza Groq Speech-to-Text para converter voz em texto. O acesso segue o modelo BYOK, bring your own key. Cada utilizador cria a própria chave na Groq Console, introduz essa chave na aplicação e utiliza a sua conta para a transcrição. A chave fica armazenada localmente de forma encriptada.
É possível escolher entre whisper-large-v3-turbo e whisper-large-v3. A língua é detetada automaticamente, eliminando a necessidade de configurar manualmente o idioma de cada gravação antes do envio.
O AssistRecorder não faz divisão automática em blocos, e os limites de upload dependem do plano. Não existe um valor único para todas as contas. Antes de transcrever uma gravação longa, deve verificar-se o plano e, se bastar um excerto, preparar esse segmento com o corte.
Depois da transcrição, tanto o texto como o título podem ser editados. Esta revisão permite corrigir nomes próprios, vocabulário especializado ou passagens que devam ficar mais precisas antes de serem incluídas numa instrução para outro serviço.
Processamento no cliente de IA escolhido
O AssistRecorder não tenta substituir uma aplicação LLM. Não existe uma integração de chat própria. Quando o utilizador decide processar a transcrição, a aplicação recorre a ACTION_SEND e ao seletor de partilha do Android. Pode então escolher livremente um cliente compatível instalado, incluindo, por exemplo, ChatGPT, Claude ou Gemini.
O conteúdo inclui prompt e transcrição, que podem ser revistos antes de escolher o destino. A partir da partilha, aplicam-se as regras de privacidade da aplicação recetora, especialmente relevantes para informação confidencial.
A resposta do modelo externo não é inserida automaticamente. Pode ser copiada no cliente e colada no AssistRecorder. Dessa forma, passa a integrar o registo local juntamente com o áudio, a transcrição e o prompt. O leitor de Markdown permite consultar o resultado formatado.
Modelos e situações de utilização
Os modelos de prompt cobrem tarefas comuns:
- ata de reunião;
- resumo;
- extração de tarefas;
- pensamentos estruturados;
- conversas com pais;
- conversas com médicos.
Nomes e prompts são editáveis. O modelo não executa a IA: prepara o conteúdo partilhado com o cliente escolhido.
Numa reunião, a transcrição revista pode ser acompanhada por uma instrução para organizar decisões e tarefas. Numa nota falada, o modelo de pensamentos estruturados pode servir de base para ordenar ideias. Conversas com pais ou médicos podem incluir dados sensíveis; nesses casos, a decisão de gravar, transcrever e partilhar deve ser tomada com especial cuidado, tendo em conta as regras do serviço de destino.
Dados locais, transmissões e permissões
O AssistRecorder guarda localmente o áudio, a transcrição, o prompt e o resultado de IA colado. A chave da Groq também é armazenada localmente de forma encriptada. Contudo, as operações de rede necessárias continuam claramente delimitadas: o áudio é transmitido à Groq quando se inicia a transcrição, e o texto com o prompt é enviado à aplicação selecionada quando se inicia a partilha.
Para executar as suas funções, a aplicação utiliza permissões ou capacidades Android relacionadas com:
- microfone para captar a gravação;
- notificações;
- Internet para a comunicação com a Groq;
- serviço em primeiro plano para manter a gravação de acordo com o funcionamento do Android.
Não é necessário um acesso geral ao armazenamento para exportar. Ainda assim, armazenamento local não deve ser confundido com processamento exclusivamente local: a conversão pela Groq requer a transmissão do áudio, e um LLM externo recebe apenas o conteúdo que o utilizador partilha. A aplicação de destino tem políticas de privacidade próprias.
Requisitos e instalação
O AssistRecorder funciona em Android 10 ou posterior. É um projeto de código aberto, com versões publicadas em GitHub Releases. Atualmente, essa página pode disponibilizar uma APK de depuração.
Ao instalar uma APK fora da Play Store, o Android pode exigir autorização para instalar aplicações de fontes desconhecidas. A permissão costuma estar associada à aplicação utilizada para abrir o ficheiro, e a localização da opção depende do dispositivo. Antes de instalar, é aconselhável confirmar que tipo de APK está incluído na versão atualmente publicada.
Após a instalação, a chave própria da Groq deve ser adicionada para utilizar a transcrição. A configuração como assistente predefinido só é necessária para controlar a gravação com o gesto ou botão do dispositivo. O início e a paragem diretamente na aplicação ou no widget constituem acessos separados.
Limites importantes
O AssistRecorder não contém um chat LLM; a elaboração ocorre numa aplicação externa, e o resultado deve ser colado para ficar no registo local. A transcrição requer Internet e uma chave Groq válida. O upload depende do plano e não há blocos automáticos. A deteção da língua simplifica a configuração, mas o texto deve ser revisto quando a precisão for relevante.
Tecnologia em resumo
O AssistRecorder foi desenvolvido em Kotlin, com Jetpack Compose e Material 3 na interface. Utiliza Room e DataStore para dados e preferências e Keystore para proteger a chave armazenada. Hilt e WorkManager também fazem parte da estrutura da aplicação.
As comunicações de rede recorrem a Retrofit e OkHttp. Para captar e reproduzir áudio, o projeto utiliza MediaRecorder e MediaPlayer do Android.
Perguntas frequentes
Preciso de uma chave Groq para gravar áudio?
A chave própria é necessária para Groq Speech-to-Text. As funções locais são uma fase separada.
Tenho de selecionar a língua?
Não. Os modelos disponíveis no fluxo do AssistRecorder fazem deteção automática da língua.
Todas as gravações são enviadas para a Groq?
Não. O áudio só é transmitido quando o utilizador inicia ativamente a transcrição.
O AssistRecorder inclui ChatGPT, Claude ou Gemini?
Não. Utiliza ACTION_SEND para entregar o conteúdo ao cliente compatível escolhido.
Onde fica guardada a resposta da IA?
Pode ser copiada e colada no AssistRecorder, onde fica guardada localmente e legível como Markdown.
A aplicação divide automaticamente um ficheiro longo?
Não. Não existe chunking automático, e os limites de upload variam consoante o plano da Groq.
Posso alterar os modelos?
Sim. Os nomes e prompts dos modelos são editáveis, tal como a transcrição e o título.
Conclusão
O AssistRecorder separa áudio, transcrição e processamento por IA. Envia o áudio à Groq apenas quando solicitado e usa a partilha do Android para escolher o cliente LLM. A revisão, os modelos editáveis e o armazenamento do resultado ajudam a transformar uma gravação em material estruturado.