Compartilhar via


Início Rápido: converta texto em fala

Neste início rápido, experimente o modelo de conversão de texto em fala do Azure Speech in Foundry Tools in Foundry Tools, usando o Microsoft Foundry.

Pré-requisitos

Tentar conversão de texto em fala

Experimente a conversão de texto em fala no portal do Foundry seguindo estas etapas:

  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 de IA do Azure que podem ser usados prontamente no portal do Foundry. Selecione Azure Speech - Texto para Fala para abrir o ambiente de Texto para Fala.
  5. Escolha uma voz predefinida no menu suspenso e, opcionalmente, ajuste-a usando os controles deslizantes dos parâmetros do provedor.
  6. Insira o texto de exemplo na caixa de texto.
  7. Selecione Reproduzir para ouvir a voz sintética ler seu texto.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

Pré-requisitos

Configurar o ambiente

O Speech SDK está disponível como um pacote NuGet que implementa o .NET Standard 2.0. Instale o SDK de Fala mais adiante neste guia usando o console. Para obter instruções de instalação detalhadas, 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 o seu ponto de extremidade e chave do recurso de Fala, abra uma janela do console e siga as instruções para o 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 ENDPOINT, substitua your-endpoint por um dos pontos de extremidade do 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.

Criar o aplicativo

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
    

    O comando cria um 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 "END_POINT"
        static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY");
        static string endpoint = Environment.GetEnvironmentVariable("END_POINT");
    
        static void OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text)
        {
            switch (speechSynthesisResult.Reason)
            {
                case ResultReason.SynthesizingAudioCompleted:
                    Console.WriteLine($"Speech synthesized for text: [{text}]");
                    break;
                case ResultReason.Canceled:
                    var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult);
                    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;
                default:
                    break;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint); 
    
            // The neural multilingual voice can speak different languages based on the input text.
            speechConfig.SpeechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; 
    
            using (var speechSynthesizer = new SpeechSynthesizer(speechConfig))
            {
                // Get text from the console and synthesize to the default speaker.
                Console.WriteLine("Enter some text that you want to speak >");
                string text = Console.ReadLine();
    
                var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text);
                OutputSpeechSynthesisResult(speechSynthesisResult, text);
            }
    
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }
    
  4. Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural como o idioma, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  5. Execute seu novo aplicativo de console para iniciar a síntese de fala para o alto-falante padrão.

    dotnet run
    

    Importante

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

  6. Insira um texto que você deseja falar. Por exemplo, digite Estou animado para experimentar a conversão de texto em fala. Selecione a tecla Enter para ouvir a fala sintetizada.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakTextAsync para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

Pré-requisitos

Configurar o ambiente

O Speech SDK está disponível como um pacote NuGet que implementa o .NET Standard 2.0. Instale o SDK de Fala mais adiante neste guia. Para obter instruções de instalação detalhadas, 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 o seu ponto de extremidade e chave do recurso de Fala, abra uma janela do console e siga as instruções para o 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 ENDPOINT, substitua your-endpoint por um dos pontos de extremidade do 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.

Criar o aplicativo

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

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

  2. Substitua o conteúdo do SpeechSynthesis.cpp pelo código a seguir:

    #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);
    
        // The neural multilingual voice can speak different languages based on the input text.
        speechConfig->SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural");
    
        auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig);
    
        // Get text from the console and synthesize to the default speaker.
        std::cout << "Enter some text that you want to speak >" << std::endl;
        std::string text;
        getline(std::cin, text);
    
        auto result = speechSynthesizer->SpeakTextAsync(text).get();
    
        // Checks result.
        if (result->Reason == ResultReason::SynthesizingAudioCompleted)
        {
            std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = SpeechSynthesisCancellationDetails::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::cout << "Press enter to exit..." << std::endl;
        std::cin.get();
    }
    
    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
    }  
    
  3. 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
    
  4. Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  5. Para iniciar a síntese de fala para o alto-falante padrão, 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. Insira um texto que você deseja falar. Por exemplo, digite Estou animado para experimentar a conversão de texto em fala. Selecione a tecla Enter para ouvir a fala sintetizada.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakTextAsync para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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

Instalar o SDK de Fala para a linguagem Go. Para obter instruções de instalação detalhadas, 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 endpoint 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.

Criar o aplicativo

