Een batchtranscriptie maken

Met batchtranscripties verzendt u audiogegevens in een batch. De service transcribeert de audiogegevens en slaat de resultaten op in een opslagcontainer. Vervolgens kunt u de resultaten ophalen uit de opslagcontainer.

Belangrijk

Nieuwe prijzen zijn van kracht voor batchtranscriptie met behulp van Speech naar text REST API v3.2. Zie de prijshandleiding voor meer informatie.

Vereisten

  • De Speech SDK is geïnstalleerd.
  • Een standaard (S0) Spraakresource. Gratis resources (F0) worden niet ondersteund.

Een transcriptietaak maken

Als u een transcriptie wilt maken, gebruikt u de Transcriptions_Create bewerking van de Rest API voor spraak naar tekst. Bouw de aanvraagbody volgens de volgende instructies:

  • U moet de contentContainerUrl of contentUrls eigenschap instellen. Zie Audiobestanden zoeken voor batchtranscriptie voor meer informatie over Azure Blob Storage voor batchtranscriptie.
  • Stel de vereiste locale eigenschap in. Deze waarde moet overeenkomen met de verwachte landinstelling van de audiogegevens die moeten worden getranscribeerd. U kunt de landinstelling later niet wijzigen.
  • Stel de vereiste displayName eigenschap in. Kies een transcriptienaam waarnaar u later kunt verwijzen. De transcriptienaam hoeft niet uniek te zijn en kan later worden gewijzigd.
  • Als u een ander model dan het basismodel wilt gebruiken, stelt u de model eigenschap in op de model-id. Zie Een aangepast model gebruiken en Een fluistermodel gebruiken voor meer informatie.
  • Stel desgewenst de wordLevelTimestampsEnabled eigenschap in om true tijdstempels op woordniveau in te schakelen in de transcriptieresultaten. De standaardwaarde is false. Stel voor Fluistermodellen de displayFormWordLevelTimestampsEnabled eigenschap in. Fluisteren is een model dat alleen wordt weergegeven, dus het lexicale veld wordt niet ingevuld in de transcriptie.
  • Stel desgewenst de languageIdentification eigenschap in. Taalidentificatie wordt gebruikt om talen te identificeren die in audio worden gesproken in vergelijking met een lijst met ondersteunde talen. Als u de languageIdentification eigenschap instelt, moet u ook instellen languageIdentification.candidateLocales met kandidaat-landinstellingen.

Zie Configuratieopties voor aanvragen voor meer informatie.

Maak een HTTP POST-aanvraag die gebruikmaakt van de URI, zoals wordt weergegeven in het volgende Transcriptions_Create voorbeeld.

  • Vervang door YourSubscriptionKey uw Spraak-resourcesleutel.
  • Vervang door YourServiceRegion uw spraakresourceregio.
  • Stel de eigenschappen van de aanvraagbody in zoals eerder beschreven.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": null,
  "properties": {
    "wordLevelTimestampsEnabled": true,
    "languageIdentification": {
      "candidateLocales": [
        "en-US", "de-DE", "es-ES"
      ],
    }
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"

U ontvangt een antwoordtekst in de volgende indeling:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ]
    }
  },
  "lastActionDateTime": "2022-10-21T14:18:06Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:18:06Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

De eigenschap op het hoogste niveau self in de hoofdtekst van het antwoord is de URI van de transcriptie. Gebruik deze URI om details op te halen , zoals de URI van de transcripties en transcriptierapportbestanden. U gebruikt deze URI ook om een transcriptie bij te werken of te verwijderen .

U kunt de status van uw transcripties opvragen met de Transcriptions_Get bewerking.

Roep Transcriptions_Delete regelmatig aan vanuit de service nadat u de resultaten hebt opgehaald. U kunt ook de timeToLive eigenschap instellen om ervoor te zorgen dat de resultaten uiteindelijk worden verwijderd.

Gebruik de spx batch transcription create opdracht om een transcriptie te maken. Bouw de aanvraagparameters volgens de volgende instructies:

  • Stel de vereiste content parameter in. U kunt een door puntkomma's gescheiden lijst met afzonderlijke bestanden of de URL voor een hele container opgeven. Zie Audiobestanden zoeken voor batchtranscriptie voor meer informatie over Azure Blob Storage voor batchtranscriptie.
  • Stel de vereiste language eigenschap in. Deze waarde moet overeenkomen met de verwachte landinstelling van de audiogegevens die moeten worden getranscribeerd. U kunt de landinstelling later niet wijzigen. De speech CLI-parameter language komt overeen met de locale eigenschap in de JSON-aanvraag en het antwoord.
  • Stel de vereiste name eigenschap in. Kies een transcriptienaam waarnaar u later kunt verwijzen. De transcriptienaam hoeft niet uniek te zijn en kan later worden gewijzigd. De speech CLI-parameter name komt overeen met de displayName eigenschap in de JSON-aanvraag en het antwoord.

