Snabbstart: Konvertera text till tal
Referensdokumentation Paket (NuGet) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK är tillgängligt som ett NuGet-paket som implementerar .NET Standard 2.0. Installera Speech SDK senare i den här guiden med hjälp av konsolen. Detaljerade installationsinstruktioner finns i Installera Speech SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ de här stegen för att skapa ett konsolprogram och installera Speech SDK.
Öppna ett kommandotolksfönster i mappen där du vill ha det nya projektet. Kör det här kommandot för att skapa ett konsolprogram med .NET CLI.
dotnet new console
Kommandot skapar en Program.cs fil i projektkatalogen.
Installera Speech SDK i ditt nya projekt med .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speech
Ersätt innehållet i Program.cs med följande kod.
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(); } }
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Om indatatexten till exempel är på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
som språk, texten talas på engelska med spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Kör det nya konsolprogrammet för att starta talsyntesen till standardhögtalaren.
dotnet run
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Ange text som du vill tala om. Skriv till exempel Jag är glad över att prova text till tal. Välj returnyckeln för att höra det syntetiserade talet.
Enter some text that you want to speak > I'm excited to try text to speech
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakTextAsync
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (NuGet) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK är tillgängligt som ett NuGet-paket som implementerar .NET Standard 2.0. Installera Speech SDK senare i den här guiden. Detaljerade installationsinstruktioner finns i Installera Speech SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ de här stegen för att skapa ett konsolprogram och installera Speech SDK.
Skapa ett C++-konsolprojekt i Visual Studio Community med namnet
SpeechSynthesis
.Ersätt innehållet i SpeechSynthesis.cpp med följande kod:
#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 }
Välj Verktyg>Nuget Package Manager Package Manager>Console. Kör följande kommando i Package Manager-konsolen:
Install-Package Microsoft.CognitiveServices.Speech
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Skapa och kör det nya konsolprogrammet för att starta talsyntesen till standardhögtalaren.
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Ange text som du vill tala om. Skriv till exempel Jag är glad över att prova text till tal. Välj returnyckeln för att höra det syntetiserade talet.
Enter some text that you want to speak > I'm excited to try text to speech
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakTextAsync
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (Go) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Installera Speech SDK för språket Go. Detaljerade installationsinstruktioner finns i Installera Speech SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ de här stegen för att skapa en Go-modul.
Öppna ett kommandotolksfönster i mappen där du vill ha det nya projektet. Skapa en ny fil med namnet speech-synthesis.go.
Kopiera följande kod till 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) } } } }
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Kör följande kommandon för att skapa en go.mod-fil som länkar till komponenter som finns på GitHub:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Skapa och kör nu koden:
go build go run speech-synthesis
Kommentarer
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation | Ytterligare exempel på GitHub
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Installera Speech SDK för att konfigurera din miljö. Exemplet i den här snabbstarten fungerar med Java Runtime.
Installera Apache Maven. Kör
mvn -v
sedan för att bekräfta att installationen har slutförts.Skapa en pom.xml fil i roten av projektet och kopiera följande kod till den:
<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>
Installera Speech SDK och beroenden.
mvn clean dependency:copy-dependencies
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ de här stegen för att skapa ett konsolprogram för taligenkänning.
Skapa en fil med namnet SpeechSynthesis.java i samma projektrotkatalog.
Kopiera följande kod till 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); } }
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Kör konsolprogrammet för att mata ut talsyntes till standardhögtalaren.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Ange text som du vill tala om. Skriv till exempel Jag är glad över att prova text till tal. Välj returnyckeln för att höra det syntetiserade talet.
Enter some text that you want to speak > I'm excited to try text to speech
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakTextAsync
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (npm) | Ytterligare exempel på GitHub-bibliotekets källkod | |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Installera Speech SDK för JavaScript för att konfigurera din miljö. Om du bara vill att paketnamnet ska installeras kör du npm install microsoft-cognitiveservices-speech-sdk
. Detaljerade installationsinstruktioner finns i Installera Speech SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ dessa steg för att skapa ett Node.js-konsolprogram för talsyntes.
Öppna ett konsolfönster där du vill ha det nya projektet och skapa en fil med namnet SpeechSynthesis.js.
Installera Speech SDK för JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Kopiera följande kod till 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); }); }());
I SpeechSynthesis.js kan du byta namn på YourAudioFile.wav till ett annat filnamn för utdata.
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Kör konsolprogrammet för att starta talsyntesen till en fil:
node SpeechSynthesis.js
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Den angivna texten ska finnas i en ljudfil:
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakTextAsync
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Paket för referensdokumentation (nedladdning) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK för Objective-C distribueras som ett ramverkspaket. Ramverket stöder både Objective-C och Swift på både iOS och macOS.
Speech SDK kan användas i Xcode-projekt som en CocoaPod eller laddas ned direkt och länkas manuellt. Den här guiden använder en CocoaPod. Installera CocoaPod-beroendehanteraren enligt beskrivningen i installationsanvisningarna.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ dessa steg för att syntetisera tal i ett macOS-program.
Klona lagringsplatsen Azure-Samples/cognitive-services-speech-sdk för att hämta syntetisera ljud i Objective-C på macOS med hjälp av Speech SDK-exempelprojektet. Lagringsplatsen har också iOS-exempel.
Öppna katalogen för den nedladdade exempelappen (
helloworld
) i en terminal.Kör kommandot
pod install
. Det här kommandot genererar enhelloworld.xcworkspace
Xcode-arbetsyta som innehåller både exempelappen och Speech SDK som ett beroende.helloworld.xcworkspace
Öppna arbetsytan i Xcode.Öppna filen med namnet AppDelegate.m och leta upp
buttonPressed
metoden som du ser här.- (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."); } }
I AppDelegate.m använder du de miljövariabler som du tidigare angav för din Speech-resursnyckel och -region.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
I AppDelegate.m kan du också inkludera ett talsyntesröstnamn som visas här:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Om du vill göra felsökningsutdata synliga väljer du Visa>felsökningsområde>Aktivera konsol.
Om du vill skapa och köra exempelkoden väljer du Produktkörning> på menyn eller väljer knappen Spela upp.
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.
När du har matat in text och valt knappen i appen bör du höra det syntetiserade ljudet spelas upp.
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakText
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Paket för referensdokumentation (nedladdning) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK för Swift distribueras som ett ramverkspaket. Ramverket stöder både Objective-C och Swift på både iOS och macOS.
Speech SDK kan användas i Xcode-projekt som en CocoaPod eller laddas ned direkt och länkas manuellt. Den här guiden använder en CocoaPod. Installera CocoaPod-beroendehanteraren enligt beskrivningen i installationsanvisningarna.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ dessa steg för att syntetisera tal i ett macOS-program.
Klona lagringsplatsen Azure-Samples/cognitive-services-speech-sdk för att hämta syntetisera ljud i Swift på macOS med hjälp av Speech SDK-exempelprojektet . Lagringsplatsen har också iOS-exempel.
Gå till katalogen för den nedladdade exempelappen (
helloworld
) i en terminal.Kör kommandot
pod install
. Det här kommandot genererar enhelloworld.xcworkspace
Xcode-arbetsyta som innehåller både exempelappen och Speech SDK som ett beroende.helloworld.xcworkspace
Öppna arbetsytan i Xcode.Öppna filen Med namnet AppDelegate.swift och leta upp
applicationDidFinishLaunching
metoderna ochsynthesize
som visas här.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 } }
I AppDelegate.m använder du de miljövariabler som du tidigare angav för din Speech-resursnyckel och -region.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
I AppDelegate.m kan du också inkludera ett talsyntesröstnamn som visas här:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Om du vill göra felsökningsutdata synliga väljer du Visa>felsökningsområde>Aktivera konsol.
Om du vill skapa och köra exempelkoden väljer du Produktkörning> på menyn eller väljer knappen Spela upp.
Viktigt!
Se till att du anger SPEECH_KEY
miljövariablerna och SPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.
När du har matat in text och valt knappen i appen bör du höra det syntetiserade ljudet spelas upp.
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden SpeakText
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (PyPi) | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK för Python är tillgänglig som en PyPI-modul (Python Package Index). Speech SDK för Python är kompatibelt med Windows, Linux och macOS.
- Installera Microsoft Visual C++ Redistributable för Visual Studio 2015, 2017, 2019 och 2022 för din plattform i Windows. Installationen av det här paketet kan kräva en omstart.
- I Linux måste du använda x64-målarkitekturen.
Installera en version av Python från 3.7 eller senare. Alla krav finns i Installera Speech SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Skapa programmet
Följ de här stegen för att skapa ett konsolprogram.
Öppna ett kommandotolksfönster i mappen där du vill ha det nya projektet. Skapa en fil med namnet speech_synthesis.py.
Kör det här kommandot för att installera Speech SDK:
pip install azure-cognitiveservices-speech
Kopiera följande kod till speech_synthesis.py:
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?")
Om du vill ändra talsyntesspråket ersätter du
en-US-AvaMultilingualNeural
med en annan röst som stöds.Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger
es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.Kör det nya konsolprogrammet för att starta talsyntesen till standardhögtalaren.
python speech_synthesis.py
Viktigt!
Se till att du anger
SPEECH_KEY
miljövariablerna ochSPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.Ange text som du vill tala om. Skriv till exempel Jag är glad över att prova text till tal. Välj returnyckeln för att höra det syntetiserade talet.
Enter some text that you want to speak > I'm excited to try text to speech
Kommentarer
Fler talsyntesalternativ
Den här snabbstarten använder åtgärden speak_text_async
för att syntetisera ett kort textblock som du anger. Du kan också använda långformatstext från en fil och få bättre kontroll över röstformat, prosody och andra inställningar.
- Se hur du syntetiserar tal - och talsyntesmarkeringsspråk (SSML) för information om talsyntes från en fil och finare kontroll över röstformat, prosody och andra inställningar.
- Se batchsyntes-API för text till tal för information om hur du syntetiserar långformstext till tal.
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Tal till text REST API-referens Tal till text REST API för kort ljudreferens | Ytterligare exempel på GitHub |
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Syntetisera tal till en fil
Kör följande cURL-kommando i en kommandotolk. Du kan också byta namn på output.mp3 till ett annat namn på utdatafilen.
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
Viktigt!
Se till att du anger SPEECH_KEY
miljövariablerna och SPEECH_REGION
. Om du inte anger dessa variabler misslyckas exemplet med ett felmeddelande.
Den angivna texten ska matas ut till en ljudfil med namnet output.mp3.
Om du vill ändra talsyntesspråket ersätter du en-US-AvaMultilingualNeural
med en annan röst som stöds.
Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger es-ES-ElviraNeural
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.
Mer information finns i REST API för text till tal.
Kommentarer
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Med Azure AI Speech kan du köra ett program som syntetiserar en mänsklig röst för att läsa text. Du kan ändra rösten, ange text som ska talas och lyssna på utdata på datorns högtalare.
Dricks
Du kan prova text till tal i Speech Studio Voice Gallery utan att registrera dig eller skriva någon kod.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Följ de här stegen och se snabbstarten för Speech CLI för andra krav för din plattform.
Kör följande .NET CLI-kommando för att installera Speech CLI:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Kör följande kommandon för att konfigurera din Speech-resursnyckel och -region. Ersätt
SUBSCRIPTION-KEY
med din Speech-resursnyckel och ersättREGION
med din Speech-resursregion.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Skicka tal till talare
Kör följande kommando för att mata ut talsyntes till standardhögtalaren. Du kan ändra rösten och texten som ska syntetiseras.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Om du inte anger ett röstnamn talar standardrösten för en-US
.
Alla neurala röster är flerspråkiga och flytande på sitt eget språk och engelska. Till exempel, om indatatexten på engelska är jag glad över att prova text till tal och du anger --voice "es-ES-ElviraNeural"
, texten talas på engelska med en spansk accent. Om rösten inte talar indatatextens språk matar taltjänsten inte ut syntetiserat ljud.
Kör det här kommandot för information om fler talsyntesalternativ, till exempel filindata och utdata:
spx help synthesize
Kommentarer
SSML-stöd
Du kan ha bättre kontroll över röstformat, prosody och andra inställningar med hjälp av Speech Synthesis Markup Language (SSML).
OpenAI-text till talröster i Azure AI Speech
OpenAI-text till talröster stöds också. Se OpenAI-text till talröster i Azure AI Speech och flerspråkiga röster. Du kan ersätta en-US-AvaMultilingualNeural
med ett OpenAI-röstnamn som stöds, till exempel en-US-FableMultilingualNeural
.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.