Sdílet prostřednictvím


Rychlý start: Rozpoznávání a překlad řeči na text

Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Sada Speech SDK je k dispozici jako balíček NuGet a implementuje .NET Standard 2.0. Sadu Speech SDK nainstalujete později v této příručce, ale nejprve si projděte průvodce instalací sady SDK, kde najdete další požadavky.

Nastavení proměnných prostředí

Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou SPEECH_KEY prostředí, nahraďte klíč jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Překlad řeči z mikrofonu

Pomocí těchto kroků vytvořte novou konzolovou aplikaci a nainstalujte sadu Speech SDK.

  1. Otevřete příkazový řádek, ve kterém chcete nový projekt, a vytvořte konzolovou aplikaci pomocí rozhraní příkazového řádku .NET CLI. Soubor Program.cs by se měl vytvořit v adresáři projektu.

    dotnet new console
    
  2. Nainstalujte sadu Speech SDK do nového projektu pomocí rozhraní příkazového řádku .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Nahraďte obsah Program.cs následujícím kódem.

    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. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  5. Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.

Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

dotnet run

Po zobrazení výzvy promluvte do mikrofonu. Výstupem, který mluvíte, by měl být přeložený text v cílovém jazyce:

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

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

  • Tento příklad používá RecognizeOnceAsync operaci k přepisu promluv do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Jak přeložit řeč.
  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte FromWavFileInput místo FromDefaultMicrophoneInput:
    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Referenční dokumentace | Package (NuGet) | Další ukázky na GitHubu

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Sada Speech SDK je k dispozici jako balíček NuGet a implementuje .NET Standard 2.0. Sadu Speech SDK nainstalujete později v této příručce, ale nejprve si projděte průvodce instalací sady SDK a zjistěte další požadavky.

Nastavení proměnných prostředí

Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou SPEECH_KEY prostředí, nahraďte klíč jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Překlad řeči z mikrofonu

Pomocí těchto kroků vytvořte novou konzolovou aplikaci a nainstalujte sadu Speech SDK.

  1. Vytvořte nový projekt konzoly C++ v sadě Visual Studio Community 2022 s názvem SpeechTranslation.

  2. Nainstalujte sadu Speech SDK do nového projektu pomocí správce balíčků NuGet.

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. SpeechTranslation.cpp Obsah nahraďte následujícím kódem:

    #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. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  5. Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.

Sestavte a spusťte novou konzolovou aplikaci, která spustí rozpoznávání řeči z mikrofonu.

Po zobrazení výzvy promluvte do mikrofonu. Výstupem, který mluvíte, by měl být přeložený text v cílovém jazyce:

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

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

  • Tento příklad používá RecognizeOnceAsync operaci k přepisu promluv do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Jak přeložit řeč.
  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte FromWavFileInput místo FromDefaultMicrophoneInput:
    auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Referenční dokumentace | Package (Go) | Další ukázky na GitHubu

Sada Speech SDK pro Go nepodporuje překlad řeči. Vyberte jiný programovací jazyk nebo referenční informace k Jazyku Go a ukázky propojené od začátku tohoto článku.

Referenční dokumentace | Další ukázky na GitHubu

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Než budete moct cokoli udělat, musíte nainstalovat sadu Speech SDK. Ukázka v tomto rychlém startu funguje s modulem Runtime Java.

  1. Nainstalujte Apache Maven. Pak spusťte a potvrďte mvn -v úspěšnou instalaci.
  2. V kořenovém adresáři projektu vytvořte nový pom.xml soubor a zkopírujte do něj následující:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.microsoft.cognitiveservices.speech.samples</groupId>
        <artifactId>quickstart-eclipse</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                <source>1.8</source>
                <target>1.8</target>
                </configuration>
            </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
            <groupId>com.microsoft.cognitiveservices.speech</groupId>
            <artifactId>client-sdk</artifactId>
            <version>1.42.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Nainstalujte sadu Speech SDK a závislosti.
    mvn clean dependency:copy-dependencies
    

Nastavení proměnných prostředí

Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou SPEECH_KEY prostředí, nahraďte klíč jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Překlad řeči z mikrofonu

Pomocí těchto kroků vytvořte novou konzolovou aplikaci pro rozpoznávání řeči.

  1. Vytvořte nový soubor s názvem SpeechTranslation.java ve stejném kořenovém adresáři projektu.

  2. Zkopírujte následující kód do 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. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  4. Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.

Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

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

