Schnellstart: Konvertieren von Text in Sprache

Referenzdokumentation | Paket (NuGet) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK ist als NuGet-Paket verfügbar und implementiert .NET Standard 2.0. Installieren Sie das Speech SDK wie weiter unten in diesem Leitfaden beschrieben. Alle Anforderungen finden Sie unter Installieren des Speech SDK.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung zu erstellen und das Speech SDK zu installieren.

  1. Öffnen Sie ein Eingabeaufforderungsfenster in dem Ordner, in dem das neue Projekt angezeigt werden soll. Führen Sie diesen Befehl aus, um eine Konsolenanwendung mit der .NET CLI zu erstellen.

    dotnet new console
    

    Der Befehl erstellt eine Datei Program.cs im Projektverzeichnis.

  2. Installieren Sie das Speech SDK mit der .NET-CLI in Ihrem neuen Projekt.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Ersetzen Sie die Inhalte von Program.cs durch den folgenden Code.

    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();
        }
    }
    
  4. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  5. Führen Sie Ihre neue Konsolenanwendung aus, um die Sprachsynthese mit dem Standardsprecher zu starten.

    dotnet run
    

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  6. Geben Sie den Text ein, der gesprochen werden soll. Geben Sie z. B. I'm excited to try text to speech ein. Drücken Sie die EINGABETASTE, um die synthetisierte Sprache zu hören.

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

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakTextAsync verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (NuGet) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK ist als NuGet-Paket verfügbar und implementiert .NET Standard 2.0. Installieren Sie das Speech SDK wie weiter unten in diesem Leitfaden beschrieben. Alle Anforderungen finden Sie unter Installieren des Speech SDK.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung zu erstellen und das Speech SDK zu installieren.

  1. Erstellen Sie in Visual Studio Community ein C++-Konsolenprojekt mit dem Namen SpeechSynthesis.

  2. Ersetzen Sie den Inhalt von SpeechSynthesis.cpp durch folgenden Code:

    #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
    }  
    
  3. Klicken Sie auf Tools>NuGet-Paket-Manager>Paket-Manager-Konsole. Führen Sie diesen Befehl in der Paket-Manager-Konsole aus:

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  5. Erstellen Sie Ihre neue Konsolenanwendung und führen Sie sie aus, um die Sprachsynthese mit dem Standardsprecher zu starten.

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  6. Geben Sie den Text ein, der gesprochen werden soll. Geben Sie z. B. I'm excited to try text to speech ein. Drücken Sie die EINGABETASTE, um die synthetisierte Sprache zu hören.

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

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakTextAsync verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (Go) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Installieren Sie das Speech SDK für Go. Weitere Informationen zu Anforderungen und Anweisungen finden Sie unter Installieren des Speech SDK.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Folgen Sie diesen Schritten, um ein Go-Modul zu erstellen.

  1. Öffnen Sie ein Eingabeaufforderungsfenster in dem Ordner, in dem das neue Projekt angezeigt werden soll. Erstellen Sie eine neue Datei namens speech-synthesis.go.

  2. Kopieren Sie den folgenden Code in die Datei 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)
                }
            }
        }
    }
    
  3. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  4. Führen Sie die folgenden Befehle aus, um eine Datei namens go.mod zu erstellen, die mit auf GitHub gehosteten Komponenten verknüpft ist:

    go mod init speech-synthesis
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  5. Erstellen Sie als Nächstes den Code, und führen Sie ihn aus:

    go build
    go run speech-synthesis
    

Hinweise

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Um Ihre Umgebung einzurichten, installieren Sie das Speech SDK. Das Beispiel in diesem Schnellstart funktioniert mit der Java-Runtime.

  1. Installieren Sie Apache Maven. Führen Sie dann mvn -v aus, um die erfolgreiche Installation zu bestätigen.

  2. Erstellen Sie eine pom.xml-Datei im Stammverzeichnis Ihres Projekts und kopieren Sie den folgenden Code hinein:

    <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.36.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installieren Sie das Speech SDK und Abhängigkeiten.

    mvn clean dependency:copy-dependencies
    

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung für die Spracherkennung zu erstellen.

  1. Erstellen Sie im gleichen Projektstammverzeichnis eine Datei namens SpeechSynthesis.java.

  2. Kopieren Sie den folgenden Code in die Datei 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);
        }
    }
    
  3. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  4. Führen Sie Ihre Konsolenanwendung aus, um die Sprachsynthese mit dem Standardsprecher zu starten.

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

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  5. Geben Sie den Text ein, der gesprochen werden soll. Geben Sie z. B. I'm excited to try text to speech ein. Drücken Sie die EINGABETASTE, um die synthetisierte Sprache zu hören.

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

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakTextAsync verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (npm) | Zusätzliche Beispiele auf GitHub | Quellcode der Bibliothek

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Um Ihre Umgebung einzurichten, installieren Sie das Speech SDK für JavaScript. Falls Sie lediglich den Paketnamen für die Installation benötigen, können Sie den folgenden Befehl ausführen: npm install microsoft-cognitiveservices-speech-sdk. Anweisungen zu einer geführten Installation finden Sie unter Installieren des Speech SDK.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren in Dateiausgabe