Siga estas etapas para criar um módulo do Go.

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

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

    package main
    
    import (
        "bufio"
        "fmt"
        "os"
        "strings"
        "time"
    
        "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/common"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) {
        defer event.Close()
        fmt.Println("Synthesis started.")
    }
    
    func synthesizingHandler(event speech.SpeechSynthesisEventArgs) {
        defer event.Close()
        fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData))
    }
    
    func synthesizedHandler(event speech.SpeechSynthesisEventArgs) {
        defer event.Close()
        fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData))
    }
    
    func cancelledHandler(event speech.SpeechSynthesisEventArgs) {
        defer event.Close()
        fmt.Println("Received a cancellation.")
    }
    
    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.NewAudioConfigFromDefaultSpeakerOutput()
        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()
    
        speechConfig.SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural")
    
        speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechSynthesizer.Close()
    
        speechSynthesizer.SynthesisStarted(synthesizeStartedHandler)
        speechSynthesizer.Synthesizing(synthesizingHandler)
        speechSynthesizer.SynthesisCompleted(synthesizedHandler)
        speechSynthesizer.SynthesisCanceled(cancelledHandler)
    
        for {
            fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ")
            text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
            text = strings.TrimSuffix(text, "\n")
            if len(text) == 0 {
                break
            }
    
            task := speechSynthesizer.SpeakTextAsync(text)
            var outcome speech.SpeechSynthesisOutcome
            select {
            case outcome = <-task:
            case <-time.After(60 * time.Second):
                fmt.Println("Timed out")
                return
            }
            defer outcome.Close()
            if outcome.Error != nil {
                fmt.Println("Got an error: ", outcome.Error)
                return
            }
    
            if outcome.Result.Reason == common.SynthesizingAudioCompleted {
                fmt.Printf("Speech synthesized to speaker for text [%s].\n", text)
            } else {
                cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result)
                fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason)
    
                if cancellation.Reason == common.Error {
                    fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n",
                        cancellation.ErrorCode,
                        cancellation.ErrorDetails)
                }
            }
        }
    }
    
  3. Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  4. Execute os comandos a seguir para criar um arquivo go.mod vinculado aos componentes hospedados no GitHub:

    go mod init speech-synthesis
    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.

  5. Agora compile e execute o código.

    go build
    go run speech-synthesis
    

Comentários

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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 arquivo pom.xml na raiz do projeto e copie o seguinte código nele:

    <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 o seu ponto de extremidade e chave do recurso de Fala, abra uma janela do console e siga as instruções para o 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 ENDPOINT, substitua your-endpoint por um dos pontos de extremidade do 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.

Criar o aplicativo

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

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

  2. Copie o código a seguir em SpeechSynthesis.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.*;
    
    import java.util.Scanner;
    import java.util.concurrent.ExecutionException;
    
    public class SpeechSynthesis {
        // 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.setSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural"); 
    
            SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig);
    
            // Get text from the console and synthesize to the default speaker.
            System.out.println("Enter some text that you want to speak >");
            String text = new Scanner(System.in).nextLine();
            if (text.isEmpty())
            {
                return;
            }
    
            SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get();
    
            if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) {
                System.out.println("Speech synthesized to speaker for text [" + text + "]");
            }
            else if (speechSynthesisResult.getReason() == ResultReason.Canceled) {
                SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult);
                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 síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  4. Execute seu aplicativo de console para gerar a sintetização de voz no alto-falante padrão.

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

    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. Insira um texto que você deseja falar. Por exemplo, digite Estou animado para experimentar a conversão de texto em fala. Selecione a tecla Enter para ouvir a fala sintetizada.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakTextAsync para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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.

Configuração

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

    mkdir synthesis-quickstart && cd synthesis-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 endpoint 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.

Sintetizar fala em um arquivo

