Udostępnij za pośrednictwem


Szybki start: rozpoznawanie i tłumaczenie mowy na tekst

Dokumentacja referencyjna Package (NuGet) |

W tym przewodniku szybkiego startu uruchamiasz aplikację do tłumaczenia mowy z jednego języka na tekst w drugim.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Speech SDK jest dostępny jako pakiet NuGet i implementuje .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika, ale najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.

Ważne

Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.

Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy do twojego zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością setsetxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Tłumaczenie mowy z mikrofonu

Wykonaj następujące kroki, aby utworzyć nową aplikację konsolową i zainstalować zestaw SPEECH SDK.

  1. Otwórz wiersz polecenia, w którym chcesz utworzyć nowy projekt, i utwórz aplikację konsolową przy użyciu interfejsu wiersza polecenia platformy .NET. Plik Program.cs powinien zostać utworzony w katalogu projektu.

    dotnet new console
    
  2. Zainstaluj zestaw SPEECH SDK w nowym projekcie przy użyciu interfejsu wiersza polecenia platformy .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Zastąp zawartość Program.cs pliku następującym kodem.

    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. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełne ustawienia regionalne z separatorem kreski (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  5. Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. Z nielicznymi wyjątkami, należy określić tylko kod języka, który poprzedza separator kreski ustawień regionalnych (-). Na przykład, użyj es dla języka hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.

Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

dotnet run

Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być przetłumaczone jako tekst w języku docelowym.

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

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

  • W tym przykładzie użyto operacji RecognizeOnceAsync do transkrypcji wypowiedzi trwających do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak przetłumaczyć mowę.
  • Aby rozpoznać mowę z pliku audio, użyj polecenia FromWavFileInput zamiast FromDefaultMicrophoneInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć portalu Azure lub interfejsu wiersza polecenia (CLI) Azure.

Dokumentacja referencyjna Package (NuGet) |

W tym szybkim wprowadzeniu uruchomisz aplikację, aby przetłumaczyć mowę z jednego języka na tekst w innym.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Zestaw Speech SDK jest dostępny jako pakiet NuGet i implementuje .NET Standard 2.0. Zestaw SPEECH SDK zostanie zainstalowany w dalszej części tego przewodnika, ale najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.

Ważne

Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.

Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp twój-klucz jednym z kluczy dla swojego zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością setsetxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Tłumaczenie mowy z mikrofonu

Wykonaj następujące kroki, aby utworzyć nową aplikację konsolową i zainstalować zestaw SPEECH SDK.

  1. Utwórz nowy projekt konsoli języka C++ w programie Visual Studio Community 2022 o nazwie SpeechTranslation.

  2. Zainstaluj zestaw SPEECH SDK w nowym projekcie za pomocą menedżera pakietów NuGet.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Zastąp zawartość SpeechTranslation.cpp następującym kodem:

    #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. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełne ustawienia regionalne z separatorem kreski (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  5. Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. W przypadku kilku wyjątków należy określić tylko kod języka, który poprzedza separator kreski ustawień regionalnych (-). Na przykład użyj dla es języka hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.

Skompiluj i uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu.

Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być przedstawione jako przetłumaczony tekst w języku docelowym.

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

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

  • W tym przykładzie użyto operacji RecognizeOnceAsync w celu transkrypcji wypowiedzi do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak przetłumaczyć mowę.
  • Aby rozpoznać mowę z pliku audio, użyj polecenia FromWavFileInput zamiast FromDefaultMicrophoneInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób Speech, możesz użyć portalu Azure lub Azure CLI.

Dokumentacja referencyjna Package (Go) |

Zestaw SPEECH SDK dla języka Go nie obsługuje tłumaczenia mowy. Wybierz inny język programowania lub odwołanie do języka Go i przykłady, do których linki znajdują się na początku tego artykułu.

| Dokumentacja referencyjna Dodatkowe przykłady w usłudze GitHub

W tym przewodniku szybkiego startu uruchomisz aplikację, aby przetłumaczyć mowę z jednego języka na tekst w innym języku.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Przed wykonaniem jakiejkolwiek czynności należy zainstalować SDK Rozpoznawania Mowy. Przykład w tym przewodniku szybkiego startu działa ze środowiskiem uruchomieniowym Java.

  1. Zainstaluj narzędzie Apache Maven. Następnie uruchom polecenie mvn -v , aby potwierdzić pomyślną instalację.
  2. Utwórz nowy pom.xml plik w katalogu głównym projektu i skopiuj do niego następujące elementy:
    <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.43.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Zainstaluj zestaw SPEECH SDK i zależności.
    mvn clean dependency:copy-dependencies
    

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.

Ważne

Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.

Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną środowiskową SPEECH_KEY, zamień klucz na jeden z kluczy swojego zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością setsetxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Tłumaczenie mowy z mikrofonu

Wykonaj następujące kroki, aby utworzyć nową aplikację konsolową do rozpoznawania mowy.

  1. Utwórz nowy plik o nazwie SpeechTranslation.java w tym samym katalogu głównym projektu.

  2. Skopiuj następujący kod do SpeechTranslation.javapliku :

    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. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełne ustawienia regionalne, używając kreski jako separatora (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  4. Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. W przypadku kilku wyjątków należy określić tylko kod języka, który poprzedza separator kreski ustawień regionalnych (-). Na przykład, użyj es dla języka hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.

Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

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

Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być przetłumaczonym tekstem w docelowym języku.

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

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

  • W tym przykładzie operację RecognizeOnceAsync używa się do transkrypcji wypowiedzi trwających do 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak przetłumaczyć mowę.
  • Aby rozpoznać mowę z pliku audio, użyj polecenia fromWavFileInput zamiast fromDefaultMicrophoneInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Speech, możesz użyć portalu Azure lub interfejsu wiersza poleceń (CLI) Azure.

Dokumentacja referencyjna | Package (npm) | Dodatkowe przykłady w kodzie źródłowym biblioteki GitHub |

W tym szybkim przewodniku uruchomisz aplikację, aby przetłumaczyć mowę z jednego języka na tekst w innym języku.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Przed wykonaniem dowolnych czynności należy zainstalować zestaw SPEECH SDK dla języka JavaScript. Jeśli chcesz tylko, aby nazwa pakietu została zainstalowana, uruchom polecenie npm install microsoft-cognitiveservices-speech-sdk. Aby uzyskać instrukcje instalacji z przewodnikiem, zobacz przewodnik instalacji zestawu SDK.

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.

Ważne

Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.

Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp klucz jednym z kluczy zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością setsetxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Tłumaczenie mowy z pliku

Wykonaj następujące kroki, aby utworzyć aplikację konsolową Node.js na potrzeby rozpoznawania mowy.

  1. Otwórz wiersz polecenia, w którym chcesz utworzyć nowy projekt, i utwórz nowy plik o nazwie SpeechTranslation.js.

  2. Zainstaluj zestaw SPEECH SDK dla języka JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Skopiuj następujący kod do SpeechTranslation.jspliku :

    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. W SpeechTranslation.js zastąp YourAudioFile.wav swoim własnym plikiem WAV. Ten przykład rozpoznaje tylko mowę z pliku WAV. Aby uzyskać informacje o innych formatach dźwięku, zobacz How to use compressed input audio (Jak używać skompresowanego dźwięku wejściowego). Ten przykład obsługuje do 30 sekund dźwięku.

  5. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełny identyfikator lokalizacji z separatorem kreski (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  6. Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. W przypadku kilku wyjątków należy określić tylko kod języka, który poprzedza separator kreski ustawień regionalnych (-). Na przykład użyj es dla języka hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.

Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z pliku:

node.exe SpeechTranslation.js

Mowa z pliku audio powinna być wyjściowa jako przetłumaczony tekst w języku docelowym:

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

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

W tym przykładzie użyto recognizeOnceAsync operacji do transkrypcji wypowiedzi trwających do 30 sekund lub aż do wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak przetłumaczyć mowę.

Uwaga

Rozpoznawanie mowy z mikrofonu nie jest obsługiwane w Node.js. Jest on obsługiwany tylko w środowisku JavaScript opartym na przeglądarce.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć portalu Azure lub Azure Command Line Interface (CLI).

Dokumentacja referencyjna | Pakiet (do pobrania) | Dodatkowe przykłady na GitHub

Zestaw SPEECH SDK dla języka Objective-C obsługuje tłumaczenie mowy, ale nie dołączyliśmy jeszcze tutaj przewodnika. Wybierz inny język programowania, aby rozpocząć pracę i poznać koncepcje, lub zapoznaj się z dokumentacją języka Objective-C i przykładami połączonymi od początku tego artykułu.

Dokumentacja referencyjna | Pakiet (do pobrania) | Dodatkowe przykłady na GitHubie

Zestaw SPEECH SDK dla języka Swift obsługuje tłumaczenie mowy, ale jeszcze nie dołączyliśmy tutaj przewodnika. Wybierz inny język programowania, aby rozpocząć i dowiedzieć się więcej o pojęciach, lub zapoznaj się z dokumentacją i przykładami Swift powiązanymi na początku tego artykułu.

Dokumentacja referencyjna | Package (PyPi) | Dodatkowe przykłady w witrynie GitHub

W tym przewodniku szybkiego startu uruchomisz aplikację, aby przetłumaczyć wypowiedzi z jednego języka na tekst w drugim języku.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Zestaw SPEECH SDK dla języka Python jest dostępny jako moduł PyPI (Python Package Index). Zestaw SPEECH SDK dla języka Python jest zgodny z systemami Windows, Linux i macOS.

Zainstaluj wersję języka Python z wersji 3.7 lub nowszej. Najpierw zapoznaj się z przewodnikiem instalacji zestawu SDK, aby uzyskać więcej wymagań

Ustawianie zmiennych środowiskowych

Aby uzyskać dostęp do usług Azure AI, musisz uwierzytelnić aplikację. W tym artykule pokazano, jak używać zmiennych środowiskowych do przechowywania poświadczeń. Następnie możesz uzyskać dostęp do zmiennych środowiskowych z kodu w celu uwierzytelnienia aplikacji. W przypadku środowiska produkcyjnego użyj bezpieczniejszego sposobu przechowywania poświadczeń i uzyskiwania do nich dostępu.

Ważne

Zalecamy uwierzytelnianie za pomocą identyfikatora Entra firmy Microsoft z tożsamościami zarządzanymi dla zasobów platformy Azure, aby uniknąć przechowywania poświadczeń przy użyciu aplikacji uruchamianych w chmurze.

Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz kluczy interfejsu API, przechowuj je bezpiecznie w usłudze Azure Key Vault, regularnie wymieniaj klucze i ograniczaj dostęp do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach i ograniczeń dostępu do sieci. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

Aby ustawić zmienne środowiskowe dla klucza i regionu zasobu usługi Mowa, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną SPEECH_KEY środowiskową, zastąp swój klucz jednym z kluczy dla twojego zasobu.
  • Aby ustawić zmienną SPEECH_REGION środowiskową, zastąp region jednym z regionów zasobu.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Uwaga

Jeśli musisz uzyskać dostęp tylko do zmiennych środowiskowych w bieżącej konsoli, możesz ustawić zmienną środowiskową z wartością setsetxzamiast .

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich programów, które muszą odczytać zmienne środowiskowe, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Tłumaczenie mowy z mikrofonu

Wykonaj następujące kroki, aby utworzyć nową aplikację konsolową.

  1. Otwórz wiersz polecenia, w którym chcesz utworzyć nowy projekt, i utwórz nowy plik o nazwie speech_translation.py.

  2. Uruchom to polecenie, aby zainstalować zestaw SPEECH SDK:

    pip install azure-cognitiveservices-speech
    
  3. Skopiuj następujący kod do speech_translation.pypliku :

    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. Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełne ustawienia regionalne, używając separatora w postaci kreski (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka. Aby uzyskać szczegółowe informacje na temat identyfikowania jednego z wielu języków, które mogą być mówione, zobacz identyfikacja języka.

  5. Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. Na ogół, z kilkoma wyjątkami, należy podać tylko kod języka poprzedzający separator kreski dla ustawień regionalnych (-). Na przykład użyj es dla języka hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.

Uruchom nową aplikację konsolową, aby rozpocząć rozpoznawanie mowy z mikrofonu:

python speech_translation.py

Po wyświetleniu monitu porozmawiaj z mikrofonem. To, co mówisz, powinno być wyrażone jako przetłumaczony tekst w języku docelowym.

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

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

  • W tym przykładzie użyto recognize_once_async operację do transkrypcji wypowiedzi przez maksymalnie 30 sekund lub do momentu wykrycia ciszy. Aby uzyskać informacje na temat ciągłego rozpoznawania dłuższego dźwięku, w tym konwersacji wielojęzycznych, zobacz Jak przetłumaczyć mowę.
  • Aby rozpoznać mowę z pliku audio, użyj polecenia filename zamiast use_default_microphone:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj GStreamer i użyj polecenia PullAudioInputStream lub PushAudioInputStream. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Speech, możesz użyć Azure portal lub Azure Command Line Interface (CLI).

Interfejs API REST zamiany mowy na tekst — dokumentacja | Interfejs API REST zamiany mowy na tekst dla krótkiego audio — odniesienie | Dodatkowe przykłady w usłudze GitHub

Interfejs API REST nie obsługuje tłumaczenia mowy. Wybierz inny język programowania lub narzędzie w górnej części tej strony.

W tym przewodniku Szybki start uruchomisz aplikację, aby przetłumaczyć mowę z jednego języka na tekst w innym języku.

Napiwek

Wypróbuj zestaw narzędzi Azure AI Speech Toolkit , aby łatwo kompilować i uruchamiać przykłady w programie Visual Studio Code.

Wymagania wstępne

Konfigurowanie środowiska

Wykonaj następujące kroki i zapoznaj się z przewodnikiem Szybki start interfejsu wiersza polecenia Mowa, aby zapoznać się z innymi wymaganiami dotyczącymi Twojej platformy.

  1. Uruchom następujące polecenie .NET CLI, aby zainstalować Speech CLI.

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Uruchom następujące polecenia, aby skonfigurować klucz zasobu Speech i region. Zamień SUBSCRIPTION-KEY na klucz zasobu usługi Mowa i zamień REGION na region zasobu usługi Mowa.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

Tłumaczenie mowy z mikrofonu

Uruchom następujące polecenie, aby przetłumaczyć mowę z mikrofonu z języka angielskiego na włoski:

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

Porozmawiaj z mikrofonem i zobaczysz transkrypcję przetłumaczonej mowy w czasie rzeczywistym. Interfejs wiersza polecenia usługi Mowa zatrzymuje się po okresie ciszy, po upływie 30 sekund lub po naciśnięciu 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.')

Uwagi

Teraz, po ukończeniu przewodnika Szybki start, poniżej przedstawiono kilka dodatkowych zagadnień:

  • Aby uzyskać mowę z pliku audio, użyj polecenia --file zamiast --microphone. W przypadku skompresowanych plików audio, takich jak MP4, zainstaluj usługę GStreamer i użyj polecenia --format. Aby uzyskać więcej informacji, zobacz Jak używać skompresowanego dźwięku wejściowego.
    spx translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
    
  • Aby zwiększyć dokładność rozpoznawania określonych słów lub wypowiedzi, użyj listy fraz. Należy dołączyć listę fraz w wierszu lub z plikiem tekstowym:
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • Aby zmienić język rozpoznawania mowy, zastąp en-US element innym obsługiwanym językiem. Określ pełną lokalizację z separatorem kreski (-). Na przykład es-ES w przypadku języka hiszpańskiego (Hiszpania). Język domyślny to en-US , jeśli nie określisz języka.
    spx translate --microphone --source es-ES
    
  • Aby zmienić język docelowy tłumaczenia, zastąp it element innym obsługiwanym językiem. W przypadku kilku wyjątków należy określić tylko kod języka, który poprzedza separator kreski ustawień regionalnych (-). Na przykład użyj es dla hiszpańskiego (Hiszpania) zamiast es-ES. Język domyślny to en , jeśli nie określisz języka.
    spx translate --microphone --target es
    
  • W celu ciągłego rozpoznawania dźwięku dłuższego niż 30 sekund dołącz :--continuous
    spx translate --source en-US --target it --microphone --continuous
    

Uruchom to polecenie, aby uzyskać informacje o dodatkowych opcjach tłumaczenia mowy, takich jak dane wejściowe i wyjściowe pliku:

spx help translate

Czyszczenie zasobów

Aby usunąć utworzony zasób usługi Mowa, możesz użyć portalu Azure lub interfejsu wiersza polecenia (CLI) Azure.

Następne kroki