
Compartilhar:
Ex-diretor de Formação de Desenvolvedores da Vonage. Com experiência como desenvolvedor criativo, gerente de produto e organizador de hack days, Martyn atua como defensor da tecnologia desde 2012, tendo trabalhado anteriormente no setor de radiodifusão e em grandes gravadoras. Ele se dedica a capacitar e empoderar desenvolvedores em todo o mundo.
Conversão de voz em texto com a Nexmo e o Microsoft Azure
Tempo de leitura: 6 minutos
Se você já precisou de algo que ajudasse a receber chamadas telefônicas e transcrevê-las automaticamente em tempo real, está com sorte, pois pode fazer isso usando nosso conector recém-atualizado conector Nexmo-to-Azure Speech Service.
Recentemente, atualizamos o código e as opções de implantação desse conector; agora, ficou ainda mais fácil implantá-lo, modificá-lo ou ampliá-lo, caso ele se encaixe em algum problema que você esteja tentando resolver.
Se isso já te convenceu e você está ansioso para começar, confira mais detalhes em nossa nexmo-community no GitHub.
Como o aplicativo funciona com o Serviço de Fala do Azure
A plataforma Azure da Microsoft oferece um excelente conjunto de Serviços Cognitivos por meio de APIs que permitem trabalhar com reconhecimento de fala, visão, linguagem e muito mais. Este aplicativo utiliza a API de conversão de fala em texto para reconhecer áudio transmitido em tempo real por meio de um websocket de uma chamada telefônica facilitada por um Objeto Nexmo Call Control.
Em termos simples, você literalmente chama a API e se comunica com ela. O Azure Speech realiza o reconhecimento do áudio, e as frases são retornadas ao console.

Como executar sua própria instância
Este aplicativo faz parte da nossa programa Nexmo Extend , no entanto, criamos Applications úteis e reutilizáveis para ajudar você a começar a usar o Nexmo com outros excelentes provedores de serviços, como o Microsoft Azure, Google Cloud e Amazon Web Services.
Facilitamos para você a implantação e o uso imediato da sua própria instância deste aplicativo, com apenas um clique.
Opções de implantação com um clique
Você tem a opção de implantar o aplicativo no Heroku ou no Azure por meio dos botões localizados na parte superior do arquivo Readme no repositório do GitHub.
No entanto, se você quiser implementá-lo e ter uma maneira segura (mas que permite erros!) de trabalhar com o código diretamente do seu navegador, experimente remixar o aplicativo no Glitch e comece a ampliar a base de código imediatamente.
Implantar/Executar com o Docker
Este aplicativo também pode ser executado ou implantado com o Docker. A maneira mais rápida de fazer isso é clonar o repositório e, a partir do diretório raiz, usar o Docker Compose para dar início ao processo, executando:
docker-compose upSeja qual for a opção de implantação que você escolher, você terá um novo hostname onde o aplicativo estará em execução; portanto, você precisará vincular seu número virtual da Nexmo a ele para concluir a configuração.
Conectando o aplicativo ao Nexmo
Como usar o painel
Adicione a URL do evento -
https://<your_new_hostname>/nccoAdicione a URL da resposta -
https://<your_new_hostname>/eventClique
Create ApplicationClique
Numberse vincule o número virtual criado recentemente.Copie o número virtual para usá-lo na próxima etapa.
Utilizando a interface de linha de comando
Você pode instalar a CLI seguindo estas instruções. Em seguida, crie um novo aplicativo Nexmo que também configure sua answer_urle event_url para o aplicativo rodando localmente na sua máquina.
Isso retornará um ID de aplicativo. Anote-o.
Alugue um novo número virtual
Se você ainda não tiver um número configurado, precisará alugar um. Você pode fazer isso usando a CLI:
Vincule o número virtual ao aplicativo
Por fim, vincule seu novo número ao aplicativo que você criou executando:
Experimente
Agora, com seu aplicativo em execução — independentemente de onde você o tenha implantado —, ligue para o número que você atribuiu a ele e comece a falar. Após uma breve pausa, você verá tudo o que disser sendo exibido no console, em tempo real.
Como ampliar isso
O próximo passo lógico seria começar a enviar as frases retornadas pelo Azure Speech Service para outro serviço que as consumirá e tomará as medidas necessárias com base no que for recebido.
Você pode fazer isso modificando a on_return_message função, que atualmente termina assim:
if data['RecognitionStatus'] == "Success":
# Extend From here to handle your transcription messages
print(data["DisplayText"])Usando a biblioteca Requests (que já é uma dependência, portanto não é preciso instalá-la novamente), você poderia POST enviar as frases como um objeto JSON para outra API, onde elas seriam processadas e, posteriormente, utilizadas. Para adicionar essa funcionalidade, altere a instrução final if em on_return_message para algo assim:
if data['RecognitionStatus'] == "Success":
# Extend From here to handle your transcription messages
print(data["DisplayText"])
url = "http://<another_api>/<endpoint>"
headers = {'Content-Type': 'application/json'}
resp = requests.post(url, headers=headers, data=json.dumps({'phrase': data["DisplayText"]}))
if resp.status_code == 200:
print(resp.content)
else:
print(resp.status_code)
print(resp.content)
Sempre que uma nova frase for retornada pelo Serviço de Fala do Azure, um {"phrase":"Words returned by the app."} será enviado um objeto.
O que você vai fazer com isso a seguir é com você!
Se você decidir ampliar essa aplicação ou tiver dúvidas sobre como ela funciona, acesse o canal da Comunidade Nexmo no Slack , onde teremos o maior prazer em ajudá-lo com quaisquer dúvidas e ouvir suas sugestões.
Compartilhar:
Ex-diretor de Formação de Desenvolvedores da Vonage. Com experiência como desenvolvedor criativo, gerente de produto e organizador de hack days, Martyn atua como defensor da tecnologia desde 2012, tendo trabalhado anteriormente no setor de radiodifusão e em grandes gravadoras. Ele se dedica a capacitar e empoderar desenvolvedores em todo o mundo.