Поделиться через


Краткое руководство. Распознавание и преобразование речи в текст

Внимание

Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этом кратком руководстве описана попытка преобразования речи в режиме реального времени в текст в Azure AI Foundry.

Необходимые компоненты

Попробуйте преобразование речи в режиме реального времени в текст

  1. Перейдите в проект AI Foundry. Если вам нужно создать проект, см . статью "Создание проекта Ai Foundry".

  2. Выберите площадки на левой панели и выберите нужную площадку. В этом примере выберите " Попробовать игровую площадку "Речь".

    Снимок экрана: игровые площадки уровня проекта, которые можно использовать.

  3. При необходимости можно выбрать другое подключение для использования на детской площадке. На игровой площадке службы "Речь" можно подключиться к ресурсам служб искусственного интеллекта Azure или ресурсам службы "Речь".

    Снимок экрана: игровая площадка

  4. Выберите транскрибирование в режиме реального времени.

  5. Выберите "Показать дополнительные параметры", чтобы настроить речь на текстовые параметры , например:

    • Идентификация языка: используется для идентификации языков, которые говорят в аудио по сравнению со списком поддерживаемых языков. Дополнительные сведения о параметрах идентификации языка, таких как при запуске и непрерывном распознавании, см. в разделе "Идентификация языка".
    • Диаризация говорящего: используется для идентификации и разделения динамиков в аудио. Диаризация различает различных докладчиков, участвующих в беседе. Служба "Речь" предоставляет сведения о том, какой докладчик говорил определенную часть транскрибированного речи. Дополнительные сведения о диаризации динамиков см. в кратком руководстве по распознаванию речи в режиме реального времени в тексте с кратким руководством по диаризации говорящего.
    • Настраиваемая конечная точка: используйте развернутую модель из пользовательской речи для повышения точности распознавания. Чтобы использовать базовую модель Майкрософт, оставьте этот параметр равным None. Дополнительные сведения о пользовательской речи см. в разделе "Настраиваемая речь".
    • Формат выходных данных: выбор между простыми и подробными форматами выходных данных. Простые выходные данные включают формат отображения и метки времени. Подробные выходные данные включают дополнительные форматы (например, отображение, лексический, ITN и маскированный ITN), метки времени и N-лучшие списки.
    • Список фраз: повышение точности транскрибирования путем предоставления списка известных фраз, таких как имена людей или определенных расположений. Используйте запятые или запятые, чтобы разделить каждое значение в списке фраз. Дополнительные сведения о списках фраз см. в списках фраз.
  6. Выберите звуковой файл для отправки или записи звука в режиме реального времени. В этом примере мы используем файл, доступный Call1_separated_16k_health_insurance.wav в репозитории пакета SDK службы "Речь" на GitHub. Вы можете скачать файл или использовать собственный звуковой файл.

    Снимок экрана: выбор звукового файла или разговор с микрофоном.

  7. Транскрибирование в режиме реального времени можно просмотреть в нижней части страницы.

    Снимок экрана: транскрибирование в режиме реального времени приводит к использованию Azure AI Foundry.

  8. Вы можете выбрать вкладку JSON, чтобы просмотреть выходные данные JSON транскрибирования. Свойства включают Offset, DurationLexicalRecognitionStatusDisplayи ITNмногое другое.

    Снимок экрана: транскрибирование в режиме реального времени приводит к формату JSON в Azure AI Foundry.

Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы установите пакет SDK службы "Речь" далее в этом руководстве. Дополнительные сведения см. в разделе "Установка пакета SDK службы "Речь".

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Совет

Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.

