Partager via


Démarrage rapide : Convertir du texte par synthèse vocale

Documentation de référence | Package (NuGet) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Le kit de développement logiciel (SDK) Speech est disponible en tant que package NuGet et implémente .NET Standard 2.0. Installez le SDK Speech plus loin dans ce guide à l’aide de la console. Pour obtenir des instructions d’installation, consultez Installer le SDK Speech.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Effectuez ces étapes pour créer une application console et installer le SDK Speech.

  1. Ouvrez une fenêtre d’invite de commandes dans le dossier où vous souhaitez placer le nouveau projet. Exécutez cette commande pour créer une application console avec l’interface CLI .NET.

    dotnet new console
    

    La commande crée un fichier Program.cs dans le répertoire du projet.

  2. Installez le kit de développement logiciel (SDK) Speech dans votre nouveau projet avec l’interface CLI .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Remplacez le contenu de Program.cs par le code suivant.

    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. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural comme langue, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  5. Exécutez votre nouvelle application console pour démarrer la synthèse vocale avec l’orateur par défaut.

    dotnet run
    

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  6. Entrez le texte à prononcer. Par exemple, tapez J’ai hâte d’essayer la synthèse vocale. Sélectionnez la touche Entrée pour entendre la parole synthétisée.

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

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakTextAsync pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (NuGet) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Le kit de développement logiciel (SDK) Speech est disponible en tant que package NuGet et implémente .NET Standard 2.0. Installez le kit de développement logiciel (SDK) Speech plus loin dans ce guide. Pour obtenir des instructions d’installation, consultez Installer le SDK Speech.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Effectuez ces étapes pour créer une application console et installer le SDK Speech.

  1. Créez un projet console en C++ dans Visual Studio Community nommé SpeechSynthesis.

  2. Remplacez le contenu du fichier SpeechSynthesis.cpp par le code suivant :

    #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. Sélectionnez Outils>Gestionnaire de package NuGet>Console du Gestionnaire de package. Dans la Console du Gestionnaire de package, exécutez cette commande :

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  5. Générez et exécutez votre nouvelle application console pour démarrer la synthèse vocale vers le haut-parleur par défaut.

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  6. Entrez le texte à prononcer. Par exemple, tapez J’ai hâte d’essayer la synthèse vocale. Sélectionnez la touche Entrée pour entendre la parole synthétisée.

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

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakTextAsync pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (Go) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Installez le SDK Speech pour le langage Go. Pour obtenir des instructions d’installation, consultez Installer le SDK Speech.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour créer un module Go.

  1. Ouvrez une fenêtre d’invite de commandes dans le dossier où vous souhaitez placer le nouveau projet. Créez un fichier nommé speech-synthesis.go.

  2. Copiez le code suivant dans le fichier 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. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  4. Exécutez les commandes suivantes pour créer un fichier go.mod lié aux composants hébergés sur GitHub :

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

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  5. Maintenant, générez et exécutez le code :

    go build
    go run speech-synthesis
    

