Guia de início rápido: reconhecer e traduzir fala em texto

Pacote de documentação | de referência (NuGet) | Exemplos adicionais no GitHub

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar chaves.

Configurar o ambiente

O SDK de fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instala o SDK de fala mais adiante neste guia, mas primeiro verifique o guia de instalação do SDK para obter mais 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ê pode acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para produção, use uma maneira mais segura de armazenar e acessar suas credenciais.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para 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 Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Para definir as variáveis de ambiente para sua chave de recurso de fala e região, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente, substitua SPEECH_KEY sua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGION sua região por uma das regiões do seu recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se você só precisar acessar as variáveis de ambiente no console atual, poderá 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 precisam ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Traduzir discurso a partir de um microfone

Siga estas etapas para criar um novo aplicativo de console e instalar o SDK de fala.

  1. Abra um prompt de comando onde você deseja o novo projeto e crie um aplicativo de console com a CLI .NET. O Program.cs arquivo deve ser criado no diretório do projeto.

    dotnet new console
    
  2. Instale o SDK de fala em seu novo projeto com a CLI do .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Substitua o conteúdo do pelo código a Program.cs seguir.

    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);
        }
    }
    
  4. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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.

  5. Para alterar o idioma de destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-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 ao microfone quando solicitado. O que você fala deve ser produzido 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.

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

  • Este exemplo usa a operação para transcrever enunciados de até 30 segundos ou até que o RecognizeOnceAsync silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como traduzir voz.
  • Para reconhecer a fala de um arquivo de áudio, use FromWavFileInput em vez de FromDefaultMicrophoneInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Para arquivos de áudio compactado, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. Para obter mais informações, consulte Como usar áudio de entrada compactada.

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Pacote de documentação | de referência (NuGet) | Exemplos adicionais no GitHub

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar chaves.

Configurar o ambiente

O SDK de fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instala o SDK de fala posteriormente neste guia, mas primeiro verifique o guia de instalação do SDK para obter mais 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ê pode acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para produção, use uma maneira mais segura de armazenar e acessar suas credenciais.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para 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 Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Para definir as variáveis de ambiente para sua chave de recurso de fala e região, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente, substitua SPEECH_KEY sua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGION sua região por uma das regiões do seu recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se você só precisar acessar as variáveis de ambiente no console atual, poderá 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 precisam ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Traduzir discurso a partir de um microfone

Siga estas etapas para criar um novo aplicativo de console e instalar o SDK de fala.

  1. Crie um novo projeto de console C++ no Visual Studio Community 2022 chamado SpeechTranslation.

  2. Instale o SDK de fala em seu novo projeto com o gerenciador de pacotes NuGet.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Substitua o conteúdo do 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
    }
    
  4. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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.

  5. Para alterar o idioma de destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-ES. O idioma padrão é en se você não especificar um idioma.

Crie e execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone.

Fale ao microfone quando solicitado. O que você fala deve ser produzido 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.

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

  • Este exemplo usa a operação para transcrever enunciados de até 30 segundos ou até que o RecognizeOnceAsync silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como traduzir voz.
  • Para reconhecer a fala de um arquivo de áudio, use FromWavFileInput em vez de FromDefaultMicrophoneInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Para arquivos de áudio compactado, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. Para obter mais informações, consulte Como usar áudio de entrada compactada.

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Pacote de documentação | de referência (Go) | Amostras adicionais no GitHub

O SDK de Fala para Go não oferece suporte à tradução de fala. Selecione outra linguagem de programação ou a referência Go e exemplos vinculados desde o início deste artigo.

Documentação | de referência Exemplos adicionais no GitHub

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar chaves.

Configurar o ambiente

Antes de poder fazer qualquer coisa, você precisa instalar o SDK de fala. O exemplo neste início rápido funciona com o Java Runtime.

  1. Instale o Apache Maven. Em seguida, execute mvn -v para confirmar a instalação bem-sucedida.
  2. Crie um novo pom.xml arquivo na raiz do seu projeto e copie o seguinte para ele:
    <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>
    
  3. 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ê pode acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para produção, use uma maneira mais segura de armazenar e acessar suas credenciais.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para 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 Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Para definir as variáveis de ambiente para sua chave de recurso de fala e região, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente, substitua SPEECH_KEY sua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGION sua região por uma das regiões do seu recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se você só precisar acessar as variáveis de ambiente no console atual, poderá 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 precisam ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Traduzir discurso a partir de um microfone

Siga estas etapas para criar um novo aplicativo de console para reconhecimento de fala.

  1. Crie um novo arquivo nomeado SpeechTranslation.java no mesmo diretório raiz do projeto.

  2. Copie o seguinte código para 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);
        }
    }
    
  3. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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.

  4. Para alterar o idioma de destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-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 ao microfone quando solicitado. O que você fala deve ser produzido 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.

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

  • Este exemplo usa a operação para transcrever enunciados de até 30 segundos ou até que o RecognizeOnceAsync silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como traduzir voz.
  • Para reconhecer a fala de um arquivo de áudio, use fromWavFileInput em vez de fromDefaultMicrophoneInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Para arquivos de áudio compactado, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. Para obter mais informações, consulte Como usar áudio de entrada compactada.

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Pacote de documentação | de referência (npm) | Exemplos adicionais no código-fonte da Biblioteca GitHub |

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar chaves.

Configurar o ambiente