Hier volgt een voorbeeld van een Speech CLI-opdracht waarmee een transcriptietaak wordt gemaakt:

spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav

U ontvangt een antwoordtekst in de volgende indeling:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked"
  },
  "lastActionDateTime": "2022-10-21T14:21:59Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:21:59Z",
  "locale": "en-US",
  "displayName": "My Transcription",
  "description": ""
}

De eigenschap op het hoogste niveau self in de hoofdtekst van het antwoord is de URI van de transcriptie. Gebruik deze URI om details op te halen, zoals de URI van de transcripties en transcriptierapportbestanden. U gebruikt deze URI ook om een transcriptie bij te werken of te verwijderen.

Voer de volgende opdracht uit voor Speech CLI-hulp bij transcripties:

spx help batch transcription

Configuratieopties aanvragen

Hier volgen enkele eigenschappenopties die u kunt gebruiken om een transcriptie te configureren wanneer u de Transcriptions_Create bewerking aanroept.

Eigenschappen Beschrijving
channels Een matrix van kanaalnummers die moeten worden verwerkt. Kanalen 0 en 1 worden standaard getranscribeerd.
contentContainerUrl U kunt afzonderlijke audiobestanden of een hele opslagcontainer verzenden.

U moet de locatie van de audiogegevens opgeven met behulp van de contentContainerUrl of contentUrls eigenschap. Zie Audiobestanden zoeken voor batchtranscriptie voor meer informatie over Azure Blob Storage voor batchtranscriptie.

Deze eigenschap wordt niet geretourneerd in het antwoord.
contentUrls U kunt afzonderlijke audiobestanden of een hele opslagcontainer verzenden.

U moet de locatie van de audiogegevens opgeven met behulp van de contentContainerUrl of contentUrls eigenschap. Zie Audiobestanden zoeken voor batchtranscriptie voor meer informatie.

Deze eigenschap wordt niet geretourneerd in het antwoord.
destinationContainerUrl Het resultaat kan worden opgeslagen in een Azure-container. Als u geen container opgeeft, slaat de Speech-service de resultaten op in een container die wordt beheerd door Microsoft. Wanneer de transcriptietaak wordt verwijderd, worden ook de transcriptieresultaatgegevens verwijderd. Zie Een doelcontainer-URL opgeven voor meer informatie, zoals de ondersteunde beveiligingsscenario's.
diarization Geeft aan dat de Speech-service een diarisatieanalyse moet uitvoeren voor de invoer, wat naar verwachting een monokanaal is dat meerdere stemmen bevat. De functie is niet beschikbaar met stereo-opnamen.

Diarisatie is het proces van het scheiden van luidsprekers in audiogegevens. De batchpijplijn kan meerdere luidsprekers herkennen en scheiden op monokanaalopnamen.

Geef het minimum en maximum aantal personen op dat mogelijk spreekt. U moet de diarizationEnabled eigenschap ook instellen op true. Het transcriptiebestand bevat een speaker vermelding voor elke getranscribeerde woordgroep.

U moet deze eigenschap gebruiken wanneer u drie of meer sprekers verwacht. Voor twee luidsprekers is het instellen van diarizationEnabled de eigenschap true voldoende. Zie Transcriptions_Create voor een voorbeeld van het gebruik van eigenschappen.

Het maximum aantal sprekers voor diarisatie moet kleiner zijn dan 36 en meer of gelijk aan de minSpeakers eigenschap. Zie Transcriptions_Create voor een voorbeeld.

Wanneer deze eigenschap is geselecteerd, kan de lengte van de bronaudio niet langer zijn dan 240 minuten per bestand.

Opmerking: deze eigenschap is alleen beschikbaar met Speech to text REST API versie 3.1 en hoger. Als u deze eigenschap instelt met een eerdere versie, zoals versie 3.0, wordt deze genegeerd en worden er slechts twee luidsprekers geïdentificeerd.
diarizationEnabled Hiermee geeft u op dat de Speech-service een diarisatieanalyse moet uitvoeren voor de invoer, wat naar verwachting een monokanaal is dat twee stemmen bevat. De standaardwaarde is false.

Voor drie of meer stemmen moet u ook de eigenschap diarizationgebruiken. Gebruik alleen met Speech to text REST API versie 3.1 en hoger.

Wanneer deze eigenschap is geselecteerd, kan de lengte van de bronaudio niet langer zijn dan 240 minuten per bestand.
displayName De naam van de batchtranscriptie. Kies een naam waarnaar u later kunt verwijzen. De weergavenaam hoeft niet uniek te zijn.

