Microsoft speech api как подключить

REST API преобразования речи в текст; Speech-to-text REST API

Прежде чем использовать REST API преобразования речи в текст, учитывайте следующее. Before using the speech-to-text REST API, consider the following:

Если отправка длинного звука является обязательным требованием для вашего приложения, рассмотрите возможность использования речевого пакета SDK или файлового REST API, такого как Пакетнаязапись. If sending longer audio is a requirement for your application, consider using the Speech SDK or a file-based REST API, like batch transcription.

См. документацию по Azure для государственных организаций для государственных облаков (FairFax). See the Azure government documentation for government cloud (FairFax) endpoints.

Аутентификация Authentication

Для каждого запроса требуется заголовок Authorization. Each request requires an authorization header. В этой таблице показано, какие заголовки поддерживаются для каждой службы: This table illustrates which headers are supported for each service:

Поддерживаемые заголовки авторизации Supported authorization headers Преобразование речи в текст Speech-to-text Преобразование текста в речь Text-to-speech
Ocp-Apim-Subscription-Key Ocp-Apim-Subscription-Key Да Yes Нет No
Authorization: Bearer Authorization: Bearer Да Yes Да Yes

При использовании заголовка Ocp-Apim-Subscription-Key необходимо предоставить только ключ подписки. When using the Ocp-Apim-Subscription-Key header, you’re only required to provide your subscription key. Пример: For example:

Как получить маркер доступа How to get an access token

issueToken Конечная точка имеет следующий формат: The issueToken endpoint has this format:

Замените идентификатором, соответствующим региону подписки, из следующей таблицы: Replace with the identifier matching the region of your subscription from this table:

Географический регион Geography Регион Region Идентификатор региона Region identifier
Северная и Южная Америка Americas Центральная часть США Central US centralus
Северная и Южная Америка Americas Восточная часть США East US eastus
Северная и Южная Америка Americas восточная часть США 2 East US 2 eastus2
Северная и Южная Америка Americas Центрально-северная часть США North Central US northcentralus
Северная и Южная Америка Americas Центрально-южная часть США South Central US southcentralus
Северная и Южная Америка Americas центрально-западная часть США West Central US westcentralus
Северная и Южная Америка Americas западная часть США West US westus
Северная и Южная Америка Americas западная часть США 2 West US 2 westus2
Северная и Южная Америка Americas Центральная Канада Canada Central canadacentral
Северная и Южная Америка Americas Южная Бразилия Brazil South brazilsouth
Азиатско-Тихоокеанский регион Asia Pacific Восточная Азия East Asia eastasia
Азиатско-Тихоокеанский регион Asia Pacific Юго-Восточная Азия Southeast Asia southeastasia
Азиатско-Тихоокеанский регион Asia Pacific Восточная Австралия Australia East australiaeast
Азиатско-Тихоокеанский регион Asia Pacific Центральная Индия Central India centralindia
Азиатско-Тихоокеанский регион Asia Pacific Japan East Japan East japaneast
Азиатско-Тихоокеанский регион Asia Pacific Западная Япония Japan West japanwest
Азиатско-Тихоокеанский регион Asia Pacific Республика Корея, центральный регион Korea Central koreacentral
Европа Europe Северная Европа North Europe northeurope
Европа Europe Западная Европа West Europe westeurope
Европа Europe Центральная Франция France Central francecentral
Европа Europe южная часть Соединенного Королевства UK South uksouth

Используйте эти примеры, чтобы создать запрос на получение маркера доступа. Use these samples to create your access token request.

Пример HTTP HTTP sample

Это простой HTTP-запрос для получения маркера. This example is a simple HTTP request to get a token. Замените YOUR_SUBSCRIPTION_KEY своим ключом подписки на службу распознавания речи. Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Если ваша подписка не находится в регионе «Западная часть США», замените заголовок Host на имя узла в вашем регионе. If your subscription isn’t in the West US region, replace the Host header with your region’s host name.

Тело ответа содержит маркер доступа в формате JSON Web Token (JWT). The body of the response contains the access token in JSON Web Token (JWT) format.

Пример для PowerShell PowerShell sample

Это простой сценарий PowerShell для получения маркера доступа. This example is a simple PowerShell script to get an access token. Замените YOUR_SUBSCRIPTION_KEY своим ключом подписки на службу распознавания речи. Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Обязательно используйте правильную конечную точку для региона, который соответствует вашей подписке. Make sure to use the correct endpoint for the region that matches your subscription. В этом примере используется конечная точка для западной части США. This example is currently set to West US.

Пример cURL cURL sample

