GithubHelp home page GithubHelp logo

larynx's Introduction

Larynx - reconhecimento de fala para texto

Larynx é um programa desenvolvido para ajudar pessoas que têm dificuldades em digitar, mas têm facilidade de utilizar a fala para se comunicar. Casos de pessoas que possuem doenças degenerativas que limitam o movimento e sua qualidade de vida.

😃 Inspirações

Diversos aplicativos não permitem diretamente que o usuário grave um áudio, por exemplo o Discord, isso faz com que essas pessoas recorram a softwares como teclado virtual. Infelizmente digitar nessas ferramentas é um processo lento e para o idioma Português (Brasil) ainda apresenta muitas falhas pelo reconhecimento de fala nativo do Windows.

Diante desse problema nasceu a ideia de desenvolver um software que ajude pessoas nesses aplicativos.

⚙️ Funcionamento atual

O Larynx encontra-se em desenvolvimento inicial, porém já funcional, apesar de conter alguns bugs. Foi totalmente desenvolvido com C# e WPF para interface de usuário. Atualmente é utilizado os servidores do Google com o serviço Speech-to-Text com uma chave pública do Chrome.

O microfone é utilizado para enviar em tempo real ao Google o áudio gravado e retornando a transcrição em texto. Essa transcrição é enviada ao sistema operacional para que digite o texto como se tivesse sido digitado em um teclado, então há sua compatibilidade com diversos aplicativos por essa razão.

Dependências

  • Google Speech to Text API
  • gRPC
  • CUETools Flake
  • InputSimulator

✍️ Utilização

O uso do aplicativo é bem simples, ao iniciar o programa Larynx.exe já será exibido um microfone padrão e então só clicar em Iniciar. Após isso, tudo o que for falado no microfone será transcrito para texto.

MainView

Caso queira utilizar outro microfone, basta clicar em Configurar e selecionar o microfone desejado. As opções Volume e AGC ainda não são suportadas diretamente pelo aplicativo, sendo necessário acessá-las diretamente pelo Painel de Controle de Som do Windows.

ConfigView_screen.png

Palavras-chaves para pontuação

O Larynx suporta o uso de palavras-chaves para substituir por pontuações da língua portuguesa. Exemplo, caso o usuário diga vírgula no texto será substituído por ,. Isso vale para as palavras abaixo:

  • vírgula por ,
  • ponto por .
  • interrogação por ?
  • dois pontos por :
  • ponto e vírgula por ;
  • exclamação por !
  • hífen por -
  • nova linha por \n (uma quebra de linha)
  • abre parêtenses por (
  • fecha parêtenses por )

Qualquer erro que ocorra será exibido uma mensagem na tela do programa.

💡 Funcionalidades futuras

  • Suporte à codificação FLAC, diminuindo a banda necessária e latência.
  • Atalhos diretamente por voz como aumentar/diminuir volume e outros.
  • Definir teclas de atalho que permitam ligar ou desligar a transcrição da fala.
  • Melhorar interface de usuário.
  • Melhorar o uso de MVVM no código.
  • Corrigir bug de raramente palavras não terem espaço entre elas.
  • Auto-updater
  • Opções de aumentar/diminuir o volume do microfone na aba de configurações
  • Opção de habilitar/desabilitar o AGC, caso o microfone suporte.
  • Possibilitar o usuário importar uma chave JSON caso queira utilizar serviços pagos do próprio Google Cloud para o Speech-to-Text.
  • Avaliar a possibilidade do processamento ser feito offline via inteligência artificial.
  • Suporte a outros idiomas além de pt-BR.

🐞 Problemas, erros e bugs

Como mencionado, o programa encontra-se em uma fase inicial de desenvolvimento e, portanto, são esperados que erros aconteçam. Para isso é encorajado que essas questões sejam publicadas na aba Issues junto com os logs. Os arquivos de logs podem ser encontrados em uma pasta logs junto ao programa, dentro dela os arquivos são gerados por datas com extensão .log.

Créditos

@Metalus, Odysseus, @maxwbot

👍 Agradecimentos

Mr.Terminal, @chiyoku, codando, @alvarofilho

larynx's People

Contributors

junioteixeira avatar maxwbot avatar

Stargazers

 avatar  avatar ryanmarques avatar rhuan-galvao avatar  avatar Mariana avatar Francisco Ossian avatar Daniel avatar Diogo O. Souza avatar Álvaro Duarte avatar Gustavo L. avatar Odysseus Nacki avatar  avatar

Watchers

James Cloos avatar  avatar Odysseus Nacki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.