Para traduzir fala de um arquivo:

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

    import { createInterface } from "readline";
    import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason } from "microsoft-cognitiveservices-speech-sdk";
    function synthesizeSpeech() {
        const audioFile = "YourAudioFile.wav";
        // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
        const speechConfig = SpeechConfig.fromEndpoint(new URL(ENDPOINT), process.env.SPEECH_KEY);
        const audioConfig = AudioConfig.fromAudioFileOutput(audioFile);
        // The language of the voice that speaks.
        speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";
        // Create the speech synthesizer.
        const synthesizer = new SpeechSynthesizer(speechConfig, audioConfig);
        const rl = createInterface({
            input: process.stdin,
            output: process.stdout
        });
        rl.question("Enter some text that you want to speak >\n> ", function (text) {
            rl.close();
            // Start the synthesizer and wait for a result.
            synthesizer.speakTextAsync(text, function (result) {
                if (result.reason === ResultReason.SynthesizingAudioCompleted) {
                    console.log("synthesis finished.");
                }
                else {
                    console.error("Speech synthesis canceled, " + result.errorDetails +
                        "\nDid you set the speech resource key and region values?");
                }
                synthesizer.close();
            }, function (err) {
                console.trace("err - " + err);
                synthesizer.close();
            });
            console.log("Now synthesizing to: " + audioFile);
        });
    }
    synthesizeSpeech();
    

    No synthesis.js, opcionalmente, você pode renomear YourAudioFile.wav para outro nome de arquivo de saída.

    Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  2. Execute seu aplicativo de console para iniciar a síntese de fala em um arquivo:

    node synthesis.js
    

Saída

Você verá a seguinte saída no console. Siga o prompt para inserir o texto que você deseja sintetizar:

Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakTextAsync para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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 endpoint 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.

Criar o aplicativo

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

  1. Clone o repositório Azure-Samples/cognitive-services-speech-sdk para obter o projeto de amostra Sintetizar áudio em Swift no macOS usando o SDK de Fala. 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 workspace do Xcode helloworld.xcworkspace que contém o aplicativo de exemplo 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 synthesize como mostrado aqui.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate {
        var textField: NSTextField!
        var synthesisButton: NSButton!
    
        var inputText: String!
    
        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"]
    
            inputText = ""
    
            textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50))
            textField.textColor = NSColor.black
            textField.lineBreakMode = .byWordWrapping
    
            textField.placeholderString = "Type something to synthesize."
            textField.delegate = self
    
            self.window.contentView?.addSubview(textField)
    
            synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30))
            synthesisButton.title = "Synthesize"
            synthesisButton.target = self
            synthesisButton.action = #selector(synthesisButtonClicked)
            self.window.contentView?.addSubview(synthesisButton)
        }
    
        @objc func synthesisButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.synthesize()
            }
        }
    
        func synthesize() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
    
            speechConfig?.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";
    
            let synthesizer = try! SPXSpeechSynthesizer(speechConfig!)
            let result = try! synthesizer.speakText(inputText)
            if result.reason == SPXResultReason.canceled
            {
                let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result)
                print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ")
                print("Did you set the speech resource key and region values?");
                return
            }
        }
    
        func controlTextDidChange(_ obj: Notification) {
            let textFiled = obj.object as! NSTextField
            inputText = textFiled.stringValue
        }
    }
    
  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. Opcionalmente, no AppDelegate.m, inclua um nome de voz de síntese de fala, conforme mostrado aqui:

    speechConfig?.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";
    
  8. Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

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

  10. Para criar e executar o código de exemplo, selecione Produto>Executar no menu ou selecione o botão Executar.

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 inserir algum texto e selecionar o botão no aplicativo, você deverá ouvir o áudio sintetizado ser reproduzido.

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakText para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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 quaisquer 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 o seu ponto de extremidade e chave do recurso de Fala, abra uma janela do console e siga as instruções para o 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 ENDPOINT, substitua your-endpoint por um dos pontos de extremidade do 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.

Criar o aplicativo

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 arquivo chamado speech_synthesis.py.

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

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

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    # 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'))
    audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True)
    
    # The neural multilingual voice can speak different languages based on the input text.
    speech_config.speech_synthesis_voice_name='en-US-Ava:DragonHDLatestNeural'
    
    speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
    
    # Get text from the console and synthesize to the default speaker.
    print("Enter some text that you want to speak >")
    text = input()
    
    speech_synthesis_result = speech_synthesizer.speak_text_async(text).get()
    
    if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
        print("Speech synthesized for text [{}]".format(text))
    elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled:
        cancellation_details = speech_synthesis_result.cancellation_details
        print("Speech synthesis canceled: {}".format(cancellation_details.reason))
        if cancellation_details.reason == speechsdk.CancellationReason.Error:
            if cancellation_details.error_details:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and endpoint values?")
    
  4. Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  5. Execute seu novo aplicativo de console para iniciar a síntese de fala para o alto-falante padrão.

    python speech_synthesis.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. Insira um texto que você deseja falar. Por exemplo, digite Estou animado para experimentar a conversão de texto em fala. Selecione a tecla Enter para ouvir a fala sintetizada.

    Enter some text that you want to speak > 
    I'm excited to try text to speech
    

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação speak_text_async para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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.

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 endpoint 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.