cURL — это программа командной строки, доступная в Linux (и в подсистеме Windows для Linux). cURL is a command-line tool available in Linux (and in the Windows Subsystem for Linux). Эта команда cURL показывает, как получить маркер доступа. This cURL command illustrates how to get an access token. Замените YOUR_SUBSCRIPTION_KEY своим ключом подписки на службу распознавания речи. Replace YOUR_SUBSCRIPTION_KEY with your Speech Service subscription key. Обязательно используйте правильную конечную точку для региона, который соответствует вашей подписке. Make sure to use the correct endpoint for the region that matches your subscription. В этом примере используется конечная точка для западной части США. This example is currently set to West US.

Пример на языке C# C# sample

Этот класс C# показывает, как получить маркер доступа. This C# class illustrates how to get an access token. Передайте ключ подписки на службу распознавания речи при создании экземпляра класса. Pass your Speech Service subscription key when you instantiate the class. Если регион вашей подписки — не западная часть США, измените значение FetchTokenUri в соответствии с регионом своей подписки. If your subscription isn’t in the West US region, change the value of FetchTokenUri to match the region for your subscription.

Пример на языке Python Python sample

Как использовать маркер доступа How to use an access token

Ниже приведен пример HTTP-запроса REST API преобразования текста в речь. Here’s a sample HTTP request to the text-to-speech REST API:

Регионы и конечные точки Regions and endpoints

Конечная точка для REST API имеет следующий формат: The endpoint for the REST API has this format:

Замените идентификатором, соответствующим региону подписки, из следующей таблицы: Replace with the identifier matching the region of your subscription from this table:

Географический регион Geography Регион Region Идентификатор региона Region identifier
Северная и Южная Америка Americas Центральная часть США Central US centralus
Северная и Южная Америка Americas Восточная часть США East US eastus
Северная и Южная Америка Americas восточная часть США 2 East US 2 eastus2
Северная и Южная Америка Americas Центрально-северная часть США North Central US northcentralus
Северная и Южная Америка Americas Центрально-южная часть США South Central US southcentralus
Северная и Южная Америка Americas центрально-западная часть США West Central US westcentralus
Северная и Южная Америка Americas западная часть США West US westus
Северная и Южная Америка Americas западная часть США 2 West US 2 westus2
Северная и Южная Америка Americas Центральная Канада Canada Central canadacentral
Северная и Южная Америка Americas Южная Бразилия Brazil South brazilsouth
Азиатско-Тихоокеанский регион Asia Pacific Восточная Азия East Asia eastasia
Азиатско-Тихоокеанский регион Asia Pacific Юго-Восточная Азия Southeast Asia southeastasia
Азиатско-Тихоокеанский регион Asia Pacific Восточная Австралия Australia East australiaeast
Азиатско-Тихоокеанский регион Asia Pacific Центральная Индия Central India centralindia
Азиатско-Тихоокеанский регион Asia Pacific Japan East Japan East japaneast
Азиатско-Тихоокеанский регион Asia Pacific Западная Япония Japan West japanwest
Азиатско-Тихоокеанский регион Asia Pacific Республика Корея, центральный регион Korea Central koreacentral
Европа Europe Северная Европа North Europe northeurope
Европа Europe Западная Европа West Europe westeurope
Европа Europe Центральная Франция France Central francecentral
Европа Europe южная часть Соединенного Королевства UK South uksouth

Параметры запроса Query parameters

Следующие параметры можно включать в строку запроса REST. These parameters may be included in the query string of the REST request.

Заголовки запроса Request headers

В этой таблице перечислены обязательные и необязательные заголовки для запросов на преобразование речи в текст. This table lists required and optional headers for speech-to-text requests.

Форматы аудио Audio formats

Формат Format Кодек Codec Скорость потока Bit rate Частота выборки Sample Rate
WAV WAV PCM PCM 256 кбит/с 256 kbps 16 кГц, моно 16 kHz, mono
OGG OGG OPUS OPUS 256 кпбс 256 kpbs 16 кГц, моно 16 kHz, mono

Приведенные выше форматы поддерживаются с помощью REST API и WebSocket в службе речи. The above formats are supported through REST API and WebSocket in the Speech service. В настоящее время пакет SDK для распознавания речи поддерживает формат WAV с кодеком PCM и другими форматами. The Speech SDK currently supports the WAV format with PCM codec as well as other formats.

Параметры оценки произношения Pronunciation assessment parameters

В этой таблице перечислены обязательные и необязательные параметры для оценки произношения. This table lists required and optional parameters for pronunciation assessment.

Ниже приведен пример JSON, содержащий параметры оценки произношения: Below is an example JSON containing the pronunciation assessment parameters:

В следующем примере кода показано, как создать параметры оценки произношения в Pronunciation-Assessment заголовке: The following sample code shows how to build the pronunciation assessment parameters into the Pronunciation-Assessment header:

Пример запроса Sample request

Приведенный ниже пример включает имя узла и обязательные заголовки. The sample below includes the hostname and required headers. Важно отметить, что служба также ожидает передачи аудиоданных, которые не включены в этом примере. It’s important to note that the service also expects audio data, which is not included in this sample. Как упоминалось ранее, фрагментация рекомендуется, но не обязательна. As mentioned earlier, chunking is recommended, however, not required.

Чтобы включить оценку произношения, можно добавить следующий заголовок. To enable pronunciation assessment, you can add below header. См. раздел параметры оценки произношения для создания этого заголовка. See Pronunciation assessment parameters for how to build this header.

Коды состояния HTTP HTTP status codes

Код состояния HTTP для каждого ответа указывает на успешное выполнение или возникновение распространенных ошибок. The HTTP status code for each response indicates success or common errors.

Код состояния HTTP HTTP status code Описание Description Возможная причина Possible reason
100 Продолжить Continue Первоначальный запрос принят. The initial request has been accepted. Перейдите к отправке данных, которые остались. Proceed with sending the rest of the data. (Используется с фрагментированным перемещением) (Used with chunked transfer)
200 ОК OK Запрос выполнен успешно; текст ответа представляет собой объект JSON. The request was successful; the response body is a JSON object.
400 Недопустимый запрос Bad request Не указан языковой код, неподдерживаемый язык, недопустимый звуковой файл и т. д. Language code not provided, not a supported language, invalid audio file, etc.
401 Не авторизовано Unauthorized Ключ подписки или маркер авторизации является недопустимым в указанном регионе, или недопустимая конечная точка. Subscription key or authorization token is invalid in the specified region, or invalid endpoint.
403 Запрещено Forbidden Отсутствует ключ подписки или маркер авторизации. Missing subscription key or authorization token.

Блочная передача Chunked transfer

Поблочное перемещение ( Transfer-Encoding: chunked ) может помочь снизить задержку при распознавании. Chunked transfer ( Transfer-Encoding: chunked ) can help reduce recognition latency. Он позволяет службе распознавания речи начать обработку звукового файла во время его передачи. It allows the Speech service to begin processing the audio file while it is transmitted. REST API не поддерживает частичные или промежуточные результаты. The REST API does not provide partial or interim results.

Этот пример кода показывает, как отправлять фрагментированное аудио. This code sample shows how to send audio in chunks. Только первый фрагмент данных должен содержать заголовок звукового файла. Only the first chunk should contain the audio file’s header. request — HttpWebRequest объект, подключенный к соответствующей конечной точке RESTful. request is an HttpWebRequest object connected to the appropriate REST endpoint. audioFile — путь к звуковому файлу на диске. audioFile is the path to an audio file on disk.

Параметры ответа Response parameters

Результаты предоставляются в формате JSON. Results are provided as JSON. Формат simple включает эти поля верхнего уровня. The simple format includes these top-level fields.

Параметр Parameter Описание Description
RecognitionStatus Состояние, например, Success в случае успешного распознавания. Status, such as Success for successful recognition. Ознакомьтесь со следующей таблицей. See next table.
DisplayText Распознанный текст после капитализации, пунктуации, обратная нормализация текста (преобразование речевого текста в более короткие формы, например 200 для «200» или «Dr. Иванов» для «врач Смит») и маскировка ненормативной лексики. The recognized text after capitalization, punctuation, inverse text normalization (conversion of spoken text to shorter forms, such as 200 for «two hundred» or «Dr. Smith» for «doctor smith»), and profanity masking. Появляется только в случае успешного распознавания. Present only on success.
Offset Время (в единицах 100 нс), с которого в звуковом потоке начинается распознанная речь. The time (in 100-nanosecond units) at which the recognized speech begins in the audio stream.
Duration Длительность (в единицах 100 нс) распознанной речи в звуковом потоке. The duration (in 100-nanosecond units) of the recognized speech in the audio stream.

Поле RecognitionStatus может содержать следующие значения: The RecognitionStatus field may contain these values:

Объект в NBest списке может включать: The object in the NBest list can include:

Образцы ответов Sample responses

Типичный ответ на simple Распознавание: A typical response for simple recognition:

Типичный ответ на detailed Распознавание: A typical response for detailed recognition:

Типичный ответ на распознавание с оценкой произношения: A typical response for recognition with pronunciation assessment:

Источник

READ  Как подключить запароленный wifi на телефон андроид
Поделиться с друзьями
Как подключить и установить...
Adblock
detector