Démarrage rapide : Reconnaître et convertir la parole en texte

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

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

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. Ce guide vous invite à installer le SDK Speech plus tard. Consultez d’abord le guide d’installation du SDK pour connaître les éventuelles autres exigences.

Définir des variables d’environnement

Votre application doit être authentifiée pour accéder aux ressources Azure AI services. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Par exemple, après avoir obtenu une clé pour votre ressource Speech, écrivez-la dans une nouvelle variable d’environnement sur l’ordinateur local qui exécute l’application.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Consultez l’article Sécurité d’Azure AI services pour découvrir d’autres options d’authentification telles qu’Azure Key Vault.

Pour définir la variable d’environnement de votre clé de ressource Speech, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à 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 peut-être redémarrer tous les programmes qui doivent la lire, 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.

Traduire un message provenant d’un micro

Procédez comme suit pour créer une nouvelle application console et installer le kit de développement logiciel (SDK) Speech.

  1. Ouvrez une invite de commandes à l’emplacement où vous souhaitez placer le nouveau projet, puis créez une application console avec l’interface de ligne de commande .NET. Le fichier Program.cs doit être créé dans le répertoire du projet.

    dotnet new console
    
  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;
    using Microsoft.CognitiveServices.Speech.Translation;
    
    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 OutputSpeechRecognitionResult(TranslationRecognitionResult translationRecognitionResult)
        {
            switch (translationRecognitionResult.Reason)
            {
                case ResultReason.TranslatedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={translationRecognitionResult.Text}");
                    foreach (var element in translationRecognitionResult.Translations)
                    {
                        Console.WriteLine($"TRANSLATED into '{element.Key}': {element.Value}");
                    }
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(translationRecognitionResult);
                    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;
            }
        }
    
        async static Task Main(string[] args)
        {
            var speechTranslationConfig = SpeechTranslationConfig.FromSubscription(speechKey, speechRegion);        
            speechTranslationConfig.SpeechRecognitionLanguage = "en-US";
            speechTranslationConfig.AddTargetLanguage("it");
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var translationRecognitionResult = await translationRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(translationRecognitionResult);
        }
    }
    
  4. Pour modifier la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue. Pour plus d’informations sur l’identification de l’une des langues qui peuvent être parlées, consultez Identification de la langue.

  5. Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.

Exécutez votre nouvelle application console pour démarrer la reconnaissance vocale à partir d’un microphone :

dotnet run

Parlez dans votre microphone lorsque vous y êtes invité. Ce que vous dites doit être généré en tant que texte traduit dans la langue cible :

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

  • Cet exemple utilise l’opération RecognizeOnceAsync pour transcrire les énoncés de jusqu’à 30 secondes ou jusqu’à ce que le silence soit détecté. Pour plus d’informations sur la reconnaissance continue des données audio plus longues, y compris les conversations multilingues, consultez Comment traduire une entrée vocale.
  • Pour reconnaître la parole à partir d’un fichier audio, utilisez FromWavFileInput au lieu de FromDefaultMicrophoneInput :
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez PullAudioInputStream ou PushAudioInputStream. Pour plus d’informations, consultez Utilisation de l’audio d’entrée compressée.

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

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

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. Ce guide vous invite à installer le SDK Speech plus tard. Consultez d’abord le guide d’installation du SDK pour connaître les éventuelles autres exigences.

Définir des variables d’environnement

Votre application doit être authentifiée pour accéder aux ressources Azure AI services. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Par exemple, après avoir obtenu une clé pour votre ressource Speech, écrivez-la dans une nouvelle variable d’environnement sur l’ordinateur local qui exécute l’application.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Consultez l’article Sécurité d’Azure AI services pour découvrir d’autres options d’authentification telles qu’Azure Key Vault.

Pour définir la variable d’environnement de votre clé de ressource Speech, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à 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 peut-être redémarrer tous les programmes qui doivent la lire, 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.

Traduire un message provenant d’un micro

Procédez comme suit pour créer une nouvelle application console et installer le kit de développement logiciel (SDK) Speech.

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

  2. Installez le kit de développement logiciel (SDK) Speech dans votre nouveau projet avec le gestionnaire de package NuGet.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Remplacez le contenu de SpeechTranslation.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;
    using namespace Microsoft::CognitiveServices::Speech::Translation;
    
    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");
    
        auto speechTranslationConfig = SpeechTranslationConfig::FromSubscription(speechKey, speechRegion);
        speechTranslationConfig->SetSpeechRecognitionLanguage("en-US");
        speechTranslationConfig->AddTargetLanguage("it");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto translationRecognizer = TranslationRecognizer::FromConfig(speechTranslationConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = translationRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::TranslatedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << std::endl;
            for (auto pair : result->Translations)
            {
                auto language = pair.first;
                auto translation = pair.second;
                std::cout << "Translated into '" << language << "': " << translation << std::endl;
            }
        }
        else if (result->Reason == ResultReason::NoMatch)
        {
            std::cout << "NOMATCH: Speech could not be recognized." << std::endl;
        }
        else if (result->Reason == ResultReason::Canceled)
        {
            auto cancellation = CancellationDetails::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::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
    }
    
  4. Pour modifier la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue. Pour plus d’informations sur l’identification de l’une des langues qui peuvent être parlées, consultez Identification de la langue.

  5. Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.

