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.
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
Nainstalujte sadu Speech SDK do nového projektu pomocí rozhraní příkazového řádku .NET.
dotnet add package Microsoft.CognitiveServices.Speech
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); } }
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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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.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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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ístoFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
- Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte
PullAudioInputStream
neboPushAudioInputStream
. 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.
Vytvořte nový projekt konzoly C++ v sadě Visual Studio Community 2022 s názvem
SpeechTranslation
.Nainstalujte sadu Speech SDK do nového projektu pomocí správce balíčků NuGet.
Install-Package Microsoft.CognitiveServices.Speech
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 }
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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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.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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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ístoFromDefaultMicrophoneInput
:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav");
- Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte
PullAudioInputStream
neboPushAudioInputStream
. 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.
- Nainstalujte Apache Maven. Pak spusťte a potvrďte
mvn -v
úspěšnou instalaci. - 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>
- 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.
Vytvořte nový soubor s názvem
SpeechTranslation.java
ve stejném kořenovém adresáři projektu.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); } }
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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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.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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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ístofromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
- Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte
PullAudioInputStream
neboPushAudioInputStream
. 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-sdk
pří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.
Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový soubor s názvem
SpeechTranslation.js
.Nainstalujte sadu Speech SDK pro JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
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();
Nahraďte
SpeechTranslation.js
YourAudioFile.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.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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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.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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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.
- Musíte nainstalovat Microsoft Distribuovatelné součásti Visual C++ pro Visual Studio 2015, 2017, 2019 a 2022 pro vaši platformu. První instalace tohoto balíčku může vyžadovat restartování.
- V Linuxu musíte použít cílovou architekturu x64.
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.
Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový soubor s názvem
speech_translation.py
.Spuštěním tohoto příkazu nainstalujte sadu Speech SDK:
pip install azure-cognitiveservices-speech
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()
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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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.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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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ístouse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
- Pro komprimované zvukové soubory, jako je MP4, nainstalujte GStreamer a použijte
PullAudioInputStream
neboPushAudioInputStream
. 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
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
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ďteREGION
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říklades-ES
pro španělštinu (Španělsko). Výchozí jazyk jeen-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žijtees
pro španělštinu (Španělsko) místoes-ES
. Výchozí jazyk jeen
, 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 ).