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.
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. 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
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.
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.
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
Installez le kit de développement logiciel (SDK) Speech dans votre nouveau projet avec l’interface CLI .NET.
dotnet add package Microsoft.CognitiveServices.Speech
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); } }
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 esten-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.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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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 deFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez
PullAudioInputStream
ouPushAudioInputStream
. 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.
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. 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
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.
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.
Créez un projet console en C++ dans Visual Studio Community 2022, nommé
SpeechTranslation
.Installez le kit de développement logiciel (SDK) Speech dans votre nouveau projet avec le gestionnaire de package NuGet.
Install-Package Microsoft.CognitiveServices.Speech
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 }
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 esten-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.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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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 deFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez
PullAudioInputStream
ouPushAudioInputStream
. 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.
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
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.
- Installez Apache Maven. Exécutez ensuite
mvn -v
pour confirmer la réussite de l’installation. - 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.40.0</version> </dependency> </dependencies> </project>
- 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.
Traduire un message provenant d’un micro
Suivez ces étapes pour créer une nouvelle application console pour la reconnaissance vocale.
Créez un fichier nommé
SpeechTranslation.java
dans le même répertoire racine du projet.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); } }
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 esten-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.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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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 defromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- Pour les fichiers audio compressés tels que les fichiers MP4, installez GStreamer et utilisez
PullAudioInputStream
ouPushAudioInputStream
. 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.
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
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
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.
Traduire un message à partir d’un fichier
Suivez ces étapes pour créer une application console Node.js à des fins de reconnaissance vocale.
Ouvrez une invite de commandes à l’emplacement où vous souhaitez placer le nouveau projet, puis créez un nouveau fichier nommé
SpeechTranslation.js
.Installez le SDK Speech pour JavaScript :
npm install microsoft-cognitiveservices-speech-sdk
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();
Dans
SpeechTranslation.js
, remplacezYourAudioFile.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.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 esten-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.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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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échargement) | 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échargement) | 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.
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.
- Vous devez installer Microsoft Redistributable Visual C++ pour Visual Studio 2015, 2017, 2019 et 2022 pour votre plateforme. La toute première installation de ce package peut nécessiter un redémarrage.
- Sur Linux, vous devez utiliser l’architecture cible x64.
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
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.
Traduire un message provenant d’un micro
Suivez ces étapes pour créer une nouvelle application console.
Ouvrez une invite de commandes à l’emplacement où vous souhaitez placer le nouveau projet, puis créez un nouveau fichier nommé
speech_translation.py
.Exécutez cette commande pour installer le SDK Speech :
pip install azure-cognitiveservices-speech
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" to_language ="it" speech_translation_config.add_target_language(to_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( to_language, translation_recognition_result.translations[to_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()
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 esten-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.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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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 deuse_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
ouPushAudioInputStream
. 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.
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.
Exécutez la commande CLI .NET suivante pour installer l’interface CLI Speech :
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
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 remplacezREGION
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 esten-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, utilisezes
l’espagnol (Espagne) au lieu dees-ES
. La langue par défaut esten
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.