Compartilhar via


Início rápido: reconhecer e converter fala em texto

Neste guia de início rápido, você irá experimentar a conversão de fala para texto em tempo real no Microsoft Foundry.

Pré-requisitos

Experimentar a conversão de fala em texto em tempo real

  1. Entre no Microsoft Foundry. Certifique-se de que a chave New Foundry está ativada. Estas etapas se referem ao Foundry (novo).
  2. Selecione Compilar no menu superior direito.
  3. Selecione Modelos no painel esquerdo.
  4. A guia Serviços de IA mostra os modelos do Foundry que podem ser usados prontamente no portal do Foundry. Selecione Azure Speech - Conversão de fala em texto para abrir o ambiente de testes de Conversão de Fala em Texto.
  5. Opcionalmente, use a seção Parâmetros para alterar a tarefa, o idioma, a política de palavrões e outras configurações. Você também pode adicionar instruções especiais para a LLM.
  6. Use a seção Carregar arquivos para selecionar o arquivo de áudio. Em seguida, selecione Iniciar.
  7. Exiba a saída de transcrição na guia Transcrição . Opcionalmente, exiba a saída de resposta da API bruta na guia JSON .
  8. Mude para a guia Código para obter o código de exemplo para usar o recurso de conversão de fala em texto em seu aplicativo.

Documentação de referência | Pacotes (NuGet) | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

Configurar o ambiente

O SDK de Fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instalará o Serviço Cognitivo do Azure para Fala SDK mais adiante nesse guia. Para quaisquer outros requisitos, consulte Instalar o SDK de Fala.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para seu ponto de extremidade e chave de recurso de Fala, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente SPEECH_KEY, substitua your-key por uma das chaves do recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua seu ponto de extremidade por um dos pontos de extremidade do seu recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

Dica

Experimente o Kit de Ferramentas do Azure Speech in Foundry Tools para criar e executar amostras com facilidade no Visual Studio Code.

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

  1. Abra uma janela do prompt de comando na pasta em que você deseja o novo projeto. Execute este comando para criar um aplicativo de console com a CLI do .NET.

    dotnet new console
    

    Esse comando cria o arquivo Program.cs no diretório do projeto.

  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 de Program.cs pelo código a seguir:

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    
    class Program 
    {
        // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT");
    
        static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult)
        {
            switch (speechRecognitionResult.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}");
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(speechRecognitionResult);
                    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 endpoint values?");
                    }
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint);
            speechConfig.SpeechRecognitionLanguage = "en-US";
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(speechRecognitionResult);
        }
    }
    
  4. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  5. Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:

    dotnet run
    

    Importante

    Certifique-se de definir SPEECH_KEY e as ENDPOINTvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

  6. Fale no microfone quando solicitado. O que você fala deve aparecer como texto:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Comentários

Confira outras considerações:

  • 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 reconhecer a fala.

  • 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 compactados, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. 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) | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

Configurar o ambiente

O SDK de Fala está disponível como um pacote NuGet e implementa o .NET Standard 2.0. Você instalará o Serviço Cognitivo do Azure para Fala SDK mais adiante nesse guia. Para outros requisitos, consulte Instalar o SDK de Fala.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para seu ponto de extremidade e chave de recurso de Fala, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente SPEECH_KEY, substitua your-key por uma das chaves do recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua seu ponto de extremidade por um dos pontos de extremidade do seu recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

Dica