Выполните следующие действия, чтобы создать консольное приложение и установить пакет SDK службы "Речь".

  1. Откройте окно командной строки в папке, в которой требуется создать проект. Выполните эту команду, чтобы создать консольное приложение с помощью .NET CLI.

    dotnet new console
    

    Эта команда создает файл Program.cs в каталоге проекта.

  2. Установите пакет SDK для службы "Речь" в новом проекте с помощью CLI .NET.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. Замените содержимое файла Program.cs кодом, приведенным ниже.

    using System;
    using System.IO;
    using System.Threading.Tasks;
    using Microsoft.CognitiveServices.Speech;
    using Microsoft.CognitiveServices.Speech.Audio;
    
    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(SpeechRecognitionResult speechRecognitionResult)
        {
            switch (speechRecognitionResult.Reason)
            {
                case ResultReason.RecognizedSpeech:
                    Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}");
                    break;
                case ResultReason.NoMatch:
                    Console.WriteLine($"NOMATCH: Speech could not be recognized.");
                    break;
                case ResultReason.Canceled:
                    var cancellation = CancellationDetails.FromResult(speechRecognitionResult);
                    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 speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion);        
            speechConfig.SpeechRecognitionLanguage = "en-US";
    
            using var audioConfig = AudioConfig.FromDefaultMicrophoneInput();
            using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            Console.WriteLine("Speak into your microphone.");
            var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync();
            OutputSpeechRecognitionResult(speechRecognitionResult);
        }
    }
    
  4. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, которые могут быть разговоры, см. в разделе "Идентификация языка".

  5. Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:

    dotnet run
    

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

  6. При появлении запроса начните говорить в микрофон. То, что вы говорите, должно отображаться как текст:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Замечания

Ниже приведены некоторые другие рекомендации.

  • В этом примере операция RecognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

  • Чтобы распознать речь из аудиофайла, используйте FromWavFileInput вместо FromDefaultMicrophoneInput:

    using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
    
  • Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте PullAudioInputStream или PushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочные примеры пакета документации | (NuGet) | Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Пакет SDK для службы "Речь" доступен в виде пакета NuGet и реализует .NET Standard 2.0. Вы установите пакет SDK службы "Речь" далее в этом руководстве. Дополнительные сведения см. в разделе "Установка пакета SDK службы "Речь".

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Совет

Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.