Générez et exécutez votre nouvelle application console pour démarrer la reconnaissance vocale à partir d’un microphone.

Parlez dans votre microphone lorsque vous y êtes invité. Ce que vous dites doit être généré en tant que texte traduit dans la langue cible :

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

  • Cet exemple utilise l’opération RecognizeOnceAsync pour transcrire les énoncés de jusqu’à 30 secondes ou jusqu’à ce que le silence soit détecté. Pour plus d’informations sur la reconnaissance continue des données audio plus longues, y compris les conversations multilingues, consultez Comment traduire une entrée vocale.
  • Pour reconnaître la parole à partir d’un fichier audio, utilisez FromWavFileInput au lieu de FromDefaultMicrophoneInput :
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez PullAudioInputStream ou PushAudioInputStream. Pour plus d’informations, consultez Utilisation de l’audio d’entrée compressée.

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

Le SDK Speech pour Go ne prend pas en charge la traduction vocale. Sélectionnez un autre langage de programmation, ou la référence Go et des exemples liés au début de cet article.

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

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

Configurer l’environnement

Avant de pouvoir faire quoi que ce soit, vous devez installer 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 ce qui suit :
    <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.37.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

Votre application doit être authentifiée pour accéder aux ressources Azure AI services. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Par exemple, après avoir obtenu une clé pour votre ressource Speech, écrivez-la dans une nouvelle variable d’environnement sur l’ordinateur local qui exécute l’application.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Consultez l’article Sécurité d’Azure AI services pour découvrir d’autres options d’authentification telles qu’Azure Key Vault.

Pour définir la variable d’environnement de votre clé de ressource Speech, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à 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 peut-être redémarrer tous les programmes qui doivent la lire, 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.

