Boa parte dos aplicativos e ferramentas existentes com esse intuito tem o foco em gravar um áudio curto para conversão e uso naquele momento. No entanto, caso possua um arquivo de áudio com vários minutos, pode ser interessante o uso de APIs e um pouco de programação para tirar melhor uso dessas ferramentas.
Basicamente, os algoritmos usando aprendizado de máquina precisam aprender com exemplos, ou seja, comparar palavras faladas já relacionadas às escritas e ter uma flexibilidade para identificar essa correlação em outros áudios. Assim, esse treinamento deve ser feito para cada idioma. Quanto mais termos e sotaques estiverem presentes, melhor será o aprendizado.
O Python possui a SpeechRecognition, uma biblioteca para realização de reconhecimento de fala, com suporte para diversos engines e APIs, online e offline (sem acessar servidor remoto). APIs da Microsoft, Google e IBM necessitam de acesso registrado nos modelos treinados na nuvem.
O serviço IBM Watson™ Speech to Text transcreve áudio para texto. Para seu uso, primeiro é preciso acessar a página do Speech to text e criar uma conta. Na Lista de recursos, acesse a página de serviços para copiar as credenciais (valores de ‘API key’ e de ‘URL’).
O Speech to Text também usa curl para chamar os métodos da interface HTTP do serviço, o que permite usar comando direto no terminal ou bash script. Você pode seguir o tutorial do link que possui um arquivo de teste. O comando com parâmetros é basicamente o seguinte:
O resultado é impresso na tela no formato JSON, com os campos “confidence” (quanto mais perto de 1, maior a confiança na transcrição) e “transcript” (texto transcrito). Para transcrição de texto em português do Brasil, inclua “?model=pt-BR_BroadbandModel” no final da URL.