Notes

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Pour configurer votre environnement, installez le SDK Speech. L’exemple de ce guide de démarrage rapide fonctionne avec le runtime Java.

  1. Installez Apache Maven. Exécutez ensuite mvn -v pour confirmer la réussite de l’installation.

  2. Créez un fichier pom.xml à la racine de votre projet, puis copiez-y le code suivant :

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.40.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Installez le SDK Speech et les dépendances.

    mvn clean dependency:copy-dependencies
    

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour créer une application console pour la reconnaissance vocale.

  1. Créez un fichier nommé SpeechSynthesis.java dans le même répertoire racine du projet.

  2. Copiez le code suivant dans 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. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  4. Exécutez votre application console pour lire la synthèse vocale sur le haut-parleur par défaut.

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

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  5. Entrez le texte à prononcer. Par exemple, tapez J’ai hâte d’essayer la synthèse vocale. Sélectionnez la touche Entrée pour entendre la parole synthétisée.

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

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakTextAsync pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (npm) | Exemples supplémentaires sur GitHub | Code source de la bibliothèque

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Pour configurer votre environnement, installez le SDK Speech pour JavaScript. Si vous voulez simplement le nom du package pour effectuer l’installation, exécutez npm install microsoft-cognitiveservices-speech-sdk. Pour obtenir des instructions d’installation, consultez Installer le SDK Speech.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour créer une application console Node.js à des fins de synthèse vocale.

  1. Ouvrez une fenêtre de console à l'endroit où vous souhaitez créer le projet, puis créez un fichier nommé SpeechSynthesis.js.

  2. Installez le SDK Speech pour JavaScript :

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copiez le code suivant dans 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. Dans SpeechSynthesis.js, vous pouvez éventuellement renommer YourAudioFile.wav en un autre nom de fichier de sortie.

  5. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  6. Exécutez votre application console pour démarrer la synthèse vocale dans un fichier :

    node SpeechSynthesis.js
    

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  7. Le texte fourni doit être dans un fichier audio :

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

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakTextAsync pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (téléchargement) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Le kit de développement logiciel (SDK) Speech pour Objective-C est distribué en tant que bundle de framework. L’infrastructure prend en charge Objective-C et Swift sur iOS et macOS.

