Sdílet prostřednictvím


Protokolování zvuku a přepisů pro rozpoznávání řeči

Protokolování pro zvukový vstup i rozpoznanou řeč můžete povolit při použití řeči na text nebo překlad řeči. V případě překladu řeči se zaprotokolují pouze zvuk a přepis původního zvuku. Překlady se nezaprotokolují. Tento článek popisuje, jak povolit, přistupovat a odstraňovat protokoly zvuku a přepisu.

Protokoly zvuku a přepisu je možné použít jako vstup pro trénování vlastního modelu řeči . Možná máte jiné případy použití.

Upozorňující

Nezávisejte na protokolech zvuku a přepisu, pokud je vyžadován přesný záznam vstupního zvuku. V obdobích špičky zatížení služba upřednostňuje hardwarové prostředky pro úlohy přepisu. To může vést k tomu, že se nezaprotokolují menší části zvuku. Takové příležitosti jsou vzácné, ale přesto je to možné.

Protokolování se provádí asynchronně pro koncové body základního i vlastního modelu. Služba Speech ukládá protokoly zvuku a přepisu do interního úložiště a ne místně zapisuje. Protokoly se uchovávají po dobu 30 dnů. Po uplynutí této doby se protokoly automaticky odstraní. Můžete ale kdykoli odstranit konkrétní protokoly nebo rozsah dostupných protokolů.

Protokoly zvuku a přepisu můžete také ukládat v účtu Azure Storage, který vlastníte a řídíte místo místní služby Speech pomocí technologie ByOS (Bring-your-own-storage). Podrobnosti o používání prostředku služby Speech s podporou BYOS najdete v tomto článku.

Povolení protokolování zvuku a přepisu

Protokolování je ve výchozím nastavení zakázané. Protokolování je možné povolit pro každou relaci rozpoznávání nebo pro koncový bod vlastního modelu.

Povolení protokolování pro jednu relaci rozpoznávání

Protokolování můžete povolit pro jednu relaci rozpoznávání bez ohledu na to, jestli používáte výchozí základní model nebo koncový bod vlastního modelu .

Upozorňující

U koncových bodů vlastního modelu se nastavení protokolování nasazeného koncového bodu upřednostňuje před nastavením na úrovni relace (SDK nebo REST API). Pokud je pro koncový bod vlastního modelu povolené protokolování, je ignorováno nastavení na úrovni relace (jestli je nastaveno na true nebo false). Pokud pro koncový bod vlastního modelu není povolené protokolování, nastavení na úrovni relace určuje, jestli je protokolování aktivní.

Povolení protokolování pro převod řeči na text pomocí sady Speech SDK

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spustíte metodu EnableAudioLogging() instance třídy SpeechConfig .

speechConfig.EnableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý nástroj SpeechRecognizer , který používá tuto speechConfig funkci, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spustíte metodu EnableAudioLogging instance třídy SpeechConfig .

speechConfig->EnableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý nástroj SpeechRecognizer , který používá tuto speechConfig funkci, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spustíte metodu enableAudioLogging() instance třídy SpeechConfig .

speechConfig.enableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý nástroj SpeechRecognizer , který používá tuto speechConfig funkci, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spustíte metodu enableAudioLogging() instance třídy SpeechConfig .

speechConfig.enableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý nástroj SpeechRecognizer , který používá tuto speechConfig funkci, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spustíte metodu enable_audio_logging instance třídy SpeechConfig .

speech_config.enable_audio_logging()

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý nástroj SpeechRecognizer , který používá tuto speech_config funkci, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu enableAudioLogging instance třídy SPXSpeechConfiguration .

[speechConfig enableAudioLogging];

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SPXSpeechServiceConnectionEnableAudioLogging vlastnosti:

NSString *isAudioLoggingEnabled = [speechConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];

Každý nástroj SpeechRecognizer , který používá tuto speechConfig funkci, má povolené protokolování zvuku a přepisu.

Povolení protokolování pro překlad řeči pomocí sady Speech SDK

V případě překladu řeči se zaprotokolují pouze zvuk a přepis původního zvuku. Překlady se nezaprotokolují.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu EnableAudioLogging() instance třídy SpeechTranslationConfig .

speechTranslationConfig.EnableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý objekt TranslationRecognizer , který používá toto speechTranslationConfig nastavení, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu EnableAudioLogging instance třídy SpeechTranslationConfig .

