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


Как регистрировать аудио и транскрибирование для распознавания речи

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

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

Предупреждение

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

Ведение журнала выполняется асинхронно для базовых и пользовательских конечных точек модели. Служба "Речь" хранит журналы аудио и транскрибирования в внутреннем хранилище, а не записывается локально. Журналы хранятся в течение 30 дней. После этого периода журналы автоматически удаляются. Однако вы можете удалить определенные журналы или диапазон доступных журналов в любое время.

Вы также можете хранить журналы аудио и транскрибирования в учетной записи служба хранилища Azure, которую вы владеете и управляете, а не локальной службой "Речь", используя технологию Bring-your-own-storage (BYOS). Дополнительные сведения об использовании ресурса службы "Речь с поддержкой BYOS" см. в этой статье.

Включение ведения журнала аудио и транскрибирования

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

Включение ведения журнала для одного сеанса распознавания

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

Предупреждение

Для конечных точек пользовательской модели параметр ведения журнала развернутой конечной точки определяется приоритетом по параметру уровня сеанса (ПАКЕТ SDK или REST API). Если ведение журнала включено для конечной точки пользовательской модели, параметр уровня сеанса (значение true или false) игнорируется. Если ведение журнала не включено для конечной точки пользовательской модели, параметр уровня сеанса определяет, активен ли ведение журнала.

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

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод EnableAudioLogging() экземпляра класса SpeechConfig .

speechConfig.EnableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

string isAudioLoggingEnabled = speechConfig.GetProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);

Каждый средство SpeechRecognizer , использующее эту speechConfig функцию, включает ведение журнала аудио и транскрибирования.

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

speechConfig->EnableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

string isAudioLoggingEnabled = speechConfig->GetProperty(PropertyId::SpeechServiceConnection_EnableAudioLogging);

Каждый средство SpeechRecognizer , использующее эту speechConfig функцию, включает ведение журнала аудио и транскрибирования.

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод enableAudioLogging() экземпляра класса SpeechConfig .

speechConfig.enableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

String isAudioLoggingEnabled = speechConfig.getProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);

Каждый средство SpeechRecognizer , использующее эту speechConfig функцию, включает ведение журнала аудио и транскрибирования.

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод enableAudioLogging() экземпляра класса SpeechConfig .

speechConfig.enableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

var SpeechSDK;
SpeechSDK = speechSdk;
// <...>
string isAudioLoggingEnabled = speechConfig.getProperty(SpeechSDK.PropertyId.SpeechServiceConnection_EnableAudioLogging);

Каждый средство SpeechRecognizer , использующее эту speechConfig функцию, включает ведение журнала аудио и транскрибирования.

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

speech_config.enable_audio_logging()

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

import azure.cognitiveservices.speech as speechsdk
# <...>
is_audio_logging_enabled = speech_config.get_property(property_id=speechsdk.PropertyId.SpeechServiceConnection_EnableAudioLogging)

Каждый средство SpeechRecognizer , использующее эту speech_config функцию, включает ведение журнала аудио и транскрибирования.

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

[speechConfig enableAudioLogging];

Чтобы проверить, включена ли ведение журнала, получите значение SPXSpeechServiceConnectionEnableAudioLogging свойства:

NSString *isAudioLoggingEnabled = [speechConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];

Каждый средство SpeechRecognizer , использующее эту speechConfig функцию, включает ведение журнала аудио и транскрибирования.

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

Для перевода речи регистрируются только аудио и транскрибирование исходного звука. Переводы не регистрируются.

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод EnableAudioLogging() экземпляра класса SpeechTranslationConfig .

speechTranslationConfig.EnableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

string isAudioLoggingEnabled = speechTranslationConfig.GetProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);

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

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

speechTranslationConfig->EnableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

string isAudioLoggingEnabled = speechTranslationConfig->GetProperty(PropertyId::SpeechServiceConnection_EnableAudioLogging);

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

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод enableAudioLogging() экземпляра класса SpeechTranslationConfig .

speechTranslationConfig.enableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

String isAudioLoggingEnabled = speechTranslationConfig.getProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);

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

