Reconhecimento de fala
Observação
Consulte a guia Texto e imagens para obter mais detalhes!
O reconhecimento de fala, geralmente chamado de STT (conversão de fala em texto), é uma funcionalidade de IA que permite que aplicativos e agentes respondam à entrada falada. O reconhecimento de fala usa a palavra falada e a converte em dados, geralmente texto. O software de conversão de fala em texto normalmente usa vários modelos, incluindo:
- Um modelo acústico que converte o áudio em phonemes (representações de sons específicos).
- Um modelo de linguagem que mapeia phonemes para palavras.
As palavras que a fala de IA reconhece são convertidas em texto. Você pode usar o texto para várias finalidades, como fornecer legendas fechadas, criar transcrições de chamadas, automatizar o ditado de anotação e muito mais.
Azure Speech - Conversão de Fala em Texto
A Fala do Azure inclui uma API de conversão de fala em texto que você pode usar para processar a entrada de voz de um microfone ou arquivo de áudio.
Observação
Uma API (Interface de Programação de Aplicativo) é um conjunto de regras e pontos de extremidade que permite que um aplicativo de software se comunique e use a funcionalidade ou os dados de outro aplicativo.
O Microsoft Foundry é uma plataforma da Microsoft que ajuda os desenvolvedores a criar, testar e implantar aplicativos e agentes de IA reunindo modelos, ferramentas, dados e serviços em um só lugar.
No novo portal do Microsoft Foundry, podemos explorar as funcionalidades de conversão de fala em texto do Azure Speech no playground do Foundry. Para acessar o playground, navegue até a página Compilar e, em seguida, para Modelos e, em seguida, para a guia Serviços de IA . Na guia, você pode encontrar uma seleção de serviços de IA disponíveis para teste, incluindo Fala do Azure – Conversão de Fala em Texto.
No playground, você pode enviar um arquivo de áudio ou gravar sua própria voz. A Fala do Azure transcreve o que é dito, dando uma ideia de como seu próprio aplicativo responderia à entrada de áudio.
O playground no portal do Foundry é um ótimo lugar para experimentar o reconhecimento de fala do Azure, mas, para usar a conversão de fala em texto em um aplicativo, precisamos escrever algum código.
Usando o SDK de conversão de fala em texto do Azure
O SDK de Fala do Azure – Conversão de Fala em Texto é uma biblioteca de clientes que permite que os aplicativos convertam áudio falado em texto escrito. O SDK de fala em texto foi projetado para facilitar a adição do reconhecimento de fala aos aplicativos.
Observação
Uma biblioteca de clientes é um conjunto de códigos prontos que os desenvolvedores podem usar em seu aplicativo para conversar facilmente com um serviço ou API.
O SDK permite que seu aplicativo:
- Capturar ou enviar áudio de um microfone, arquivo de áudio ou fluxo de áudio
- Enviar esse áudio para a Fala do Azure com segurança
- Receber texto transcrito quase em tempo real ou após a conclusão do processamento
O SDK manipula a rede, a autenticação, o streaming de áudio e a análise de resposta para que os desenvolvedores possam se concentrar na lógica do aplicativo.
Desenvolvendo um aplicativo
O SDK de Conversão de Fala em Texto normalmente é usado na camada de cliente ou serviço de um aplicativo. O SDK atua como a ponte entre o código do aplicativo e o serviço de Fala do Azure.
Para usar o SDK do Python de Fala do Azure, você precisa ter uma versão compatível do Python e do SDK do Python de Fala do Azure instalado.
O SDK do Python pode ser instalado no terminal do Visual Studio Code usando:
pip install azure-cognitiveservices-speech
Observação
O código do aplicativo é escrito em editores de código, como o Visual Studio Code. O terminal de um editor de código é uma janela de linha de comando interna dentro do editor em que você pode executar comandos sem sair do seu ambiente de desenvolvimento.
Para usar o Azure Speech, você também precisa criar um recurso Foundry. O endpoint de recurso do Foundry e a chave são usados em seu código para autenticar sua conexão.
Depois de instalar o SDK do Python e criar um recurso do Foundry, você poderá criar e executar seu programa. Considere o código Python a seguir. Ao executá-lo:
- Seu aplicativo inicializa o SDK de fala: fornece um ponto de extremidade e autenticação (chave ou Identificação do Microsoft Entra ID)
- O áudio é capturado ou carregado: entrada do microfone ou um arquivo/fluxo de áudio
- O áudio é enviado para o Azure Speech: o SDK transmite em fluxo contínuo ou carrega o áudio com segurança
- O reconhecimento de fala é executado na nuvem: os modelos de fala do Azure analisam o áudio
- Os resultados do texto são retornados: seu aplicativo recebe texto reconhecido e metadados opcionais
import azure.cognitiveservices.speech as speechsdk
# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"
speech_config = speechsdk.SpeechConfig(
subscription=speech_key,
endpoint=endpoint_url
)
# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
speech_config=speech_config,
audio_config=audio_config
)
# Event handlers
def recognized_handler(evt):
print(f"Recognized: {evt.result.text}")
def recognizing_handler(evt):
print(f"Recognizing: {evt.result.text}")
# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)
# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")
# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()
Exemplo de aplicativo cliente
Por exemplo, digamos que você queira desenvolver um aplicativo leve que transcreva automaticamente mensagens de caixa postal. No editor de código, temos um arquivo de áudio e um arquivo Python, que contém o código do aplicativo.
Digamos que você tenha um arquivo de áudio contendo uma gravação de uma mensagem de voz. Para transcrever a mensagem, comece especificando o endpoint, a chave de acesso e a fonte de áudio que você deseja transcrever. Em seguida, use um SpeechRecognizer objeto para executar a transcrição, antes de exibir os resultados.
Depois de executar o código, você poderá ver o texto da transcrição.
Opções de processamento de áudio
Você pode usar a API de conversão de fala em texto do Azure Speech para executar transcrição em tempo real ou em lote de áudio em um formato de texto. A fonte de áudio da transcrição poderá ser uma fluxo de áudio em tempo real de um microfone ou um arquivo de áudio.
Transcrição em tempo real: a fala em tempo real para o texto permite transcrever fluxos de áudio para texto. Será possível usar uma transcrição em tempo real para apresentações, demonstrações ou qualquer outro cenário em que uma pessoa esteja falando.
Para que a transcrição em tempo real funcione, seu aplicativo deve escutar o áudio de entrada de um microfone ou outra fonte de entrada de áudio, como um arquivo de áudio. O código do aplicativo transmitirá o áudio para o serviço que retornará o texto transcrito.
Transcrição em lote: nem todos os cenários de conversão de fala em texto são em tempo real. Você poderá ter gravações de áudio armazenadas em um compartilhamento de arquivo, em um servidor remoto ou até mesmo no armazenamento do Azure. Você pode apontar para arquivos de áudio com um URI de assinatura de acesso compartilhado (SAS) e receber resultados de transcrição de maneira assíncrona.
A transcrição em lote deverá ser executada de maneira assíncrona, pois os trabalhos em lote são agendados com base no melhor esforço. Normalmente, um trabalho é executado minutos após a solicitação, porém não há estimativa de quando um trabalho será alterado para o estado de execução.
O Reconhecimento de Fala no Azure Speech é uma ótima maneira de criar soluções que transcrevam áudio gravado ou automatizem legendas de fala. Em seguida, saiba como incorporar a síntese de fala em um aplicativo.