Traduire un message provenant d’un micro

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

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

  2. Copiez le code ci-après dans SpeechTranslation.java :

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    import com.microsoft.cognitiveservices.speech.translation.*;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    import java.util.Map;
    
    public class SpeechTranslation {
        // 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 {
            SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromSubscription(speechKey, speechRegion);
            speechTranslationConfig.setSpeechRecognitionLanguage("en-US");
    
            String[] toLanguages = { "it" };
            for (String language : toLanguages) {
                speechTranslationConfig.addTargetLanguage(language);
            }
    
            recognizeFromMicrophone(speechTranslationConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechTranslationConfig speechTranslationConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            TranslationRecognizer translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<TranslationRecognitionResult> task = translationRecognizer.recognizeOnceAsync();
            TranslationRecognitionResult translationRecognitionResult = task.get();
    
            if (translationRecognitionResult.getReason() == ResultReason.TranslatedSpeech) {
                System.out.println("RECOGNIZED: Text=" + translationRecognitionResult.getText());
                for (Map.Entry<String, String> pair : translationRecognitionResult.getTranslations().entrySet()) {
                    System.out.printf("Translated into '%s': %s\n", pair.getKey(), pair.getValue());
                }
            }
            else if (translationRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (translationRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(translationRecognitionResult);
                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 la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue. Pour plus d’informations sur l’identification de l’une des langues qui peuvent être parlées, consultez Identification de la langue.

  4. Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.

Exécutez votre nouvelle application console pour démarrer la reconnaissance vocale à partir d’un microphone :

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

Parlez dans votre microphone lorsque vous y êtes invité. Ce que vous dites doit être généré en tant que texte traduit dans la langue cible :

Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

  • Cet exemple utilise l’opération RecognizeOnceAsync pour transcrire les énoncés de jusqu’à 30 secondes ou jusqu’à ce que le silence soit détecté. Pour plus d’informations sur la reconnaissance continue des données audio plus longues, y compris les conversations multilingues, consultez Comment traduire une entrée vocale.
  • Pour reconnaître la parole à partir d’un fichier audio, utilisez fromWavFileInput au lieu de fromDefaultMicrophoneInput :
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez PullAudioInputStream ou PushAudioInputStream. Pour plus d’informations, consultez Utilisation de l’audio d’entrée compressée.

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

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

Configurer l’environnement

Avant de pouvoir faire quoi que ce soit, vous devez installer 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 le guide d’installation SDK.

Définir des variables d’environnement

Votre application doit être authentifiée pour accéder aux ressources Azure AI services. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Par exemple, après avoir obtenu une clé pour votre ressource Speech, écrivez-la dans une nouvelle variable d’environnement sur l’ordinateur local qui exécute l’application.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Consultez l’article Sécurité d’Azure AI services pour découvrir d’autres options d’authentification telles qu’Azure Key Vault.

Pour définir la variable d’environnement de votre clé de ressource Speech, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à 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 peut-être redémarrer tous les programmes qui doivent la lire, 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.

Traduire un message à partir d’un fichier

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

  1. Ouvrez une invite de commandes à l’emplacement où vous souhaitez placer le nouveau projet, puis créez un nouveau fichier nommé SpeechTranslation.js.

  2. Installez le SDK Speech pour JavaScript :

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Copiez le code ci-après dans SpeechTranslation.js :

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechTranslationConfig = sdk.SpeechTranslationConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechTranslationConfig.speechRecognitionLanguage = "en-US";
    
    var language = "it";
    speechTranslationConfig.addTargetLanguage(language);
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let translationRecognizer = new sdk.TranslationRecognizer(speechTranslationConfig, audioConfig);
    
        translationRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.TranslatedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    console.log("Translated into [" + language + "]: " + result.translations.get(language));
    
                    break;
                case sdk.ResultReason.NoMatch:
                    console.log("NOMATCH: Speech could not be recognized.");
                    break;
                case sdk.ResultReason.Canceled:
                    const cancellation = sdk.CancellationDetails.fromResult(result);
                    console.log(`CANCELED: Reason=${cancellation.reason}`);
    
                    if (cancellation.reason == sdk.CancellationReason.Error) {
                        console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`);
                        console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`);
                        console.log("CANCELED: Did you set the speech resource key and region values?");
                    }
                    break;
            }
            translationRecognizer.close();
        });
    }
    fromFile();
    
  4. Dans SpeechTranslation.js, remplacez YourAudioFile.wav par votre propre fichier WAV. Cet exemple reconnaît uniquement la voix à partir d’un fichier WAV. Pour plus d’informations sur d’autres formats audio, consultez Utilisation de l’audio d’entrée compressée. Cet exemple prend en charge jusqu’à 30 secondes de son.

  5. Pour modifier la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue. Pour plus d’informations sur l’identification de l’une des langues qui peuvent être parlées, consultez Identification de la langue.

  6. Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.

Exécutez votre nouvelle application console pour démarrer la reconnaissance vocale à partir d’un fichier :

node.exe SpeechTranslation.js

Le message du fichier audio doit être généré en tant que texte traduit dans la langue cible :

RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

Cet exemple utilise l’opération recognizeOnceAsync pour transcrire les énoncés de jusqu’à 30 secondes ou jusqu’à ce que le silence soit détecté. Pour plus d’informations sur la reconnaissance continue des données audio plus longues, y compris les conversations multilingues, consultez Comment traduire une entrée vocale.

Notes

La reconnaissance de la parole à partir d’un microphone n’est pas prise en charge dans Node.js. Elle est prise en charge uniquement dans un environnement JavaScript basé sur un navigateur.

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écharger) | Exemples supplémentaires sur GitHub

Le SDK Speech pour Objective-C prend en charge la traduction vocale, mais nous n’avons pas encore inclus de guide ici. Sélectionnez un autre langage de programmation pour commencer et découvrir les concepts, ou consultez les informations de référence sur Objective-C et les exemples liés au début de cet article.

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

Le SDK Speech pour Swift prend en charge la traduction vocale, mais nous n’avons pas encore inclus de guide ici. Sélectionnez un autre langage de programmation pour commencer et découvrir les concepts, ou consultez les informations de référence sur Swift et les exemples liés au début de cet article.

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

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

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. Vérifiez d’abord le guide d’installation SDK pour toute information complémentaire

Définir des variables d’environnement

Votre application doit être authentifiée pour accéder aux ressources Azure AI services. Pour la production, utilisez une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Par exemple, après avoir obtenu une clé pour votre ressource Speech, écrivez-la dans une nouvelle variable d’environnement sur l’ordinateur local qui exécute l’application.

Conseil

N’incluez pas la clé directement dans votre code et ne la publiez jamais publiquement. Consultez l’article Sécurité d’Azure AI services pour découvrir d’autres options d’authentification telles qu’Azure Key Vault.

Pour définir la variable d’environnement de votre clé de ressource Speech, ouvrez une fenêtre de console et suivez les instructions relatives à votre système d’exploitation et à 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 peut-être redémarrer tous les programmes qui doivent la lire, 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.