Führen Sie die folgenden Schritte aus, um eine Node.js-Konsolenanwendung für die Sprachsynthese zu erstellen.

  1. Öffnen Sie am gewünschten Speicherort für das neue Projekt ein Konsolenfenster, und erstellen Sie eine Datei mit dem Namen SpeechSynthesis.js.

  2. Installieren Sie das Speech SDK für JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieren Sie den folgenden Code in die Datei 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);
        });
    }());
    
  4. In SpeechSynthesis.js können Sie YourAudioFile.wav optional in einen anderen Ausgabedateinamen umbenennen.

  5. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  6. Führen Sie Ihre Konsolenanwendung aus, um die Sprachsynthese in eine Datei zu starten:

    node SpeechSynthesis.js
    

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  7. Der bereitgestellte Text sollte in eine Audiodatei ausgegeben werden:

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

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakTextAsync verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (Download) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Objective-C wird als Frameworkpaket verteilt. Das Framework unterstützt sowohl Objective-C als auch Swift unter iOS und macOS.

Das Speech SDK kann in Xcode-Projekten als CocoaPod verwendet oder direkt heruntergeladen und manuell verknüpft werden. In dieser Anleitung wird ein CocoaPod verwendet. Installieren Sie den CocoaPod-Abhängigkeits-Manager entsprechend den Anweisungen in der Installationsanleitung.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um Sprache in einer macOS-Anwendung zu synthetisieren.

  1. Klonen Sie das Repository Azure-Samples/cognitive-services-speech-sdk, um das Beispielprojekt zum Synthetisieren von Audio in Objective-C unter macOS mithilfe des Speech SDK abzurufen. Das Repository enthält auch iOS-Beispiele.

  2. Navigieren Sie in einem Terminal zum Verzeichnis der heruntergeladenen Beispiel-App (helloworld).

  3. Führen Sie den Befehl pod install aus. Mit diesem Befehl wird ein Xcode-Arbeitsbereich helloworld.xcworkspace generiert, der die Beispiel-App und das Speech SDK als Abhängigkeit enthält.

  4. Öffnen Sie den Arbeitsbereich helloworld.xcworkspace in Xcode.

  5. Öffnen Sie die Datei AppDelegate.m, und suchen Sie wie hier gezeigt nach der buttonPressed-Methode.

    - (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.");
        }
    }
    
  6. Verwenden Sie in AppDelegate.m die zuvor festgelegten Umgebungsvariablen für den Speech-Ressourcenschlüssel und die Region.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Fügen Sie optional in AppDelegate.m wie hier gezeigt einen Sprachsynthese-Stimmnamen ein:

    speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
    
  8. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  9. Um die Debugausgabe anzuzeigen, wählen Sie Ansicht>Debugbereich>Konsole aktivieren aus.

  10. Um den Beispielcode zu erstellen und auszuführen, wählen Sie Produkt->Ausführung aus dem Menü oder klicken Sie auf die Schaltfläche Wiedergeben.

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Nachdem Sie Text eingegeben und in der App auf die Schaltfläche geklickt haben, sollten die synthetisierten Audiodaten wiedergegeben werden.

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakText verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (Download) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Swift wird als Frameworkpaket verteilt. Das Framework unterstützt sowohl Objective-C als auch Swift unter iOS und macOS.