Le kit de développement logiciel (SDK) Speech peut être utilisé dans les projets Xcode en tant que CocoaPod, ou téléchargé directement et lié manuellement. Ce guide utilise un CocoaPod. Installez le gestionnaire de dépendances de CocoaPod comme décrit dans ses instructions d’installation.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour synthétiser la voix dans une application macOS.

  1. Clonez le dépôt Azure-Samples/cognitive-services-speech-sdk pour obtenir l’exemple de projet Synthesize audio in Objective-C on macOS using the Speech SDK. Le référentiel contient également des exemples iOS.

  2. Ouvrez le répertoire de l’exemple d’application téléchargé (helloworld) dans un terminal.

  3. Exécutez la commande pod install. Cette commande génère un espace de travail Xcode helloworld.xcworkspace contenant l’exemple d’application et le SDK Speech comme dépendance.

  4. Ouvrez l’espace de travail helloworld.xcworkspace dans Xcode.

  5. Ouvrez le fichier nommé AppDelegate.m et recherchez la méthode buttonPressed comme indiqué ici.

    - (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. Dans AppDelegate.m, utilisez les variables d’environnement que vous avez précédemment définies pour la clé et la région de votre ressource Speech.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. Dans AppDelegate.m, vous pouvez éventuellement inclure un nom de voix de synthèse vocale comme indiqué ici :

    speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
    
  8. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  9. Pour afficher la sortie de débogage, sélectionnez View>Debug Area>Activate Console.

  10. Pour générer et exécuter l’exemple de code, sélectionnez Produit>Exécuter dans le menu ou sélectionnez le bouton Lecture.

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

Après avoir entré du texte et cliqué sur le bouton dans l’application, vous devez entendre la lecture de la sortie audio de synthèse.

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakText pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (téléchargement) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Le kit de développement logiciel (SDK) Speech pour Swift est distribué en tant que bundle de framework. L’infrastructure prend en charge Objective-C et Swift sur iOS et macOS.

Le kit de développement logiciel (SDK) Speech peut être utilisé dans les projets Xcode en tant que CocoaPod, ou téléchargé directement et lié manuellement. Ce guide utilise un CocoaPod. Installez le gestionnaire de dépendances de CocoaPod comme décrit dans ses instructions d’installation.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour synthétiser la voix dans une application macOS.

  1. Clonez le dépôt Azure-Samples/cognitive-services-speech-sdk pour obtenir l’exemple de projet Synthesize audio in Swift on macOS using the Speech SDK. Le référentiel contient également des exemples iOS.

  2. Accédez au répertoire de l’exemple d’application téléchargé (helloworld) dans un terminal.

  3. Exécutez la commande pod install. Cette commande génère un espace de travail Xcode helloworld.xcworkspace contenant l’exemple d’application et le SDK Speech comme dépendance.

  4. Ouvrez l’espace de travail helloworld.xcworkspace dans Xcode.

  5. Ouvrez le fichier nommé AppDelegate.swift et recherchez les méthodes applicationDidFinishLaunching et synthesize comme indiqué ici.

    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. Dans AppDelegate.m, utilisez les variables d’environnement que vous avez précédemment définies pour la clé et la région de votre ressource Speech.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Dans AppDelegate.m, vous pouvez éventuellement inclure un nom de voix de synthèse vocale comme indiqué ici :

    speechConfig?.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural";
    
  8. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  9. Pour afficher la sortie de débogage, sélectionnez View>Debug Area>Activate Console.

  10. Pour générer et exécuter l’exemple de code, sélectionnez Produit>Exécuter dans le menu ou sélectionnez le bouton Lecture.

Important

N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

Après avoir entré du texte et cliqué sur le bouton dans l’application, vous devez entendre la lecture de la sortie audio de synthèse.

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération SpeakText pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Documentation de référence | Package (PyPi) | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Le kit SDK Speech pour Python est disponible sous forme de module Python Package Index (PyPI). Le Kit de développement logiciel (SDK) Speech pour Python est compatible avec Windows, Linux et macOS.

Installez Python 3.7 ou une version ultérieure. Pour connaître la configuration requise, consultez Installer le kit de développement logiciel (SDK) Speech.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Création de l'application

Suivez ces étapes pour créer une application console.

  1. Ouvrez une fenêtre d’invite de commandes dans le dossier où vous souhaitez placer le nouveau projet. Créez un fichier nommé speech-synthesis.py.

  2. Exécutez cette commande pour installer le SDK Speech :

    pip install azure-cognitiveservices-speech
    
  3. Copiez le code suivant dans le fichier 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. Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

    Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

  5. Exécutez votre nouvelle application console pour démarrer la synthèse vocale avec l’orateur par défaut.

    python speech_synthesis.py
    

    Important

    N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

  6. Entrez le texte à prononcer. Par exemple, tapez J’ai hâte d’essayer la synthèse vocale. Sélectionnez la touche Entrée pour entendre la parole synthétisée.

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

Notes

Plus d’options de synthèse vocale

Ce guide de démarrage rapide utilise l’opération speak_text_async pour synthétiser un petit bloc de texte que vous entrez. Vous pouvez également utiliser un texte long à partir d'un fichier et contrôler plus finement les styles de voix, la prosodie et d'autres paramètres.

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Informations de référence sur l’API REST de reconnaissance vocale | Informations de référence sur l’API REST de reconnaissance vocale pour l’audio court | Exemples supplémentaires sur GitHub

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Définir des variables d’environnement

Vous devez authentifier votre application pour accéder à Azure AI services. Cet article vous montre comment utiliser des variables d’environnement pour stocker vos informations d’identification. Vous pouvez ensuite accéder aux variables d’environnement à partir de votre code pour authentifier votre application. Pour la production, utilisez un moyen plus sécurisé pour stocker vos informations d’identification et y accéder.

Important

Nous vous recommandons l’authentification Microsoft Entra ID avec les identités managées pour les ressources Azure pour éviter de stocker des informations d’identification avec vos applications qui s’exécutent dans le cloud.

Si vous utilisez une clé API, stockez-la en toute sécurité dans un autre emplacement, par exemple dans Azure Key Vault. N'incluez pas la clé API directement dans votre code et ne la diffusez jamais publiquement.

Pour plus d’informations sur la sécurité des services IA, consultez Authentifier les demandes auprès d’Azure AI services.

Pour définir les variables d'environnement de votre clé de ressource Speech et de votre région, ouvrez une fenêtre de console et suivez les instructions de votre système d'exploitation et de votre environnement de développement.

  • Pour définir la variable d’environnement SPEECH_KEY, remplacez your-key par l’une des clés de votre ressource.
  • Pour définir la variable d’environnement SPEECH_REGION, remplacez your-region par l’une des régions de votre ressource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Remarque

Si vous avez uniquement besoin d’accéder aux variables d’environnement dans la console en cours d’exécution, vous pouvez la définir avec set au lieu de setx.

Après avoir ajouté les variables d'environnement, vous devrez éventuellement redémarrer tous les programmes qui ont besoin de lire les variables d'environnement, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.

Synthétiser la voix dans un fichier

Depuis une invite de commandes, exécutez la commande cURL suivante. Vous pouvez éventuellement renommer output.mp3 en lui attribuant un autre nom de fichier de sortie.

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

Important

N’oubliez pas de définir les variables d’environnement SPEECH_KEY et SPEECH_REGION. Si vous ne définissez pas ces variables, l’exemple échoue avec un message d’erreur.

Le texte fourni doit être généré dans un fichier audio nommé output.mp3.

Pour modifier le langage de synthèse vocale, remplacez en-US-AvaMultilingualNeural par une autre voix prise en charge.

Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini es-ES-ElviraNeural, le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

Pour plus d’informations, consultez la section API REST de synthèse vocale.

Notes

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Avec Azure AI Speech, vous pouvez exécuter une application qui synthétise une voix de type humain pour lire du texte. Vous pouvez modifier la voix, entrer du texte à prononcer et écouter la sortie sur le haut-parleur de votre ordinateur.

Conseil

Vous pouvez essayer la synthèse vocale dans Speech Studio Voice Gallery sans vous inscrire ni écrire de code.

Conseil

Essayez le Kit de ressources Azure AI Speech pour créer et exécuter facilement des exemples sur Visual Studio Code.

Prérequis

  • Un abonnement Azure. Vous pouvez en créer un gratuitement.
  • Créer une ressource Speech dans le portail Azure.
  • Obtenez la clé de ressource et la région Speech. Une fois votre ressource vocale déployée, sélectionnez Accéder à la ressource pour afficher et gérer les clés.

Configurer l’environnement

Suivez ces étapes et consultez le guide de démarrage rapide de l’interface CLI Speech pour connaître les autres conditions requises pour votre plateforme.

  1. Exécutez la commande CLI .NET suivante pour installer l’interface CLI Speech :

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Exécutez les commandes suivantes pour configurer la clé et la région de votre ressource Speech. Remplacez SUBSCRIPTION-KEY par la clé de la ressource Speech et remplacez REGION par la région de la ressource Speech.

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

Envoyer la voix sur le haut-parleur

Exécutez la commande suivante pour lire la synthèse vocale sur le haut-parleur par défaut. Vous pouvez modifier la voix et le texte à synthétiser.

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

Si vous ne définissez pas de nom de voix, la voix par défaut de en-US est utilisée.

Toutes les voix neuronales sont multilingues et parlent couramment leur propre langue et l’anglais. Par exemple, si le texte d’entrée en anglais est I'm excited to try text to speech et que vous avez défini --voice "es-ES-ElviraNeural", le texte est lu en anglais avec un accent espagnol. Si la voix ne s’exprime pas dans la langue correspondant au texte entré, le service Speech ne génère pas de données audio synthétisées.

Exécutez cette commande pour obtenir des informations sur d’autres options de synthèse vocale, telles que l’entrée et la sortie de fichiers :

spx help synthesize

Notes

Prise en charge SSML

Vous pouvez avoir un contrôle plus fin sur les styles vocaux, la prosodie et d’autres paramètres à l’aide du langage SSML (Speech Synthesis Markup Language).

Voix de synthèse vocale OpenAI dans Azure AI Speech

Les voix de synthèse vocale OpenAI sont également prises en charge. Consultez les voix de synthèse vocale OpenAI dans Azure AI Speech et les voix multilingues. Vous pouvez remplacer en-US-AvaMultilingualNeural par un nom vocal OpenAI pris en charge tel que en-US-FableMultilingualNeural.

Nettoyer les ressources

Vous pouvez utiliser le portail Azure ou l’interface de ligne de commande (CLI) Azure pour supprimer la ressource Speech que vous avez créée.

Étape suivante