Чтобы включить ведение журнала аудио и транскрибирования с помощью пакета SDK службы "Речь", выполните метод enableAudioLogging() экземпляра класса SpeechTranslationConfig .

speechTranslationConfig.enableAudioLogging();

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

var SpeechSDK;
SpeechSDK = speechSdk;
// <...>
string isAudioLoggingEnabled = speechTranslationConfig.getProperty(SpeechSDK.PropertyId.SpeechServiceConnection_EnableAudioLogging);

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

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

speech_translation_config.enable_audio_logging()

Чтобы проверить, включена ли ведение журнала, получите значение SpeechServiceConnection_EnableAudioLogging свойства:

import azure.cognitiveservices.speech as speechsdk
# <...>
is_audio_logging_enabled = speech_translation_config.get_property(property_id=speechsdk.PropertyId.SpeechServiceConnection_EnableAudioLogging)

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

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

[speechTranslationConfig enableAudioLogging];

Чтобы проверить, включена ли ведение журнала, получите значение SPXSpeechServiceConnectionEnableAudioLogging свойства:

NSString *isAudioLoggingEnabled = [speechTranslationConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];

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

Включение ведения журнала для преобразования речи в текстовый REST API для короткого звука

Если вы используете rest API преобразования речи для короткого звука и хотите включить ведение журнала аудио и транскрибирования, необходимо использовать параметр запроса и значение storeAudio=true в рамках запроса REST. Пример запроса выглядит следующим образом:

https://eastus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&storeAudio=true

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

Этот метод применим только для пользовательских конечных точек речи .

Ведение журнала можно включить или отключить в параметрах конечной точки постоянной пользовательской модели. Если ведение журнала включено (включено) для пользовательской конечной точки модели, вам не нужно включить ведение журнала на уровне сеанса распознавания с помощью пакета SDK или REST API. Даже если ведение журнала не включено для пользовательской конечной точки модели, вы можете временно включить ведение журнала на уровне сеанса распознавания с помощью пакета SDK или REST API.

Предупреждение

Для конечных точек пользовательской модели параметр ведения журнала развернутой конечной точки определяется приоритетом по параметру уровня сеанса (ПАКЕТ SDK или REST API). Если ведение журнала включено для конечной точки пользовательской модели, параметр уровня сеанса (значение true или false) игнорируется. Если ведение журнала не включено для конечной точки пользовательской модели, параметр уровня сеанса определяет, активен ли ведение журнала.

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

Отключение ведения журнала для пользовательской конечной точки модели

Чтобы отключить ведение журнала аудио и транскрибирования для пользовательской конечной точки модели, необходимо обновить параметр ведения журнала сохраняемой конечной точки с помощью функции "Речь" на текстовый REST API. Нет способа отключить ведение журнала для существующей конечной точки пользовательской модели с помощью Speech Studio.

Чтобы отключить ведение журнала для пользовательской конечной точки, используйте операцию Endpoints_Update службы "Речь" в текстовый REST API. Создайте текст запроса в соответствии со следующими инструкциями:

  • contentLoggingEnabled Задайте свойство внутри properties. Задайте это свойство, чтобы true включить ведение журнала трафика конечной точки. Установите это свойство, чтобы false отключить ведение журнала трафика конечной точки.

Выполните HTTP-запрос PATCH с использованием URI, как показано в следующем примере. Замените YourSubscriptionKey ключом ресурса службы "Речь", YourServiceRegion — регионом ресурса службы "Речь", а YourEndpointId — идентификатором конечной точки, а также задайте свойства текста запроса, как описано выше.

