Guia de Início Rápido: Reconhecer e converter uma fala em texto
Documentação de referência | Pacotes (NuGet) | Exemplos adicionais no GitHub
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de Fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instalará o SDK de Fala posteriormente neste guia, mas primeiro verifique o guia de instalação do SDK para conhecer os demais requisitos.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Traduzir fala de um microfone
Siga estas etapas para criar um novo aplicativo de console e instalar o SDK de Fala.
Abra um prompt de comando no qual você deseja criar o novo projeto e crie um aplicativo de console com a CLI do .NET. O arquivo
Program.cs
deverá ser criado no diretório do projeto.dotnet new console
Instale o SDK de Fala em seu novo projeto com a CLI do .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Substitua o conteúdo de
Program.cs
pelo seguinte código.using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using Microsoft.CognitiveServices.Speech.Translation; class Program { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); static void OutputSpeechRecognitionResult(TranslationRecognitionResult translationRecognitionResult) { switch (translationRecognitionResult.Reason) { case ResultReason.TranslatedSpeech: Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}"); foreach (var element in translationRecognitionResult.Translations) { Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}"); } break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(translationRecognitionResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails={cancellation.ErrorDetails}"); Console.WriteLine($"CANCELED: Did you set the speech resource key and region values?"); } break; } } async static Task Main(string[] args) { var speechTranslationConfig = SpeechTranslationConfig.FromSubscription(speechKey, speechRegion); speechTranslationConfig.SpeechRecognitionLanguage = "en-US"; speechTranslationConfig.AddTargetLanguage("it"); using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(translationRecognitionResult); } }
Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.
Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:
dotnet run
Fale no microfone quando solicitado. O que você fala deve ser a saída como texto traduzido no idioma de destino:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
- Este exemplo usa a operação
RecognizeOnceAsync
para transcrever enunciados de até 30 segundos ou até que o silêncio seja detectado. Para obter informações sobre o reconhecimento contínuo de áudios mais longos, incluindo conversas multilíngues, consulte Como traduzir fala. - Para reconhecer a fala de um arquivo de áudio, use
FromWavFileInput
em vez deFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- Para arquivos de áudio compactados, como MP4, instale o GStreamer e use
PullAudioInputStream
ouPushAudioInputStream
. Para saber mais, confira Como usar áudio de entrada compactado.
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.
Documentação de referência | Pacotes (NuGet) | Exemplos adicionais no GitHub
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de Fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instalará o SDK de Fala posteriormente neste guia, mas primeiro verifique o guia de instalação do SDK para conhecer os demais requisitos.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Traduzir fala de um microfone
Siga estas etapas para criar um novo aplicativo de console e instalar o SDK de Fala.
Crie um novo projeto de console C++ no Visual Studio Community 2022 chamado
SpeechTranslation
.Instale o SDK de Fala em seu novo projeto com o gerenciador de pacotes NuGet.
Install-Package Microsoft.CognitiveServices.Speech
Substitua o conteúdo de
SpeechTranslation.cpp
pelo seguinte código:#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; using namespace Microsoft::CognitiveServices::Speech::Translation; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); auto speechTranslationConfig = SpeechTranslationConfig::FromSubscription(speechKey, speechRegion); speechTranslationConfig->SetSpeechRecognitionLanguage("en-US"); speechTranslationConfig->AddTargetLanguage("it"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = translationRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::TranslatedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; for (auto pair : result->Translations) { auto language = pair.first; auto translation = pair.second; std::cout << "Translated into '" << language << "': " << translation << std::endl; } } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=" << cancellation->ErrorDetails << std::endl; std::cout << "CANCELED: Did you set the speech resource key and region values?" << std::endl; } } } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }
Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.
Compile e execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone.
Fale no microfone quando solicitado. O que você fala deve ser a saída como texto traduzido no idioma de destino:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
- Este exemplo usa a operação
RecognizeOnceAsync
para transcrever enunciados de até 30 segundos ou até que o silêncio seja detectado. Para obter informações sobre o reconhecimento contínuo de áudios mais longos, incluindo conversas multilíngues, consulte Como traduzir fala. - Para reconhecer a fala de um arquivo de áudio, use
FromWavFileInput
em vez deFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- Para arquivos de áudio compactados, como MP4, instale o GStreamer e use
PullAudioInputStream
ouPushAudioInputStream
. Para saber mais, confira Como usar áudio de entrada compactado.
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.
Documentação de referência | Pacotes (Go) | Exemplos adicionais no GitHub
O Speech SDK for Go não oferece suporte à tradução de fala. Selecione outra linguagem de programação ou a referência do Go e exemplos vinculados no início deste artigo.
Documentação de referência | Amostras adicionais no GitHub
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Antes de fazer qualquer coisa, você precisará instalar o SDK de Fala. O exemplo deste guia de início rápido funciona com o Runtime Java.
- Instale o Apache Maven. Em seguida, execute
mvn -v
para confirmar a instalação bem-sucedida. - Crie um arquivo
pom.xml
na raiz do projeto e copie nele o seguinte:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.40.0</version> </dependency> </dependencies> </project>
- Instale o SDK de Fala e as dependências.
mvn clean dependency:copy-dependencies
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Traduzir fala de um microfone
Siga estas etapas para criar um novo aplicativo de console para reconhecimento de fala.
Crie um novo arquivo chamado
SpeechTranslation.java
no mesmo diretório raiz do projeto.Copie o seguinte código dentro de
SpeechTranslation.java
:import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import com.microsoft.cognitiveservices.speech.translation.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.Map; public class SpeechTranslation { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromSubscription(speechKey, speechRegion); speechTranslationConfig.setSpeechRecognitionLanguage("en-US"); String[] toLanguages = { "it" }; for (String language : toLanguages) { speechTranslationConfig.addTargetLanguage(language); } recognizeFromMicrophone(speechTranslationConfig); } public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); System.out.println("Speak into your microphone."); Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync(); TranslationRecognitionResult translationRecognitionResult = task.get(); if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) { System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText()); for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) { System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue()); } } else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (translationRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and region values?"); } } System.exit(0); } }
Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.
Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
Fale no microfone quando solicitado. O que você fala deve ser a saída como texto traduzido no idioma de destino:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
- Este exemplo usa a operação
RecognizeOnceAsync
para transcrever enunciados de até 30 segundos ou até que o silêncio seja detectado. Para obter informações sobre o reconhecimento contínuo de áudios mais longos, incluindo conversas multilíngues, consulte Como traduzir fala. - Para reconhecer a fala de um arquivo de áudio, use
fromWavFileInput
em vez defromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- Para arquivos de áudio compactados, como MP4, instale o GStreamer e use
PullAudioInputStream
ouPushAudioInputStream
. Para saber mais, confira Como usar áudio de entrada compactado.
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.
Documentação de referência | Pacote (npm) | Exemplos adicionais no GitHub | Código-fonte de biblioteca
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Para fazer qualquer coisa, instale o SDK de Fala para JavaScript. Se você quiser apenas o nome do pacote a ser instalado, execute npm install microsoft-cognitiveservices-speech-sdk
. Para obter instruções de instalação guiadas, confira o Guia de instalação do SDK.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Traduzir fala de um arquivo
Siga estas etapas para criar um aplicativo de console Node.js para reconhecimento de fala.
Abra um prompt de comando onde você deseja criar o novo projeto e crie um novo arquivo chamado
SpeechTranslation.js
.Instale o SDK de Fala para JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Copie o seguinte código dentro de
SpeechTranslation.js
:const fs = require("fs"); const sdk = require("microsoft-cognitiveservices-speech-sdk"); // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechTranslationConfig = sdk.SpeechTranslationConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); speechTranslationConfig.speechRecognitionLanguage = "en-US"; var language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile() { let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav")); let translationRecognizer = new sdk.TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync(result => { switch (result.reason) { case sdk.ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case sdk.ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case sdk.ResultReason.Canceled: const cancellation = sdk.CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason == sdk.CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and region values?"); } break; } translationRecognizer.close(); }); } fromFile();
Em
SpeechTranslation.js
, substituaYourAudioFile.wav
por um arquivo WAV próprio. Este exemplo só reconhece a fala de um arquivo WAV. Para obter informações sobre outros formatos de áudio, confira Como usar áudio de entrada compactado. Este exemplo dá suporte a um áudio de até 30 segundos.Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.
Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um arquivo:
node.exe SpeechTranslation.js
A fala do arquivo de áudio deve ser a saída como texto traduzido no idioma de destino:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
Este exemplo usa a operação recognizeOnceAsync
para transcrever enunciados de até 30 segundos ou até que o silêncio seja detectado. Para obter informações sobre o reconhecimento contínuo de áudios mais longos, incluindo conversas multilíngues, consulte Como traduzir fala.
Observação
Não há suporte para reconhecer a fala a partir de um microfone no Node.js. Há suporte apenas em um ambiente JavaScript baseado em navegador.
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.
Documentação de referência | Pacotes (Download) | Exemplos adicionais no GitHub
O SDK de Fala para Objective-C dá suporte à tradução de fala, mas ainda não incluímos um guia a respeito. Selecione outra linguagem de programação para começar e saber mais sobre os conceitos ou confira a referência e exemplos em Objective-C vinculados no início deste artigo.
Documentação de referência | Pacotes (Download) | Exemplos adicionais no GitHub
O SDK de Fala para Swift dá suporte à tradução de fala, mas ainda não incluímos um guia a respeito. Selecione outra linguagem de programação para começar e saber mais sobre os conceitos ou confira a referência e exemplos em Swift vinculados no início deste artigo.
Documentação de referência | Pacotes (PyPi) | Exemplos adicionais no GitHub
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de fala para Python está disponível como um módulo PyPI (índice de pacote do Python). O SDK de Fala para Python é compatível com Windows, Linux e macOS.
- Você precisa instalar os Pacotes Redistribuíveis do Microsoft Visual C++ para Visual Studio 2015, 2017, 2019 ou 2022 na sua plataforma. Quando você instalar esse pacote pela primeira vez, poderá ser necessária uma reinicialização.
- No Linux, você deve usar a arquitetura de destino x64.
Instale uma versão do Python a partir da versão 3.7 ou posterior. Primeiro, verifique o Guia de instalação do SDK para conhecer os demais requisitos
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Traduzir fala de um microfone
Siga estas etapas para criar um novo aplicativo de console.
Abra um prompt de comando onde você deseja criar o novo projeto e crie um novo arquivo chamado
speech_translation.py
.Execute este comando para instalar o SDK de Fala:
pip install azure-cognitiveservices-speech
Copie o seguinte código dentro de
speech_translation.py
:import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) speech_translation_config.speech_recognition_language="en-US" to_language ="it" speech_translation_config.add_target_language(to_language) audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config) print("Speak into your microphone.") translation_recognition_result = translation_recognizer.recognize_once_async().get() if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech: print("Recognized: {}".format(translation_recognition_result.text)) print("""Translated into '{}': {}""".format( to_language, translation_recognition_result.translations[to_language])) elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details)) elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = translation_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?") recognize_from_microphone()
Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.
Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:
python speech_translation.py
Fale no microfone quando solicitado. O que você fala deve ser a saída como texto traduzido no idioma de destino:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
- Este exemplo usa a operação
recognize_once_async
para transcrever enunciados de até 30 segundos ou até que o silêncio seja detectado. Para obter informações sobre o reconhecimento contínuo de áudios mais longos, incluindo conversas multilíngues, consulte Como traduzir fala. - Para reconhecer a fala de um arquivo de áudio, use
filename
em vez deuse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
- Para arquivos de áudio compactados, como MP4, instale o GStreamer e use
PullAudioInputStream
ouPushAudioInputStream
. Para saber mais, confira Como usar áudio de entrada compactado.
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.
Referência da API REST de Conversão de fala em texto | Referência da API REST de Reconhecimento de fala para áudios curtos | Amostras adicionais no GitHub
A API REST não oferece suporte à tradução de fala. Selecione outra linguagem ou ferramenta de programação na parte superior desta página.
Neste início rápido, você executará um aplicativo para traduzir uma fala de um idioma para texto em outro idioma.
Dica
Experimente o Kit de Ferramentas de Fala de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Siga estas etapas e consulte o início rápido da CLI de Fala para obter outros requisitos para sua plataforma.
Execute o seguinte comando da CLI do .NET para instalar a CLI de Fala:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Execute os comandos a seguir para configurar a chave e a região do recurso Fala. Substitua
SUBSCRIPTION-KEY
pela sua chave do recurso de Fala e substituaREGION
pela sua região do recurso de Fala.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Traduzir fala de um microfone
Execute o seguinte comando para traduzir a fala do microfone do inglês para o italiano:
spx translate --source en-US --target it --microphone
Fale próximo ao microfone e você verá a transcrição de suas palavras em texto traduzido em tempo real. A CLI de Fala é interrompida após um período de silêncio, 30 segundos ou ao pressionar CTRL+C.
Connection CONNECTED...
TRANSLATING into 'it': Sono (from 'I'm')
TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')
Comentários
Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:
- Para reconhecer a fala de um arquivo de áudio, use
--file
em vez de--microphone
. Para arquivos de áudio compactados, como MP4, instale o GStreamer e use--format
. Para saber mais, confira Como usar áudio de entrada compactado.spx translate --source en-US --target it --file YourAudioFile.wav spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
- Para melhorar a precisão do reconhecimento de palavras específicas ou enunciados, use uma lista de frases. Você inclui uma lista de frases em linha ou com um arquivo de texto:
spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;" spx translate --source en-US --target it --microphone --phrases @phrases.txt
- Para alterar o idioma de reconhecimento de fala, substitua
en-US
por outroen-US
. Especifique a localidade completa com um separador de traço (-
). Por exemplo:es-ES
para espanhol (Espanha). O idioma padrão éen-US
se você não especificar um idioma.spx translate --microphone --source es-ES
- Para alterar o idioma de tradução de fala, substitua
it
por outro idioma com suporte. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-
). Por exemplo, usees
para espanhol (Espanha) em vez dees-ES
. O idioma padrão éen
se você não especificar um idioma.spx translate --microphone --target es
- Para reconhecimento contínuo de áudio por mais de 30 segundos, acrescente
--continuous
:spx translate --source en-US --target it --microphone --continuous
Execute este comando para obter informações sobre opções adicionais de tradução de fala, como entrada e saída de arquivo:
spx help translate
Limpar os recursos
Você pode usar o portal do Azure ou a CLI (interface de linha de comando) do Azure para remover o recurso de fala que você criou.