Experimente o Kit de Ferramentas do Azure Speech in Foundry Tools para criar e executar amostras com facilidade no Visual Studio Code.

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

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

  2. Selecione Ferramentas>Gerenciador de pacotes Nuget>Console do gerenciador de pacotes. No Console do gerenciador de pacotes, execute este comando:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Substitua o conteúdo de SpeechRecognition.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;
    
    std::string GetEnvironmentVariable(const char* name);
    
    int main()
    {
        // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
        auto speechKey = GetEnvironmentVariable("SPEECH_KEY");
        auto endpoint = GetEnvironmentVariable("ENDPOINT");
    
        if ((size(speechKey) == 0) || (size(endpoint) == 0)) {
            std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint);
    
        speechConfig->SetSpeechRecognitionLanguage("en-US");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = speechRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::RecognizedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << 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 endpoint 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 com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  5. Para iniciar o reconhecimento de fala de um microfone, crie e execute seu novo aplicativo de console.

    Importante

    Certifique-se de definir SPEECH_KEY e as ENDPOINTvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

  6. Fale no microfone quando solicitado. O que você fala deve aparecer como texto:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Comentários

Confira outras considerações:

  • 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 reconhecer a fala.

  • Para reconhecer a fala de um arquivo de áudio, use FromWavFileInput em vez de FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Para arquivos de áudio compactados, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. 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 (Go) | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

  • Uma assinatura do Azure. É possível criar uma gratuitamente.
  • Crie um recurso do Foundry para Voz no portal do Azure.
  • Obtenha a chave e a região do recurso de Fala. Depois que seu recurso de Serviço Cognitivo do Azure para Fala for implantado, selecione Ir para o recurso para visualizar e gerenciar as chaves.

Configurar o ambiente

Instale o Serviço Cognitivo do Azure para Fala SDK para Go. Para obter requisitos e instruções, consulte Instalar o SDK de Fala.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para sua região e chave de recurso de Serviço Cognitivo do Azure para Fala, 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 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.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

Siga estas etapas para criar um módulo GO.

  1. Abra uma janela do prompt de comando na pasta em que você deseja o novo projeto. Crie um novo arquivo chamado speech-recognition.go.

  2. Copie o seguinte código em speech-recognition.go:

    package main
    
    import (
        "bufio"
        "fmt"
        "os"
    
        "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func sessionStartedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Started (ID=", event.SessionID, ")")
    }
    
    func sessionStoppedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Stopped (ID=", event.SessionID, ")")
    }
    
    func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognizing:", event.Result.Text)
    }
    
    func recognizedHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognized:", event.Result.Text)
    }
    
    func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) {
        defer event.Close()
        fmt.Println("Received a cancellation: ", event.ErrorDetails)
        fmt.Println("Did you set the speech resource key and region values?")
    }
    
    func main() {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speechKey :=  os.Getenv("SPEECH_KEY")
        speechRegion := os.Getenv("SPEECH_REGION")
    
        audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput()
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer audioConfig.Close()
        speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechConfig.Close()
        speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechRecognizer.Close()
        speechRecognizer.SessionStarted(sessionStartedHandler)
        speechRecognizer.SessionStopped(sessionStoppedHandler)
        speechRecognizer.Recognizing(recognizingHandler)
        speechRecognizer.Recognized(recognizedHandler)
        speechRecognizer.Canceled(cancelledHandler)
        speechRecognizer.StartContinuousRecognitionAsync()
        defer speechRecognizer.StopContinuousRecognitionAsync()
        bufio.NewReader(os.Stdin).ReadBytes('\n')
    }
    
  3. Execute os comandos a seguir para criar um arquivo go.mod vinculado aos componentes hospedados no GitHub:

    go mod init speech-recognition
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Importante

    Certifique-se de definir SPEECH_KEY e as SPEECH_REGIONvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

  4. Criar e executar o código:

    go build
    go run speech-recognition
    

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 | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

Configurar o ambiente

Para configurar o seu ambiente, instale o SDK de Fala. O exemplo deste guia de início rápido funciona com o Runtime Java.

  1. Instale o Apache Maven. Em seguida, execute mvn -v para confirmar a instalação bem-sucedida.

  2. Crie um novo arquivo pom.xml na raiz do projeto e copie nele o seguinte código:

    <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.43.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 as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para seu ponto de extremidade e chave de recurso de Fala, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente SPEECH_KEY, substitua your-key por uma das chaves do recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua seu ponto de extremidade por um dos pontos de extremidade do seu recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

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

  1. Crie um novo arquivo chamado SpeechRecognition.java no mesmo diretório raiz do projeto.

  2. Copie o seguinte código em SpeechRecognition.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    
    public class SpeechRecognition {
        // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
        private static String speechKey = System.getenv("SPEECH_KEY");
        private static String endpoint = System.getenv("ENDPOINT");
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint);
            speechConfig.setSpeechRecognitionLanguage("en-US");
            recognizeFromMicrophone(speechConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
            SpeechRecognitionResult speechRecognitionResult = task.get();
    
            if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText());
            }
            else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (speechRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult);
                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 endpoint values?");
                }
            }
    
            System.exit(0);
        }
    }
    
  3. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  4. Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:

    javac SpeechRecognition.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" SpeechRecognition
    

    Importante

    Certifique-se de definir SPEECH_KEY e as ENDPOINTvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

  5. Fale no microfone quando solicitado. O que você fala deve aparecer como texto:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Comentários