Выполните следующие действия, чтобы создать консольное приложение и установить пакет SDK службы "Речь".

  1. Создайте проект консоли C++ в Visual Studio Community с именем SpeechRecognition.

  2. Выберите инструменты>Nuget диспетчер пакетов> диспетчер пакетов консоли. В консоли диспетчер пакетов выполните следующую команду:

    Install-Package Microsoft.CognitiveServices.Speech
    
  3. Замените все содержимое SpeechRecognition.cpp следующим кодом:

    #include <iostream> 
    #include <stdlib.h>
    #include <speechapi_cxx.h>
    
    using namespace Microsoft::CognitiveServices::Speech;
    using namespace Microsoft::CognitiveServices::Speech::Audio;
    
    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");
    
        if ((size(speechKey) == 0) || (size(speechRegion) == 0)) {
            std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl;
            return -1;
        }
    
        auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion);
    
        speechConfig->SetSpeechRecognitionLanguage("en-US");
    
        auto audioConfig = AudioConfig::FromDefaultMicrophoneInput();
        auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig);
    
        std::cout << "Speak into your microphone.\n";
        auto result = speechRecognizer->RecognizeOnceAsync().get();
    
        if (result->Reason == ResultReason::RecognizedSpeech)
        {
            std::cout << "RECOGNIZED: Text=" << result->Text << 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. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, которые могут быть разговоры, см. в разделе "Идентификация языка".

  5. Создайте и запустите новое консольное приложение, чтобы начать распознавание речи с микрофона.

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

  6. При появлении запроса начните говорить в микрофон. То, что вы говорите, должно отображаться как текст:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Замечания

Ниже приведены некоторые другие рекомендации.

  • В этом примере операция RecognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

  • Чтобы распознать речь из аудиофайла, используйте FromWavFileInput вместо FromDefaultMicrophoneInput:

    auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
    
  • Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте PullAudioInputStream или PushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочные примеры пакета документации | (Go) | Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Установите пакет SDK службы "Речь" для Go. Требования и инструкции см. в разделе "Установка пакета SDK службы "Речь".

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Выполните следующие действия, чтобы создать модуль GO.

  1. Откройте окно командной строки в папке, в которой требуется создать проект. Создайте файл с именем speech-recognition.go.

  2. Скопируйте следующий код в speech-recognition.go:

    package main
    
    import (
        "bufio"
        "fmt"
        "os"
    
        "github.com/Microsoft/cognitive-services-speech-sdk-go/audio"
        "github.com/Microsoft/cognitive-services-speech-sdk-go/speech"
    )
    
    func sessionStartedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Started (ID=", event.SessionID, ")")
    }
    
    func sessionStoppedHandler(event speech.SessionEventArgs) {
        defer event.Close()
        fmt.Println("Session Stopped (ID=", event.SessionID, ")")
    }
    
    func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognizing:", event.Result.Text)
    }
    
    func recognizedHandler(event speech.SpeechRecognitionEventArgs) {
        defer event.Close()
        fmt.Println("Recognized:", event.Result.Text)
    }
    
    func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) {
        defer event.Close()
        fmt.Println("Received a cancellation: ", event.ErrorDetails)
        fmt.Println("Did you set the speech resource key and region values?")
    }
    
    func main() {
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        speechKey :=  os.Getenv("SPEECH_KEY")
        speechRegion := os.Getenv("SPEECH_REGION")
    
        audioConfig, err := audio.NewAudioConfigFromDefaultMicrophoneInput()
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer audioConfig.Close()
        speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechConfig.Close()
        speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig)
        if err != nil {
            fmt.Println("Got an error: ", err)
            return
        }
        defer speechRecognizer.Close()
        speechRecognizer.SessionStarted(sessionStartedHandler)
        speechRecognizer.SessionStopped(sessionStoppedHandler)
        speechRecognizer.Recognizing(recognizingHandler)
        speechRecognizer.Recognized(recognizedHandler)
        speechRecognizer.Canceled(cancelledHandler)
        speechRecognizer.StartContinuousRecognitionAsync()
        defer speechRecognizer.StopContinuousRecognitionAsync()
        bufio.NewReader(os.Stdin).ReadBytes('\n')
    }
    
  3. Выполните приведенные ниже команды, чтобы создать файл go.mod со ссылкой на компоненты, размещенные в GitHub:

    go mod init speech-recognition
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

  4. Выполните сборку и запуск кода:

    go build
    go run speech-recognition
    

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочная документация | по Дополнительным примерам на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Чтобы настроить среду, установите пакет SDK службы "Речь". Пример, приведенный в этом кратком руководстве, работает со средой выполнения Java.

  1. Установите Apache Maven. Затем выполните команду mvn -v , чтобы подтвердить успешную установку.

  2. Создайте файл 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.40.0</version>
            </dependency>
        </dependencies>
    </project>
    
  3. Установите пакет SDK службы "Речь" и зависимости.

    mvn clean dependency:copy-dependencies
    

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Выполните следующие действия, чтобы создать консольное приложение для распознавания речи.

  1. Создайте файл с именем SpeechRecognition.java в том же корневом каталоге проекта.

  2. Скопируйте следующий код в SpeechRecognition.java:

    import com.microsoft.cognitiveservices.speech.*;
    import com.microsoft.cognitiveservices.speech.audio.AudioConfig;
    
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.Future;
    
    public class SpeechRecognition {
        // 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 {
            SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion);
            speechConfig.setSpeechRecognitionLanguage("en-US");
            recognizeFromMicrophone(speechConfig);
        }
    
        public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException {
            AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput();
            SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig);
    
            System.out.println("Speak into your microphone.");
            Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync();
            SpeechRecognitionResult speechRecognitionResult = task.get();
    
            if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) {
                System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText());
            }
            else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) {
                System.out.println("NOMATCH: Speech could not be recognized.");
            }
            else if (speechRecognitionResult.getReason() == ResultReason.Canceled) {
                CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult);
                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. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, которые могут быть разговоры, см. в разделе "Идентификация языка".

  4. Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:

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

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

  5. При появлении запроса начните говорить в микрофон. То, что вы говорите, должно отображаться как текст:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Замечания

Ниже приведены некоторые другие рекомендации.

  • В этом примере операция RecognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

  • Чтобы распознать речь из аудиофайла, используйте fromWavFileInput вместо fromDefaultMicrophoneInput:

    AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
    
  • Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте PullAudioInputStream или PushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочные примеры пакета документации | (npm) | Дополнительные примеры в исходном коде библиотеки GitHub |

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Вам также потребуется .wav звуковой файл на локальном компьютере. Вы можете использовать собственный файл .wav (до 30 секунд) или скачать https://crbn.us/whatstheweatherlike.wav пример файла.

Настройка среды

Чтобы настроить среду, установите пакет SDK службы "Речь" для JavaScript. Выполните следующую команду: npm install microsoft-cognitiveservices-speech-sdk. Инструкции по установке см. в разделе "Установка пакета SDK службы "Речь".

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

по распознаванию речи из файла

Совет

Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.

