Quickstart: Spraak herkennen en vertalen naar tekst
Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding, maar controleer eerst de SDK-installatiehandleiding voor meer vereisten.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set
plaats van setx
.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak vertalen vanuit een microfoon
Volg deze stappen om een nieuwe consoletoepassing te maken en de Speech SDK te installeren.
Open een opdrachtprompt waar u het nieuwe project wilt gebruiken en maak een consoletoepassing met de .NET CLI. Het
Program.cs
bestand moet worden gemaakt in de projectmap.dotnet new console
Installeer de Speech SDK in uw nieuwe project met de .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speech
Vervang de inhoud door
Program.cs
de volgende code.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); } }
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
dotnet run
Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
- In dit voorbeeld wordt de
RecognizeOnceAsync
bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken. - Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInput
u in plaats vanFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (NuGet) | Aanvullende voorbeelden op GitHub |
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK is beschikbaar als een NuGet-pakket en implementeert .NET Standard 2.0. U installeert de Speech SDK verderop in deze handleiding, maar controleer eerst de SDK-installatiehandleiding voor meer vereisten
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set
plaats van setx
.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak vertalen vanuit een microfoon
Volg deze stappen om een nieuwe consoletoepassing te maken en de Speech SDK te installeren.
Maak een nieuw C++-consoleproject in Visual Studio Community 2022 met de naam
SpeechTranslation
.Installeer de Speech SDK in uw nieuwe project met nuGet-pakketbeheer.
Install-Package Microsoft.CognitiveServices.Speech
Vervang de inhoud door
SpeechTranslation.cpp
de volgende code:#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 }
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.
Bouw uw nieuwe consoletoepassing en voer deze uit om spraakherkenning vanaf een microfoon te starten.
Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
- In dit voorbeeld wordt de
RecognizeOnceAsync
bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken. - Als u spraak uit een audiobestand wilt herkennen, gebruikt
FromWavFileInput
u in plaats vanFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (Go) | Aanvullende voorbeelden op GitHub |
De Speech SDK voor Go biedt geen ondersteuning voor spraakomzetting. Selecteer een andere programmeertaal of de Go-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.
Referentiedocumentatie | Aanvullende voorbeelden op GitHub
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Voordat u iets kunt doen, moet u de Speech SDK installeren. Het voorbeeld in deze quickstart werkt met de Java Runtime.
- Installeer Apache Maven. Voer vervolgens uit
mvn -v
om de installatie te bevestigen. - Maak een nieuw
pom.xml
bestand in de hoofdmap van uw project en kopieer het volgende erin:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.42.0</version> </dependency> </dependencies> </project>
- Installeer de Speech SDK en afhankelijkheden.
mvn clean dependency:copy-dependencies
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set
plaats van setx
.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak vertalen vanuit een microfoon
Volg deze stappen om een nieuwe consoletoepassing te maken voor spraakherkenning.
Maak een nieuw bestand met de naam
SpeechTranslation.java
in dezelfde hoofdmap van het project.Kopieer de volgende code naar
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); } }
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
- In dit voorbeeld wordt de
RecognizeOnceAsync
bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken. - Als u spraak uit een audiobestand wilt herkennen, gebruikt
fromWavFileInput
u in plaats vanfromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (npm) | Aanvullende voorbeelden in broncode van GitHub Library | |
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Voordat u iets kunt doen, moet u de Speech SDK voor JavaScript installeren. Als u alleen de pakketnaam wilt installeren, voert u het volgende uit npm install microsoft-cognitiveservices-speech-sdk
. Zie de SDK-installatiehandleiding voor begeleide installatie-instructies.
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set
plaats van setx
.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak vertalen vanuit een bestand
Volg deze stappen om een Node.js consoletoepassing voor spraakherkenning te maken.
Open een opdrachtprompt waar u het nieuwe project wilt en maak een nieuw bestand met de naam
SpeechTranslation.js
.Installeer de Speech SDK voor JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Kopieer de volgende code naar
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();
Vervang in
SpeechTranslation.js
, vervangYourAudioFile.wav
door uw eigen WAV-bestand. In dit voorbeeld wordt alleen spraak herkend uit een WAV-bestand. Zie Gecomprimeerde invoeraudio gebruiken voor informatie over andere audio-indelingen. Dit voorbeeld ondersteunt maximaal 30 seconden audio.Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanuit een bestand te starten:
node.exe SpeechTranslation.js
De spraak uit het audiobestand moet worden uitgevoerd als vertaalde tekst in de doeltaal:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
In dit voorbeeld wordt de recognizeOnceAsync
bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken.
Notitie
Spraak herkennen vanaf een microfoon wordt niet ondersteund in Node.js. Dit wordt alleen ondersteund in een javaScript-omgeving in een browser.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Referentiedocumentatiepakket (download) | Aanvullende voorbeelden op GitHub |
De Speech SDK voor Objective-C biedt ondersteuning voor spraakomzetting, maar we hebben hier nog geen handleiding opgenomen. Selecteer een andere programmeertaal om aan de slag te gaan en meer te weten te komen over de concepten, of bekijk de Objective-C-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.
Referentiedocumentatiepakket (download) | Aanvullende voorbeelden op GitHub |
De Speech SDK voor Swift biedt wel ondersteuning voor spraakomzetting, maar we hebben hier nog geen handleiding opgenomen. Selecteer een andere programmeertaal om aan de slag te gaan en meer te weten te komen over de concepten, of bekijk de Swift-verwijzing en voorbeelden die zijn gekoppeld aan het begin van dit artikel.
Referentiedocumentatiepakket (PyPi) | Aanvullende voorbeelden op GitHub |
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
De Speech SDK voor Python is beschikbaar als een PyPI-module (Python Package Index). De Speech SDK voor Python is compatibel met Windows, Linux en macOS.
- U moet Microsoft Visual C++ Redistributable installeren voor Visual Studio 2015, 2017, 2019 en 2022 voor uw platform. Als u dit pakket voor de eerste keer installeert, moet u mogelijk opnieuw opstarten.
- In Linux moet u de x64-doelarchitectuur gebruiken.
Installeer een versie van Python vanaf 3.7 of hoger. Controleer eerst de SDK-installatiehandleiding voor meer vereisten
Omgevingsvariabelen instellen
U moet uw toepassing verifiëren voor toegang tot Azure AI-services. In dit artikel leest u hoe u omgevingsvariabelen gebruikt om uw referenties op te slaan. Vervolgens hebt u vanuit uw code toegang tot de omgevingsvariabelen om uw toepassing te verifiëren. Gebruik voor productie een veiligere manier om uw referenties op te slaan en te openen.
Belangrijk
We raden Microsoft Entra ID-verificatie aan met beheerde identiteiten voor Azure-resources om te voorkomen dat referenties worden opgeslagen met uw toepassingen die in de cloud worden uitgevoerd.
Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.
Zie Aanvragen verifiëren bij Azure AI-services voor meer informatie over beveiliging van AI-services.
Als u de omgevingsvariabelen voor uw Spraak-resourcesleutel en -regio wilt instellen, opent u een consolevenster en volgt u de instructies voor uw besturingssysteem en ontwikkelomgeving.
- Als u de
SPEECH_KEY
omgevingsvariabele wilt instellen, vervangt u uw sleutel door een van de sleutels voor uw resource. - Als u de
SPEECH_REGION
omgevingsvariabele wilt instellen, vervangt u uw regio door een van de regio's voor uw resource.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Notitie
Als u alleen toegang nodig hebt tot de omgevingsvariabelen in de huidige console, kunt u de omgevingsvariabele instellen in set
plaats van setx
.
Nadat u de omgevingsvariabelen hebt toegevoegd, moet u mogelijk alle programma's opnieuw opstarten die de omgevingsvariabelen moeten lezen, inclusief het consolevenster. Als u Bijvoorbeeld Visual Studio als editor gebruikt, start u Visual Studio opnieuw voordat u het voorbeeld uitvoert.
Spraak vertalen vanuit een microfoon
Volg deze stappen om een nieuwe consoletoepassing te maken.
Open een opdrachtprompt waar u het nieuwe project wilt en maak een nieuw bestand met de naam
speech_translation.py
.Voer deze opdracht uit om de Speech SDK te installeren:
pip install azure-cognitiveservices-speech
Kopieer de volgende code naar
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()
Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft. Zie taalidentificatie voor meer informatie over het identificeren van een van meerdere talen die kunnen worden gesproken.Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.
Voer de nieuwe consoletoepassing uit om spraakherkenning vanaf een microfoon te starten:
python speech_translation.py
Spreek in uw microfoon wanneer u hierom wordt gevraagd. Wat u spreekt, moet uitvoer zijn als vertaalde tekst in de doeltaal:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
- In dit voorbeeld wordt de
recognize_once_async
bewerking gebruikt om utterances van maximaal 30 seconden te transcriberen of totdat stilte wordt gedetecteerd. Zie Spraak vertalen voor informatie over continue herkenning voor langere audio, inclusief meertalige gesprekken. - Als u spraak uit een audiobestand wilt herkennen, gebruikt
filename
u in plaats vanuse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
- Voor gecomprimeerde audiobestanden zoals MP4 installeert u GStreamer en gebruikt
PullAudioInputStream
ofPushAudioInputStream
. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.
Spraak-naar-tekst-REST API-verwijzing Speech to text REST API voor korte audioverwijzing | Aanvullende voorbeelden op GitHub |
De REST API biedt geen ondersteuning voor spraakomzetting. Selecteer een andere programmeertaal of hulpprogramma bovenaan deze pagina.
In deze quickstart voert u een toepassing uit om spraak van de ene taal naar tekst in een andere taal te vertalen.
Tip
Probeer de Azure AI Speech Toolkit uit om eenvoudig voorbeelden te bouwen en uit te voeren in Visual Studio Code.
Vereisten
- Een Azure-abonnement. U kunt er gratis een maken.
- Maak een spraakresource in Azure Portal.
- Haal de spraakresourcesleutel en -regio op. Nadat uw Spraak-resource is geïmplementeerd, selecteert u Ga naar de resource om sleutels weer te geven en te beheren.
De omgeving instellen
Volg deze stappen en bekijk de quickstart voor Speech CLI voor andere vereisten voor uw platform.
Voer de volgende .NET CLI-opdracht uit om de Speech CLI te installeren:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Voer de volgende opdrachten uit om uw Spraak-resourcesleutel en -regio te configureren. Vervang door
SUBSCRIPTION-KEY
uw Spraak-resourcesleutel en vervang deze doorREGION
de spraakresourceregio.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Spraak vertalen vanuit een microfoon
Voer de volgende opdracht uit om spraak van de microfoon van het Engels naar het Italiaans te vertalen:
spx translate --source en-US --target it --microphone
Spreek in de microfoon en u ziet de transcriptie van uw vertaalde spraak in realtime. De Speech CLI stopt na een stilteperiode, 30 seconden of wanneer u op Ctrl+C drukt.
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.')
Opmerkingen
Nu u de quickstart hebt voltooid, zijn hier enkele aanvullende overwegingen:
- Als u spraak wilt ophalen uit een audiobestand, gebruikt
--file
u in plaats van--microphone
. Installeer GStreamer en gebruik--format
voor gecomprimeerde audiobestanden zoals MP4. Zie Gecomprimeerde invoeraudio gebruiken voor meer informatie.spx translate --source en-US --target it --file YourAudioFile.wav spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
- Gebruik een woordgroepenlijst om de nauwkeurigheid van herkenning van specifieke woorden of uitingen te verbeteren. U neemt een woordgroepenlijst in de regel op of met een tekstbestand:
spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;" spx translate --source en-US --target it --microphone --phrases @phrases.txt
- Als u de taal voor spraakherkenning wilt wijzigen, vervangt u deze door
en-US
een andere ondersteunde taal. Geef de volledige landinstelling op met een streepje (-
) scheidingsteken. Bijvoorbeeld voores-ES
Spaans (Spanje). De standaardtaal isen-US
als u geen taal opgeeft.spx translate --microphone --source es-ES
- Als u de doeltaal van de vertaling wilt wijzigen, vervangt u deze door
it
een andere ondersteunde taal. Met enkele uitzonderingen geeft u alleen de taalcode op die voorafgaat aan het scheidingsteken voor landinstellingen(-
). Gebruik bijvoorbeeldes
voor Spaans (Spanje) in plaats vanes-ES
. De standaardtaal isen
als u geen taal opgeeft.spx translate --microphone --target es
- Voor continue herkenning van audio die langer is dan 30 seconden, voegt u het volgende toe
--continuous
:spx translate --source en-US --target it --microphone --continuous
Voer deze opdracht uit voor informatie over aanvullende opties voor spraakomzetting, zoals bestandsinvoer en uitvoer:
spx help translate
Resources opschonen
U kunt de Azure-portal of Azure CLI (Opdrachtregelinterface) gebruiken om de spraakresource te verwijderen die u hebt gemaakt.