Confira outras considerações:

  • 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 reconhecer a fala.

  • 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 compactados, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. 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) | Amostras adicionais no GitHub | Código-fonte de biblioteca

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

  • Uma assinatura do Azure. É possível criar uma gratuitamente.
  • Crie um recurso do Foundry para Voz no portal do Azure.
  • Obtenha a chave e a região do recurso de Fala. Depois que seu recurso de Serviço Cognitivo do Azure para Fala for implantado, selecione Ir para o recurso para visualizar e gerenciar as chaves.

Você também precisa de um arquivo de áudio .wav em seu computador local. Você pode usar seu próprio arquivo .wav (de até 30 segundos) ou baixar o arquivo de exemplo https://crbn.us/whatstheweatherlike.wav.

Configuração

  1. Crie uma nova pasta transcription-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Crie o package.json com o seguinte comando:

    npm init -y
    
  3. Instale o SDK de Fala para JavaScript com:

    npm install microsoft-cognitiveservices-speech-sdk
    

Recuperar as informações do recurso

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para sua região e chave de recurso de Serviço Cognitivo do Azure para Fala, 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 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.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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.

Reconhecer a fala de um arquivo

Para transcrever a fala de um arquivo:

  1. Crie um novo arquivo chamado transcription.js com o seguinte conteúdo:

    import { readFileSync, createReadStream } from "fs";
    import { SpeechConfig, AudioConfig, ConversationTranscriber, AudioInputStream } from "microsoft-cognitiveservices-speech-sdk";
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY);
    function fromFile() {
        const filename = "katiesteve.wav";
        const audioConfig = AudioConfig.fromWavFileInput(readFileSync(filename));
        const conversationTranscriber = new ConversationTranscriber(speechConfig, audioConfig);
        const pushStream = AudioInputStream.createPushStream();
        createReadStream(filename).on('data', function (chunk) {
            pushStream.write(chunk.slice());
        }).on('end', function () {
            pushStream.close();
        });
        console.log("Transcribing from: " + filename);
        conversationTranscriber.sessionStarted = function (s, e) {
            console.log("SessionStarted event");
            console.log("SessionId:" + e.sessionId);
        };
        conversationTranscriber.sessionStopped = function (s, e) {
            console.log("SessionStopped event");
            console.log("SessionId:" + e.sessionId);
            conversationTranscriber.stopTranscribingAsync();
        };
        conversationTranscriber.canceled = function (s, e) {
            console.log("Canceled event");
            console.log(e.errorDetails);
            conversationTranscriber.stopTranscribingAsync();
        };
        conversationTranscriber.transcribed = function (s, e) {
            console.log("TRANSCRIBED: Text=" + e.result.text + " Speaker ID=" + e.result.speakerId);
        };
        // Start conversation transcription
        conversationTranscriber.startTranscribingAsync(function () { }, function (err) {
            console.trace("err - starting transcription: " + err);
        });
    }
    fromFile();
    

    Em transcription.js, substitua YourAudioFile.wav por seu próprio arquivo de .wav . 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 outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  2. Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um arquivo:

    node transcription.js
    

Leva alguns minutos para obter a resposta.

Saída

A fala do arquivo de áudio deve sair como texto:

RECOGNIZED: Text=I'm excited to try speech to text.