Выполните следующие действия, чтобы создать консольное приложение Node.js для распознавания речи.

  1. Откройте окно командной строки, в котором требуется новый проект, и создайте файл с именем SpeechRecognition.js.

  2. Установите пакет SDK службы "Речь" для JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. Скопируйте следующий код в SpeechRecognition.js:

    const fs = require("fs");
    const sdk = require("microsoft-cognitiveservices-speech-sdk");
    
    // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
    const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
    speechConfig.speechRecognitionLanguage = "en-US";
    
    function fromFile() {
        let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav"));
        let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    
        speechRecognizer.recognizeOnceAsync(result => {
            switch (result.reason) {
                case sdk.ResultReason.RecognizedSpeech:
                    console.log(`RECOGNIZED: Text=${result.text}`);
                    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;
            }
            speechRecognizer.close();
        });
    }
    fromFile();
    
  4. В SpeechRecognition.js замените YourAudioFile.wav собственным файлом .wav . В этом примере распознается только речь из файла .wav . Дополнительные сведения о других форматах звука см. в разделе Как использовать сжатые входные аудиофайлы. В этом примере поддерживается до 30 секунд звука.

  5. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, которые могут быть разговоры, см. в разделе "Идентификация языка".

  6. Запустите новое консольное приложение, чтобы начать распознавание речи из файла:

    node.exe SpeechRecognition.js
    

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

    Речь из аудиофайла должна быть выведена в виде текста:

    RECOGNIZED: Text=I'm excited to try speech to text.
    

Замечания

В этом примере операция recognizeOnceAsync используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

Примечание.

Распознавание речи с микрофона не поддерживается в Node.js. Эта функция поддерживается только в среде JavaScript на основе браузера. Дополнительные сведения см. в примере React и реализации речи с микрофона на GitHub.

В примере React показаны конструктивные шаблоны для обмена и управления маркерами проверки подлинности, В нем также показана запись звука с микрофона или файла для преобразования речи в текст.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочные примеры пакета документации | (PyPi) | Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Пакет SDK для Python доступен в виде модуля индекса пакетов Python (PyPI). Пакет SDK для службы "Речь" (Python) совместим с Windows, Linux и macOS.

Установите версию Python с версии 3.7 или более поздней версии. Дополнительные сведения см. в разделе "Установка пакета SDK службы "Речь".

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Совет

Попробуйте использовать набор средств службы "Речь Azure AI", чтобы легко создавать и запускать примеры в Visual Studio Code.

Выполните следующие действия, чтобы создать консольное приложение.

  1. Откройте окно командной строки в папке, в которой требуется создать проект. Создайте файл с именем speech_recognition.py.

  2. Выполните следующую команду для установки пакета SDK для службы "Речь".

    pip install azure-cognitiveservices-speech
    
  3. Скопируйте следующий код в speech_recognition.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_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION'))
        speech_config.speech_recognition_language="en-US"
    
        audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
        speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)
    
        print("Speak into your microphone.")
        speech_recognition_result = speech_recognizer.recognize_once_async().get()
    
        if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
            print("Recognized: {}".format(speech_recognition_result.text))
        elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
            print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
        elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
            cancellation_details = speech_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. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, на которых могут говорить, см. в разделе Определение языка.

  5. Запустите новое консольное приложение, чтобы начать распознавание речи с микрофона:

    python speech_recognition.py
    

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

  6. При появлении запроса начните говорить в микрофон. То, что вы говорите, должно отображаться как текст:

    Speak into your microphone.
    RECOGNIZED: Text=I'm excited to try speech to text.
    

Замечания

Ниже приведены некоторые другие рекомендации.

  • В этом примере операция recognize_once_async используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

  • Чтобы распознать речь из аудиофайла, используйте filename вместо use_default_microphone:

    audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
    
  • Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте PullAudioInputStream или PushAudioInputStream. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Справочный пакет документации | (скачивание) | Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Пакет SDK службы "Речь" для Swift сейчас доступен в виде пакета платформы. Платформа поддерживает как Objective-C, так и SWIFT как в iOS, так и в macOS.

Пакет SDK службы "Речь" можно использовать в проектах Xcode в качестве КакаоПода или скачать напрямую и связать вручную. В этом руководстве используется диспетчер зависимостей CocoaPods. Установите диспетчер зависимостей CocoaPods, следуя его инструкциям по установке.

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Распознавание речи с микрофона