Das Speech SDK kann in Xcode-Projekten als CocoaPod verwendet oder direkt heruntergeladen und manuell verknüpft werden. In dieser Anleitung wird ein CocoaPod verwendet. Installieren Sie den CocoaPod-Abhängigkeits-Manager entsprechend den Anweisungen in der Installationsanleitung.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um Sprache in einer macOS-Anwendung zu synthetisieren.

  1. Klonen Sie das Repository Azure-Samples/cognitive-services-speech-sdk, um das Beispielprojekt zum Synthetisieren von Audio in Swift unter macOS mithilfe des Speech SDK abzurufen. Das Repository enthält auch iOS-Beispiele.

  2. Navigieren Sie in einem Terminal zum Verzeichnis der heruntergeladenen Beispiel-App (helloworld).

  3. Führen Sie den Befehl pod install aus. Mit diesem Befehl wird ein Xcode-Arbeitsbereich helloworld.xcworkspace generiert, der die Beispiel-App und das Speech SDK als Abhängigkeit enthält.

  4. Öffnen Sie den Arbeitsbereich helloworld.xcworkspace in Xcode.

  5. Öffnen Sie die Datei AppDelegate.swift, und suchen Sie wie hier gezeigt nach den Methoden applicationDidFinishLaunching und synthesize.

    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
        }
    }
    
  6. Verwenden Sie in AppDelegate.m die zuvor festgelegten Umgebungsvariablen für den Speech-Ressourcenschlüssel und die Region.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Fügen Sie optional in AppDelegate.m wie hier gezeigt einen Sprachsynthese-Stimmnamen ein:

    speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
    
  8. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  9. Um die Debugausgabe anzuzeigen, wählen Sie Ansicht>Debugbereich>Konsole aktivieren aus.

  10. Um den Beispielcode zu erstellen und auszuführen, wählen Sie Produkt->Ausführung aus dem Menü oder klicken Sie auf die Schaltfläche Wiedergeben.

Wichtig

Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Nachdem Sie Text eingegeben und in der App auf die Schaltfläche geklickt haben, sollten die synthetisierten Audiodaten wiedergegeben werden.

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang SpeakText verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Referenzdokumentation | Paket (PyPi) | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Das Speech SDK für Python ist als PyPI-Modul (Python Package Index) verfügbar. Das Speech SDK für Python ist mit Windows, Linux und macOS kompatibel.

Installieren Sie eine Python-Version ab 3.7. Alle Anforderungen finden Sie unter Installieren des Speech SDK.

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren der Lautsprecherausgabe

Führen Sie die folgenden Schritte aus, um eine Konsolenanwendung zu erstellen.

  1. Öffnen Sie ein Eingabeaufforderungsfenster in dem Ordner, in dem das neue Projekt angezeigt werden soll. Erstellen Sie eine Datei namens speech_synthesis.py.

  2. Führen Sie diesen Befehl aus, um das Speech SDK zu installieren:

    pip install azure-cognitiveservices-speech
    
  3. Kopieren Sie den folgenden Code in die Datei 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?")
    
  4. Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

    Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

  5. Führen Sie Ihre neue Konsolenanwendung aus, um die Sprachsynthese mit dem Standardsprecher zu starten.

    python speech_synthesis.py
    

    Wichtig

    Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

  6. Geben Sie den Text ein, der gesprochen werden soll. Geben Sie z. B. I'm excited to try text to speech ein. Drücken Sie die EINGABETASTE, um die synthetisierte Sprache zu hören.

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

Hinweise

Weitere Sprachsyntheseoptionen

In dieser Schnellstartanleitung wird der Vorgang speak_text_async verwendet, um einen kurzen Textblock zu synthetisieren, den Sie eingeben. Sie können auch langen Text aus einer Datei verwenden und eine bessere Kontrolle über Sprachstile, Prosodie und andere Einstellungen erhalten.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

REST-API-Referenz zur Spracherkennung | REST-API-Referenz zur Spracherkennung für kurze Audiodaten | Zusätzliche Beispiele auf GitHub

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Festlegen von Umgebungsvariablen

Ihre Anwendung muss authentifiziert werden, um auf die Azure KI Services-Ressourcen zugreifen zu können. In der Produktionsumgebung sollten Sie eine sichere Methode zum Speichern Ihrer Anmeldeinformationen sowie zum Zugriff darauf verwenden. Schreiben Sie beispielsweise nach dem Abrufen eines Schlüssels für Ihre Speech-Ressource diesen Schlüssel in eine neue Umgebungsvariable auf dem lokalen Computer, auf dem die Anwendung ausgeführt wird.

Tipp

Fügen Sie den Schlüssel nicht direkt in Ihren Code ein, und machen Sie ihn nicht öffentlich. Weitere Authentifizierungsoptionen wie z. B. Azure Key Vault finden Sie unter Sicherheit in Azure KI Services.

