Logga ljud och transkriptioner för taligenkänning
Du kan aktivera loggning för både ljudinmatning och igenkänt tal när du använder tal till text - eller talöversättning. För talöversättning loggas endast ljud och transkription av det ursprungliga ljudet. Översättningarna loggas inte. Den här artikeln beskriver hur du aktiverar, kommer åt och tar bort ljud- och transkriptionsloggarna.
Ljud- och transkriptionsloggar kan användas som indata för anpassad talmodellträning . Du kan ha andra användningsfall.
Varning
Var inte beroende av ljud- och transkriptionsloggar när den exakta posten för indataljud krävs. Under perioder med hög belastning prioriterar tjänsten maskinvaruresurser för transkriptionsuppgifter. Detta kan leda till att mindre delar av ljudet inte loggas. Sådana tillfällen är sällsynta, men ändå möjliga.
Loggning utförs asynkront för både bas- och anpassade modellslutpunkter. Speech-tjänsten lagrar ljud- och transkriptionsloggar i sin interna lagring och skrivs inte lokalt. Loggarna behålls i 30 dagar. Efter den här perioden tas loggarna bort automatiskt. Du kan dock ta bort specifika loggar eller ett antal tillgängliga loggar när som helst.
Du kan också lagra ljud- och transkriptionsloggar i ett Azure Storage-konto som du äger och styra i stället för Speech-tjänstens lokaler med hjälp av BYOS-teknik (Bring-your-own-storage). Se information om hur du använder BYOS-aktiverad Talresurs i den här artikeln.
Aktivera loggning av ljud och transkription
Loggning är inaktiverat som standard. Loggning kan aktiveras per igenkänningssession eller per anpassad modellslutpunkt.
Aktivera loggning för en enda igenkänningssession
Du kan aktivera loggning för en enskild igenkänningssession, oavsett om du använder standardbasmodellen eller slutpunkten för anpassad modell .
Varning
För anpassade modellslutpunkter prioriteras loggningsinställningen för den distribuerade slutpunkten framför inställningen på sessionsnivå (SDK eller REST API). Om loggning är aktiverat för den anpassade modellslutpunkten ignoreras inställningen på sessionsnivå (oavsett om den är inställd på sant eller falskt). Om loggning inte är aktiverat för den anpassade modellslutpunkten avgör inställningen på sessionsnivå om loggning är aktiv.
Aktivera loggning för tal till text med Speech SDK
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden EnableAudioLogging()
för klassen SpeechConfig-instansen.
speechConfig.EnableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
string isAudioLoggingEnabled = speechConfig.GetProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje SpeechRecognizer som använder detta speechConfig
har ljud- och transkriptionsloggning aktiverat.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden EnableAudioLogging
för klassen SpeechConfig-instansen.
speechConfig->EnableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
string isAudioLoggingEnabled = speechConfig->GetProperty(PropertyId::SpeechServiceConnection_EnableAudioLogging);
Varje SpeechRecognizer som använder detta speechConfig
har ljud- och transkriptionsloggning aktiverat.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging()
för klassen SpeechConfig-instansen.
speechConfig.enableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
String isAudioLoggingEnabled = speechConfig.getProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje SpeechRecognizer som använder detta speechConfig
har ljud- och transkriptionsloggning aktiverat.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging()
för klassen SpeechConfig-instansen.
speechConfig.enableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
var SpeechSDK;
SpeechSDK = speechSdk;
// <...>
string isAudioLoggingEnabled = speechConfig.getProperty(SpeechSDK.PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje SpeechRecognizer som använder detta speechConfig
har ljud- och transkriptionsloggning aktiverat.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enable_audio_logging
för klassen SpeechConfig-instansen.
speech_config.enable_audio_logging()
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
import azure.cognitiveservices.speech as speechsdk
# <...>
is_audio_logging_enabled = speech_config.get_property(property_id=speechsdk.PropertyId.SpeechServiceConnection_EnableAudioLogging)
Varje SpeechRecognizer som använder detta speech_config
har ljud- och transkriptionsloggning aktiverat.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging
för klassinstansen SPXSpeechConfiguration .
[speechConfig enableAudioLogging];
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SPXSpeechServiceConnectionEnableAudioLogging
egenskapen:
NSString *isAudioLoggingEnabled = [speechConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];
Varje SpeechRecognizer som använder detta speechConfig
har ljud- och transkriptionsloggning aktiverat.
Aktivera loggning för talöversättning med Speech SDK
För talöversättning loggas endast ljud och transkription av det ursprungliga ljudet. Översättningarna loggas inte.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden EnableAudioLogging()
för klassinstansen SpeechTranslationConfig .
speechTranslationConfig.EnableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
string isAudioLoggingEnabled = speechTranslationConfig.GetProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje TranslationRecognizer som använder detta speechTranslationConfig
har ljud- och transkriptionsloggning aktiverad.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden EnableAudioLogging
för klassinstansen SpeechTranslationConfig .
speechTranslationConfig->EnableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
string isAudioLoggingEnabled = speechTranslationConfig->GetProperty(PropertyId::SpeechServiceConnection_EnableAudioLogging);
Varje TranslationRecognizer som använder detta speechTranslationConfig
har ljud- och transkriptionsloggning aktiverad.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging()
för klassinstansen SpeechTranslationConfig .
speechTranslationConfig.enableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
String isAudioLoggingEnabled = speechTranslationConfig.getProperty(PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje TranslationRecognizer som använder detta speechTranslationConfig
har ljud- och transkriptionsloggning aktiverad.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging()
för klassinstansen SpeechTranslationConfig .
speechTranslationConfig.enableAudioLogging();
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
var SpeechSDK;
SpeechSDK = speechSdk;
// <...>
string isAudioLoggingEnabled = speechTranslationConfig.getProperty(SpeechSDK.PropertyId.SpeechServiceConnection_EnableAudioLogging);
Varje TranslationRecognizer som använder detta speechTranslationConfig
har ljud- och transkriptionsloggning aktiverad.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enable_audio_logging
för klassinstansen SpeechTranslationConfig .
speech_translation_config.enable_audio_logging()
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SpeechServiceConnection_EnableAudioLogging
egenskapen:
import azure.cognitiveservices.speech as speechsdk
# <...>
is_audio_logging_enabled = speech_translation_config.get_property(property_id=speechsdk.PropertyId.SpeechServiceConnection_EnableAudioLogging)
Varje TranslationRecognizer som använder detta speech_translation_config
har ljud- och transkriptionsloggning aktiverad.
Om du vill aktivera loggning av ljud och transkription med Speech SDK kör du metoden enableAudioLogging
för klassinstansen SPXSpeechTranslationConfiguration .
[speechTranslationConfig enableAudioLogging];
Om du vill kontrollera om loggning är aktiverat hämtar du värdet för SPXSpeechServiceConnectionEnableAudioLogging
egenskapen:
NSString *isAudioLoggingEnabled = [speechTranslationConfig getPropertyById:SPXSpeechServiceConnectionEnableAudioLogging];
Varje TranslationRecognizer som använder detta speechTranslationConfig
har ljud- och transkriptionsloggning aktiverad.
Aktivera loggning för REST API för tal till text för kort ljud
Om du använder REST API för tal till text för kort ljud och vill aktivera loggning av ljud och transkription måste du använda frågeparametern och värdet storeAudio=true
som en del av din REST-begäran. En exempelbegäran ser ut så här:
https://eastus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&storeAudio=true
Aktivera loggning av ljud och transkription för en anpassad modellslutpunkt
Den här metoden gäller endast för anpassade talslutpunkter .
Loggning kan aktiveras eller inaktiveras i inställningarna för den beständiga anpassade modellens slutpunkt. När loggning är aktiverad (aktiverad) för en anpassad modellslutpunkt behöver du inte aktivera loggning på igenkänningssessionsnivå med SDK eller REST API. Även om loggning inte är aktiverat för en slutpunkt för en anpassad modell kan du aktivera loggning tillfälligt på igenkänningssessionsnivå med SDK eller REST API.
Varning
För anpassade modellslutpunkter prioriteras loggningsinställningen för den distribuerade slutpunkten framför inställningen på sessionsnivå (SDK eller REST API). Om loggning är aktiverat för den anpassade modellslutpunkten ignoreras inställningen på sessionsnivå (oavsett om den är inställd på sant eller falskt). Om loggning inte är aktiverat för den anpassade modellslutpunkten avgör inställningen på sessionsnivå om loggning är aktiv.
Du kan aktivera loggning av ljud och transkription för en anpassad modellslutpunkt:
- När du skapar slutpunkten med hjälp av Speech Studio, REST API eller Speech CLI. Mer information om hur du aktiverar loggning för en anpassad talslutpunkt finns i Distribuera en anpassad talmodell.
- När du uppdaterar slutpunkten (Endpoints_Update) med hjälp av REST API för tal till text. Ett exempel på hur du uppdaterar loggningsinställningen för en slutpunkt finns i Inaktivera loggning för en anpassad modellslutpunkt. Men i stället för att ange
contentLoggingEnabled
egenskapen tillfalse
anger du den tilltrue
för att aktivera loggning för slutpunkten.
Inaktivera loggning för en anpassad modellslutpunkt
Om du vill inaktivera loggning av ljud och transkription för en anpassad modellslutpunkt måste du uppdatera inställningen för beständig slutpunktsloggning med hjälp av REST API för tal till text. Det finns inget sätt att inaktivera loggning för en befintlig anpassad modellslutpunkt med hjälp av Speech Studio.
Om du vill inaktivera loggning för en anpassad slutpunkt använder du den Endpoints_Update åtgärden i REST-API:et tal till text. Skapa begärandetexten enligt följande instruktioner:
- Ange egenskapen i
contentLoggingEnabled
properties
. Ange den här egenskapen tilltrue
för att aktivera loggning av slutpunktens trafik. Ange den här egenskapen tillfalse
för att inaktivera loggning av slutpunktens trafik.
Gör en HTTP PATCH-begäran med hjälp av URI:n enligt följande exempel. Ersätt YourSubscriptionKey
med din Speech-resursnyckel, ersätt YourServiceRegion
med resursregionen Speech, ersätt YourEndpointId
med ditt slutpunkts-ID och ange egenskaperna för begärandetexten enligt beskrivningen ovan.
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"
Du bör få en svarstext i följande format:
{
"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"
}
Svarstexten bör återspegla den nya inställningen. Namnet på loggningsegenskapen i svaret (loggingEnabled
) skiljer sig från namnet på den loggningsegenskap som du angav i begäran (contentLoggingEnabled
).
Hämta ljud- och transkriptionsloggar
Du kan komma åt ljud- och transkriptionsloggar med hjälp av REST API för tal till text. För anpassade modellslutpunkter kan du också använda Speech Studio. Se information i följande avsnitt.
Kommentar
Loggningsdata sparas i 30 dagar. Efter den här perioden tas loggarna bort automatiskt. Du kan dock ta bort specifika loggar eller ett antal tillgängliga loggar när som helst.
Hämta ljud- och transkriptionsloggar med Speech Studio
Den här metoden gäller endast för anpassade modellslutpunkter .
Så här laddar du ned slutpunktsloggarna:
- Logga in på Speech Studio.
- Välj Anpassat tal> Projektnamnet >Distribuera modeller.
- Välj länken efter slutpunktsnamn.
- Under Innehållsloggning väljer du Ladda ned logg.
Med den här metoden kan du ladda ned alla tillgängliga logguppsättningar samtidigt. Det går inte att ladda ned valda logguppsättningar i Speech Studio.
Hämta ljud- och transkriptionsloggar med REST API för tal till text
Du kan ladda ned alla eller en delmängd av tillgängliga logguppsättningar.
Den här metoden gäller för bas- och anpassade modellslutpunkter . Så här listar och laddar du ned ljud- och transkriptionsloggar:
- Basmodeller: Använd den Endpoints_ListBaseModelLogs åtgärden för REST-API:et Tal till text. Den här åtgärden hämtar listan över ljud- och transkriptionsloggar som lagras när du använder standardbasmodellen för ett visst språk.
- Anpassade modellslutpunkter: Använd den Endpoints_ListLogs åtgärden för REST API för tal till text. Den här åtgärden hämtar listan över ljud- och transkriptionsloggar som lagras för en viss slutpunkt.
Hämta logg-ID:n med REST API för tal till text
I vissa scenarier kan du behöva hämta ID:t för de tillgängliga loggarna. Du kanske till exempel vill ta bort en specifik logg enligt beskrivningen senare i den här artikeln.
Så här hämtar du ID:t för de tillgängliga loggarna:
- Basmodeller: Använd den Endpoints_ListBaseModelLogs åtgärden för REST-API:et Tal till text. Den här åtgärden hämtar listan över ljud- och transkriptionsloggar som lagras när du använder standardbasmodellen för ett visst språk.
- Anpassade modellslutpunkter: Använd den Endpoints_ListLogs åtgärden för REST API för tal till text. Den här åtgärden hämtar listan över ljud- och transkriptionsloggar som lagras för en viss slutpunkt.
Här är ett exempel på utdata från Endpoints_ListLogs. För enkelhetens skull visas bara en logguppsättning:
{
"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>"
}
}
]
}
Platserna för varje ljud- och transkriptionsloggfil returneras i svarstexten. Se motsvarande kind
egenskap för att avgöra om filen innehåller ljudet ("kind": "Audio"
) eller transkriptionen ("kind": "Transcription"
).
Logg-ID:t för varje loggfil är den sista delen av URL:en i "self"
elementvärdet. Logg-ID:t i följande exempel är 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"
Ta bort ljud- och transkriptionsloggar
Loggningsdata sparas i 30 dagar. Efter den här perioden tas loggarna bort automatiskt. Du kan dock ta bort specifika loggar eller ett antal tillgängliga loggar när som helst.
För valfri bas- eller anpassad modellslutpunkt kan du ta bort alla tillgängliga loggar, loggar för en viss tidsram eller en viss logg baserat på dess logg-ID. Borttagningsprocessen görs asynkront och kan ta minuter, timmar, en dag eller längre beroende på antalet loggfiler.
Om du vill ta bort ljud- och transkriptionsloggar måste du använda REST API för tal till text. Det finns inget sätt att ta bort loggar med hjälp av Speech Studio.
Ta bort alla loggar eller loggar under en viss tidsram
Så här tar du bort alla loggar eller loggar under en viss tidsram:
- Basmodeller: Använd den Endpoints_DeleteBaseModelLogs åtgärden för REST-API:et Tal till text.
- Anpassade modellslutpunkter: Använd den Endpoints_DeleteLogs åtgärden för REST API för tal till text.
Du kan också ange borttagningen endDate
av ljudloggar (specifik dag, UTC). Förväntat format: "åååå-mm-dd". Till exempel resulterar "2023-03-15" i att ta bort alla loggar den 15 mars 2023 och tidigare.
Ta bort specifik logg
Så här tar du bort en specifik logg med ID:
- Basmodeller: Använd den Endpoints_DeleteBaseModelLog åtgärden för REST-API:et Tal till text.
- Anpassade modellslutpunkter: Använd den Endpoints_DeleteLog åtgärden för REST API för tal till text.
Mer information om hur du hämtar logg-ID:n finns i ett tidigare avsnitt Hämta logg-ID:n med REST API för tal till text.
Eftersom ljud- och transkriptionsloggar har separata ID:er (till exempel ID: 2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_v2_json
er och 2023-03-13_163715__0420c53d-e6ac-4857-bce0-f39c3f9f5ff9_wav
från ett tidigare exempel i den här artikeln) kör du separata borttagningsbegäranden genom att ta bort både ljud- och transkriptionsloggar.