Выполните следующие действия для распознавания речи в приложении macOS.

  1. Клонируйте репозиторий Azure-Samples/cognitive-services-speech-sdk, чтобы получить пример проекта Распознавание речи с микрофона в Swift в macOS. Репозиторий также содержит примеры для iOS.

  2. Перейдите в каталог скачанного примера приложения (helloworld) в терминале.

  3. Выполните команду pod install. Эта команда создает рабочую helloworld.xcworkspace область Xcode, содержащую пример приложения и пакет SDK службы "Речь" в качестве зависимости.

  4. Откройте рабочую область helloworld.xcworkspace в Xcode.

  5. Откройте файл с именем AppDelegate.swift и найдите applicationDidFinishLaunching методы, recognizeFromMic как показано здесь.

    import Cocoa
    
    @NSApplicationMain
    class AppDelegate: NSObject, NSApplicationDelegate {
        var label: NSTextField!
        var fromMicButton: NSButton!
    
        var sub: String!
        var region: String!
    
        @IBOutlet weak var window: NSWindow!
    
        func applicationDidFinishLaunching(_ aNotification: Notification) {
            print("loading")
            // load subscription information
            sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
            region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
            label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200))
            label.textColor = NSColor.black
            label.lineBreakMode = .byWordWrapping
    
            label.stringValue = "Recognition Result"
            label.isEditable = false
    
            self.window.contentView?.addSubview(label)
    
            fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30))
            fromMicButton.title = "Recognize"
            fromMicButton.target = self
            fromMicButton.action = #selector(fromMicButtonClicked)
            self.window.contentView?.addSubview(fromMicButton)
        }
    
        @objc func fromMicButtonClicked() {
            DispatchQueue.global(qos: .userInitiated).async {
                self.recognizeFromMic()
            }
        }
    
        func recognizeFromMic() {
            var speechConfig: SPXSpeechConfiguration?
            do {
                try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region)
            } catch {
                print("error \(error) happened")
                speechConfig = nil
            }
            speechConfig?.speechRecognitionLanguage = "en-US"
    
            let audioConfig = SPXAudioConfiguration()
    
            let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig)
    
            reco.addRecognizingEventHandler() {reco, evt in
                print("intermediate recognition result: \(evt.result.text ?? "(no result)")")
                self.updateLabel(text: evt.result.text, color: .gray)
            }
    
            updateLabel(text: "Listening ...", color: .gray)
            print("Listening...")
    
            let result = try! reco.recognizeOnce()
            print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)")
            updateLabel(text: result.text, color: .black)
    
            if result.reason != SPXResultReason.recognizedSpeech {
                let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result)
                print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)")
                print("Did you set the speech resource key and region values?")
                updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red)
            }
        }
    
        func updateLabel(text: String?, color: NSColor) {
            DispatchQueue.main.async {
                self.label.stringValue = text!
                self.label.textColor = color
            }
        }
    }
    
  6. В AppDelegate.m используйте переменные среды, заданные ранее для ключа ресурса службы "Речь" и региона.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию . Дополнительные сведения о том, как определить один из нескольких языков, которые могут быть разговоры, см. в разделе "Идентификация языка".

  8. Чтобы сделать выходные данные отладки видимыми, выберите "Просмотреть>консоль активации области>отладки".

  9. Создайте и запустите пример кода, выбрав "Запуск продукта>" в меню или нажав кнопку "Воспроизвести".

    Внимание

    Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

После нажатия кнопки в приложении и проговорив несколько слов, вы увидите текст, который вы говорили на нижней части экрана. При первом запуске приложения вам будет предложено предоставить приложению доступ к микрофону компьютера.

Замечания

В этом примере операция recognizeOnce используется для транскрибирования речевых фрагментов продолжительностью до 30 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

Objective-C

Пакет SDK службы "Речь" для клиентских библиотек Objective-C и справочная документация с пакетом SDK службы "Речь" для Swift. Примеры кода Objective-C см . в примере проекта Распознавания речи с микрофона в Objective-C в macOS в GitHub.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Преобразование речи в текст REST API ссылки на | речь на текстовый REST API для краткой справки по звуковой ссылке | на Дополнительные примеры на GitHub

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Вам также потребуется .wav звуковой файл на локальном компьютере. Вы можете использовать собственный .wav файл до 60 секунд или скачать https://crbn.us/whatstheweatherlike.wav пример файла.

Настройка переменных среды

