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 die gebruikmaakt van de spraak naar tekst REST API v3.2. Zie de prijshandleiding voor meer informatie.
Vereisten
U hebt een standaardresource (S0) Speech nodig. Gratis resources (F0) worden niet ondersteund.
Een transcriptietaak maken
Als u een batchtranscriptietaak wilt maken, gebruikt u de Transcriptions_Create bewerking van de spraak-naar-tekst-REST API. Bouw de aanvraagbody volgens de volgende instructies:
- U moet de
contentContainerUrl
ofcontentUrls
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 omtrue
tijdstempels op woordniveau in te schakelen in de transcriptieresultaten. De standaardwaarde isfalse
. Stel voor Fluistermodellen dedisplayFormWordLevelTimestampsEnabled
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 delanguageIdentification
eigenschap instelt, moet u ook instellenlanguageIdentification.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.2/transcriptions"
U ontvangt een antwoordtekst in de volgende indeling:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/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": "2024-05-21T14:18:06Z",
"status": "NotStarted",
"createdDateTime": "2024-05-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.
Tip
U kunt ook de Batch Transcription-API proberen met behulp van Python, C# of Node.js op GitHub.
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 komma'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-parameterlanguage
komt overeen met delocale
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-parametername
komt overeen met dedisplayName
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.2/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked"
},
"lastActionDateTime": "2024-05-21T14:21:59Z",
"status": "NotStarted",
"createdDateTime": "2024-05-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 voor het configureren van een transcriptie wanneer u de Transcriptions_Create bewerking aanroept. U vindt meer voorbeelden op dezelfde pagina, zoals het maken van een transcriptie met taalidentificatie.
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 diarization gebruiken. 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 model model 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.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"properties": {
"wordLevelTimestampsEnabled": true,
},
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.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/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
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.
Batchtranscriptie met fluistermodellen wordt 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/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/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
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/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
"links": {
"manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.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/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950"
},
"properties": {
"wordLevelTimestampsEnabled": true,
},
}' "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
U stelt de volledige model-URI in, zoals wordt weergegeven in dit voorbeeld voor de eastus
regio. Vervang eastus
als u een andere regio gebruikt.
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/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950" --api-version v3.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.