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:
- Když vytvoříte koncový bod pomocí sady Speech Studio, rozhraní REST API nebo rozhraní příkazového řádku služby Speech. Podrobnosti o povolení protokolování pro vlastní koncový bod řeči najdete v tématu Nasazení vlastního modelu řeči.
- Když aktualizujete koncový bod (Endpoints_Update) pomocí rozhraní SPEECH na textové rozhraní REST API. Příklad aktualizace nastavení protokolování pro koncový bod najdete v tématu Vypnutí protokolování pro vlastní koncový bod modelu. Ale místo nastavení
contentLoggingEnabled
vlastnosti nafalse
, nastavte ji natrue
povolení protokolování pro koncový bod.
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ámciproperties
. Nastavte tuto vlastnost tak, abytrue
povolte protokolování provozu koncového bodu. Nastavte tuto vlastnost tak, abyfalse
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:
- Přihlaste se k sadě Speech Studio.
- Vyberte Custom speech> Your project name >Deploy models.
- Vyberte odkaz podle názvu koncového bodu.
- 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ákladní modely: Použijte Endpoints_ListBaseModelLogs operaci speech na textové rozhraní REST API. Tato operace získá seznam protokolů zvuku a přepisu, které se ukládají při použití výchozího základního modelu daného jazyka.
- Koncové body vlastního modelu: Použijte Endpoints_ListLogs operaci speech na textové rozhraní REST API. Tato operace získá seznam protokolů zvuku a přepisu, které jsou uložené pro daný koncový bod.
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ů:
- Základní modely: Použijte Endpoints_ListBaseModelLogs operaci speech na textové rozhraní REST API. Tato operace získá seznam protokolů zvuku a přepisu, které se ukládají při použití výchozího základního modelu daného jazyka.
- Koncové body vlastního modelu: Použijte Endpoints_ListLogs operaci speech na textové rozhraní REST API. Tato operace získá seznam protokolů zvuku a přepisu, které jsou uložené pro daný koncový bod.
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:
- Základní modely: Použijte Endpoints_DeleteBaseModelLogs operaci speech na textové rozhraní REST API.
- Koncové body vlastního modelu: Použijte Endpoints_DeleteLogs operaci speech na textové rozhraní REST API.
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:
- Základní modely: Použijte Endpoints_DeleteBaseModelLog operaci speech na textové rozhraní REST API.
- Koncové body vlastního modelu: Použijte operaci Endpoints_DeleteLog rozhraní REST API pro převod řeči na text.
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