Для доступа к службам ИИ Azure необходимо пройти проверку подлинности приложения. В этой статье показано, как использовать переменные среды для хранения учетных данных. Затем вы можете получить доступ к переменным среды из кода для проверки подлинности приложения. Для рабочей среды используйте более безопасный способ хранения и доступа к учетным данным.

Внимание

Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.

Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.

Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".

Чтобы задать переменные среды для ключа ресурса службы "Речь" и региона, откройте окно консоли и следуйте инструкциям для вашей операционной системы и среды разработки.

  • Чтобы задать SPEECH_KEY переменную среды, замените ключ одним из ключей ресурса.
  • Чтобы задать SPEECH_REGION переменную среды, замените регион одним из регионов для ресурса.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

Примечание.

Если вам нужно получить доступ только к переменным среды в текущей консоли, можно задать переменную set среды вместо setx.

После добавления переменных среды может потребоваться перезапустить все программы, которые должны считывать переменные среды, включая окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

по распознаванию речи из файла

Откройте окно консоли и выполните следующую команду cURL. Замените YourAudioFile.wav путем и именем звукового файла.

curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"

Внимание

Убедитесь, что заданы SPEECH_KEY переменные среды и SPEECH_REGION среды. Если эти переменные не заданы, образец завершается ошибкой с сообщением об ошибке.

Вы должны получить ответ, аналогичный представленному здесь. DisplayText — это текст, распознанный из аудиофайла. Команда распознает до 60 секунд звука и преобразует его в текст.

{
    "RecognitionStatus": "Success",
    "DisplayText": "My voice is my passport, verify me.",
    "Offset": 6600000,
    "Duration": 32100000
}

Дополнительные сведения см. в статье "Речь в текстовом REST API" для короткого звука.

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

В этом кратком руководстве вы создадите и запустите приложение для распознавания и транскрибирования речи в текст в режиме реального времени.

Чтобы вместо этого асинхронно транскрибировать звуковые файлы, см. раздел "Что такое пакетная транскрибирование". Если вы не уверены, какая речь в текстовом решении подходит для вас, см. статью "Что такое речь в тексте?"

Необходимые компоненты

  • Подписка Azure. Вы можете создать бесплатную учетную запись.
  • Создайте ресурс службы "Речь" в портал Azure.
  • Получение ключа ресурса службы "Речь" и региона. После развертывания ресурса службы "Речь" выберите Перейти к ресурсу для просмотра ключей и управления ими.

Настройка среды

Выполните следующие действия и ознакомьтесь с кратким руководством по интерфейсу командной строки службы "Речь" для других требований для платформы.

  1. Выполните следующую команду .NET CLI, чтобы установить интерфейс командной строки службы "Речь".

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. Выполните следующие команды, чтобы настроить ключ ресурса службы "Речь" и регион. Замените ключом ресурса "Речь" и замените SUBSCRIPTION-KEY REGION регионом ресурсов службы "Речь".

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

Распознавание речи с микрофона

  1. Выполните следующую команду, чтобы начать распознавание речи с микрофона:

    spx recognize --microphone --source en-US
    
  2. Начните говорить в микрофон, и вы увидите расшифровки слов в виде текста, появляющиеся в реальном времени. Интерфейс командной строки службы "Речь" останавливается после периода молчания, 30 секунд или при нажатии клавиш CTRL+C.

    Connection CONNECTED...
    RECOGNIZED: I'm excited to try speech to text.
    

Замечания

Ниже приведены некоторые другие рекомендации.

  • Чтобы распознать речь из аудиофайла, используйте --file вместо --microphone. Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте --format. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

    spx recognize --file YourAudioFile.wav
    spx recognize --file YourAudioFile.mp4 --format any
    
  • Чтобы повысить точность распознавания конкретных слов или речевых фрагментов, используйте список фраз. Вы включаете список фраз в строку или текстовый файл вместе с командой recognize :

    spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
    spx recognize --microphone --phrases @phrases.txt
    
  • Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию .

    spx recognize --microphone --source es-ES
    
  • Для непрерывного распознавания звука дольше 30 секунд добавьте --continuous:

    spx recognize --microphone --source es-ES --continuous
    
  • Выполните следующую команду, чтобы узнать больше о параметрах распознавания речи, таких как входные и выходные данные файлов:

    spx help recognize
    

Очистка ресурсов

Для удаления созданного ресурса службы "Речь" можно использовать портал Azure или интерфейс командной строки (CLI) Azure.

Следующий шаг