Snabbstart: Identifiera och översätta tal till text
Referensdokumentation Paket (NuGet) | Ytterligare exempel på GitHub |
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK är tillgängligt som ett NuGet-paket och implementerar .NET Standard 2.0. Du installerar Speech SDK senare i den här guiden, men kontrollera först SDK-installationsguiden om det finns fler krav.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Översätta tal från en mikrofon
Följ dessa steg för att skapa ett nytt konsolprogram och installera Speech SDK.
Öppna en kommandotolk där du vill ha det nya projektet och skapa ett konsolprogram med .NET CLI. Filen
Program.cs
ska skapas i projektkatalogen.dotnet new console
Installera Speech SDK i ditt nya projekt med .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speech
Ersätt innehållet i
Program.cs
med följande kod.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); } }
Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk. Mer information om hur du identifierar ett av flera språk som kan talas finns i språkidentifiering.Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.
Kör det nya konsolprogrammet för att starta taligenkänning från en mikrofon:
dotnet run
Tala i mikrofonen när du uppmanas att göra det. Det du talar ska vara utdata som översatt text på målspråket:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
- I det här exemplet används åtgärden
RecognizeOnceAsync
för att transkribera yttranden på upp till 30 sekunder eller tills tystnad har identifierats. Information om kontinuerlig igenkänning för längre ljud, inklusive flerspråkiga konversationer, finns i Översätta tal. - Om du vill känna igen tal från en ljudfil använder du
FromWavFileInput
i stället förFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- För komprimerade ljudfiler som MP4 installerar du GStreamer och använder
PullAudioInputStream
ellerPushAudioInputStream
. Mer information finns i Använda komprimerat indataljud.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (NuGet) | Ytterligare exempel på GitHub |
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK är tillgängligt som ett NuGet-paket och implementerar .NET Standard 2.0. Du installerar Speech SDK senare i den här guiden, men först kontrollerar du SDK-installationsguiden för ytterligare krav
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Översätta tal från en mikrofon
Följ dessa steg för att skapa ett nytt konsolprogram och installera Speech SDK.
Skapa ett nytt C++-konsolprojekt i Visual Studio Community 2022 med namnet
SpeechTranslation
.Installera Speech SDK i ditt nya projekt med NuGet-pakethanteraren.
Install-Package Microsoft.CognitiveServices.Speech
Ersätt innehållet i
SpeechTranslation.cpp
med följande kod:#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 }
Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk. Mer information om hur du identifierar ett av flera språk som kan talas finns i språkidentifiering.Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.
Skapa och kör det nya konsolprogrammet för att starta taligenkänning från en mikrofon.
Tala i mikrofonen när du uppmanas att göra det. Det du talar ska vara utdata som översatt text på målspråket:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
- I det här exemplet används åtgärden
RecognizeOnceAsync
för att transkribera yttranden på upp till 30 sekunder eller tills tystnad har identifierats. Information om kontinuerlig igenkänning för längre ljud, inklusive flerspråkiga konversationer, finns i Översätta tal. - Om du vill känna igen tal från en ljudfil använder du
FromWavFileInput
i stället förFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- För komprimerade ljudfiler som MP4 installerar du GStreamer och använder
PullAudioInputStream
ellerPushAudioInputStream
. Mer information finns i Använda komprimerat indataljud.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (Go) | Ytterligare exempel på GitHub |
Speech SDK för Go stöder inte talöversättning. Välj ett annat programmeringsspråk eller Go-referensen och exempel som är länkade från början av den här artikeln.
Referensdokumentation | Ytterligare exempel på GitHub
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Innan du kan göra något måste du installera Speech SDK. Exemplet i den här snabbstarten fungerar med Java Runtime.
- Installera Apache Maven. Kör
mvn -v
sedan för att bekräfta att installationen har slutförts. - Skapa en ny
pom.xml
fil i roten för projektet och kopiera följande till den:<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>
- Installera Speech SDK och beroenden.
mvn clean dependency:copy-dependencies
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Översätta tal från en mikrofon
Följ de här stegen för att skapa ett nytt konsolprogram för taligenkänning.
Skapa en ny fil med namnet
SpeechTranslation.java
i samma projektrotkatalog.Kopiera följande kod till
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); } }
Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk. Mer information om hur du identifierar ett av flera språk som kan talas finns i språkidentifiering.Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.
Kör det nya konsolprogrammet för att starta taligenkänning från en mikrofon:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
Tala i mikrofonen när du uppmanas att göra det. Det du talar ska vara utdata som översatt text på målspråket:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
- I det här exemplet används åtgärden
RecognizeOnceAsync
för att transkribera yttranden på upp till 30 sekunder eller tills tystnad har identifierats. Information om kontinuerlig igenkänning för längre ljud, inklusive flerspråkiga konversationer, finns i Översätta tal. - Om du vill känna igen tal från en ljudfil använder du
fromWavFileInput
i stället förfromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- För komprimerade ljudfiler som MP4 installerar du GStreamer och använder
PullAudioInputStream
ellerPushAudioInputStream
. Mer information finns i Använda komprimerat indataljud.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Referensdokumentation Paket (npm) | Ytterligare exempel på GitHub-bibliotekets källkod | |
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Innan du kan göra något måste du installera Speech SDK för JavaScript. Om du bara vill att paketnamnet ska installeras kör du npm install microsoft-cognitiveservices-speech-sdk
. Anvisningar för guidad installation finns i installationsguiden för SDK.
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Översätta tal från en fil
Följ de här stegen för att skapa ett Node.js-konsolprogram för taligenkänning.
Öppna en kommandotolk där du vill ha det nya projektet och skapa en ny fil med namnet
SpeechTranslation.js
.Installera Speech SDK för JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
Kopiera följande kod till
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();
I
SpeechTranslation.js
ersätter duYourAudioFile.wav
med din egen WAV-fil. Det här exemplet identifierar bara tal från en WAV-fil. Information om andra ljudformat finns i Använda komprimerat indataljud. Det här exemplet stöder upp till 30 sekunders ljud.Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk. Mer information om hur du identifierar ett av flera språk som kan talas finns i språkidentifiering.Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.
Kör det nya konsolprogrammet för att starta taligenkänning från en fil:
node.exe SpeechTranslation.js
Tal från ljudfilen ska matas ut som översatt text på målspråket:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
I det här exemplet används åtgärden recognizeOnceAsync
för att transkribera yttranden på upp till 30 sekunder eller tills tystnad har identifierats. Information om kontinuerlig igenkänning för längre ljud, inklusive flerspråkiga konversationer, finns i Översätta tal.
Kommentar
Det går inte att känna igen tal från en mikrofon i Node.js. Det stöds endast i en webbläsarbaserad JavaScript-miljö.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Paket för referensdokumentation (nedladdning) | Ytterligare exempel på GitHub |
Speech SDK för Objective-C stöder talöversättning, men vi har ännu inte tagit med någon guide här. Välj ett annat programmeringsspråk för att komma igång och lära dig mer om begreppen, eller se Objective-C-referensen och exemplen som är länkade från början av den här artikeln.
Paket för referensdokumentation (nedladdning) | Ytterligare exempel på GitHub |
Speech SDK för Swift stöder talöversättning, men vi har ännu inte tagit med någon guide här. Välj ett annat programmeringsspråk för att komma igång och lära dig mer om begreppen, eller se Swift-referensen och exemplen som är länkade från början av den här artikeln.
Referensdokumentation Paket (PyPi) | Ytterligare exempel på GitHub |
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Speech SDK för Python är tillgänglig som en PyPI-modul (Python Package Index). Speech SDK för Python är kompatibelt med Windows, Linux och macOS.
- Du måste installera Microsoft Visual C++ Redistributable för Visual Studio 2015, 2017, 2019 och 2022 för din plattform. Att installera det här paketet för första gången kan kräva en omstart.
- I Linux måste du använda x64-målarkitekturen.
Installera en version av Python från 3.7 eller senare. Kontrollera först installationsguiden för SDK om det finns fler krav
Ange miljövariabler
Du måste autentisera ditt program för att få åtkomst till Azure AI-tjänster. Den här artikeln visar hur du använder miljövariabler för att lagra dina autentiseringsuppgifter. Du kan sedan komma åt miljövariablerna från koden för att autentisera ditt program. För produktion använder du ett säkrare sätt att lagra och komma åt dina autentiseringsuppgifter.
Viktigt!
Vi rekommenderar Microsoft Entra-ID-autentisering med hanterade identiteter för Azure-resurser för att undvika att lagra autentiseringsuppgifter med dina program som körs i molnet.
Om du använder en API-nyckel lagrar du den på ett säkert sätt någon annanstans, till exempel i Azure Key Vault. Inkludera inte API-nyckeln direkt i koden och publicera den aldrig offentligt.
Mer information om säkerhet för AI-tjänster finns i Autentisera begäranden till Azure AI-tjänster.
Om du vill ange miljövariablerna för din Speech-resursnyckel och -region öppnar du ett konsolfönster och följer anvisningarna för operativsystemet och utvecklingsmiljön.
- Om du vill ange
SPEECH_KEY
miljövariabeln ersätter du din nyckel med en av nycklarna för resursen. - Om du vill ange
SPEECH_REGION
miljövariabeln ersätter du din region med en av regionerna för resursen.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
Kommentar
Om du bara behöver komma åt miljövariablerna i den aktuella konsolen kan du ange miljövariabeln med set
i stället för setx
.
När du har lagt till miljövariablerna kan du behöva starta om alla program som behöver läsa miljövariablerna, inklusive konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.
Översätta tal från en mikrofon
Följ de här stegen för att skapa ett nytt konsolprogram.
Öppna en kommandotolk där du vill ha det nya projektet och skapa en ny fil med namnet
speech_translation.py
.Kör det här kommandot för att installera Speech SDK:
pip install azure-cognitiveservices-speech
Kopiera följande kod till
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()
Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk. Mer information om hur du identifierar ett av flera språk som kan talas finns i språkidentifiering.Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.
Kör det nya konsolprogrammet för att starta taligenkänning från en mikrofon:
python speech_translation.py
Tala i mikrofonen när du uppmanas att göra det. Det du talar ska vara utdata som översatt text på målspråket:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
- I det här exemplet används åtgärden
recognize_once_async
för att transkribera yttranden på upp till 30 sekunder eller tills tystnad har identifierats. Information om kontinuerlig igenkänning för längre ljud, inklusive flerspråkiga konversationer, finns i Översätta tal. - Om du vill känna igen tal från en ljudfil använder du
filename
i stället föruse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
- För komprimerade ljudfiler som MP4 installerar du GStreamer och använder
PullAudioInputStream
ellerPushAudioInputStream
. Mer information finns i Använda komprimerat indataljud.
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.
Tal till text REST API-referens Tal till text REST API för kort ljudreferens | Ytterligare exempel på GitHub |
REST-API:et stöder inte talöversättning. Välj ett annat programmeringsspråk eller verktyg överst på den här sidan.
I den här snabbstarten kör du ett program för att översätta tal från ett språk till text på ett annat språk.
Dricks
Prova Azure AI Speech Toolkit för att enkelt skapa och köra exempel på Visual Studio Code.
Förutsättningar
- En Azure-prenumeration. Du kan skapa en kostnadsfritt.
- Skapa en Speech-resurs i Azure Portal.
- Hämta resursnyckeln och regionen Speech. När speech-resursen har distribuerats väljer du Gå till resurs för att visa och hantera nycklar.
Konfigurera miljön
Följ de här stegen och se snabbstarten för Speech CLI för andra krav för din plattform.
Kör följande .NET CLI-kommando för att installera Speech CLI:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
Kör följande kommandon för att konfigurera din Speech-resursnyckel och -region. Ersätt
SUBSCRIPTION-KEY
med din Speech-resursnyckel och ersättREGION
med din Speech-resursregion.spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
Översätta tal från en mikrofon
Kör följande kommando för att översätta tal från mikrofonen från engelska till italienska:
spx translate --source en-US --target it --microphone
Tala i mikrofonen så ser du transkriptionen av ditt översatta tal i realtid. Speech CLI stoppas efter en tyst period, 30 sekunder eller när du trycker på 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.')
Kommentarer
Nu när du har slutfört snabbstarten kan du tänka på följande:
- Om du vill hämta tal från en ljudfil använder du
--file
i stället för--microphone
. För komprimerade ljudfiler som MP4 installerar du GStreamer och använder--format
. Mer information finns i Använda komprimerat indataljud.spx translate --source en-US --target it --file YourAudioFile.wav spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
- Om du vill förbättra igenkänningsprecisionen för specifika ord eller yttranden använder du en fraslista. Du inkluderar en fraslista i rad eller med en textfil:
spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;" spx translate --source en-US --target it --microphone --phrases @phrases.txt
- Om du vill ändra taligenkänningsspråket ersätter du
en-US
med ett annat språk som stöds. Ange det fullständiga språket med en bindestrecksavgränsare (-
). Till exempeles-ES
för spanska (Spanien). Standardspråket ären-US
om du inte anger något språk.spx translate --microphone --source es-ES
- Om du vill ändra översättningsmålspråket ersätter du
it
med ett annat språk som stöds. Med få undantag anger du bara språkkoden som föregår språkstrecksavgränsaren (-
). Använd till exempeles
för spanska (Spanien) i ställetes-ES
för . Standardspråket ären
om du inte anger något språk.spx translate --microphone --target es
- För kontinuerlig igenkänning av ljud längre än 30 sekunder lägger du till
--continuous
:spx translate --source en-US --target it --microphone --continuous
Kör det här kommandot för information om ytterligare alternativ för talöversättning, till exempel filindata och utdata:
spx help translate
Rensa resurser
Du kan använda Azure Portal- eller Azure-kommandoradsgränssnittet (CLI) för att ta bort den Speech-resurs som du skapade.