Dela via


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.

  1. Ö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
    
  2. Installera Speech SDK i ditt nya projekt med .NET CLI.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. 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);
        }
    }
    
  4. 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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.

  5. 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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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ör FromDefaultMicrophoneInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • För komprimerade ljudfiler som MP4 installerar du GStreamer och använder PullAudioInputStream eller PushAudioInputStream. 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.

  1. Skapa ett nytt C++-konsolprojekt i Visual Studio Community 2022 med namnet SpeechTranslation.

  2. Installera Speech SDK i ditt nya projekt med NuGet-pakethanteraren.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. 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
    }
    
  4. 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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.

  5. 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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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ör FromDefaultMicrophoneInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • För komprimerade ljudfiler som MP4 installerar du GStreamer och använder PullAudioInputStream eller PushAudioInputStream. 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.

  1. Installera Apache Maven. Kör mvn -v sedan för att bekräfta att installationen har slutförts.
  2. 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>
    
  3. 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.

  1. Skapa en ny fil med namnet SpeechTranslation.java i samma projektrotkatalog.

  2. 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);
        }
    }
    
  3. 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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.

  4. 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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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ör fromDefaultMicrophoneInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • För komprimerade ljudfiler som MP4 installerar du GStreamer och använder PullAudioInputStream eller PushAudioInputStream. 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.

  1. Öppna en kommandotolk där du vill ha det nya projektet och skapa en ny fil med namnet SpeechTranslation.js.

  2. Installera Speech SDK för JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. 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();
    
  4. I SpeechTranslation.jsersätter du YourAudioFile.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.

  5. 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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.

  6. 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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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.

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.

  1. Öppna en kommandotolk där du vill ha det nya projektet och skapa en ny fil med namnet speech_translation.py.

  2. Kör det här kommandot för att installera Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. 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()
    
  4. 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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.

  5. 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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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ör use_default_microphone:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • För komprimerade ljudfiler som MP4 installerar du GStreamer och använder PullAudioInputStream eller PushAudioInputStream. 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.

  1. Kör följande .NET CLI-kommando för att installera Speech CLI:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Kör följande kommandon för att konfigurera din Speech-resursnyckel och -region. Ersätt SUBSCRIPTION-KEY med din Speech-resursnyckel och ersätt REGION 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 exempel es-ES för spanska (Spanien). Standardspråket är en-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 exempel es för spanska (Spanien) i stället es-ESför . Standardspråket är en 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.

Nästa steg