Comentários

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 reconhecer a 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. Para obter mais informações, confira o exemplo de React e a implementação de conversão de fala em texto a partir de um microfone no GitHub.

O exemplo de React mostra padrões de design para a troca e o gerenciamento de tokens de autenticação. Ele também mostra a captura de áudio de um microfone ou arquivo para conversões de fala em texto.

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 (PyPi) | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

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.

Instale uma versão do Python a partir da versão 3.7 ou posterior. Para outros requisitos, consulte Instalar o SDK de Fala.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para seu ponto de extremidade e chave de recurso de Fala, abra uma janela do console e siga as instruções para seu sistema operacional e ambiente de desenvolvimento.

  • Para definir a variável de ambiente SPEECH_KEY, substitua your-key por uma das chaves do recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua seu ponto de extremidade por um dos pontos de extremidade do seu recurso.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

Dica

Experimente o Kit de Ferramentas do Azure Speech in Foundry Tools para criar e executar amostras com facilidade no Visual Studio Code.

Siga estas etapas para criar um aplicativo de console.

  1. Abra uma janela do prompt de comando na pasta em que você deseja o novo projeto. Crie um novo arquivo chamado speech_recognition.py.

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

    pip install azure-cognitiveservices-speech
    
  3. Copie o seguinte código em speech_recognition.py:

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
         # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT"
         # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com"
        speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT'))
        speech_config.speech_recognition_language="en-US"
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
        if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
            print("Recognized: {}".format(speech_recognition_result.text))
        elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
        elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = speech_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 endpoint values?")
    
    recognize_from_microphone()
    
  4. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte identificação do idioma.

  5. Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um microfone:

    python speech_recognition.py
    

    Importante

    Certifique-se de definir SPEECH_KEY e as ENDPOINTvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

  6. Fale no microfone quando solicitado. O que você fala deve aparecer como texto:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Comentários

Confira outras considerações:

  • 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 reconhecer a fala.

  • 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 compactados, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. 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 (download) | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

  • Uma assinatura do Azure. É possível criar uma gratuitamente.
  • Crie um recurso do Foundry para Voz no portal do Azure.
  • Obtenha a chave e a região do recurso de Fala. Depois que seu recurso de Serviço Cognitivo do Azure para Fala for implantado, selecione Ir para o recurso para visualizar e gerenciar as chaves.

Configurar o ambiente

O SDK de Fala para Swift é distribuído como um pacote de estrutura. A estrutura dá suporte a Objective-C e Swift no iOS e no macOS.

O SDK de Fala pode ser usado em projetos do Xcode como um CocoaPod, ou baixado diretamente e vinculado manualmente. Este guia usa um CocoaPod. Instale o gerenciador de dependência do CocoaPod conforme descrito nas instruções de instalação.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para sua região e chave de recurso de Serviço Cognitivo do Azure para Fala, 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 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.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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.

Reconhecer fala de um microfone