Po zobrazení výzvy promluvte do mikrofonu. Výstupem, který mluvíte, by měl být přeložený text v cílovém jazyce:

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

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

  • Tento příklad používá RecognizeOnceAsync operaci k přepisu promluv do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Jak přeložit řeč.
  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte fromWavFileInput místo fromDefaultMicrophoneInput:
    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Referenční dokumentace | Balíček (npm) | Další ukázky ve zdrojovém kódu knihovny GitHub |

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Než budete moct cokoli udělat, musíte nainstalovat sadu Speech SDK pro JavaScript. Pokud chcete, aby se název balíčku nainstaloval, spusťte npm install microsoft-cognitiveservices-speech-sdkpříkaz . Pokyny k instalaci s asistencí najdete v průvodci instalací sady SDK.

Nastavení proměnných prostředí

Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou SPEECH_KEY prostředí, nahraďte klíč jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Překlad řeči ze souboru

Pomocí těchto kroků vytvořte konzolovou aplikaci Node.js pro rozpoznávání řeči.

  1. Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový soubor s názvem SpeechTranslation.js.

  2. Nainstalujte sadu Speech SDK pro JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Zkopírujte následující kód do 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. Nahraďte SpeechTranslation.jsYourAudioFile.wav ho vlastním souborem WAV. Tento příklad rozpoznává řeč pouze ze souboru WAV. Informace o jiných formátech zvuku naleznete v tématu Použití komprimovaného vstupního zvuku. Tento příklad podporuje až 30 sekund zvuku.

  5. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  6. Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.

Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči ze souboru:

node.exe SpeechTranslation.js

Řeč ze zvukového souboru by měla být výstupem jako přeložený text v cílovém jazyce:

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

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

Tento příklad používá recognizeOnceAsync operaci k přepisu promluv do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Jak přeložit řeč.

Poznámka:

Rozpoznávání řeči z mikrofonu se v Node.js nepodporuje. Podporuje se jenom v prostředí JavaScriptu založeném na prohlížeči.

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Referenční dokumentace | Balíček (stáhnout) | Další ukázky na GitHubu

Sada Speech SDK pro Objective-C podporuje překlad řeči, ale zatím jsme do ní nezahrnuli příručku. Začněte výběrem jiného programovacího jazyka a seznamte se s koncepty nebo si projděte referenční informace k Objective-C a ukázky propojené od začátku tohoto článku.

Referenční dokumentace | Balíček (stáhnout) | Další ukázky na GitHubu

Sada Speech SDK pro Swift podporuje překlad řeči, ale zatím jsme do ní nezahrnuli příručku. Začněte výběrem jiného programovacího jazyka a seznamte se s koncepty nebo si prohlédněte referenční informace a ukázky Swiftu, které jsou propojené od začátku tohoto článku.

Referenční dokumentace | Package (PyPi) | Další ukázky na GitHubu

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Sada Speech SDK pro Python je k dispozici jako modul PyPI (Python Package Index). Sada Speech SDK pro Python je kompatibilní s Windows, Linuxem a macOS.

Nainstalujte verzi Pythonu z verze 3.7 nebo novější. Nejprve si projděte průvodce instalací sady SDK a zjistěte další požadavky.

Nastavení proměnných prostředí

Abyste mohli přistupovat ke službám Azure AI, musíte svou aplikaci ověřit. V tomto článku se dozvíte, jak pomocí proměnných prostředí ukládat přihlašovací údaje. Pak můžete přistupovat k proměnným prostředí z kódu, abyste aplikaci ověřili. V produkčním prostředí použijte bezpečnější způsob, jak ukládat přihlašovací údaje a přistupovat k němu.

Důležité

Doporučujeme ověřování Microsoft Entra ID se spravovanými identitami pro prostředky Azure, abyste se vyhnuli ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.

Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.

Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.

Pokud chcete nastavit proměnné prostředí pro klíč a oblast prostředku služby Speech, otevřete okno konzoly a postupujte podle pokynů pro operační systém a vývojové prostředí.

  • Pokud chcete nastavit proměnnou SPEECH_KEY prostředí, nahraďte klíč jedním z klíčů vašeho prostředku.
  • Pokud chcete nastavit proměnnou SPEECH_REGION prostředí, nahraďte oblast jednou z oblastí vašeho prostředku.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Poznámka:

Pokud potřebujete přístup pouze k proměnným prostředí v aktuální konzole, můžete nastavit proměnnou prostředí namísto set setx.

Po přidání proměnných prostředí možná budete muset restartovat všechny programy, které potřebují číst proměnné prostředí, včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Překlad řeči z mikrofonu