Um die Umgebungsvariable für Ihren Speech-Ressourcenschlüssel festzulegen, öffnen Sie ein Konsolenfenster und befolgen die Anweisungen für Ihr Betriebssystem und Ihre Entwicklungsumgebung.

  • Zum Festlegen der Umgebungsvariablen SPEECH_KEY ersetzen Sie your-key durch einen der Schlüssel für Ihre Ressource.
  • Zum Festlegen der Umgebungsvariablen SPEECH_REGION ersetzen Sie your-region durch eine der Regionen für Ihre Ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Hinweis

Wenn Sie nur in der aktuellen Konsole auf die Umgebungsvariable zugreifen müssen, können Sie die Variable mit set anstatt setx festlegen.

Nachdem Sie die Umgebungsvariablen hinzugefügt haben, müssen Sie möglicherweise alle Programme neu starten, die die Umgebungsvariablen lesen müssen, einschließlich des Konsolenfensters. Wenn Sie beispielsweise Visual Studio als Editor verwenden, starten Sie Visual Studio neu, bevor Sie das Beispiel ausführen.

Synthetisieren in eine Datei

Führen Sie an der Eingabeaufforderung den folgenden cURL-Befehl aus. Optional können Sie output.mp3 in einen anderen Ausgabedateinamen umbenennen.

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

Wichtig

Stellen Sie sicher, dass Sie die SPEECH_KEY- und SPEECH_REGION-Umgebungsvariablen festlegen. Wenn Sie diese Variablen nicht festlegen, wird für das Beispiel eine Fehlermeldung ausgegeben.

Der bereitgestellte Text sollte in eine Audiodatei namens output.mp3 ausgegeben werden.

Um die Sprache für die Sprachsynthese zu ändern, ersetzen Sie en-US-AvaMultilingualNeural durch eine andere unterstützte Stimme.

Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie es-ES-ElviraNeural festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

Weitere Informationen finden Sie in der Sprachsynthese-REST-API.

Hinweise

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

In dieser Schnellstartanleitung führen Sie eine Anwendung aus, die eine Sprachsynthese durchführt.

Tipp

Sie können die Sprachsynthese in Speech Studio Voice Gallery ausprobieren, ohne sich anzumelden oder Code zu schreiben.

Voraussetzungen

Einrichten der Umgebung

Befolgen Sie diese Schritte und lesen Sie die Schnellstartanleitung für Speech CLI, um weitere Anforderungen für Ihre Plattform zu erfahren.

  1. Führen Sie den folgenden .NET CLI-Befehl aus, um die Speech CLI zu installieren:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Führen Sie die folgenden Befehle aus, um Ihren Speech-Ressourcenschlüssel und Ihre Region zu konfigurieren. Ersetzen Sie SUBSCRIPTION-KEY durch den Schlüssel Ihrer Speech-Ressource und REGION durch die Region Ihrer Speech-Ressource.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Synthetisieren der Lautsprecherausgabe

Führen Sie den folgenden Befehl für die Sprachsynthese mit dem Standardsprecher aus. Sie können die Stimme und den zu synthetisierenden Text ändern.

spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"

Wenn Sie keinen Stimmnamen festlegen, spricht die Standardstimme für en-US.

Alle neuronalen Stimmen sind mehrsprachig und können in ihrer eigenen Sprache und in englischer Sprache sprechen. Wenn der Eingabetext auf Englisch beispielsweise „I'm excited to try text to speech“ lautet und Sie --voice "es-ES-ElviraNeural" festlegen, wird der Text in englischer Sprache mit einem spanischen Akzent gesprochen. Wenn die Stimme nicht die Sprache des Eingabetexts spricht, erfolgt keine synthetisierte Audioausgabe vom Speech-Dienst.

Führen Sie diesen Befehl aus, um Informationen zu weiteren Sprachsyntheseoptionen wie Dateieingabe und -ausgabe zu erhalten:

spx help synthesize

Hinweise

SSML-Unterstützung

Mithilfe von Speech Synthesis Markup Language (SSML) können Sie Sprechstile, Prosodie und weitere Einstellungen genauer steuern.

OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech

OpenAI-Stimmen für die Sprachsynthese wird ebenfalls unterstützt. Siehe OpenAI-Stimmen für die Sprachsynthese in Azure KI Speech und mehrsprachige Stimmen. Sie können en-US-AvaMultilingualNeural durch einen unterstützten OpenAI-Sprachnamen wie en-US-FableMultilingualNeural ersetzen.

Bereinigen von Ressourcen

Sie können das Azure-Portal oder die Azure-Befehlszeilenschnittstelle (CLI) verwenden, um die erstellte Speech-Ressource zu entfernen.

Nächster Schritt