Siga estas etapas para reconhecer a fala em um aplicativo macOS.

  1. Clone o repositório Azure-Samples/cognitive-services-speech-sdk para obter o projeto de exemplo Reconhecer fala a partir de um microfone em Swift no MacOS. O repositório também tem exemplos de iOS.

  2. Navegue até o diretório do aplicativo de exemplo baixado (helloworld) em um terminal.

  3. Execute o comando pod install. Esse comando gera um espaço de trabalho do Xcode helloworld.xcworkspace que contém o aplicativo de amostra e o SDK de Fala como uma dependência.

  4. Abra o workspace helloworld.xcworkspace no Xcode.

  5. Abra o arquivo chamado AppDelegate.swift e localize os métodos applicationDidFinishLaunching e recognizeFromMic como mostrado aqui.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate {
        var label: NSTextField!
        var fromMicButton: NSButton!
    
        var sub: String!
        var region: String!
    
        @IBOutlet weak var window: NSWindow!
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            print("loading")
            // load subscription information
            sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
            region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
            label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200))
            label.textColor = NSColor.black
            label.lineBreakMode = .byWordWrapping
    
            label.stringValue = "Recognition Result"
            label.isEditable = false
    
            self.window.contentView?.addSubview(label)
    
            fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30))
            fromMicButton.title = "Recognize"
            fromMicButton.target = self
            fromMicButton.action = #selector(fromMicButtonClicked)
            self.window.contentView?.addSubview(fromMicButton)
        }
    
        @objc func fromMicButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.recognizeFromMic()
            }
        }
    
        func recognizeFromMic() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
            speechConfig?.speechRecognitionLanguage = "en-US"
    
            let audioConfig = SPXAudioConfiguration()
    
            let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig)
    
            reco.addRecognizingEventHandler() {reco, evt in
                print("intermediate recognition result: \(evt.result.text ?? "(no result)")")
                self.updateLabel(text: evt.result.text, color: .gray)
            }
    
            updateLabel(text: "Listening ...", color: .gray)
            print("Listening...")
    
            let result = try! reco.recognizeOnce()
            print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)")
            updateLabel(text: result.text, color: .black)
    
            if result.reason != SPXResultReason.recognizedSpeech {
                let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result)
                print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)")
                print("Did you set the speech resource key and region values?")
                updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red)
            }
        }
    
        func updateLabel(text: String?, color: NSColor) {
            DispatchQueue.main.async {
                self.label.stringValue = text!
                self.label.textColor = color
            }
        }
    }
    
  6. Em AppDelegate.m, use as variáveis ​​de ambiente que você definiu anteriormente para sua chave de recurso de Serviço Cognitivo do Azure para Fala e região.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  8. Para tornar a saída de depuração visível, selecione Exibir>Área de Depuração>Ativar Console.

  9. Compile e execute o código de exemplo selecionando Produto>Executar no menu ou selecionando o botão Reproduzir.

    Importante

    Certifique-se de definir SPEECH_KEY e as SPEECH_REGIONvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

Depois de selecionar o botão no aplicativo e dizer algumas palavras, você deverá ver o texto que falou na parte inferior da tela. Quando você executa o aplicativo pela primeira vez, ele solicita que você conceda acesso ao microfone do seu computador.

Comentários

Este exemplo usa a operação recognizeOnce 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 reconhecer a fala.

Objective-C

O SDK de Fala para Objective-C compartilha bibliotecas de clientes e documentação de referência com o SDK de Fala para Swift. Para ver exemplos de código Objective-C, confira o projeto de exemplo Reconhecer a fala de um microfone em Objective-C no macOS no GitHub.

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) | Amostras adicionais no GitHub | Código-fonte de biblioteca

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

  • Uma assinatura do Azure. É possível criar uma gratuitamente.
  • Crie um recurso do Foundry para Voz no portal do Azure.
  • Obtenha a chave e a região do recurso de Fala. Depois que seu recurso de Serviço Cognitivo do Azure para Fala for implantado, selecione Ir para o recurso para visualizar e gerenciar as chaves.

Você também precisa de um arquivo de áudio .wav em seu computador local. Você pode usar seu próprio arquivo .wav (de até 30 segundos) ou baixar o arquivo de exemplo https://crbn.us/whatstheweatherlike.wav.

Configuração

  1. Crie uma nova pasta transcription-quickstart e vá para a pasta de início rápido com o seguinte comando:

    mkdir transcription-quickstart && cd transcription-quickstart
    
  2. Crie o package.json com o seguinte comando:

    npm init -y
    
  3. Atualize o package.json para ECMAScript com o seguinte comando:

    npm pkg set type=module
    
  4. Instale o SDK de Fala para JavaScript com:

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. Você precisa instalar as definições de tipo Node.js para evitar erros do TypeScript. Execute o comando a seguir:

    npm install --save-dev @types/node
    

Recuperar as informações do recurso

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para sua região e chave de recurso de Serviço Cognitivo do Azure para Fala, 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 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.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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.

Reconhecer a fala de um arquivo