Antes de poder fazer qualquer coisa, você precisa instalar o SDK de fala para JavaScript. Se você quiser apenas que o nome do pacote seja instalado, execute npm install microsoft-cognitiveservices-speech-sdk. Para obter instruções de instalação guiadas, consulte 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ê pode acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para produção, use uma maneira mais segura de armazenar e acessar suas credenciais.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para 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 Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Para definir as variáveis de ambiente para sua chave de recurso de fala e região, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente, substitua SPEECH_KEY sua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGION sua região por uma das regiões do seu recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se você só precisar acessar as variáveis de ambiente no console atual, poderá 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 precisam ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se você 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.

  1. Abra um prompt de comando onde você deseja o novo projeto e crie um novo arquivo chamado SpeechTranslation.js.

  2. Instale o SDK de fala para JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copie o seguinte código para 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();
    
  4. No SpeechTranslation.js, substitua YourAudioFile.wav por seu próprio arquivo WAV. Este exemplo só reconhece a fala de um arquivo WAV. Para obter informações sobre outros formatos de áudio, consulte Como usar áudio de entrada compactada. Este exemplo suporta até 30 segundos de áudio.

  5. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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.

  6. Para alterar o idioma de destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-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 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.

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

Este exemplo usa a operação para transcrever enunciados de até 30 segundos ou até que o recognizeOnceAsync silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como traduzir voz.

Nota

Não há suporte para reconhecer a fala de um microfone no Node.js. É suportado apenas em um ambiente JavaScript baseado em navegador.

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Pacote de documentação | de referência (download) | Exemplos adicionais no GitHub

O SDK de fala para Objective-C suporta tradução de fala, mas ainda não incluímos um guia aqui. Selecione outra linguagem de programação para começar e aprender sobre os conceitos, ou veja a referência Objective-C e exemplos vinculados desde o início deste artigo.

Pacote de documentação | de referência (download) | Exemplos adicionais no GitHub

O Speech SDK for Swift suporta tradução de fala, mas ainda não incluímos um guia aqui. Selecione outra linguagem de programação para começar e aprender sobre os conceitos, ou veja a referência Swift e exemplos vinculados desde o início deste artigo.

Pacote de documentação | de referência (PyPi) | Amostras adicionais no GitHub

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar chaves.

Configurar o ambiente

O Speech SDK for Python está disponível como um módulo Python Package Index (PyPI). O Speech SDK for Python é compatível com Windows, Linux e macOS.

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 mais 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ê pode acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para produção, use uma maneira mais segura de armazenar e acessar suas credenciais.

Importante

Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure para 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 Cofre de Chaves do Azure. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.

Para obter mais informações sobre segurança de serviços de IA, consulte Autenticar solicitações para serviços de IA do Azure.

Para definir as variáveis de ambiente para sua chave de recurso de fala e região, abra uma janela de console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente, substitua SPEECH_KEY sua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGION sua região por uma das regiões do seu recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Nota

Se você só precisar acessar as variáveis de ambiente no console atual, poderá 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 precisam ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Traduzir discurso a partir de um microfone

Siga estas etapas para criar um novo aplicativo de console.

  1. Abra um prompt de comando onde você deseja o novo projeto e crie um novo arquivo chamado speech_translation.py.

  2. Execute este comando para instalar o SDK de fala:

    pip install azure-cognitiveservices-speech
    
  3. Copie o seguinte código para 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()
    
  4. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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.

  5. Para alterar o idioma de destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-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 ao microfone quando solicitado. O que você fala deve ser produzido 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.

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

  • Este exemplo usa a operação para transcrever enunciados de até 30 segundos ou até que o recognize_once_async silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como traduzir voz.
  • Para reconhecer a fala de um arquivo de áudio, use filename em vez de use_default_microphone:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Para arquivos de áudio compactado, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. Para obter mais informações, consulte Como usar áudio de entrada compactada.

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Referência | da API REST de fala para texto API REST de fala para texto para referência | de áudio curta Exemplos adicionais no GitHub

A API REST não suporta tradução de voz. Selecione outra linguagem ou ferramenta de programação no topo desta página.

Neste início rápido, você executa um aplicativo para traduzir fala de um idioma para texto em outro idioma.

Gorjeta

Experimente o Kit de Ferramentas de Fala da IA do Azure para criar e executar facilmente exemplos no Visual Studio Code.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Crie um recurso de Fala no portal do Azure.
  • Obtenha a chave de recurso de Fala e a região. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar 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.

  1. Execute o seguinte comando da CLI do .NET para instalar a CLI de fala:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Execute os comandos a seguir para configurar sua chave de recurso de fala e região. Substitua SUBSCRIPTION-KEY pela chave de recurso de Fala e substitua REGION pela região de recurso de Fala.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Traduzir discurso a partir 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 ao microfone e verá a transcrição do seu discurso traduzido em tempo real. A CLI de fala para após um período de silêncio, 30 segundos, ou quando você pressiona 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.')

Observações

Agora que você concluiu o início rápido, aqui estão algumas considerações adicionais:

  • Para obter fala de um arquivo de áudio, use --file em vez de --microphone. Para arquivos de áudio compactado, como MP4, instale o GStreamer e use --formato . Para obter mais informações, consulte Como usar áudio de entrada compactada.
    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 de reconhecimento de palavras ou enunciados específicos, 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 outro idioma suportado. Especifique a localidade completa com um separador de traço (-). Por exemplo, es-ES para o 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 destino da tradução, substitua it por outro idioma suportado. Com poucas exceções, você especifica apenas o código de idioma que precede o separador de traço de localidade (-). Por exemplo, use es para espanhol (Espanha) em vez de es-ES. O idioma padrão é en se você não especificar um idioma.
    spx translate --microphone --target es
    
  • Para reconhecimento contínuo de áudio superior a 30 segundos, anexe --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

Clean up resources (Limpar recursos)

Você pode usar o portal do Azure ou a CLI (Interface de Linha de Comando) do Azure para remover o recurso de Fala criado.

Próximos passos