speechTranslationConfig->EnableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý objekt TranslationRecognizer , který používá toto speechTranslationConfig nastavení, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu enableAudioLogging() instance třídy SpeechTranslationConfig .

speechTranslationConfig.enableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý objekt TranslationRecognizer , který používá toto speechTranslationConfig nastavení, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu enableAudioLogging() instance třídy SpeechTranslationConfig .

speechTranslationConfig.enableAudioLogging();

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý objekt TranslationRecognizer , který používá toto speechTranslationConfig nastavení, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu enable_audio_logging instance třídy SpeechTranslationConfig .

speech_translation_config.enable_audio_logging()

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SpeechServiceConnection_EnableAudioLogging vlastnosti:

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

Každý objekt TranslationRecognizer , který používá toto speech_translation_config nastavení, má povolené protokolování zvuku a přepisu.

Pokud chcete povolit protokolování zvuku a přepisu pomocí sady Speech SDK, spusťte metodu enableAudioLogging instance třídy SPXSpeechTranslationConfiguration .

[speechTranslationConfig enableAudioLogging];

Pokud chcete zkontrolovat, jestli je protokolování povolené, získejte hodnotu SPXSpeechServiceConnectionEnableAudioLogging vlastnosti:

NSString *isAudioLoggingEnabled = [speechTranslationConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];

Každý objekt TranslationRecognizer , který používá toto speechTranslationConfig nastavení, má povolené protokolování zvuku a přepisu.

Povolení protokolování pro rozhraní REST API pro převod řeči na text pro krátký zvuk

Pokud používáte speech k textovému rozhraní REST API pro krátký zvuk a chcete povolit protokolování zvuku a přepisu, musíte jako součást požadavku REST použít parametr a hodnotu storeAudio=true dotazu. Ukázkový požadavek vypadá takto:

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

Povolení protokolování zvuku a přepisu pro vlastní koncový bod modelu

Tato metoda se vztahuje pouze na koncové body vlastní řeči .

Protokolování je možné povolit nebo zakázat v trvalých nastaveních koncového bodu vlastního modelu. Pokud je protokolování povolené (zapnuté) pro koncový bod vlastního modelu, nemusíte protokolování povolovat na úrovni relace rozpoznávání pomocí sady SDK nebo rozhraní REST API. I když není protokolování povolené pro vlastní koncový bod modelu, můžete protokolování dočasně povolit na úrovni relace rozpoznávání pomocí sady SDK nebo rozhraní REST API.

Upozorňující

U koncových bodů vlastního modelu se nastavení protokolování nasazeného koncového bodu upřednostňuje před nastavením na úrovni relace (SDK nebo REST API). Pokud je pro koncový bod vlastního modelu povolené protokolování, je ignorováno nastavení na úrovni relace (jestli je nastaveno na true nebo false). Pokud pro koncový bod vlastního modelu není povolené protokolování, nastavení na úrovni relace určuje, jestli je protokolování aktivní.

Protokolování zvuku a přepisu můžete povolit pro vlastní koncový bod modelu:

Vypnutí protokolování pro vlastní koncový bod modelu

Pokud chcete zakázat protokolování zvuku a přepisu pro koncový bod vlastního modelu, musíte pomocí rozhraní REST API služby Speech na text aktualizovat nastavení protokolování trvalého koncového bodu. Neexistuje způsob, jak zakázat protokolování pro existující koncový bod vlastního modelu pomocí sady Speech Studio.

Pokud chcete protokolování pro vlastní koncový bod vypnout, použijte Endpoints_Update operaci Rozhraní REST API pro převod řeči na text. Sestavte tělo požadavku podle následujících pokynů:

  • contentLoggingEnabled Nastavte vlastnost v rámci properties. Nastavte tuto vlastnost tak, aby true povolte protokolování provozu koncového bodu. Nastavte tuto vlastnost tak, aby false se protokolování provozu koncového bodu zakázalo.

Vytvořte požadavek HTTP PATCH pomocí identifikátoru URI, jak je znázorněno v následujícím příkladu. Nahraďte YourSubscriptionKey klíčem prostředku služby Speech, nahraďte YourServiceRegion oblastí prostředku služby Speech, nahraďte YourEndpointId ID koncového bodu a nastavte vlastnosti textu požadavku, jak jsme popsali dříve.

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"

