Dela via


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 till falseanger du den till true 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 till true för att aktivera loggning av slutpunktens trafik. Ange den här egenskapen till false 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:

  1. Logga in på Speech Studio.
  2. Välj Anpassat tal> Projektnamnet >Distribuera modeller.
  3. Välj länken efter slutpunktsnamn.
  4. 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:

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:

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.

Nästa steg