Início Rápido: converta texto em fala
Documentação de referência | Pacote (NuGet) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O 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 os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um aplicativo de console e instalar o SDK de Fala.
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.
Instale o SDK de Fala em seu novo projeto com a CLI do .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Substitua o conteúdo de Program.cs pelo 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 "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); 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 region values?"); } break; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; 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(); } }
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
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.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 as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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 (NuGet) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O 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 os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um aplicativo de console e instalar o SDK de Fala.
Crie um projeto de console C++ no Visual Studio Community chamado
SpeechSynthesis
.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 "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); 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 region 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 }
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
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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.Crie e execute o novo aplicativo de console para iniciar a sintetização de voz para o alto-falante padrão.
Importante
Certifique-se de definir as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
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 os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um módulo do Go.
Abra uma janela do prompt de comando na pasta em que você deseja o novo projeto. Crie um novo arquivo chamado speech-synthesis.go.
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-AvaMultilingualNeural") 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) } } } }
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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.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 as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.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 de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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 | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Para configurar o seu ambiente, instale o SDK de Fala. O exemplo deste guia de início rápido funciona com o Runtime Java.
Instale o Apache Maven. Em seguida, execute
mvn -v
para confirmar a instalação bem-sucedida.Crie um arquivo pom.xml na raiz do projeto e copie 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.40.0</version> </dependency> </dependencies> </project>
Instale o SDK de Fala e as dependências.
mvn clean dependency:copy-dependencies
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um aplicativo de console para reconhecimento de fala.
Crie um arquivo chamado SpeechSynthesis.java no mesmo diretório raiz do projeto.
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 "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); speechConfig.setSpeechSynthesisVoiceName("en-US-AvaMultilingualNeural"); 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 region values?"); } } System.exit(0); } }
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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.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 as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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) | Exemplos adicionais no GitHub | Código-fonte da biblioteca
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Para configurar o seu ambiente, instale o SDK de Fala para JavaScript. Se você quiser apenas o nome do pacote a ser instalado, execute npm install microsoft-cognitiveservices-speech-sdk
. Para obter instruções de instalação detalhadas, consulte Instalar o SDK de Fala.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um aplicativo de console Node.js para síntese de fala.
Abra uma janela de console onde deseja o novo projeto e crie um arquivo chamado SpeechSynthesis.js.
Instale o SDK de Fala para JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Copie o seguinte código no SpeechSynthesis.js:
(function() { "use strict"; var sdk = require("microsoft-cognitiveservices-speech-sdk"); var readline = require("readline"); var audioFile = "YourAudioFile.wav"; // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; // Create the speech synthesizer. var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig); var rl = readline.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 === sdk.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(); synthesizer = null; }, function (err) { console.trace("err - " + err); synthesizer.close(); synthesizer = null; }); console.log("Now synthesizing to: " + audioFile); }); }());
No arquivo SpeechSynthesis.js, opcionalmente, você pode renomear YourAudioFile.wav com outro nome de arquivo de saída.
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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.Execute seu aplicativo de console para iniciar a síntese de fala em um arquivo:
node SpeechSynthesis.js
Importante
Certifique-se de definir as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se o senhor não definir essas variáveis, a amostra falhará com uma mensagem de erro.O texto fornecido deve estar em um arquivo de áudio:
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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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 (download) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de Fala para Objective-C é 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 os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para sintetizar a fala em um aplicativo macOS.
Clone o repositório Azure-Samples/cognitive-services-speech-sdk para obter o projeto de amostra Sintetizar áudio em Objective-C no macOS usando o SDK de Fala. O repositório também tem exemplos de iOS.
Abra o diretório do aplicativo de amostra baixado (
helloworld
) em um terminal.Execute o comando
pod install
. Esse comando gera um workspace do Xcodehelloworld.xcworkspace
que contém o aplicativo de exemplo e o SDK de Fala como uma dependência.Abra o workspace
helloworld.xcworkspace
no Xcode.Abra o arquivo chamado AppDelegate.m e localize o método
buttonPressed
como mostrado aqui.- (void)buttonPressed:(NSButton *)button { // Creates an instance of a speech config with specified subscription key and service region. NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"]; SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion]; speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural"; SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig]; NSLog(@"Start synthesizing..."); SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]]; // Checks result. if (SPXResultReason_Canceled == speechResult.reason) { SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult]; NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails); } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) { NSLog(@"Speech synthesis was completed"); } else { NSLog(@"There was an error."); } }
Em AppDelegate.m, use as variáveis de ambiente que o senhor definiu anteriormente para a chave e a região do recurso Speech.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
Opcionalmente, no AppDelegate.m, inclua um nome de voz de síntese de fala, conforme mostrado aqui:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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 tornar a saída de depuração visível, selecione Exibir>Área de Depuração>Ativar Console.
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 as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variá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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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 (download) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de Fala para 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 os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para sintetizar a fala em um aplicativo macOS.
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.
Navegue até o diretório do aplicativo de exemplo baixado (
helloworld
) em um terminal.Execute o comando
pod install
. Esse comando gera um workspace do Xcodehelloworld.xcworkspace
que contém o aplicativo de exemplo e o SDK de Fala como uma dependência.Abra o workspace
helloworld.xcworkspace
no Xcode.Abra o arquivo chamado AppDelegate.swift e localize os métodos
applicationDidFinishLaunching
esynthesize
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-AvaMultilingualNeural"; 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 } }
Em AppDelegate.m, use as variáveis de ambiente que o senhor definiu anteriormente para a chave e a região do recurso Speech.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
Opcionalmente, no AppDelegate.m, inclua um nome de voz de síntese de fala, conforme mostrado aqui:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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 tornar a saída de depuração visível, selecione Exibir>Área de Depuração>Ativar Console.
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 as variáveis de ambiente SPEECH_KEY
e SPEECH_REGION
variá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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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) | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
O SDK de fala para Python está disponível como um módulo PyPI (índice de pacote do Python). O SDK de Fala para Python é compatível com Windows, Linux e macOS.
- No Windows, instale o Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017, 2019 e 2022 para sua plataforma. A instalação desse pacote pode exigir uma reinicialização.
- No Linux, você deve usar a arquitetura de destino x64.
Instale uma versão do Python a partir da versão 3.7 ou posterior. Para quaisquer requisitos, consulte Instalar o SDK de Fala.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
Criar o aplicativo
Siga estas etapas para criar um aplicativo de console.
Abra uma janela do prompt de comando na pasta em que você deseja o novo projeto. Crie um arquivo chamado speech_synthesis.py.
Execute este comando para instalar o SDK de Fala:
pip install azure-cognitiveservices-speech
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 "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) 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-AvaMultilingualNeural' 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 region values?")
Para alterar o idioma de síntese de fala, substitua
en-US-AvaMultilingualNeural
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-ElviraNeural
, 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.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 as variáveis de ambiente
SPEECH_KEY
eSPEECH_REGION
variáveis de ambiente. Se você não definir essas variáveis, a amostra falhará com uma mensagem de erro.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.
- Confira Como sintetizar uma voz e Visão geral do SSML (Speech Synthesis Markup Language) para obter informações sobre a sintetização de voz com base em um arquivo e um controle mais preciso sobre estilos de voz, prosódia e outras configurações.
- Confira API de sintetização em lote para conversão de texto em fala para obter informações sobre como sintetizar um texto de formato longo em fala.
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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 | API REST de Conversão de Fala em Texto para breve referência de áudio | Exemplos adicionais no GitHub
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Definir variáveis de ambiente
Você precisa autenticar seu aplicativo para acessar os serviços de IA do Azure. Este artigo mostra como usar variáveis de ambiente para armazenar suas credenciais. Em seguida, você poderá acessar as variáveis de ambiente do seu código para autenticar seu aplicativo. Para a produção, use um método mais seguro para armazenar e acessar suas credenciais.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Se você usar uma chave de API, armazene-a com segurança em outro lugar, como no Azure Key Vault. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente.
Para obter mais informações sobre a segurança dos serviços de IA, consulte Autenticar solicitações para os serviços de IA do Azure.
Para definir a variável de ambiente da chave de recurso de Fala, abra uma janela do console e siga as instruções para o seu sistema operacional e o ambiente de desenvolvimento.
- Para definir a variável de ambiente
SPEECH_KEY
, substitua your-key por uma das chaves do recurso. - Para definir a variável de ambiente
SPEECH_REGION
, substitua your-region por uma das regiões do recurso.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Observação
Se precisar acessar as variáveis de ambiente apenas no console atual, você pode definir a variável de ambiente com set
em vez de setx
.
Depois de adicionar as variáveis de ambiente, talvez seja necessário reiniciar todos os programas que precisem ler a variável de ambiente, inclusive a janela do console. Por exemplo, se estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.
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-AvaMultilingualNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Importante
Certifique-se de definir as variáveis de ambiente SPEECH_KEY
e SPEECH_REGION
variáveis de ambiente. Se o senhor 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-AvaMultilingualNeural
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-ElviraNeural
, 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 de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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.
Com a Fala de IA do Azure, 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 de IA do Azure para criar e executar facilmente amostras no Visual Studio Code.
Pré-requisitos
- Uma assinatura do Azure. É possível criar uma gratuitamente.
- Criar um recurso de Fala no portal do Azure.
- Obter a região e a chave do recurso para Fala. Depois que o recurso de Fala for implantado, selecione Ir para o recurso para exibir e gerenciar as chaves.
Configurar o ambiente
Siga estas etapas e consulte o início rápido da CLI de Fala para obter outros requisitos para sua plataforma.
Execute o seguinte comando da CLI do .NET para instalar a CLI de Fala:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Execute os comandos a seguir para configurar a chave e a região do recurso Fala. Substitua
SUBSCRIPTION-KEY
pela sua chave do recurso de Fala e substituaREGION
pela sua região do recurso de Fala.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Enviar fala para o alto-falante
Execute o comando a seguir para gerar a sintetização de voz para o alto-falante padrão. Você pode modificar a voz e o texto a ser sintetizado.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Se o senhor não definir um nome de voz, a voz padrão para en-US
será falada.
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 --voice "es-ES-ElviraNeural"
, 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.
Execute esse comando para obter informações sobre mais opções de sintetização de voz, como entrada e saída de arquivo:
spx help synthesize
Comentários
Suporte a SSML
É possível melhorar o controle sobre estilos de voz, prosódia e outras configurações usando a SSML (Linguagem de Marcação de Sintetização de Voz).
Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure
Também há suporte para vozes de conversão de texto em fala do OpenAI. Confira Vozes de conversão de texto em fala do OpenAI na Fala de IA do Azure e vozes multilíngues. Você pode substituir en-US-AvaMultilingualNeural
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.