Szybki start: konwertowanie tekstu na mowę
Dokumentacja referencyjna Package (NuGet) | Dodatkowe przykłady w witrynie GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK jest dostępny jako pakiet NuGet, który implementuje platformę .NET Standard 2.0. Zainstaluj zestaw SDK usługi Mowa w dalszej części tego przewodnika przy użyciu konsoli programu . Aby uzyskać szczegółowe instrukcje instalacji, zobacz Instalowanie zestawu SPEECH SDK.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć aplikację konsolową i zainstalować zestaw SPEECH SDK.
Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Uruchom to polecenie, aby utworzyć aplikację konsolową przy użyciu interfejsu wiersza polecenia platformy .NET.
dotnet new console
Polecenie tworzy plik Program.cs w katalogu projektu.
Zainstaluj zestaw SPEECH SDK w nowym projekcie przy użyciu interfejsu wiersza polecenia platformy .NET.
dotnet add package Microsoft.CognitiveServices.Speech
Zastąp zawartość pliku Program.cs poniższym kodem.
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(); } }
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
jako język, tekst jest używany w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Uruchom nową aplikację konsolową, aby rozpocząć syntezę mowy do domyślnego głośnika.
dotnet run
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Wprowadź tekst, który chcesz mówić. Na przykład wpisz I'm podekscytowany, aby spróbować zamiany tekstu na mowę. Wybierz Enter, aby usłyszeć syntetyzowany mowę.
Enter some text that you want to speak > I'm excited to try text to speech
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakTextAsync
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (NuGet) | Dodatkowe przykłady w witrynie GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK jest dostępny jako pakiet NuGet, który implementuje platformę .NET Standard 2.0. Zainstaluj zestaw SPEECH SDK w dalszej części tego przewodnika. Aby uzyskać szczegółowe instrukcje instalacji, zobacz Instalowanie zestawu SPEECH SDK.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć aplikację konsolową i zainstalować zestaw SPEECH SDK.
Utwórz projekt konsoli języka C++ w programie Visual Studio Community o nazwie
SpeechSynthesis
.Zastąp zawartość SpeechSynthesis.cpp następującym kodem:
#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 }
Wybierz pozycję Narzędzia Nuget>Menedżer pakietów> Menedżer pakietów Konsola. W konsoli Menedżer pakietów uruchom następujące polecenie:
Install-Package Microsoft.CognitiveServices.Speech
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Skompiluj i uruchom nową aplikację konsolową, aby rozpocząć syntezę mowy do domyślnego głośnika.
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Wprowadź tekst, który chcesz mówić. Na przykład wpisz I'm podekscytowany, aby spróbować zamiany tekstu na mowę. Wybierz Enter, aby usłyszeć syntetyzowany mowę.
Enter some text that you want to speak > I'm excited to try text to speech
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakTextAsync
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (Go) | Dodatkowe przykłady w witrynie GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zainstaluj zestaw SPEECH SDK dla języka Go. Aby uzyskać szczegółowe instrukcje instalacji, zobacz Instalowanie zestawu SPEECH SDK.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć moduł Języka Go.
Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Utwórz nowy plik o nazwie speech-synthesis.go.
Skopiuj następujący kod do pliku 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) } } } }
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Uruchom następujące polecenia, aby utworzyć plik go.mod , który łączy się ze składnikami hostowanymi w usłudze GitHub:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-go
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Teraz skompiluj i uruchom kod:
go build go run speech-synthesis
Uwagi
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
| Dokumentacja referencyjna Dodatkowe przykłady w usłudze GitHub
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Aby skonfigurować środowisko, zainstaluj zestaw SPEECH SDK. Przykład w tym przewodniku Szybki start współpracuje ze środowiskiem uruchomieniowym Języka Java.
Zainstaluj narzędzie Apache Maven. Następnie uruchom polecenie
mvn -v
, aby potwierdzić pomyślną instalację.Utwórz plik pom.xml w katalogu głównym projektu i skopiuj do niego następujący kod:
<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>
Zainstaluj zestaw SPEECH SDK i zależności.
mvn clean dependency:copy-dependencies
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć aplikację konsolową do rozpoznawania mowy.
Utwórz plik o nazwie SpeechSynthesis.java w tym samym katalogu głównym projektu.
Skopiuj następujący kod do 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); } }
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Uruchom aplikację konsolową, aby wyprowadzić syntezę mowy do domyślnego głośnika.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesis
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Wprowadź tekst, który chcesz mówić. Na przykład wpisz I'm podekscytowany, aby spróbować zamiany tekstu na mowę. Wybierz Enter, aby usłyszeć syntetyzowany mowę.
Enter some text that you want to speak > I'm excited to try text to speech
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakTextAsync
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna | Package (npm) | Dodatkowe przykłady w kodzie źródłowym biblioteki GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Aby skonfigurować środowisko, zainstaluj zestaw SPEECH SDK dla języka JavaScript. Jeśli chcesz tylko, aby nazwa pakietu została zainstalowana, uruchom polecenie npm install microsoft-cognitiveservices-speech-sdk
. Aby uzyskać szczegółowe instrukcje instalacji, zobacz Instalowanie zestawu SPEECH SDK.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć aplikację konsolową Node.js na potrzeby syntezy mowy.
Otwórz okno konsoli, w którym chcesz utworzyć nowy projekt, i utwórz plik o nazwie SpeechSynthesis.js.
Zainstaluj zestaw SPEECH SDK dla języka JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Skopiuj następujący kod do 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); }); }());
W SpeechSynthesis.js opcjonalnie możesz zmienić nazwę YourAudioFile.wav na inną nazwę pliku wyjściowego.
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Uruchom aplikację konsolową, aby rozpocząć syntezę mowy w pliku:
node SpeechSynthesis.js
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Podany tekst powinien znajdować się w pliku audio:
Enter some text that you want to speak > > I'm excited to try text to speech Now synthesizing to: YourAudioFile.wav synthesis finished.
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakTextAsync
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (download) | Dodatkowe przykłady w usłudze GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK dla języka Objective-C jest dystrybuowany jako pakiet platformy. Platforma obsługuje język Objective-C i Swift zarówno w systemach iOS, jak i macOS.
Zestaw SPEECH SDK może być używany w projektach Xcode jako cocoaPod lub pobierany bezpośrednio i połączony ręcznie. W tym przewodniku jest używany program CocoaPod. Zainstaluj menedżera zależności CocoaPod zgodnie z opisem w instrukcjach instalacji.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby zsyntetyzować mowę w aplikacji systemu macOS.
Sklonuj repozytorium Azure-Samples/cognitive-services-speech-sdk , aby uzyskać przykładowy projekt Syntetyzowanie dźwięku w języku Objective-C w systemie macOS przy użyciu przykładowego projektu zestawu Speech SDK . Repozytorium zawiera również przykłady dla systemu iOS.
Otwórz katalog pobranej przykładowej aplikacji (
helloworld
) w terminalu.Uruchom polecenie
pod install
. To polecenie generujehelloworld.xcworkspace
obszar roboczy Xcode, który zawiera zarówno przykładową aplikację, jak i zestaw SPEECH SDK jako zależność.Otwórz obszar roboczy w programie
helloworld.xcworkspace
Xcode.Otwórz plik o nazwie AppDelegate.m i znajdź metodę
buttonPressed
, jak pokazano tutaj.- (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."); } }
W pliku AppDelegate.m użyj zmiennych środowiskowych ustawionych wcześniej dla klucza zasobu usługi Mowa i regionu.
NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"]; NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
Opcjonalnie w pliku AppDelegate.m dołącz nazwę głosu syntezy mowy, jak pokazano poniżej:
speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Aby wyświetlić dane wyjściowe debugowania, wybierz pozycję Wyświetl>obszar>debugowania Aktywuj konsolę.
Aby skompilować i uruchomić przykładowy kod, wybierz pozycję Product Run (Uruchom produkt>) z menu lub wybierz przycisk Play (Odtwórz).
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.
Po wprowadzeniu tekstu i wybraniu przycisku w aplikacji powinien zostać wyświetlony syntetyzowany dźwięk.
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakText
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna Package (download) | Dodatkowe przykłady w usłudze GitHub |
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK dla języka Swift jest dystrybuowany jako pakiet platformy. Platforma obsługuje język Objective-C i Swift zarówno w systemach iOS, jak i macOS.
Zestaw SPEECH SDK może być używany w projektach Xcode jako cocoaPod lub pobierany bezpośrednio i połączony ręcznie. W tym przewodniku jest używany program CocoaPod. Zainstaluj menedżera zależności CocoaPod zgodnie z opisem w instrukcjach instalacji.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby zsyntetyzować mowę w aplikacji systemu macOS.
Sklonuj repozytorium Azure-Samples/cognitive-services-speech-sdk , aby uzyskać przykładowy projekt Syntetyzowanie dźwięku w języku Swift w systemie macOS przy użyciu przykładowego projektu zestawu Speech SDK . Repozytorium zawiera również przykłady dla systemu iOS.
Przejdź do katalogu pobranej przykładowej aplikacji (
helloworld
) w terminalu.Uruchom polecenie
pod install
. To polecenie generujehelloworld.xcworkspace
obszar roboczy Xcode, który zawiera zarówno przykładową aplikację, jak i zestaw SPEECH SDK jako zależność.Otwórz obszar roboczy w programie
helloworld.xcworkspace
Xcode.Otwórz plik o nazwie AppDelegate.swift i znajdź
applicationDidFinishLaunching
metody isynthesize
, jak pokazano tutaj.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 } }
W pliku AppDelegate.m użyj zmiennych środowiskowych ustawionych wcześniej dla klucza zasobu usługi Mowa i regionu.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
Opcjonalnie w pliku AppDelegate.m dołącz nazwę głosu syntezy mowy, jak pokazano poniżej:
speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Aby wyświetlić dane wyjściowe debugowania, wybierz pozycję Wyświetl>obszar>debugowania Aktywuj konsolę.
Aby skompilować i uruchomić przykładowy kod, wybierz pozycję Product Run (Uruchom produkt>) z menu lub wybierz przycisk Play (Odtwórz).
Ważne
Upewnij się, że ustawiono SPEECH_KEY
zmienne środowiskowe i SPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.
Po wprowadzeniu tekstu i wybraniu przycisku w aplikacji powinien zostać wyświetlony syntetyzowany dźwięk.
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto SpeakText
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dokumentacja referencyjna | Package (PyPi) | Dodatkowe przykłady w witrynie GitHub
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Zestaw SPEECH SDK dla języka Python jest dostępny jako moduł PyPI (Python Package Index). Zestaw SPEECH SDK dla języka Python jest zgodny z systemami Windows, Linux i macOS.
- W systemie Windows zainstaluj platformę Microsoft Pakiet redystrybucyjny Visual C++ dla Visual Studio 2015, 2017, 2019 i 2022. Zainstalowanie tego pakietu może wymagać ponownego uruchomienia.
- W systemie Linux należy użyć architektury docelowej x64.
Zainstaluj wersję języka Python z wersji 3.7 lub nowszej. Aby uzyskać informacje o wszelkich wymaganiach, zobacz Instalowanie zestawu SPEECH SDK.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Tworzenie aplikacji
Wykonaj następujące kroki, aby utworzyć aplikację konsolową.
Otwórz okno wiersza polecenia w folderze, w którym chcesz utworzyć nowy projekt. Utwórz plik o nazwie speech_synthesis.py.
Uruchom to polecenie, aby zainstalować zestaw SPEECH SDK:
pip install azure-cognitiveservices-speech
Skopiuj następujący kod do 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?")
Aby zmienić język syntezy mowy, zastąp
en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić
es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.Uruchom nową aplikację konsolową, aby rozpocząć syntezę mowy do domyślnego głośnika.
python speech_synthesis.py
Ważne
Upewnij się, że ustawiono
SPEECH_KEY
zmienne środowiskowe iSPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.Wprowadź tekst, który chcesz mówić. Na przykład wpisz I'm podekscytowany, aby spróbować zamiany tekstu na mowę. Wybierz Enter, aby usłyszeć syntetyzowany mowę.
Enter some text that you want to speak > I'm excited to try text to speech
Uwagi
Więcej opcji syntezy mowy
W tym przewodniku Szybki start użyto speak_text_async
operacji , aby zsyntetyzować krótki blok wprowadzonego tekstu. Możesz również użyć tekstu długiego z pliku i uzyskać dokładnszą kontrolę nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz , jak syntetyzować mowę i język znaczników syntezy mowy (SSML) — omówienie , aby uzyskać informacje na temat syntezy mowy z pliku i bardziej precyzyjnej kontroli nad stylami głosu, prosodią i innymi ustawieniami.
- Zobacz interfejs API syntezy wsadowej dla zamiany tekstu na mowę , aby uzyskać informacje o synchronizowaniu tekstu długiego na mowę.
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Interfejs API REST zamiany mowy na tekst — dokumentacja | interfejsu API REST zamiany mowy na tekst w celu uzyskania krótkiej dokumentacji | audio Dodatkowe przykłady w usłudze GitHub
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Ustawianie zmiennych środowiskowych
Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.
Ważne
Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.
Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.
- Aby ustawić zmienną
SPEECH_KEY
środowiskową, zastąp klucz jednym z kluczy zasobu. - Aby ustawić zmienną
SPEECH_REGION
środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Uwaga
Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością set
setx
zamiast .
Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.
Syntetyzowanie mowy do pliku
W wierszu polecenia uruchom następujące polecenie cURL. Opcjonalnie możesz zmienić nazwę output.mp3 na inną nazwę pliku wyjściowego.
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
Ważne
Upewnij się, że ustawiono SPEECH_KEY
zmienne środowiskowe i SPEECH_REGION
. Jeśli nie ustawisz tych zmiennych, przykład zakończy się niepowodzeniem z komunikatem o błędzie.
Podany tekst powinien być wyjściowy do pliku audio o nazwie output.mp3.
Aby zmienić język syntezy mowy, zastąp en-US-AvaMultilingualNeural
element innym obsługiwanym głosem.
Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić es-ES-ElviraNeural
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.
Aby uzyskać więcej informacji, zobacz Interfejs API REST zamiany tekstu na mowę.
Uwagi
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Dzięki usłudze Azure AI Speech możesz uruchomić aplikację, która syntetyzuje głos podobny do człowieka w celu odczytywania tekstu. Możesz zmienić głos, wprowadzić tekst, który ma być mówiony, i słuchać danych wyjściowych na głośniku komputera.
Napiwek
Możesz spróbować zamiany tekstu na mowę w galerii głosowej usługi Speech Studio bez rejestracji ani pisania jakiegokolwiek kodu.
Napiwek
Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.
Wymagania wstępne
- Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
- Utwórz zasób usługi Mowa w witrynie Azure Portal.
- Pobierz klucz zasobu usługi Mowa i region. Po wdrożeniu zasobu usługi Mowa wybierz pozycję Przejdź do zasobu , aby wyświetlić klucze i zarządzać nimi.
Konfigurowanie środowiska
Wykonaj następujące kroki i zapoznaj się z przewodnikiem Szybki start interfejsu wiersza polecenia usługi Mowa, aby uzyskać inne wymagania dotyczące platformy.
Uruchom następujące polecenie interfejsu wiersza polecenia platformy .NET, aby zainstalować interfejs wiersza polecenia usługi Mowa:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Uruchom następujące polecenia, aby skonfigurować klucz zasobu usługi Mowa i region. Zastąp
SUBSCRIPTION-KEY
ciąg kluczem zasobu usługi Mowa i zastąpREGION
element regionem zasobu usługi Mowa.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Wysyłanie mowy do osoby mówiącej
Uruchom następujące polecenie, aby wyprowadzić syntezę mowy do domyślnego głośnika. Możesz zmodyfikować głos i tekst, który ma zostać zsyntetyzowany.
spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"
Jeśli nie ustawisz nazwy głosu, domyślny głos mówi en-US
.
Wszystkie neuronowe głosy są wielojęzyczne i płynne we własnym języku i języku angielskim. Jeśli na przykład tekst wejściowy w języku angielskim jest podekscytowany, aby spróbować zamiany tekstu na mowę i ustawić --voice "es-ES-ElviraNeural"
, tekst jest mówiony w języku angielskim z hiszpańskim akcentem. Jeśli głos nie mówi w języku tekstu wejściowego, usługa rozpoznawania mowy nie generuje syntetyzowanego dźwięku.
Uruchom to polecenie, aby uzyskać więcej informacji na temat opcji syntezy mowy, takich jak dane wejściowe i wyjściowe pliku:
spx help synthesize
Uwagi
Obsługa języka SSML
Możesz mieć dokładną kontrolę nad stylami głosu, prosodią i innymi ustawieniami przy użyciu języka SSML (Speech Synthesis Markup Language).
OpenAI text to speech voices in Azure AI Speech
Obsługiwane są również głosy zamiany tekstu openAI na mowę. Zobacz tekst OpenAI na głosy mowy w usłudze Azure AI Speech i wielojęzyczne głosy. Możesz zastąpić en-US-AvaMultilingualNeural
obsługiwaną nazwą głosową openAI, taką jak en-US-FableMultilingualNeural
.
Czyszczenie zasobów
Aby usunąć utworzony zasób usługi Mowa, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.