Pomocí těchto kroků vytvořte novou konzolovou aplikaci.

  1. Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový soubor s názvem speech_translation.py.

  2. Spuštěním tohoto příkazu nainstalujte sadu Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. Zkopírujte následující kód do 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. Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk. Podrobnosti o tom, jak identifikovat jeden z více jazyků, které by mohly být mluvené, najdete v tématu identifikace jazyka.

  5. Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.

Spuštěním nové konzolové aplikace spusťte rozpoznávání řeči z mikrofonu:

python speech_translation.py

Po zobrazení výzvy promluvte do mikrofonu. Výstupem, který mluvíte, by měl být přeložený text v cílovém jazyce:

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

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

  • Tento příklad používá recognize_once_async operaci k přepisu promluv do 30 sekund nebo do zjištění ticha. Informace o nepřetržitém rozpoznávání delšího zvuku, včetně vícejazyčných konverzací, najdete v tématu Jak přeložit řeč.
  • Pokud chcete rozpoznat řeč ze zvukového souboru, použijte filename místo use_default_microphone:
    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte PullAudioInputStream nebo PushAudioInputStream. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Speech to text REST API reference | Speech to text REST API for short audio reference | Additional samples on GitHub

Rozhraní REST API nepodporuje překlad řeči. V horní části této stránky vyberte jiný programovací jazyk nebo nástroj.

V tomto rychlém startu spustíte aplikaci pro překlad řeči z jednoho jazyka na text v jiném jazyce.

Tip

Vyzkoušejte sadu Azure AI Speech Toolkit, abyste mohli snadno vytvářet a spouštět ukázky v editoru Visual Studio Code.

Požadavky

  • Předplatné Azure. Můžete si ho zdarma vytvořit.
  • Na webu Azure Portal vytvořte prostředek služby Speech.
  • Získejte klíč prostředku a oblast služby Speech. Po nasazení prostředku služby Speech vyberte Přejít k prostředku a zobrazte a spravujte klíče.

Nastavení prostředí

Postupujte podle těchtokrokůch

  1. Spuštěním následujícího příkazu .NET CLI nainstalujte Rozhraní příkazového řádku služby Speech:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Spuštěním následujících příkazů nakonfigurujte klíč prostředku a oblast služby Speech. Nahraďte SUBSCRIPTION-KEY klíčem prostředku služby Speech a nahraďte REGION oblastí prostředků služby Speech.

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

Překlad řeči z mikrofonu

Spuštěním následujícího příkazu přeložte řeč z mikrofonu z angličtiny do italštiny:

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

Mluvte do mikrofonu a uvidíte přepis přeložené řeči v reálném čase. Rozhraní příkazového řádku služby Speech se zastaví po určité době ticha, 30 sekund nebo po stisknutí kombinace kláves 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.')

Poznámky

Teď, když jste dokončili rychlý start, tady jsou některé další aspekty:

  • Pokud chcete získat řeč ze zvukového souboru, použijte místo --file --microphone. Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte --format. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.
    spx translate --source en-US --target it --file YourAudioFile.wav
    spx translate --source en-US --target it --file YourAudioFile.mp4 --format any
    
  • Pokud chcete zlepšit přesnost rozpoznávání konkrétních slov nebo promluv, použijte seznam frází. Seznam frází zahrnete do řádku nebo do textového souboru:
    spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx translate --source en-US --target it --microphone --phrases @phrases.txt
    
  • Pokud chcete změnit jazyk rozpoznávání řeči, nahraďte en-US jiným podporovaným jazykem. Zadejte úplné národní prostředí s oddělovačem pomlčky (-). Například es-ES pro španělštinu (Španělsko). Výchozí jazyk je en-US , pokud nezadáte jazyk.
    spx translate --microphone --source es-ES
    
  • Pokud chcete změnit cílový jazyk překladu, nahraďte it jiným podporovaným jazykem. S několika výjimkami zadáte pouze kód jazyka, který předchází oddělovači národního prostředí (-). Například použijte es pro španělštinu (Španělsko) místo es-ES. Výchozí jazyk je en , pokud nezadáte jazyk.
    spx translate --microphone --target es
    
  • Pro nepřetržité rozpoznávání zvuku delší než 30 sekund připojte --continuous:
    spx translate --source en-US --target it --microphone --continuous
    

Spuštěním tohoto příkazu zobrazíte informace o dalších možnostech překladu řeči, jako je vstup souboru a výstup:

spx help translate

Vyčištění prostředků

Prostředek služby Speech, který jste vytvořili, můžete odebrat pomocí webu Azure Portal nebo rozhraní příkazového řádku Azure (CLI ).

Další kroky