Deze eigenschap is vereist.
displayFormWordLevelTimestampsEnabled Hiermee geeft u op of tijdstempels op woordniveau moeten worden opgenomen in de weergavevorm van de transcriptieresultaten. De resultaten worden geretourneerd in de displayWords eigenschap van het transcriptiebestand. De standaardwaarde is false.

Opmerking: deze eigenschap is alleen beschikbaar met Speech to text REST API versie 3.1 en hoger.
languageIdentification Taalidentificatie wordt gebruikt om talen te identificeren die in audio worden gesproken in vergelijking met een lijst met ondersteunde talen.

Als u de languageIdentification eigenschap instelt, moet u ook de ingesloten candidateLocales eigenschap instellen.
languageIdentification.candidateLocales De landinstellingen van de kandidaat voor taalidentificatie, zoals "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}}. Minimaal twee en maximaal tien kandidaatlandinstellingen, inclusief de belangrijkste landinstelling voor de transcriptie, worden ondersteund.
locale De landinstelling van de batchtranscriptie. Deze waarde moet overeenkomen met de verwachte landinstelling van de audiogegevens die moeten worden getranscribeerd. De landinstelling kan later niet meer worden gewijzigd.

Deze eigenschap is vereist.
model U kunt de model eigenschap instellen om een specifiek basismodel of een aangepast spraakmodel te gebruiken. Als u het modelmodel niet opgeeft, wordt het standaardbasismodel voor de landinstelling gebruikt. Zie Een aangepast model gebruiken en Een fluistermodel gebruiken voor meer informatie.
profanityFilterMode Hiermee geeft u op hoe grof taalgebruik moet worden verwerkt in herkenningsresultaten. Geaccepteerde waarden zijn None om grof taalgebruik uit te schakelen, Masked grof taalgebruik te vervangen door sterretjes, Removed om alle grof taalgebruik uit het resultaat te verwijderen of Tags om grof taalgebruikslabels toe te voegen. De standaardwaarde is Masked.
punctuationMode Hiermee geeft u op hoe interpunctie in herkenningsresultaten moet worden verwerkt. Geaccepteerde waarden zijn None om interpunctie uit te schakelen, Dictated expliciete (gesproken) interpunctie te impliceren, Automatic de decoder te laten omgaan met interpunctie of DictatedAndAutomatic om dicteren en automatische interpunctie te gebruiken. De standaardwaarde is DictatedAndAutomatic.

Deze eigenschap is niet van toepassing op Fluistermodellen.
timeToLive Een duur nadat de transcriptietaak is gemaakt, wanneer de transcriptieresultaten automatisch worden verwijderd. De waarde is een ISO 8601 gecodeerde duur. Geef bijvoorbeeld 12 uur op PT12H . Als alternatief kunt u Transcriptions_Delete regelmatig aanroepen nadat u de transcriptieresultaten hebt opgehaald.
wordLevelTimestampsEnabled Hiermee geeft u op of tijdstempels op woordniveau moeten worden opgenomen in de uitvoer. De standaardwaarde is false.

Deze eigenschap is niet van toepassing op Fluistermodellen. Fluisteren is een model dat alleen wordt weergegeven, dus het lexicale veld wordt niet ingevuld in de transcriptie.

Voer de volgende opdracht uit voor Speech CLI-hulp bij de configuratieopties voor transcriptie:

spx help batch transcription create advanced

Een aangepast model gebruiken

Batchtranscriptie maakt gebruik van het standaardbasismodel voor de landinstelling die u opgeeft. U hoeft geen eigenschappen in te stellen om het standaardbasismodel te gebruiken.

U kunt desgewenst het vorige voorbeeld van transcriptie maken wijzigen door de model eigenschap in te stellen op een specifiek basismodel of aangepast spraakmodel .

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"

Als u een aangepast spraakmodel wilt gebruiken voor batchtranscriptie, hebt u de URI van het model nodig. De eigenschap op het hoogste niveau self in de hoofdtekst van het antwoord is de URI van het model. U kunt de modellocatie ophalen wanneer u een model maakt of ophaalt. Zie het voorbeeld van het JSON-antwoord in Een model maken voor meer informatie.

Tip

Een gehost implementatie-eindpunt is niet vereist voor het gebruik van aangepaste spraak met de batchtranscriptieservice. U kunt resources besparen als u het aangepaste spraakmodel alleen gebruikt voor batchtranscriptie.

Batchtranscriptieaanvragen voor verlopen modellen mislukken met een 4xx-fout. Stel de model eigenschap in op een basismodel of aangepast model dat niet is verlopen. Neem anders niet de model eigenschap op om altijd het meest recente basismodel te gebruiken. Zie Een model en de levenscyclus van een aangepast spraakmodel kiezen voor meer informatie.

