Partilhar via


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

Neste quickstart, experimenta a transformação de voz em texto em tempo real no Microsoft Foundry.

Pré-requisitos

Experimente a conversão de voz em texto em tempo real

  1. Inicie sessão no Microsoft Foundry. Certifica-te de que a opção New Foundry está ativada. Estes passos referem-se à Foundry (new).
  2. Selecione Construir no menu superior direito.
  3. Selecione Modelos no painel esquerdo.
  4. O separador de Serviços de IA mostra os modelos Foundry que podem ser usados imediatamente no portal Foundry. Selecione Azure Speech - Speech to text para abrir o playground Speech to Text (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 o LLM.
  6. Use a seção Carregar arquivos para selecionar seu arquivo de áudio. Em seguida, selecione Iniciar.
  7. Veja a saída da transcrição no separador Transcrição . Opcionalmente, exiba a saída de resposta bruta da API na guia JSON .
  8. Alterne para o separador Código para obter o código de exemplo para usar a funcionalidade de conversão de fala em texto na sua aplicação.

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

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, consulte O que é transcrição em lote. Se você não tiver certeza de qual solução de fala para texto é ideal para você, consulte O que é fala para 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ê instala o SDK de fala mais adiante neste guia. Para quaisquer outros requisitos, consulte Instalar o SDK de fala.

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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 a chave do recurso de reconhecimento de fala e o ponto de extremidade, abra uma janela de consola e siga as instruções para o seu sistema operativo e ambiente de desenvolvimento.

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

Observação

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.

Reconhecer voz a partir de um microfone

Sugestão

Experimenta o Azure Speech no Foundry Tools Toolkit para construir e executar samples facilmente no Visual Studio Code.

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

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

    dotnet new console
    

    Este 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 do Program.cs pelo seguinte código:

    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 suportado. 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 de 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 as variáveis de SPEECH_KEYENDPOINTambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

  6. Fale ao 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.
    

Observações

Aqui estão algumas outras considerações:

  • Este exemplo usa a operação RecognizeOnceAsync para transcrever enunciados de até 30 segundos ou até que o silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como reconhecer 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.

Limpeza de 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.

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

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

Para transcrever arquivos de áudio de forma assíncrona, consulte O que é transcrição em lote. Se você não tiver certeza de qual solução de fala para texto é ideal para você, consulte O que é fala para 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ê instala o SDK de fala mais adiante neste guia. Para outros requisitos, consulte Instalar o SDK de fala.

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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 a chave do recurso de reconhecimento de fala e o ponto de extremidade, abra uma janela de consola e siga as instruções para o seu sistema operativo e ambiente de desenvolvimento.

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

Observação

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.

Reconhecer voz a partir de um microfone

Sugestão

Experimenta o Azure Speech no Foundry Tools Toolkit para construir e executar samples facilmente 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++ na Comunidade do Visual Studio chamado SpeechRecognition.

  2. Selecione Ferramentas>Gestor de Pacotes do NuGet>Consola do Gestor de Pacotes. No Console do Gerenciador de Pacotes, execute este comando:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Substitua o conteúdo do 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 suportado. 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 de idioma.

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

    Importante

    Certifique-se de definir as variáveis de SPEECH_KEYENDPOINTambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

  6. Fale ao 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.
    

Observações

Aqui estão algumas outras considerações:

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

  • 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 compactado, como MP4, instale o GStreamer e use PullAudioInputStream ou PushAudioInputStream. Para obter mais informações, consulte Como usar áudio de entrada compactada.

Limpeza de 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.

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

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

Configurar o ambiente

Instale o SDK de Voz para Go. Para obter requisitos e instruções, consulte Instalar o SDK de fala.

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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_KEYsua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGIONsua região por uma das regiões do seu recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do seu recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Observação

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.

Reconhecer voz a partir de um microfone

Siga estas etapas para criar um módulo GO.

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

  2. Copie o seguinte código para 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 seguintes comandos para criar um arquivo go.mod vinculado a componentes hospedados no GitHub:

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

    Importante

    Certifique-se de definir as variáveis de SPEECH_KEYSPEECH_REGIONambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

  4. Compile e execute o código:

    go build
    go run speech-recognition
    

Limpeza de 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.

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

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

Configurar o ambiente

Para configurar seu ambiente, instale 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 código 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.43.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Instale o SDK de voz e as dependências.

    mvn clean dependency:copy-dependencies
    

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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 a chave do recurso de reconhecimento de fala e o ponto de extremidade, abra uma janela de consola e siga as instruções para o seu sistema operativo e ambiente de desenvolvimento.

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

Observação

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.

Reconhecer voz a partir 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 para 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 suportado. 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 de 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 as variáveis de SPEECH_KEYENDPOINTambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

  5. Fale ao 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.
    

Observações

Aqui estão algumas outras considerações:

  • Este exemplo usa a operação RecognizeOnceAsync para transcrever enunciados de até 30 segundos ou até que o silêncio seja detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como reconhecer 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.

Limpeza de 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.

Documentação de referência | Pacote (npm) | Exemplos adicionais no GitHub | Código-fonte da biblioteca

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

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

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
    

Obter informações do recurso

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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_KEYsua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGIONsua região por uma das regiões do seu recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do seu recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Observação

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.

Reconhecer 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();
    

    No transcription.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.

    Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. 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 de idioma.

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

    node transcription.js
    

Aguarde alguns instantes para obter a resposta.

Resultado

A fala do arquivo de áudio deve ser saída como texto:

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

Observações

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

Observação

Não há suporte para reconhecer a fala de um microfone no Node.js. É suportado apenas em um ambiente JavaScript baseado em navegador. Para obter mais informações, consulte o exemplo React e a implementação de fala em texto a partir de um microfone no GitHub.

O exemplo 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ão de fala em texto.

Limpeza de 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.

Documentação de Referência | Pacote (PyPi) | Amostras adicionais no GitHub

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

Configurar o ambiente

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

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

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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 a chave do recurso de reconhecimento de fala e o ponto de extremidade, abra uma janela de consola e siga as instruções para o seu sistema operativo e ambiente de desenvolvimento.

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

Observação

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.

Reconhecer voz a partir de um microfone

Sugestão

Experimenta o Azure Speech no Foundry Tools Toolkit para construir e executar samples facilmente no Visual Studio Code.

Siga estas etapas para criar um aplicativo de console.

  1. Abra uma janela de prompt de comando na pasta onde 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 para 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 suportado. 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 as variáveis de SPEECH_KEYENDPOINTambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

  6. Fale ao 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.
    

Observações

Aqui estão algumas 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 detetado. Para obter informações sobre o reconhecimento contínuo de áudio mais longo, incluindo conversas multilingues, consulte Como reconhecer 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.

Limpeza de 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.

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

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

Configurar o ambiente

O Speech SDK for Swift é distribuído como um pacote de estrutura. A estrutura suporta Objective-C e Swift no iOS e macOS.

O Speech SDK pode ser usado em projetos 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 em suas instruções de instalação.

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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_KEYsua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGIONsua região por uma das regiões do seu recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do seu recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Observação

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.

Reconhecer voz a partir 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 no exemplo "Reconhecer Fala de um Microfone em Swift no macOS". O repositório também tem amostras do iOS.

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

  3. Execute o comando pod install. Este comando gera um workspace Xcode contendo o aplicativo de exemplo e o SDK de Fala como uma dependência.

  4. Abra o helloworld.xcworkspace espaço de trabalho no Xcode.

  5. Abra o arquivo chamado AppDelegate.swift e localize os applicationDidFinishLaunching métodos e recognizeFromMic conforme 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. No AppDelegate.m, use as variáveis de ambiente que você definiu anteriormente para sua chave de recurso de 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 suportado. 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 de idioma.

  8. Para tornar visível a saída de depuração, selecione View>>

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

    Importante

    Certifique-se de definir as variáveis de SPEECH_KEYSPEECH_REGIONambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

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

Observações

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

Objective-C

O SDK de Fala para Objective-C compartilha bibliotecas de cliente e documentação de referência com o SDK de Fala para Swift. Para obter exemplos de código Objective-C, consulte o projeto de exemplo reconhecer a fala a partir de um microfone no Objective-C para macOS no GitHub.

Limpeza de 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.

Documentação de referência | Pacote (npm) | Exemplos adicionais no GitHub | Código-fonte da biblioteca

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

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

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 de TypeScript. Execute o seguinte comando:

    npm install --save-dev @types/node
    

Obter informações do recurso

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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_KEYsua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGIONsua região por uma das regiões do seu recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do seu recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Observação

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.

Reconhecer 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();
    

    No transcription.ts, substitua YourAudioFile.wav pelo seu próprio ficheiro .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.

    Para alterar o idioma de reconhecimento de fala, substitua en-US por outro idioma suportado. 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 de idioma.

  2. Crie o tsconfig.json arquivo para transpilar o código TypeScript e copie 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. Converter TypeScript em JavaScript.

    tsc
    

    Este comando não deve produzir nenhuma saída se for bem-sucedido.

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

    node transcription.js
    

Aguarde alguns instantes para obter a resposta.

Resultado

A fala do arquivo de áudio deve ser saída como texto:

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

Observações

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

Limpeza de 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 áudio curto | Exemplos adicionais no GitHub

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

Sugestão

Para uma 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 suporta recursos como identificação de idioma e diarização.

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

Pré-requisitos

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

Definir variáveis de ambiente

Precisa de autenticar a sua aplicação para aceder ao Foundry Tools. 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.

Use chaves de API com cuidado. 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 Cofre de Chaves do Azure, gire as chaves regularmente e restrinja o acesso ao Cofre de Chaves do Azure 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, consulte Chaves de API com o Cofre de Chaves do Azure.

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_KEYsua chave por uma das chaves do seu recurso.
  • Para definir a variável de ambiente, substitua SPEECH_REGIONsua região por uma das regiões do seu recurso.
  • Para definir a ENDPOINT variável de ambiente, substitua your-endpoint pelo ponto de extremidade real do seu recurso de fala.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint

Observação

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.

Reconhecer fala de um arquivo

Abra uma janela do console e execute o seguinte comando cURL. Substitua YourAudioFile.wav pelo caminho e nome do 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 as variáveis de SPEECH_KEYSPEECH_REGIONambiente. Se você não definir essas variáveis, o exemplo falhará com uma mensagem de erro.

Você deve receber uma resposta semelhante à que é mostrada aqui. O DisplayText deve ser o texto que foi reconhecido a partir do seu arquivo de áudio. O comando reconhece até 60 segundos de áudio e converte-o em texto.

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

Para obter mais informações, consulte API REST de fala para texto para áudio curto.

Limpeza de 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óximo passo