Para transcrever a fala de um arquivo:

  1. Crie um novo arquivo chamado transcription.ts com o seguinte conteúdo:

    import { readFileSync } from "fs";
    import { 
        SpeechConfig, 
        AudioConfig, 
        SpeechRecognizer, 
        ResultReason, 
        CancellationDetails, 
        CancellationReason,
        SpeechRecognitionResult 
    } from "microsoft-cognitiveservices-speech-sdk";
    
    // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
    const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile(): void {
        const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav"));
        const speechRecognizer: SpeechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync((result: SpeechRecognitionResult) => {
            switch (result.reason) {
                case ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    break;
                case ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    const cancellation: CancellationDetails = CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason === 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;
            }
            speechRecognizer.close();
        });
    }
    
    fromFile();
    

    Em transcription.ts, 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, 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 outro idioma com suporte. Por exemplo, use es-ES para espanhol (Espanha). Se você não especificar um idioma, o padrão será en-US. Para obter detalhes sobre como identificar um dos vários idiomas que podem ser falados, consulte Identificação do idioma.

  2. Crie o arquivo tsconfig.json para transpilar o código TypeScript e copiar o código a seguir para ECMAScript.

    {
        "compilerOptions": {
          "module": "NodeNext",
          "target": "ES2022", // Supports top-level await
          "moduleResolution": "NodeNext",
          "skipLibCheck": true, // Avoid type errors from node_modules
          "strict": true // Enable strict type-checking options
        },
        "include": ["*.ts"]
    }
    
  3. Transcompilar de TypeScript para JavaScript.

    tsc
    

    Esse comando não produzirá nenhuma saída se tiver êxito.

  4. Execute seu novo aplicativo de console para iniciar o reconhecimento de fala a partir de um arquivo:

    node transcription.js
    

Leva alguns minutos para obter a resposta.

Saída

A fala do arquivo de áudio deve sair como texto:

RECOGNIZED: Text=I'm excited to try speech to text.

Comentários

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 reconhecer a fala.

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 conversão de fala em texto para áudios curtos | Amostras adicionais no GitHub

Neste guia de início rápido, você cria e executa um aplicativo para reconhecer e transcrever fala em texto em tempo real.

Dica

Para a transcrição rápida de arquivos de áudio, considere o uso da API de Transcrição Rápida. A API de Transcrição Rápida dá suporte a recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, confira O que é transcrição em lote. Se você não tiver certeza de qual solução de conversão de fala em texto é adequada para você, confira O que é conversão de fala em texto?

Pré-requisitos

  • Uma assinatura do Azure. É possível criar uma gratuitamente.
  • Crie um recurso do Foundry para Voz no portal do Azure.
  • Obtenha a chave e a região do recurso de Fala. Depois que seu recurso de Serviço Cognitivo do Azure para Fala for implantado, selecione Ir para o recurso para visualizar e gerenciar as chaves.

Você também precisa de um arquivo de áudio .wav em seu computador local. Você pode usar seu próprio arquivo .wav de até 60 segundos ou baixar o arquivo de exemplo https://crbn.us/whatstheweatherlike.wav.

Definir variáveis de ambiente

Você precisa autenticar seu aplicativo para acessar as Ferramentas Foundry. 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.

Use as chaves de API com cautela. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, faça a rotação de chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com o Azure Key Vault.

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

Para definir as variáveis ​​de ambiente para sua região e chave de recurso de Serviço Cognitivo do Azure para Fala, 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 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.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

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.

Reconhecer a fala de um arquivo

Abra uma janela do console e execute o seguinte comando cURL. Substitua YourAudioFile.wav pelo caminho e nome do seu arquivo de áudio.

curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"

Importante

Certifique-se de definir SPEECH_KEY e as SPEECH_REGIONvariáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.

Você deve receber uma resposta semelhante ao que é mostrado aqui. O DisplayText deve ser o texto que foi reconhecido do arquivo de áudio. O comando reconhece até 60 segundos de áudio e o converte em texto.

{
    "RecognitionStatus": "Success",
    "DisplayText": "My voice is my passport, verify me.",
    "Offset": 6600000,
    "Duration": 32100000
}

Para obter mais informações, confira a API REST de conversão de fala em texto para áudios curtos.

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.

Próxima etapa