Rychlý start: Převod textu na řeč
Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Sada Speech SDK je k dispozici jako balíček NuGet, který implementuje .NET Standard 2.0. Nainstalujte sadu Speech SDK později v této příručce pomocí konzoly. Podrobné pokyny k instalaci najdete v tématu Instalace sady Speech SDK.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků vytvořte konzolovou aplikaci a nainstalujte sadu Speech SDK.
Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Spuštěním tohoto příkazu vytvořte konzolovou aplikaci pomocí rozhraní příkazového řádku .NET CLI.
dotnet new console
Příkaz vytvoří soubor Program.cs v adresáři projektu.
Nainstalujte sadu Speech SDK do nového projektu pomocí rozhraní příkazového řádku .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Obsah Program.cs nahraďte následujícím kódem.
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(); } }
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z toho, že se pokusím o řeč a nastavíte
es-ES-ElviraNeural
ho jako jazyk, bude text mluvený v angličtině se zvýrazněním španělštiny. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Spuštěním nové konzolové aplikace spusťte syntézu řeči s výchozím mluvčím.
dotnet run
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Zadejte nějaký text, který chcete přečíst. Zadejte například, že jsem nadšený, že se pokusím o převod textu na řeč. Vyberte klávesu Enter , abyste si poslechli syntetizovanou řeč.
Enter some text that you want to speak > I'm excited to try text to speech
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakTextAsync
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Sada Speech SDK je k dispozici jako balíček NuGet, který implementuje .NET Standard 2.0. Nainstalujte sadu Speech SDK dále v této příručce. Podrobné pokyny k instalaci najdete v tématu Instalace sady Speech SDK.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků vytvořte konzolovou aplikaci a nainstalujte sadu Speech SDK.
Vytvořte projekt konzoly C++ v sadě Visual Studio Community s názvem
SpeechSynthesis
.Obsah SpeechSynthesis.cpp nahraďte následujícím kódem:
#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 }
Vyberte nástroje>NuGet Správce balíčků> Správce balíčků konzole. V konzole Správce balíčků spusťte tento příkaz:
Install-Package Microsoft.CognitiveServices.Speech
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Sestavte a spusťte novou konzolovou aplikaci , která spustí syntézu řeči výchozímu mluvčímu.
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Zadejte nějaký text, který chcete přečíst. Zadejte například, že jsem nadšený, že se pokusím o převod textu na řeč. Vyberte klávesu Enter , abyste si poslechli syntetizovanou řeč.
Enter some text that you want to speak > I'm excited to try text to speech
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakTextAsync
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Package (Go) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Nainstalujte sadu Speech SDK pro jazyk Go. Podrobné pokyny k instalaci najdete v tématu Instalace sady Speech SDK.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků vytvořte modul Go.
Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Vytvořte nový soubor s názvem speech-synthesis.go.
Zkopírujte následující kód do souboru 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) } } } }
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Spuštěním následujících příkazů vytvořte soubor go.mod , který odkazuje na komponenty hostované na GitHubu:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Teď sestavte a spusťte kód:
go build go run speech-synthesis
Poznámky
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Pokud chcete nastavit prostředí, nainstalujte sadu Speech SDK. Ukázka v tomto rychlém startu funguje s modulem Runtime Java.
Nainstalujte Apache Maven. Pak spusťte a potvrďte
mvn -v
úspěšnou instalaci.V kořenovém adresáři projektu vytvořte soubor pom.xml a zkopírujte do něj následující kód:
<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>
Nainstalujte sadu Speech SDK a závislosti.
mvn clean dependency:copy-dependencies
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pokud chcete vytvořit konzolovou aplikaci pro rozpoznávání řeči, postupujte podle těchto kroků.
Ve stejném kořenovém adresáři projektu vytvořte soubor s názvem SpeechSynthesis.java .
Do SpeechSynthesis.java zkopírujte následující kód:
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); } }
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Spusťte konzolovou aplikaci pro výstup syntézy řeči do výchozího mluvčího.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Zadejte nějaký text, který chcete přečíst. Zadejte například, že jsem nadšený, že se pokusím o převod textu na řeč. Vyberte klávesu Enter , abyste si poslechli syntetizovanou řeč.
Enter some text that you want to speak > I'm excited to try text to speech
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakTextAsync
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Balíček (npm) | Další ukázky ve zdrojovém kódu knihovny GitHub |
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Pokud chcete nastavit prostředí, nainstalujte sadu Speech SDK pro JavaScript. Pokud chcete, aby se název balíčku nainstaloval, spusťte npm install microsoft-cognitiveservices-speech-sdk
příkaz . Podrobné pokyny k instalaci najdete v tématu Instalace sady Speech SDK.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Následujícím postupem vytvoříte konzolovou aplikaci Node.js pro syntézu řeči.
Otevřete okno konzoly, ve kterém chcete nový projekt, a vytvořte soubor s názvem SpeechSynthesis.js.
Nainstalujte sadu Speech SDK pro JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Do SpeechSynthesis.js zkopírujte následující kód:
(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); }); }());
V SpeechSynthesis.js můžete volitelně přejmenovat YourAudioFile.wav na jiný název výstupního souboru.
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Spusťte konzolovou aplikaci a spusťte syntézu řeči do souboru:
node SpeechSynthesis.js
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Zadaný text by měl být ve zvukovém souboru:
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakTextAsync
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Balíček (stáhnout) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Sada Speech SDK pro Objective-C je distribuovaná jako sada rozhraní. Tato architektura podporuje Objective-C i Swift v iOSu i macOS.
Sadu Speech SDK je možné použít v projektech Xcode jako CocoaPod nebo stáhnout přímo a propojit ručně. Tato příručka používá CocoaPod. Nainstalujte správce závislostí CocoaPod, jak je popsáno v pokynech k instalaci.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků syntetizujete řeč v aplikaci pro macOS.
Naklonujte úložiště Azure-Samples/cognitive-services-speech-sdk, abyste získali syntetizaci zvuku v Objective-C v macOS pomocí ukázkového projektu sady Speech SDK. Úložiště obsahuje také ukázky pro iOS.
Otevřete adresář stažené ukázkové aplikace (
helloworld
) v terminálu.Spusťte příkaz
pod install
. Tento příkaz vygenerujehelloworld.xcworkspace
pracovní prostor Xcode, který obsahuje ukázkovou aplikaci i sadu Speech SDK jako závislost.helloworld.xcworkspace
Otevřete pracovní prostor v Xcode.Otevřete soubor s názvem AppDelegate.m a vyhledejte metodu
buttonPressed
, jak je znázorněno zde.- (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."); } }
V AppDelegate.m použijte proměnné prostředí, které jste dříve nastavili pro klíč prostředku a oblast služby Speech.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
Volitelně v AppDelegate.m přidejte název hlasu syntézy řeči, jak je znázorněno zde:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Pokud chcete, aby byl výstup ladění viditelný, vyberte Zobrazit>konzolu aktivace oblasti>ladění.
Pokud chcete sestavit a spustit ukázkový kód, vyberte v nabídce možnost Product Run (Spustit produkt>) nebo vyberte tlačítko Přehrát.
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.
Po zadání nějakého textu a výběru tlačítka v aplikaci byste měli slyšet syntetizovaný zvuk přehrával.
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakText
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Balíček (stáhnout) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Sada Speech SDK pro Swift je distribuovaná jako sada rozhraní. Tato architektura podporuje Objective-C i Swift v iOSu i macOS.
Sadu Speech SDK je možné použít v projektech Xcode jako CocoaPod nebo stáhnout přímo a propojit ručně. Tato příručka používá CocoaPod. Nainstalujte správce závislostí CocoaPod, jak je popsáno v pokynech k instalaci.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků syntetizujete řeč v aplikaci pro macOS.
Naklonujte úložiště Azure-Samples/cognitive-services-speech-sdk a získejte syntetizaci zvuku ve Swiftu v macOS pomocí ukázkového projektu sady Speech SDK . Úložiště obsahuje také ukázky pro iOS.
V terminálu přejděte do adresáře stažené ukázkové aplikace (
helloworld
).Spusťte příkaz
pod install
. Tento příkaz vygenerujehelloworld.xcworkspace
pracovní prostor Xcode, který obsahuje ukázkovou aplikaci i sadu Speech SDK jako závislost.helloworld.xcworkspace
Otevřete pracovní prostor v Xcode.Otevřete soubor s názvem AppDelegate.swift a vyhledejte metody
applicationDidFinishLaunching
asynthesize
metody, jak je znázorněno zde.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 } }
V AppDelegate.m použijte proměnné prostředí, které jste dříve nastavili pro klíč prostředku a oblast služby Speech.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
Volitelně v AppDelegate.m přidejte název hlasu syntézy řeči, jak je znázorněno zde:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Pokud chcete, aby byl výstup ladění viditelný, vyberte Zobrazit>konzolu aktivace oblasti>ladění.
Pokud chcete sestavit a spustit ukázkový kód, vyberte v nabídce možnost Product Run (Spustit produkt>) nebo vyberte tlačítko Přehrát.
Důležité
Ujistěte se, že jste nastavili SPEECH_KEY
proměnné prostředí a SPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.
Po zadání nějakého textu a výběru tlačítka v aplikaci byste měli slyšet syntetizovaný zvuk přehrával.
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá SpeakText
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Referenční dokumentace | Package (PyPi) | Další ukázky na GitHubu
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Sada Speech SDK pro Python je k dispozici jako modul PyPI (Python Package Index). Sada Speech SDK pro Python je kompatibilní s Windows, Linuxem a macOS.
- Ve Windows nainstalujte Microsoft Distribuovatelné součásti Visual C++ pro Visual Studio 2015, 2017, 2019 a 2022 pro vaši platformu. Instalace tohoto balíčku může vyžadovat restartování.
- V Linuxu musíte použít cílovou architekturu x64.
Nainstalujte verzi Pythonu z verze 3.7 nebo novější. Všechny požadavky najdete v tématu Instalace sady Speech SDK.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Vytvoření aplikace
Pomocí těchto kroků vytvořte konzolovou aplikaci.
Ve složce, ve které chcete nový projekt, otevřete okno příkazového řádku. Vytvořte soubor s názvem speech_synthesis.py.
Spuštěním tohoto příkazu nainstalujte sadu Speech SDK:
pip install azure-cognitiveservices-speech
Do speech_synthesis.py zkopírujte následující kód:
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?")
Pokud chcete změnit jazyk syntézy řeči, nahraďte
en-US-AvaMultilingualNeural
jiným podporovaným hlasem.Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte
es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.Spuštěním nové konzolové aplikace spusťte syntézu řeči s výchozím mluvčím.
python speech_synthesis.py
Důležité
Ujistěte se, že jste nastavili
SPEECH_KEY
proměnné prostředí aSPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.Zadejte nějaký text, který chcete přečíst. Zadejte například, že jsem nadšený, že se pokusím o převod textu na řeč. Vyberte klávesu Enter , abyste si poslechli syntetizovanou řeč.
Enter some text that you want to speak > I'm excited to try text to speech
Poznámky
Další možnosti syntézy řeči
Tento rychlý start používá speak_text_async
operaci k syntetizaci krátkého bloku textu, který zadáte. Můžete také použít dlouhý text ze souboru a získat přehlednější kontrolu nad styly hlasu, prosody a dalšími nastaveními.
- Podívejte se, jak syntetizovat přehled řeči a jazyka SSML (Speech Synthesis Markup Language) pro informace o syntéze řeči ze souboru a jemně ovládat styly hlasu, prosody a další nastavení.
- Informace o syntetizaci dlouhého textu na řeč najdete v rozhraní API pro dávkovou syntézu textu na řeč.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Speech to text REST API reference | Speech to text REST API for short audio reference | Additional samples on GitHub
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení proměnných prostředí
Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.
Důležité
Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.
- Pokud chcete nastavit proměnnou
SPEECH_KEY
prostředí, nahraďte klíč jedním z klíčů vašeho prostředku. - Pokud chcete nastavit proměnnou
SPEECH_REGION
prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Poznámka:
Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set
setx
.
Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.
Syntetizace řeči do souboru
Na příkazovém řádku spusťte následující příkaz cURL. Volitelně můžete output.mp3 přejmenovat na jiný název výstupního souboru.
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
Důležité
Ujistěte se, že jste nastavili SPEECH_KEY
proměnné prostředí a SPEECH_REGION
proměnné prostředí. Pokud tyto proměnné nenastavíte, ukázka selže s chybovou zprávou.
Zadaný text by měl být výstupem zvukového souboru s názvem output.mp3.
Pokud chcete změnit jazyk syntézy řeči, nahraďte en-US-AvaMultilingualNeural
jiným podporovaným hlasem.
Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte es-ES-ElviraNeural
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.
Další informace najdete v tématu Rozhraní REST API pro převod textu na řeč.
Poznámky
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).
Pomocí Služby Azure AI Speech můžete spustit aplikaci, která syntetizuje hlas podobný člověku, který čte text. Můžete změnit hlas, zadat text, který se má vyslovovat, a poslouchat výstup na reproduktoru počítače.
Tip
Text na řeč můžete zkusit v hlasové galerii sady Speech Studio bez registrace nebo psaní kódu.
Tip
Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.
Požadavky
- Předplatné Azure. Můžete si ho zdarma vytvořit.
- Na webu Azure Portal vytvořte prostředek služby Speech.
- Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.
Nastavení prostředí
Postupujte podle těchtokrokůch
Spuštěním následujícího příkazu .NET CLI nainstalujte Rozhraní příkazového řádku služby Speech:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Spuštěním následujících příkazů nakonfigurujte klíč prostředku a oblast služby Speech. Nahraďte
SUBSCRIPTION-KEY
klíčem prostředku služby Speech a nahraďteREGION
oblastí prostředků služby Speech.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Odeslání řeči mluvčímu
Spuštěním následujícího příkazu vypíšete syntézu řeči do výchozího mluvčího. Můžete upravit hlas a text, který se má syntetizovat.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Pokud nenastavíte hlasový název, výchozí hlas pro en-US
mluvený hlas.
Všechny neurální hlasy jsou vícejazyčné a fluentní ve svém vlastním jazyce a angličtině. Pokud je například vstupní text v angličtině nadšený z pokusu o převod textu na řeč a vy nastavíte --voice "es-ES-ElviraNeural"
, text se mluví v angličtině se španělským zvýrazněním. Pokud hlas nemluví jazykem vstupního textu, služba Speech nevypíše syntetizovaný zvuk.
Spuštěním tohoto příkazu zobrazíte informace o dalších možnostech syntézy řeči, jako je vstup souboru a výstup:
spx help synthesize
Poznámky
Podpora SSML
Pomocí jazyka SSML (Speech Synthesis Markup Language) můžete mít jemně ovládat styly hlasu, prosody a další nastavení.
OpenAI text to speech voices in Azure AI Speech
Podporuje se také text OpenAI pro hlasové hlasy. Podívejte se na text OpenAI na hlasové hlasy ve službě Azure AI Speech a vícejazyčné hlasy. Můžete nahradit en-US-AvaMultilingualNeural
podporovaným názvem hlasu OpenAI, například en-US-FableMultilingualNeural
.
Vyčištění prostředků
Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).