this post was submitted on 25 Mar 2024
15 points (100.0% liked)
Privacidade
292 readers
1 users here now
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
@thes0ls @GeofSux66 cara, uma coisa muito interessante isso de ter um auto audio transcrevedor, poderia indicar como construiu esse grande alívio para as dores da vida no "zapzap" talvez algum repositório??? rsrsr
Welp que eu acabei mesmo passando a limpo o meu script.
Aqui estou levando em conta que o matrix já está com a bridge rodando e o script vai cuidar só de espiar se chega mensagem de áudio.
Quem for usar, leia o código que eu botei uns comentários nos trechos que deve editar.
Testei só no meu próprio ambiente, então pode ser que tenha uma dependência ou outra que esqueci de anotar (nem lembro como que instalei o whisper, por exemplo).
A documentação do nio fica em aqui: https://matrix-nio.readthedocs.io/en/latest/index.html
EDIT: 2024-03-27 21h50: Corrigi um erro de copicola logo depois do
if not os.path.isfile(CONFIG_FILE):
.Só pra ficar registrado, não sei se os edits estão sendo federados corretamente, então o link pra versão mais atualizada tá aqui: https://lemmy.eco.br/comment/6300628
Hahah, tá no meio de um script enorme que eu também uso pra fazer o mirror das outras mensagens. Qualquer coisa alguma hora eu vejo se tento isolar só isso, mas pra dar um início seria:
Um script python com nio, que serve pra conectar no servidor, logar na conta e ficar espiando as mensagens que vão chegando.
Quando ele encontrar uma mensagem de áudio, eu faço ele baixar o arquivo numa pasta local e depois eu rodo o whisper hospedado localmente pra fazer a transcrição.
Depois com o resultado, eu tenho duas opções, enviar de volta o áudio para o mesmo chat, ou enviar pra um chat privado só comigo. Quando é com alguém chegado, eu envio pro mesmo chat, já o restante eu faço vir em separado.
Inicialmente eu usava o sr*, mas se a pessoa tinha um pouco de sotaque, o reconhecimento não funcionava legal.
Com o whisper o resultado é bem melhor, porém é bem mais pesado e demora um tanto pra transcrever. Um áudio de 30 segundos leva uns 3~4 minutos. Mas se a pessoa quis economizar o tempo dela enviando em audio, não deve se importar de esperar uns 5 minutos pra receber uma resposta do outro lado... hahah
*EDIT: Uma correção, o meu script também tava com o tesseract sendo usado em outro trecho, por isso eu confundi, mas a parte do audio era usando o SpeechRecognition. Foi mals. EDIT