Een Fluistermodel gebruiken

Azure AI Speech ondersteunt het Whisper-model van OpenAI met behulp van de batchtranscriptie-API. U kunt het Whisper-model gebruiken voor batchtranscriptie.

Notitie

Azure OpenAI Service biedt ook ondersteuning voor het Fluistermodel van OpenAI voor spraak-naar-tekst met een synchrone REST API. Zie Spraak naar tekst met het Azure OpenAI Whisper-model voor meer informatie. Zie Wat is het Fluistermodel voor meer informatie over het gebruik van Azure AI Speech versus Azure OpenAI Service ?

Als u een Whisper-model wilt gebruiken voor batchtranscriptie, moet u de model eigenschap instellen. Fluisteren is een model dat alleen wordt weergegeven, dus het lexicale veld wordt niet ingevuld in het antwoord.

Belangrijk

Voor Fluistermodellen moet u altijd versie 3.2 van de spraak-naar-tekst-API gebruiken.

Fluistermodellen door batchtranscriptie worden ondersteund in de regio's Australië - oost, VS - centraal, VS - oost, VS - noord-centraal, VS - zuid-centraal, Azië - zuidoost en Europa - west.

U kunt een Models_ListBaseModels aanvraag indienen om beschikbare basismodellen voor alle landinstellingen op te halen.

Maak een HTTP GET-aanvraag, zoals wordt weergegeven in het volgende voorbeeld voor de eastus regio. Vervang door YourSubscriptionKey uw Spraak-resourcesleutel. Vervang eastus als u een andere regio gebruikt.

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Standaard worden alleen de 100 oudste basismodellen geretourneerd. Gebruik de skip parameters en top query's om door de resultaten te bladeren. De volgende aanvraag retourneert bijvoorbeeld de volgende 100 basismodellen na de eerste 100.

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base?skip=100&top=100" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Zorg ervoor dat u de configuratievariabelen voor een Spraak-resource instelt in een van de ondersteunde regio's. U kunt de spx csr list --base opdracht uitvoeren om beschikbare basismodellen op te halen voor alle landinstellingen.

spx csr list --base --api-version v3.2-preview.2

De displayName eigenschap van een Fluistermodel bevat Fluisteren, zoals in dit voorbeeld wordt weergegeven. Fluisteren is een model dat alleen wordt weergegeven, dus het lexicale veld wordt niet ingevuld in de transcriptie.

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950/manifest"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2025-04-15T00:00:00Z",
      "transcriptionDateTime": "2026-04-15T00:00:00Z"
    },
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": false,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportsAdaptationsWith": [
        "Acoustic"
      ],
      "supportedOutputFormats": [
        "Display"
      ]
    },
    "chargeForAdaptation": true
  },
  "lastActionDateTime": "2024-02-29T15:53:28Z",
  "status": "Succeeded",
  "createdDateTime": "2024-02-29T15:46:07Z",
  "locale": "en-US",
  "displayName": "20240228 Whisper Large V2",
  "description": "OpenAI Whisper Model in Azure AI Speech (Whisper v2-large)"
},

U stelt de volledige model-URI in, zoals wordt weergegeven in dit voorbeeld voor de eastus regio. Vervang door YourSubscriptionKey uw Spraak-resourcesleutel. Vervang eastus als u een andere regio gebruikt.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6" --api-version v3.2-preview.2

Een doelcontainer-URL opgeven

Het transcriptieresultaat kan worden opgeslagen in een Azure-container. Als u geen container opgeeft, slaat de Speech-service de resultaten op in een container die wordt beheerd door Microsoft. In dat geval worden de transcriptieresultatengegevens ook verwijderd wanneer de transcriptietaak wordt verwijderd.

U kunt de resultaten van een batchtranscriptie opslaan in een beschrijfbare Azure Blob Storage-container met behulp van de optie destinationContainerUrl in de aanvraag voor het maken van batchtranscripties. Deze optie maakt alleen gebruik van een ad-hoc SAS-URI en biedt geen ondersteuning voor het beveiligingsmechanisme van vertrouwde Azure-services. Deze optie biedt ook geen ondersteuning voor SAS op basis van toegangsbeleid. De opslagaccountresource van de doelcontainer moet al het externe verkeer toestaan.

Als u de transcriptieresultaten wilt opslaan in een Azure Blob Storage-container met behulp van het beveiligingsmechanisme voor vertrouwde Azure-services, kunt u overwegen bring-your-own-storage (BYOS) te gebruiken. Zie De BYOS-spraakresource (Bring Your Own Storage) gebruiken voor spraak-naar-tekst voor meer informatie.