Sintetizar fala em um arquivo

No prompt de comando, execute o comando cURL a seguir. Opcionalmente, você pode renomear output.mp3 com outro nome de arquivo de saída.

curl --location --request POST "https://%SPEECH_REGION%.tts.speech.microsoft.com/cognitiveservices/v1" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: application/ssml+xml" ^
--header "X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3" ^
--header "User-Agent: curl" ^
--data-raw "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-Ava:DragonHDLatestNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3

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.

O texto fornecido deve ser de saída para um arquivo de áudio nomeado output.mp3.

Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

Para obter mais informações, consulte API REST de Conversão de texto em fala.

Comentários

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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

Com o Azure Speech nas Ferramentas Foundry, você pode executar um aplicativo que sintetiza uma voz semelhante à humana para ler texto. Você pode alterar a voz, inserir texto a ser falado e ouvir a saída no alto-falante do computador.

Dica

Você pode experimentar a conversão de texto em fala na Galeria de Voz do Speech Studio Voice sem se inscrever ou escrever qualquer código.

Dica

Experimente o Kit de Ferramentas de Fala do Azure para criar e executar amostras com facilidade no Visual Studio Code.

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.

Configuração

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

    mkdir synthesis-quickstart && cd synthesis-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 endpoint 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.

Sintetizar fala em um arquivo

Para traduzir fala de um arquivo:

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

    import { createInterface } from "readline";
    import { 
        SpeechConfig, 
        AudioConfig, 
        SpeechSynthesizer, 
        ResultReason,
        SpeechSynthesisResult 
    } from "microsoft-cognitiveservices-speech-sdk";
    
    function synthesizeSpeech(): void {
        const audioFile = "YourAudioFile.wav";
        // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY"
        const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!);
        const audioConfig: AudioConfig = AudioConfig.fromAudioFileOutput(audioFile);
    
        // The language of the voice that speaks.
        speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";
    
        // Create the speech synthesizer.
        const synthesizer: SpeechSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig);
    
        const rl = createInterface({
            input: process.stdin,
            output: process.stdout
        });
    
        rl.question("Enter some text that you want to speak >\n> ", function (text: string) {
            rl.close();
            // Start the synthesizer and wait for a result.
            synthesizer.speakTextAsync(text,
                function (result: SpeechSynthesisResult) {
                    if (result.reason === ResultReason.SynthesizingAudioCompleted) {
                        console.log("synthesis finished.");
                    } else {
                        console.error("Speech synthesis canceled, " + result.errorDetails +
                            "\nDid you set the speech resource key and region values?");
                    }
                    synthesizer.close();
                },
                function (err: string) {
                    console.trace("err - " + err);
                    synthesizer.close();
                });
            console.log("Now synthesizing to: " + audioFile);
        });
    }
    
    synthesizeSpeech();
    

    No synthesis.ts, opcionalmente, você pode renomear YourAudioFile.wav para outro nome de arquivo de saída.

    Para alterar o idioma de síntese de fala, substitua en-US-Ava:DragonHDLatestNeural por outra voz com suporte.

    Todas as vozes neurais são multilíngues e fluentes em seu próprio idioma e inglês. Por exemplo, se o texto de entrada em inglês for Estou empolgado em experimentar a conversão de texto em fala e você definir es-ES-Ximena:DragonHDLatestNeural, o texto será falado em inglês com um sotaque espanhol. Se a voz não falar o idioma do texto de entrada, o serviço Speech não emitirá áudio sintetizado.

  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 aplicativo de console para iniciar a síntese de fala em um arquivo:

    node synthesis.js
    

Saída

Você verá a seguinte saída no console. Siga o prompt para inserir o texto que você deseja sintetizar:

Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.

Comentários

Mais opções de sintetização de voz

Este guia de início rápido usa a operação SpeakTextAsync para sintetizar um pequeno bloco de texto inserido. Você também pode usar um texto de formato longo de um arquivo e obter um controle mais preciso sobre estilos de voz, prosódia e outras configurações.

Vozes de conversão de texto em fala do OpenAI na Fala do Azure no Foundry Tools

Também há suporte para vozes de conversão de texto em fala do OpenAI. Consulte vozes de texto para fala do OpenAI no Azure Speech e vozes multilíngues. Você pode substituir en-US-Ava:DragonHDLatestNeural por um nome de voz do OpenAI com suporte, como en-US-FableMultilingualNeural.

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