curl -v -X PATCH -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "properties": {
    "contentLoggingEnabled": false
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/YourEndpointId"

Вы должны получить ответ в следующем формате:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/9e240dc1-3d2d-4ac9-98ec-1be05ba0e9dd"
  },
  "links": {
    "logs": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/a07164e8-22d1-4eb7-aa31-bf6bb1097f37/files/logs",
    "restInteractive": "https://eastus.stt.speech.microsoft.com/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
    "restConversation": "https://eastus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
    "restDictation": "https://eastus.stt.speech.microsoft.com/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
    "webSocketInteractive": "wss://eastus.stt.speech.microsoft.com/speech/recognition/interactive/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
    "webSocketConversation": "wss://eastus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37",
    "webSocketDictation": "wss://eastus.stt.speech.microsoft.com/speech/recognition/dictation/cognitiveservices/v1?cid=a07164e8-22d1-4eb7-aa31-bf6bb1097f37"
  },
  "project": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/0198f569-cc11-4099-a0e8-9d55bc3d0c52"
  },
  "properties": {
    "loggingEnabled": false
  },
  "lastActionDateTime": "2024-07-15T16:30:12Z",
  "status": "Succeeded",
  "createdDateTime": "2024-07-15T16:29:36Z",
  "locale": "en-US",
  "displayName": "My Endpoint",
  "description": "My Endpoint Description"
}

Текст ответа должен отражать новый параметр. Имя свойства ведения журнала в ответе (loggingEnabled) отличается от имени свойства ведения журнала, заданного в запросе (contentLoggingEnabled).

Получение журналов аудио и транскрибирования

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

Примечание.

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

Получение журналов аудио и транскрибирования с помощью Speech Studio

Этот метод применим только для конечных точек пользовательской модели .

Чтобы скачать журналы конечных точек, сделайте следующее:

  1. Войдите в службу Speech Studio.
  2. Выберите "Настраиваемая речь>" Для развертывания моделей имени >проекта.
  3. Щелкните ссылку с именем конечной точки.
  4. В разделе Content logging (Ведение журнала содержимого) выберите Скачать журнал.

С помощью этого подхода можно одновременно скачать все доступные наборы журналов. Нет способа скачать выбранные наборы журналов в Speech Studio.

Получение журналов аудио и транскрибирования с помощью REST API преобразования речи в текст

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

Этот метод применим для базовых и пользовательских конечных точек модели . Список и скачивание журналов аудио и транскрибирования:

Получение идентификаторов журналов с помощью REST API преобразования речи в текст

В некоторых сценариях может потребоваться получить идентификаторы доступных журналов. Например, может потребоваться удалить определенный журнал, как описано далее в этой статье.

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

Ниже приведен пример выходных данных Endpoints_ListLogs. Для простоты отображается только один набор журналов:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/files/logs/2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json",
      "name": "163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9.v2.json",
      "kind": "Transcription",
      "properties": {
        "size": 79920
      },
      "createdDateTime": "2024-07-15T16:29:36Z",
      "links": {
        "contentUrl": "<Link to download log file>"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/files/logs/2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_wav",
      "name": "163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9.wav",
      "kind": "Audio",
      "properties": {
        "size": 932966
      },
      "createdDateTime": "2024-07-15T16:29:36Z",
      "links": {
        "contentUrl": "<Link to download log file>"
      }
    }
  ]
}

Расположения каждого файла журнала аудио и транскрибирования возвращаются в тексте ответа. См. соответствующее kind свойство, чтобы определить, включает ли файл звук ("kind": "Audio") или транскрибирование ("kind": "Transcription").

Идентификатор журнала для каждого файла журнала является последней частью URL-адреса в значении "self" элемента. Идентификатор журнала в следующем примере.2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json

"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/endpoints/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/files/logs/2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json"

Удаление журналов аудио и транскрибирования

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

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

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

Удаление всех журналов или журналов для заданного интервала времени

Чтобы удалить все журналы или журналы для заданного интервала времени:

При необходимости задайте endDate удаление звуковых журналов (определенный день, UTC). Ожидаемый формат: "гггг-мм-дд". Например, "2023-03-15" приводит к удалению всех журналов 15 марта 2023 г. и раньше.

Удаление определенного журнала

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

Дополнительные сведения о том, как получить идентификаторы журналов, см. в предыдущем разделе "Получение идентификаторов журналов с помощью распознавания речи в текст REST API".

Так как журналы аудио и транскрибирования имеют отдельные идентификаторы (например, идентификаторы и предыдущий пример в этой статье), при удалении журналов аудио и транскрибирования вы выполняете отдельные удаления по запросам идентификаторов.2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_wav 2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json

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