Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Справочная документация | Пакет (NuGet) | Дополнительные примеры на GitHub
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте службу Azure Speech в инструментарии Foundry Tools, чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс служб ИИ для речевых технологий в портале Azure.
- Получите ключ ресурса службы "Речь" и конечную точку. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы установите пакет SDK для работы с речью позднее в этом руководстве, но сначала проверьте руководство по установке пакета SDK, чтобы узнать о дополнительных требованиях.
Настройка переменных среды
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и конечной точки, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
ENDPOINTпеременную среды, замените вашу конечную точку одной из доступных конечных точек для вашего ресурса.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи с микрофона
Выполните следующие шаги, чтобы создать новое консольное приложение и установить Speech SDK.
Откройте командную строку, в которой должен быть создан проект, и создайте консольное приложение с помощью CLI .NET. Файл
Program.csдолжен быть создан в каталоге проекта.dotnet new consoleУстановите SDK для речи в ваш новый проект с помощью .NET CLI.
dotnet add package Microsoft.CognitiveServices.SpeechЗамените все содержимое
Program.csследующим кодом: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 "ENDPOINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("ENDPOINT"); 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 endpoint values?"); } break; } } async static Task Main(string[] args) { var speechTranslationConfig = SpeechTranslationConfig.FromEndpoint(speechKey, endpoint); 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); } }Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редким исключением, вы указываете только код языка, который предшествует дефису языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:
dotnet run
Когда услышите приглашение, начните говорить в микрофон. Ваша речь должна выводиться как переведенный текст на целевом языке:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale.
Замечания
После выполнения краткого руководства ниже приведены некоторые дополнительные рекомендации.
- В этом примере операция
RecognizeOnceAsyncиспользуется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи. - Чтобы распознать речь из звукового файла, используйте
FromWavFileInputвместоFromDefaultMicrophoneInput:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav"); - Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте
PullAudioInputStreamилиPushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | Пакет (NuGet) | Дополнительные примеры на GitHub
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте Azure Speech в инструментах Foundry Tools Toolkit, чтобы легко составлять и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс служб ИИ для речевых технологий в портале Azure.
- Получите ключ ресурса службы "Речь" и конечную точку. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы установите SDK речевых функций позже в этом руководстве, но сначала проверьте руководство по установке SDK на предмет дополнительных требований.
Настройка переменных среды
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и конечной точки, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
ENDPOINTпеременную среды, замените вашу конечную точку одной из доступных конечных точек для вашего ресурса.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи с микрофона
Выполните следующие шаги, чтобы создать новое консольное приложение и установить Speech SDK.
Создайте проект консоли C++ в Visual Studio Community 2022 с именем
SpeechTranslation.Установите пакет SDK для службы "Речь" в новом проекте с помощью диспетчера пакетов NuGet.
Install-Package Microsoft.CognitiveServices.SpeechЗамените все содержимое
SpeechTranslation.cppследующим кодом:#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 "END_POINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("END_POINT"); auto speechTranslationConfig = SpeechTranslationConfig::FromEndpoint(speechKey, endpoint); 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 endpoint 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 }Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редким исключением, вы указываете только код языка, который предшествует дефису языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
Чтобы начать распознавание речи с микрофона, создайте и запустите новое консольное приложение.
Когда услышите приглашение, начните говорить в микрофон. Ваша речь должна выводиться как переведенный текст на целевом языке:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Замечания
После выполнения краткого руководства ниже приведены некоторые дополнительные рекомендации.
- В этом примере операция
RecognizeOnceAsyncиспользуется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи. - Чтобы распознать речь из звукового файла, используйте
FromWavFileInputвместоFromDefaultMicrophoneInput:auto audioInput = AudioConfig::FromWavFileInput("YourAudioFile.wav"); - Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте
PullAudioInputStreamилиPushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | Пакет (Go) | Дополнительные примеры на GitHub
Пакет Speech SDK для Go не поддерживает голосовой перевод. Выберите другой язык программирования или обратитесь к справочнику и примерам для языка Go, ссылки на которые приведены в начале этой статьи.
Справочная документация | Дополнительные примеры на GitHub
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте Речь Azure в наборе инструментов Foundry, чтобы легко создавать и запускать образцы в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс служб ИИ для речевых технологий в портале Azure.
- Получите ключ ресурса службы "Речь" и конечную точку. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Прежде чем выполнять какие-либо действия, необходимо установить пакет Speech SDK. Пример, приведенный в этом кратком руководстве, работает со средой выполнения Java.
- Установите Apache Maven. Затем выполните команду
mvn -v, чтобы подтвердить успешную установку. - Создайте файл
pom.xmlв корне проекта и скопируйте в него следующий файл:<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> - Установите SDK для обработки речи и необходимые зависимости.
mvn clean dependency:copy-dependencies
Настройка переменных среды
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и конечной точки, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
ENDPOINTпеременную среды, замените вашу конечную точку одной из доступных конечных точек для вашего ресурса.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи с микрофона
Чтобы создать новое консольное приложение для распознавания речи, выполните следующие действия.
Создайте новый файл с именем
SpeechTranslation.javaв том же корневом каталоге проекта.Скопируйте в файл
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 "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechTranslationConfig speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(speechKey, endpoint); 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 endpoint values?"); } } System.exit(0); } }Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редким исключением, вы указываете только код языка, который предшествует дефису языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:
javac SpeechTranslation.java -cp ".;target\dependency\*"
java -cp ".;target\dependency\*" SpeechTranslation
Когда услышите приглашение, начните говорить в микрофон. Ваша речь должна выводиться как переведенный текст на целевом языке:
Speak into your microphone.
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Замечания
После выполнения краткого руководства ниже приведены некоторые дополнительные рекомендации.
- В этом примере операция
RecognizeOnceAsyncиспользуется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи. - Чтобы распознать речь из звукового файла, используйте
fromWavFileInputвместоfromDefaultMicrophoneInput:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav"); - Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте
PullAudioInputStreamилиPushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | Пакет (npm) | Дополнительные примеры на GitHub | Исходный код библиотеки
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте Azure Speech в комплекте инструментов Foundry Tools, чтобы легко создавать и запускать образцы в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс Foundry для функции «Речь» на портале Azure.
- Получите ключ и регион для сервиса "Речь". После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка
Создайте новую папку
translation-quickstartи перейдите в папку быстрого запуска, используя следующую команду:mkdir translation-quickstart && cd translation-quickstartСоздайте
package.jsonс помощью следующей команды:npm init -yУстановите SDK для распознавания речи в JavaScript с помощью:
npm install microsoft-cognitiveservices-speech-sdk
Получение сведений о ресурсе
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
SPEECH_REGIONпеременную среды, замените регион одним из регионов для ресурса. - Чтобы задать
ENDPOINTпеременную среды, заменитеyour-endpointна фактическую конечную точку ресурса Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи из файла
Чтобы перевести речь из файла:
Создайте файл с именем translation.js со следующим содержимым:
import { readFileSync } from "fs"; import { SpeechTranslationConfig, AudioConfig, TranslationRecognizer, ResultReason, CancellationDetails, CancellationReason } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT), process.env.SPEECH_KEY); speechTranslationConfig.speechRecognitionLanguage = "en-US"; const language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile() { const audioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const translationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync((result) => { switch (result.reason) { case ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === 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();В
translation.jsзаменитеYourAudioFile.wavна собственный WAV-файл. В этом примере распознается речь только из WAV-файлов. Дополнительные сведения о других форматах звука см. в разделе Как использовать сжатые входные аудиофайлы. В этом примере поддерживается до 30 секунд звука.Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редкими исключениями, вы указываете только код языка, который предшествует разделителю языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
Запустите новое консольное приложение, чтобы начать распознавание речи из файла:
node translation.js
Выходные данные
Речь из аудиофайла должна выводиться как переведенный текст на целевом языке:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Замечания
Теперь, когда вы завершили работу с кратким руководством, ознакомьтесь с дополнительными рекомендациями.
В этом примере операция recognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи.
Примечание.
Распознавание речи с микрофона не поддерживается в Node.js. Эта функция поддерживается только в среде JavaScript на основе браузера.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
Speech SDK для Objective-C поддерживает перевод речи, но мы еще не включили здесь руководство. Выберите другой язык программирования, чтобы приступить к работе и ознакомиться с основными понятиями, или обратитесь к справочнику и примерам для языка Objective-C, ссылки на которые приведены в начале этой статьи.
Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub
Пакет Speech SDK для Swift поддерживает перевод речи, но руководство сюда еще не включено. Выберите другой язык программирования, чтобы приступить к работе и ознакомиться с основными понятиями, или обратитесь к справочнику и примерам для языка Swift, ссылки на которые приведены в начале этой статьи.
Справочные примеры пакета документации | (PyPi) | Дополнительные примеры на GitHub
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте Azure Speech в наборе инструментов Foundry Tools, чтобы легко создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс служб ИИ для речевых технологий в портале Azure.
- Получите ключ ресурса службы "Речь" и конечную точку. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка среды
Пакет SDK для Python доступен в виде модуля индекса пакетов Python (PyPI). Пакет SDK для Python совместим с Windows, Linux и macOS.
- Установите Microsoft распространяемый компонент Visual C++ для Visual Studio 2015, 2017, 2019 и 2022 для своей платформы. Перезапустите компьютер, если это первая установка пакета.
- Используйте целевую архитектуру x64 в Linux.
Установите версию Python с версии 3.7 или более поздней версии. Сначала ознакомьтесь со статьей Руководство по установке пакета SDK, чтобы узнать о дополнительных требованиях.
Настройка переменных среды
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и конечной точки, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
ENDPOINTпеременную среды, замените вашу конечную точку одной из доступных конечных точек для вашего ресурса.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи с микрофона
Чтобы создать новое консольное приложение, выполните указанные ниже действия.
Откройте командную строку, в которой должен быть создан новый проект, и создайте новый файл с именем
speech_translation.py.Выполните следующую команду для установки пакета Speech SDK.
pip install azure-cognitiveservices-speechСкопируйте в файл
speech_translation.pyследующий код:import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) 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 endpoint values?") recognize_from_microphone()Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редким исключением, вы указываете только код языка, который предшествует дефису языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:
python speech_translation.py
Когда услышите приглашение, начните говорить в микрофон. Ваша речь должна выводиться как переведенный текст на целевом языке:
Speak into your microphone.
Recognized: I'm excited to try speech translation.
Translated into 'it': Sono entusiasta di provare la traduzione vocale.
Замечания
После выполнения краткого руководства ниже приведены некоторые дополнительные рекомендации.
- В этом примере операция
recognize_once_asyncиспользуется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи. - Чтобы распознать речь из звукового файла, используйте
filenameвместоuse_default_microphone:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav") - Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте
PullAudioInputStreamилиPushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Справочная документация | Пакет (npm) | Дополнительные примеры на GitHub | Исходный код библиотеки
В этом кратком руководстве показано, как с помощью приложения перевести речь на одном языке в текст на другом.
Совет
Попробуйте Azure Speech в наборе инструментов Foundry Tools, чтобы с легкостью создавать и запускать примеры в Visual Studio Code.
Необходимые компоненты
- Подписка Azure. Вы можете создать бесплатную учетную запись.
- Создайте ресурс Foundry для функции «Речь» на портале Azure.
- Получите ключ и регион для сервиса "Речь". После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.
Настройка
Создайте новую папку
translation-quickstartи перейдите в папку быстрого запуска, используя следующую команду:mkdir translation-quickstart && cd translation-quickstartСоздайте
package.jsonс помощью следующей команды:npm init -yОбновите
package.jsonна ECMAScript с помощью следующей команды:npm pkg set type=moduleУстановите SDK для распознавания речи в JavaScript с помощью:
npm install microsoft-cognitiveservices-speech-sdkЧтобы избежать ошибок TypeScript, необходимо установить определения типов Node.js. Выполните следующую команду:
npm install --save-dev @types/node
Получение сведений о ресурсе
Для доступа к средствам Foundry необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.
Внимание
Мы рекомендуем удостоверение личности Microsoft Entra ID с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных в приложениях, функционирующих в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.
- Чтобы задать переменную среды
SPEECH_KEY, замените your-key одним из ключей вашего ресурса. - Чтобы задать
SPEECH_REGIONпеременную среды, замените регион одним из регионов для ресурса. - Чтобы задать
ENDPOINTпеременную среды, заменитеyour-endpointна фактическую конечную точку ресурса Speech.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Примечание.
Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.
После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.
Перевод речи из файла
Чтобы перевести речь из файла:
Создайте файл с именем translation.ts со следующим содержимым:
import { readFileSync } from "fs"; import { SpeechTranslationConfig, AudioConfig, TranslationRecognizer, ResultReason, CancellationDetails, CancellationReason, TranslationRecognitionResult } from "microsoft-cognitiveservices-speech-sdk"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechTranslationConfig: SpeechTranslationConfig = SpeechTranslationConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); speechTranslationConfig.speechRecognitionLanguage = "en-US"; const language = "it"; speechTranslationConfig.addTargetLanguage(language); function fromFile(): void { const audioConfig: AudioConfig = AudioConfig.fromWavFileInput(readFileSync("YourAudioFile.wav")); const translationRecognizer: TranslationRecognizer = new TranslationRecognizer(speechTranslationConfig, audioConfig); translationRecognizer.recognizeOnceAsync((result: TranslationRecognitionResult) => { switch (result.reason) { case ResultReason.TranslatedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); console.log("Translated into [" + language + "]: " + result.translations.get(language)); break; case ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: const cancellation: CancellationDetails = CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason === 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();В
translation.tsзаменитеYourAudioFile.wavна собственный WAV-файл. В этом примере распознается речь только из WAV-файлов. Дополнительные сведения о других форматах звука см. в разделе Как использовать сжатые входные аудиофайлы. В этом примере поддерживается до 30 секунд звука.Чтобы изменить язык распознавания речи, замените
en-USна другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например,es-ESдля испанского (Испания). Если язык не указан, по умолчанию используетсяen-US. Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.Чтобы изменить целевой язык перевода, замените
itна другой поддерживаемый язык. За редкими исключениями, вы указываете только код языка, который предшествует разделителю языкового стандарта (-). Например, для испанского языка (Испания) используйтеes, а неes-ES. Если язык не указан, по умолчанию используетсяen.
tsconfig.jsonСоздайте файл для транспиля кода TypeScript и скопируйте следующий код для ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Транспилировать код с TypeScript на JavaScript.
tscЭта команда не должна выводить выходные данные в случае успешного выполнения.
Запустите новое консольное приложение, чтобы начать распознавание речи из файла:
node translation.js
Выходные данные
Речь из аудиофайла должна выводиться как переведенный текст на целевом языке:
RECOGNIZED: Text=I'm excited to try speech translation.
Translated into [it]: Sono entusiasta di provare la traduzione vocale.
Замечания
Теперь, когда вы завершили работу с кратким руководством, ознакомьтесь с дополнительными рекомендациями.
В этом примере операция recognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Перевод речи.
Примечание.
Распознавание речи с микрофона не поддерживается в Node.js. Эта функция поддерживается только в среде JavaScript на основе браузера.
Очистка ресурсов
Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.
Преобразование речи в текст: справочное руководство по REST API | Преобразование речи в текст REST API для коротких аудиофайлов | Дополнительные примеры на GitHub
REST API не поддерживает перевод речи. Выберите другой язык программирования или средство в верхней части этой страницы.