Quickstart: Tekst naar spraak converteren

Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket waarmee .NET Standard 2.0 wordt geïmplementeerd. Installeer de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor eventuele vereisten.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Voer deze opdracht uit om een consoletoepassing te maken met de .NET CLI.

    dotnet new console
    

    Met de opdracht maakt u een Program.cs-bestand in de projectmap.

  2. Installeer de Speech SDK in uw nieuwe project met de .NET CLI.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Vervang de inhoud van Program.cs door de volgende 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. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  5. Voer uw nieuwe consoletoepassing uit om spraaksynthese naar de standaardluidspreker te starten.

    dotnet run
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Voer tekst in die u wilt spreken. Typ bijvoorbeeld dat ik enthousiast ben om tekst naar spraak te proberen. Selecteer de Enter-toets om de gesynthetiseerde spraak te horen.

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

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakTextAsync bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

De Speech SDK is beschikbaar als een NuGet-pakket waarmee .NET Standard 2.0 wordt geïmplementeerd. Installeer de Speech SDK verderop in deze handleiding. Zie De Speech SDK installeren voor eventuele vereisten.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om een consoletoepassing te maken en de Speech SDK te installeren.

  1. Maak een C++-consoleproject in Visual Studio Community met de naam SpeechSynthesis.

  2. Vervang de inhoud van SpeechSynthesis.cpp door de volgende 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. Selecteer Tools>Nuget Pakketbeheer> Pakketbeheer Console. Voer in de Pakketbeheer Console deze opdracht uit:

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  5. Bouw uw nieuwe consoletoepassing en voer deze uit om spraaksynthese naar de standaardluidspreker te starten.

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Voer tekst in die u wilt spreken. Typ bijvoorbeeld dat ik enthousiast ben om tekst naar spraak te proberen. Selecteer de Enter-toets om de gesynthetiseerde spraak te horen.

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

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakTextAsync bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (Go) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

Installeer de Speech SDK voor Go. Zie De Speech SDK installeren voor vereisten en instructies.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om een Go-module te maken.

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een nieuw bestand met de naam speech-synthesis.go.

  2. Kopieer de volgende code naar 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. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  4. Voer de volgende opdrachten uit om een go.mod-bestand te maken dat is gekoppeld aan onderdelen die worden gehost op GitHub:

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  5. Bouw nu de code en voer deze uit:

    go build
    go run speech-synthesis
    

Opmerkingen

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatie | Aanvullende voorbeelden op GitHub

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

Installeer de Speech SDK om uw omgeving in te stellen. Het voorbeeld in deze quickstart werkt met de Java Runtime.

  1. Installeer Apache Maven. Voer vervolgens uit mvn -v om de installatie te bevestigen.

  2. Maak een pom.xml-bestand in de hoofdmap van uw project en kopieer de volgende code erin:

    <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. Installeer de Speech SDK en afhankelijkheden.

    mvn clean dependency:copy-dependencies
    

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om een consoletoepassing te maken voor spraakherkenning.

  1. Maak een bestand met de naam SpeechSynthesis.java in dezelfde hoofdmap van het project.

  2. Kopieer de volgende code naar 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. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  4. Voer uw consoletoepassing uit om spraaksynthese naar de standaardluidspreker te starten.

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

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  5. Voer tekst in die u wilt spreken. Typ bijvoorbeeld dat ik enthousiast ben om tekst naar spraak te proberen. Selecteer de Enter-toets om de gesynthetiseerde spraak te horen.

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

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakTextAsync bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (npm) | Aanvullende voorbeelden op GitHub | Library-broncode |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

Installeer de Speech SDK voor JavaScript om uw omgeving in te stellen. Als u alleen de pakketnaam wilt installeren, voert u het volgende uit npm install microsoft-cognitiveservices-speech-sdk. Zie de Speech SDK installeren voor instructies voor begeleide installatie.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar bestandsuitvoer

Volg deze stappen om een Node.js consoletoepassing te maken voor spraaksynthese.

  1. Open een consolevenster waarin u het nieuwe project wilt opnemen en maak een bestand met de naam SpeechSynthesis.js.

  2. Installeer de Speech SDK voor JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Kopieer de volgende code naar 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 kunt u desgewenst de naam van YourAudioFile.wav wijzigen in een andere naam van het uitvoerbestand.

  5. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  6. Voer uw consoletoepassing uit om spraaksynthese naar een bestand te starten:

    node SpeechSynthesis.js
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  7. De opgegeven tekst moet in een audiobestand staan:

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

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakTextAsync bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

De Speech SDK voor Objective-C wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.

