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

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

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

Совет

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

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

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

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

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

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

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

Совет

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

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

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

Примечание.

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

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

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

Выполните следующие действия, чтобы создать консольное приложение и установить пакет 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

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

Совет

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

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

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

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

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

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

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

Совет

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

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

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

Примечание.

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

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

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

Выполните следующие действия, чтобы создать консольное приложение и установить пакет 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

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

Совет

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

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

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

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

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

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

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

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье "Безопасность служб искусственного интеллекта 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

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

Совет

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

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

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

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

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

    mvn clean dependency:copy-dependencies
    

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

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

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье "Безопасность служб искусственного интеллекта 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 | Исходный код библиотеки

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

Совет

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

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

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

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

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

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

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

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

Совет

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

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

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

Примечание.

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

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

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

Выполните следующие действия, чтобы создать консольное приложение 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.

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

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

Совет

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

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

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

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

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

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

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

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

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье "Безопасность служб искусственного интеллекта 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, чтобы получить пример проекта Распознавание речи с микрофона в Objective-C в macOS. Репозиторий также содержит примеры для iOS.

  2. В окне консоли перейдите в каталог скачаемого примера приложения Helloworld.

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

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

  5. Откройте файл с именем AppDelegate.m и найдите buttonPressed метод, как показано здесь.

    - (void)buttonPressed:(NSButton *)button {
        // Creates an instance of a speech config with specified subscription key and service region.
        NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
        NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
        SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithMicrophone:nil];
        SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
        SPXSpeechRecognizer *speechRecognizer = [[SPXSpeechRecognizer alloc] initWithSpeechConfiguration:speechConfig language:@"en-US" audioConfiguration:audioConfig];
    
        NSLog(@"Speak into your microphone.");
    
        SPXSpeechRecognitionResult *speechResult = [speechRecognizer recognizeOnce];
    
        // Checks result.
        if (SPXResultReason_Canceled == speechResult.reason) {
            SPXCancellationDetails *details = [[SPXCancellationDetails alloc] initFromCanceledRecognitionResult:speechResult];
            NSLog(@"Speech recognition was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails);
            [self.label setStringValue:([NSString stringWithFormat:@"Canceled: %@", details.errorDetails])];
        } else if (SPXResultReason_RecognizedSpeech == speechResult.reason) {
            NSLog(@"Speech recognition result received: %@", speechResult.text);
            [self.label setStringValue:(speechResult.text)];
        } else {
            NSLog(@"There was an error.");
            [self.label setStringValue:(@"Speech Recognition Error")];
        }
    }
    
  6. В AppDelegate.m используйте переменные среды, заданные ранее для ключа ресурса службы "Речь" и региона.

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

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

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

Внимание

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

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

Замечания

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

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

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

    SPXAudioConfiguration *audioConfig = [[SPXAudioConfiguration alloc] initWithWavFileInput:YourAudioFile];
    

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

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

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

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

Совет

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

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

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

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

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

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

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

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

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье "Безопасность служб искусственного интеллекта 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 секунд или до обнаружения тишины. Сведения о непрерывном распознавании для более продолжительных аудиофайлов, в том числе бесед на нескольких языках, см. в разделе Распознавание речи.

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

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

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

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

Совет

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

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

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

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

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

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

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

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

Совет

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

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

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

Примечание.

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

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

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

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

  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.

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

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

Совет

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

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

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

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

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

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

Совет

Не включайте ключ непосредственно в код и никогда не публикуйте его. Дополнительные варианты проверки подлинности, такие как Azure Key Vault, см. в статье "Безопасность служб искусственного интеллекта 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.

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

Совет

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

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

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

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

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

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

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

    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.

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