Traduire un message provenant d’un micro

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

  1. Ouvrez une invite de commandes à l’emplacement où vous souhaitez placer le nouveau projet, puis créez un nouveau fichier nommé speech_translation.py.

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

    pip install azure-cognitiveservices-speech
    
  3. Copiez le code ci-après dans speech_translation.py :

    import os
    import azure.cognitiveservices.speech as speechsdk
    
    def recognize_from_microphone():
        # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speech_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_translation_config.speech_recognition_language="en-US"
    
        target_language="it"
        speech_translation_config.add_target_language(target_language)
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        translation_recognizer = speechsdk.translation.TranslationRecognizer(translation_config=speech_translation_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        translation_recognition_result = translation_recognizer.recognize_once_async().get()
    
        if translation_recognition_result.reason == speechsdk.ResultReason.TranslatedSpeech:
            print("Recognized: {}".format(translation_recognition_result.text))
            print("""Translated into '{}': {}""".format(
                target_language, 
                translation_recognition_result.translations[target_language]))
        elif translation_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(translation_recognition_result.no_match_details))
        elif translation_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = translation_recognition_result.cancellation_details
            print("Speech Recognition canceled: {}".format(cancellation_details.reason))
            if cancellation_details.reason == speechsdk.CancellationReason.Error:
                print("Error details: {}".format(cancellation_details.error_details))
                print("Did you set the speech resource key and region values?")
    
    recognize_from_microphone()
    
  4. Pour modifier la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue. Pour plus d’informations sur l’identification de l’une des langues qui peuvent être parlées, consultez Identification de la langue.

  5. Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.

Exécutez votre nouvelle application console pour démarrer la reconnaissance vocale à partir d’un microphone :

python speech_translation.py

Parlez dans votre microphone lorsque vous y êtes invité. Ce que vous dites doit être généré en tant que texte traduit dans la langue cible :

Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

  • Cet exemple utilise l’opération recognize_once_async pour transcrire les énoncés de jusqu’à 30 secondes ou jusqu’à ce que le silence soit détecté. Pour plus d’informations sur la reconnaissance continue des données audio plus longues, y compris les conversations multilingues, consultez Comment traduire une entrée vocale.
  • Pour reconnaître la parole à partir d’un fichier audio, utilisez filename au lieu de use_default_microphone :
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez PullAudioInputStream ou PushAudioInputStream. Pour plus d’informations, consultez Utilisation de l’audio d’entrée compressée.

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

L'API REST ne prend pas en charge la traduction vocale. Sélectionnez un autre langage de programmation ou outil en haut de cette page.

Dans ce guide de démarrage rapide, vous exécutez une application pour traduire des paroles dans une langue en texte dans une autre langue.

Prérequis

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
    

Traduire un message provenant d’un micro

Exécutez la commande suivante pour traduire le message du micro de l’anglais vers l’italien :

spx translate --source en-US --target it --microphone

Parlez dans le micro pour voir la transcription de votre message en texte en temps réel. L’interface CLI Speech s’arrête après une période de silence de 30 secondes ou quand vous appuyez sur Ctrl+C.

Connection CONNECTED...
TRANSLATING into 'it': Sono (from 'I'm')
TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')

Notes

Maintenant que vous avez terminé le guide de démarrage rapide, voici quelques considérations supplémentaires :

  • Pour obtenir le message vocal à partir d’un fichier audio, utilisez --file au lieu de --microphone. Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez --format. Pour plus d’informations, consultez Utilisation de l’audio d’entrée compressée.
    spx translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
    
  • Pour améliorer la précision de la reconnaissance de mots ou d’énoncés spécifiques, utilisez une liste d’expressions. Vous incluez une liste d’expressions en ligne ou via un fichier texte :
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • Pour modifier la langue de la reconnaissance vocale, remplacez en-US par une autre langue prise en charge. Spécifiez les paramètres régionaux complets avec un séparateur de tirets (-). Par exemple, es-ES pour l’espagnol (Espagne). La langue par défaut est en-US si vous ne spécifiez pas de langue.
    spx translate --microphone --source es-ES
    
  • Pour modifier la langue cible de la traduction, remplacez it par une autre langue prise en charge. Avec quelques exceptions, vous spécifiez uniquement le code de langue qui précède le séparateur de tirets de paramètres régionaux (-). Par exemple, utilisez es l’espagnol (Espagne) au lieu de es-ES. La langue par défaut est en si vous ne spécifiez pas de langue.
    spx translate --microphone --target es
    
  • Pour une reconnaissance continue d’un élément audio de plus de 30 secondes, ajoutez --continuous :
    spx translate --source en-US --target it --microphone --continuous
    

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

spx help translate

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.

Étapes suivantes