De Speech SDK kan worden gebruikt in Xcode-projecten als een CocoaPod, of rechtstreeks en handmatig worden gedownload. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om spraak te synthetiseren in een macOS-toepassing.

  1. Kloon de opslagplaats Azure-Samples/cognitive-services-speech-sdk om de audiosynthese in Objective-C op macOS op te halen met behulp van het Speech SDK-voorbeeldproject . De opslagplaats bevat ook iOS-voorbeelden.

  2. Open de map van de gedownloade voorbeeld-app (helloworld) in een terminal.

  3. Voer de opdracht pod install uit. Met deze opdracht wordt een helloworld.xcworkspace-Xcode-werkruimte gegenereerd die de voorbeeld-app, de Speech SDK en een afhankelijkheid bevat.

  4. Open de werkruimte helloworld.xcworkspace in Xcode.

  5. Open het bestand met de naam AppDelegate.m en zoek de buttonPressed methode zoals hier wordt weergegeven.

    - (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. Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Voeg desgewenst in AppDelegate.m een spraaksynthesenaam toe, zoals hier wordt weergegeven:

    speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
    
  8. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  9. Als u de uitvoer voor foutopsporing zichtbaar wilt maken, selecteert u Debug>Area>Activate Console weergeven.

  10. Als u de voorbeeldcode wilt bouwen en uitvoeren, selecteert u Productuitvoering> in het menu of selecteert u de knop Afspelen.

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

Nadat u tekst hebt ingevoerd en de knop in de app hebt geselecteerd, hoort u de gesynthetiseerde audio die wordt afgespeeld.

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakText bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (downloaden) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

De Speech SDK voor Swift wordt gedistribueerd als een frameworkbundel. Het framework ondersteunt zowel Objective-C als Swift in zowel iOS als macOS.

De Speech SDK kan worden gebruikt in Xcode-projecten als een CocoaPod, of rechtstreeks en handmatig worden gedownload. In deze handleiding wordt gebruikgemaakt van een CocoaPod. Installeer het CocoaPod-afhankelijkheidsbeheer zoals beschreven in de installatie-instructies.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om spraak te synthetiseren in een macOS-toepassing.

  1. Kloon de opslagplaats Azure-Samples/cognitive-services-speech-sdk om de audiosynthese in Swift op macOS op te halen met behulp van het Speech SDK-voorbeeldproject . De opslagplaats bevat ook iOS-voorbeelden.

  2. Navigeer naar de map van de gedownloade voorbeeld-app (helloworld) in een terminal.

  3. Voer de opdracht pod install uit. Met deze opdracht wordt een helloworld.xcworkspace-Xcode-werkruimte gegenereerd die de voorbeeld-app, de Speech SDK en een afhankelijkheid bevat.

  4. Open de werkruimte helloworld.xcworkspace in Xcode.

  5. Open het bestand met de naam AppDelegate.swift en zoek de applicationDidFinishLaunching en synthesize methoden zoals hier wordt weergegeven.

    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. Gebruik in AppDelegate.m de omgevingsvariabelen die u eerder hebt ingesteld voor uw Spraak-resourcesleutel en -regio.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Voeg desgewenst in AppDelegate.m een spraaksynthesenaam toe, zoals hier wordt weergegeven:

    speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
    
  8. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  9. Als u de uitvoer voor foutopsporing zichtbaar wilt maken, selecteert u Debug>Area>Activate Console weergeven.

  10. Als u de voorbeeldcode wilt bouwen en uitvoeren, selecteert u Productuitvoering> in het menu of selecteert u de knop Afspelen.

Belangrijk

Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

Nadat u tekst hebt ingevoerd en de knop in de app hebt geselecteerd, hoort u de gesynthetiseerde audio die wordt afgespeeld.

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de SpeakText bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Referentiedocumentatiepakket (PyPi) | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

De Speech SDK voor Python is beschikbaar als een PyPI-module (Python Package Index). De Speech SDK voor Python is compatibel met Windows, Linux en macOS.

Installeer een versie van Python vanaf 3.7 of hoger. Zie De Speech SDK installeren voor eventuele vereisten.

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar de uitvoer van de luidspreker

Volg deze stappen om een consoletoepassing te maken.

  1. Open een opdrachtpromptvenster in de map waarin u het nieuwe project wilt opnemen. Maak een bestand met de naam speech_synthesis.py.

  2. Voer deze opdracht uit om de Speech SDK te installeren:

    pip install azure-cognitiveservices-speech
    
  3. Kopieer de volgende code naar 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. Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

    Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

  5. Voer uw nieuwe consoletoepassing uit om spraaksynthese naar de standaardluidspreker te starten.

    python speech_synthesis.py
    

    Belangrijk

    Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

  6. Voer tekst in die u wilt spreken. Typ bijvoorbeeld dat ik enthousiast ben om tekst naar spraak te proberen. Selecteer de Enter-toets om de gesynthetiseerde spraak te horen.

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

Opmerkingen

Meer opties voor spraaksynthese

In deze quickstart wordt de speak_text_async bewerking gebruikt om een kort tekstblok te synthetiseren dat u invoert. U kunt ook lange tekst uit een bestand gebruiken en meer controle krijgen over spraakstijlen, prosody en andere instellingen.

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Spraak-naar-tekst-REST API-verwijzing Speech naar text REST API voor korte audioverwijzing | Aanvullende voorbeelden op GitHub |

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

Omgevingsvariabelen instellen

Uw toepassing moet worden geverifieerd voor toegang tot Azure AI-servicesbronnen. Gebruik voor productie een veilige manier om uw referenties op te slaan en te openen. Nadat u bijvoorbeeld een sleutel voor uw Speech-resource hebt gedownload, schrijft u deze naar een nieuwe omgevingsvariabele op de lokale computer waarop de toepassing wordt uitgevoerd.

Tip

Neem de sleutel niet rechtstreeks op in uw code en plaats deze nooit openbaar. Zie Beveiliging van Azure AI-services voor meer verificatieopties, zoals Azure Key Vault.

Als u de omgevingsvariabele voor uw Spraak-resourcesleutel wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.

  • Als u de SPEECH_KEY omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource.
  • Als u de SPEECH_REGION omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Notitie

Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set plaats van setx.

Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's die de omgevingsvariabele moeten lezen, opnieuw opstarten, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.

Synthetiseren naar een bestand

Voer bij een opdrachtprompt de volgende cURL-opdracht uit. U kunt desgewenst de naam van output.mp3 wijzigen in een andere naam van het uitvoerbestand.

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

Belangrijk

Zorg ervoor dat u de SPEECH_KEY en SPEECH_REGIONomgevingsvariabelen instelt. Als u deze variabelen niet instelt, mislukt het voorbeeld met een foutbericht.

De opgegeven tekst moet worden uitgevoerd naar een audiobestand met de naam output.mp3.

Als u de spraaksynthesetaal wilt wijzigen, vervangt u deze door en-US-AvaMultilingualNeural een andere ondersteunde stem.

Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt es-ES-ElviraNeural, wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

Zie Text to Speech REST API voor meer informatie.

Opmerkingen

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

In deze quickstart voert u een toepassing uit waarmee tekst naar spraaksynthese wordt uitgevoerd.

Tip

U kunt tekst naar spraak proberen in de Spraakgalerie van Speech Studio zonder code te registreren of te schrijven.

Vereisten

De omgeving instellen

Volg deze stappen en bekijk de quickstart voor Speech CLI voor andere vereisten voor uw platform.

  1. Voer de volgende .NET CLI-opdracht uit om de Speech CLI te installeren:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Voer de volgende opdrachten uit om uw Spraak-resourcesleutel en -regio te configureren. Vervang door SUBSCRIPTION-KEY uw Spraak-resourcesleutel en vervang deze door REGION de spraakresourceregio.

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

Synthetiseren naar de uitvoer van de luidspreker

Voer de volgende opdracht uit voor spraaksynthese naar de standaard luidsprekeruitvoer. U kunt de stem en de tekst wijzigen die moet worden gesynthetiseerd.

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

Als u geen stemnaam instelt, wordt de standaardstem voor en-US gesproken tekst gebruikt.

Alle neurale stemmen zijn meertalige en vloeiende taal en Engels. Als de invoertekst in het Engels bijvoorbeeld 'Ik ben enthousiast om tekst naar spraak te proberen' is en u instelt --voice "es-ES-ElviraNeural", wordt de tekst in het Engels gesproken met een Spaans accent. Als de stem de taal van de invoertekst niet spreekt, voert de Speech-service geen gesynthetiseerde audio uit.

Voer deze opdracht uit voor informatie over meer opties voor spraaksynthese, zoals bestandsinvoer en uitvoer:

spx help synthesize

Opmerkingen

SSML-ondersteuning

U kunt meer controle hebben over spraakstijlen, prosody en andere instellingen met behulp van SSML (Speech Synthesis Markup Language).

OpenAI-tekst naar spraakstemmen in Azure AI Speech

OpenAI-tekst naar spraakstemmen worden ook ondersteund. Zie OpenAI-tekst naar spraakstemmen in Azure AI Speech en meertalige stemmen. U kunt vervangen door en-US-AvaMultilingualNeural een ondersteunde OpenAI-spraaknaam, zoals en-US-FableMultilingualNeural.

Resources opschonen

U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.

Volgende stap