Měl by se zobrazit text odpovědi v následujícím formátu:

{
  "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"
}

Text odpovědi by měl odrážet nové nastavení. Název vlastnosti protokolování v odpovědi (loggingEnabled) se liší od názvu vlastnosti protokolování, kterou jste nastavili v požadavku (contentLoggingEnabled).

Získání protokolů zvuku a přepisu

K protokolům zvuku a přepisu můžete přistupovat pomocí rozhraní Speech to text REST API. Pro koncové body vlastního modelu můžete také použít Speech Studio. Podrobnosti najdete v následujících částech.

Poznámka:

Protokolování dat se uchovává po dobu 30 dnů. Po uplynutí této doby se protokoly automaticky odstraní. Můžete ale kdykoli odstranit konkrétní protokoly nebo rozsah dostupných protokolů.

Získání protokolů zvuku a přepisu pomocí sady Speech Studio

Tato metoda se vztahuje pouze na koncové body vlastního modelu .

Stažení protokolů koncového bodu:

  1. Přihlaste se k sadě Speech Studio.
  2. Vyberte Custom speech> Your project name >Deploy models.
  3. Vyberte odkaz podle názvu koncového bodu.
  4. V části Protokolování obsahu vyberte Stáhnout protokol.

Pomocí tohoto přístupu si můžete stáhnout všechny dostupné sady protokolů najednou. Ve Službě Speech Studio není možné stahovat vybrané sady protokolů.

Získání protokolů zvuku a přepisu pomocí rozhraní REST API pro převod řeči na text

Můžete si stáhnout všechny nebo podmnožinu dostupných sad protokolů.

Tato metoda se vztahuje na koncové body základního a vlastního modelu . Výpis a stažení protokolů zvuku a přepisu:

Získání ID protokolů s využitím rozhraní REST API pro převod řeči na text

V některých scénářích možná budete muset získat ID dostupných protokolů. Můžete například chtít odstranit konkrétní protokol, jak je popsáno dále v tomto článku.

Získání ID dostupných protokolů:

Tady je ukázkový výstup Endpoints_ListLogs. Pro zjednodušení se zobrazí jenom jedna sada protokolů:

{
  "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>"
      }
    }
  ]
}

Umístění každého zvukového souboru a souboru protokolu přepisu se vrátí v textu odpovědi. Podívejte se na odpovídající kind vlastnost a určete, jestli soubor obsahuje zvuk ("kind": "Audio") nebo přepis ("kind": "Transcription").

ID protokolu pro každý soubor protokolu je poslední částí adresy URL v hodnotě elementu "self" . ID protokolu v následujícím příkladu je 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"

Odstranění protokolů zvuku a přepisu

Protokolování dat se uchovává po dobu 30 dnů. Po uplynutí této doby se protokoly automaticky odstraní. Můžete ale kdykoli odstranit konkrétní protokoly nebo rozsah dostupných protokolů.

U libovolného základního nebo vlastního koncového bodu modelu můžete odstranit všechny dostupné protokoly, protokoly pro daný časový rámec nebo konkrétní protokol na základě jeho ID protokolu. Proces odstranění se provádí asynchronně a může trvat minuty, hodiny, jeden den nebo déle v závislosti na počtu souborů protokolu.

Pokud chcete odstranit protokoly zvuku a přepisu , musíte použít rozhraní REST API pro převod řeči na text. Protokoly není možné odstranit pomocí sady Speech Studio.

Odstranění všech protokolů nebo protokolů pro daný časový rámec

Odstranění všech protokolů nebo protokolů pro daný časový rámec:

Volitelně můžete nastavit endDate odstranění zvukových protokolů (konkrétní den, UTC). Očekávaný formát: "rrrr-mm-dd". Například "2023-03-15" způsobí odstranění všech protokolů 15. března 2023 a dříve.

Odstranění konkrétního protokolu

Odstranění konkrétního protokolu podle ID:

Podrobnosti o tom, jak získat ID protokolů, najdete v předchozí části Získání ID protokolů s využitím rozhraní REST API pro převod řeči na text.

Vzhledem k tomu, že protokoly zvuku a přepisu mají samostatná ID (například ID a z předchozího příkladu v tomto článku), když chcete odstranit protokoly zvuku i přepisu, které spouštíte samostatné odstranění podle požadavků ID.2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_wav 2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json

Další kroky