Skapa en batch-transkription
Med batch-transkriptioner skickar du ljuddata i en batch. Tjänsten transkriberar ljuddata och lagrar resultatet i en lagringscontainer. Du kan sedan hämta resultatet från lagringscontainern.
Viktigt!
Nya priser gäller för batch-transkription som använder tal till text REST API v3.2. Mer information finns i prisguiden.
Förutsättningar
Du behöver en Standard Speech-resurs (S0). Kostnadsfria resurser (F0) stöds inte.
Skapa ett transkriptionsjobb
Om du vill skapa ett batch-transkriptionsjobb använder du Transcriptions_Create-åtgärden för rest-API:et för tal till text. Skapa begärandetexten enligt följande instruktioner:
- Du måste ange antingen
contentContainerUrl
egenskapen ellercontentUrls
. Mer information om Azure Blob Storage för batch-transkription finns i Hitta ljudfiler för batch-transkription. - Ange den obligatoriska
locale
egenskapen. Det här värdet ska matcha det förväntade språket för ljuddata som transkriberas. Du kan inte ändra nationella inställningar senare. - Ange den obligatoriska
displayName
egenskapen. Välj ett transkriptionsnamn som du kan referera till senare. Transkriptionsnamnet behöver inte vara unikt och kan ändras senare. - Om du vill använda en annan modell än basmodellen kan du ange
model
egenskapen som modell-ID. Mer information finns i Använda en anpassad modell och Använd en Whisper-modell. - Du kan också ange
wordLevelTimestampsEnabled
egenskapen tilltrue
för att aktivera tidsstämplar på ordnivå i transkriptionsresultatet. Standardvärdet ärfalse
. För Whisper-modeller anger du egenskapendisplayFormWordLevelTimestampsEnabled
i stället. Whisper är en modell som endast visas, så det lexikala fältet fylls inte i i transkriptionen. - Du kan också ange egenskapen
languageIdentification
. Språkidentifiering används för att identifiera språk som talas i ljud jämfört med en lista över språk som stöds. Om du anger egenskapenlanguageIdentification
måste du också angelanguageIdentification.candidateLocales
med kandidatspråk.
Mer information finns i Alternativ för att begära konfiguration.
Gör en HTTP POST-begäran som använder URI:n enligt följande Transcriptions_Create exempel.
- Ersätt
YourSubscriptionKey
med din Speech-resursnyckel. - Ersätt
YourServiceRegion
med din Speech-resursregion. - Ange egenskaperna för begärandetexten enligt beskrivningen ovan.
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"
Du bör få en svarstext i följande format:
{
"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"
}
Egenskapen på den översta nivån self
i svarstexten är transkriptionens URI. Använd den här URI:n för att få information, till exempel URI för transkriptioner och transkriptionsrapportfiler. Du använder också den här URI:n för att uppdatera eller ta bort en transkription.
Du kan köra frågor mot statusen för dina transkriptioner med åtgärden Transcriptions_Get .
Anropa Transcriptions_Delete regelbundet från tjänsten när du har hämtat resultatet. Du kan också ange egenskapen timeToLive
för att säkerställa att resultatet tas bort.
Dricks
Du kan också prova BATCH-transkriptions-API:et med Hjälp av Python, C#eller Node.js på GitHub.
Använd kommandot för spx batch transcription create
att skapa en transkription. Skapa begärandeparametrarna enligt följande instruktioner:
- Ange den obligatoriska
content
parametern. Du kan ange en kommaavgränsad lista över enskilda filer eller URL:en för en hel container. Mer information om Azure Blob Storage för batch-transkription finns i Hitta ljudfiler för batch-transkription. - Ange den obligatoriska
language
egenskapen. Det här värdet ska matcha det förväntade språket för ljuddata som transkriberas. Du kan inte ändra nationella inställningar senare. Parametern Speech CLIlanguage
motsvararlocale
egenskapen i JSON-begäran och -svaret. - Ange den obligatoriska
name
egenskapen. Välj ett transkriptionsnamn som du kan referera till senare. Transkriptionsnamnet behöver inte vara unikt och kan ändras senare. Parametern Speech CLIname
motsvarardisplayName
egenskapen i JSON-begäran och -svaret.
Här är ett exempel på ett Speech CLI-kommando som skapar ett transkriptionsjobb:
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav
Du bör få en svarstext i följande format:
{
"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": ""
}
Egenskapen på den översta nivån self
i svarstexten är transkriptionens URI. Använd den här URI:n för att få information, till exempel URI för transkriptioner och transkriptionsrapportfiler. Du använder också den här URI:n för att uppdatera eller ta bort en transkription.
Kör följande kommando för speech CLI-hjälp med transkriptioner:
spx help batch transcription
Konfigurationsalternativ för begäranden
Här följer några egenskapsalternativ för att konfigurera en transkription när du anropar åtgärden Transcriptions_Create . Du hittar fler exempel på samma sida, till exempel att skapa en transkription med språkidentifiering.
Property | beskrivning |
---|---|
channels |
En matris med kanalnummer som ska bearbetas. Kanaler 0 och 1 transkriberas som standard. |
contentContainerUrl |
Du kan skicka enskilda ljudfiler eller en hel lagringscontainer. Du måste ange platsen för ljuddata med hjälp av antingen contentContainerUrl egenskapen eller contentUrls . Mer information om Azure Blob Storage för batch-transkription finns i Hitta ljudfiler för batch-transkription.Den här egenskapen returneras inte i svaret. |
contentUrls |
Du kan skicka enskilda ljudfiler eller en hel lagringscontainer. Du måste ange platsen för ljuddata med hjälp av antingen contentContainerUrl egenskapen eller contentUrls . Mer information finns i Hitta ljudfiler för batch-transkription.Den här egenskapen returneras inte i svaret. |
destinationContainerUrl |
Resultatet kan lagras i en Azure-container. Om du inte anger en container lagrar Speech-tjänsten resultatet i en container som hanteras av Microsoft. När transkriptionsjobbet tas bort tas även transkriptionsresultatdata bort. Mer information, till exempel säkerhetsscenarier som stöds, finns i Ange en målcontainer-URL. |
diarization |
Anger att Speech-tjänsten ska försöka utföra diariseringsanalys på indata, som förväntas vara en monokanal som innehåller flera röster. Funktionen är inte tillgänglig med stereoinspelningar. Diarisering är processen att separera högtalare i ljuddata. Batch-pipelinen kan identifiera och separera flera högtalare på monokanalinspelningar. Ange det lägsta och högsta antalet personer som kan tala. Du måste också ange egenskapen diarizationEnabled till true . Transkriptionsfilen innehåller en speaker post för varje transkriberad fras.Du måste använda den här egenskapen när du förväntar dig tre eller fler talare. För två talare räcker det med att ställa in diarizationEnabled egenskapen på true . Ett exempel på egenskapsanvändningen finns i Transcriptions_Create.Det maximala antalet talare för diarisering måste vara mindre än 36 och fler eller lika med egenskapen minCount . Ett exempel finns i Transcriptions_Create.När den här egenskapen har valts får källans ljudlängd inte överstiga 240 minuter per fil. Obs! Den här egenskapen är endast tillgänglig med Speech to text REST API version 3.1 och senare. Om du anger den här egenskapen med någon tidigare version, till exempel version 3.0, ignoreras den och endast två talare identifieras. |
diarizationEnabled |
Anger att Speech-tjänsten ska försöka utföra diariseringsanalys på indata, vilket förväntas vara en monokanal som innehåller två röster. Standardvärdet är false .För tre eller fler röster måste du också använda egenskapen diarization . Använd endast med Speech to text REST API version 3.1 och senare.När den här egenskapen har valts får källans ljudlängd inte överstiga 240 minuter per fil. |
displayName |
Namnet på batch-transkriptionen. Välj ett namn som du kan referera till senare. Visningsnamnet behöver inte vara unikt. Egenskapen krävs. |
displayFormWordLevelTimestampsEnabled |
Anger om tidsstämplar på ordnivå ska inkluderas i visningsformen för transkriptionsresultatet. Resultaten returneras i displayWords egenskapen för transkriptionsfilen. Standardvärdet är false .Obs! Den här egenskapen är endast tillgänglig med Speech to text REST API version 3.1 och senare. |
languageIdentification |
Språkidentifiering används för att identifiera språk som talas i ljud jämfört med en lista över språk som stöds. Om du anger egenskapen languageIdentification måste du också ange dess omslutna candidateLocales egenskap. |
languageIdentification.candidateLocales |
Språkidentifieringens kandidatspråk, till exempel "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}} . Minst två och högst tio kandidatspråk, inklusive huvudspråket för transkriptionen, stöds. |
locale |
Språkvarianten för batch-transkriptionen. Det här värdet ska matcha det förväntade språket för ljuddata som transkriberas. Språkvarianten kan inte ändras senare. Egenskapen krävs. |
model |
Du kan ange att model egenskapen ska använda en specifik basmodell eller anpassad talmodell . Om du inte anger model används standardbasmodellen för nationella inställningar. Mer information finns i Använda en anpassad modell och Använd en Whisper-modell. |
profanityFilterMode |
Anger hur du hanterar svordomar i igenkänningsresultat. Godkända värden är None att inaktivera filtrering av svordomar, Masked ersätta svordomar med asterisker, Removed ta bort alla svordomar från resultatet eller Tags lägga till svordomstaggar. Standardvärdet är Masked . |
punctuationMode |
Anger hur du hanterar skiljetecken i igenkänningsresultat. Godkända värden är None att inaktivera skiljetecken, Dictated att antyda explicit (talat) skiljetecken, Automatic att låta avkodaren hantera skiljetecken eller DictatedAndAutomatic använda dikterad och automatisk skiljetecken. Standardvärdet är DictatedAndAutomatic .Den här egenskapen gäller inte för Whisper-modeller. |
timeToLive |
En varaktighet efter att transkriptionsjobbet har skapats, när transkriptionsresultatet tas bort automatiskt. Värdet är en ISO 8601-kodad varaktighet. Ange till exempel PT12H i 12 timmar. Alternativt kan du anropa Transcriptions_Delete regelbundet när du har hämtat transkriptionsresultatet. |
wordLevelTimestampsEnabled |
Anger om tidsstämplar på ordnivå ska inkluderas i utdata. Standardvärdet är false .Den här egenskapen gäller inte för Whisper-modeller. Whisper är en modell som endast visas, så det lexikala fältet fylls inte i i transkriptionen. |
För Speech CLI-hjälp med transkriptionskonfigurationsalternativ kör du följande kommando:
spx help batch transcription create advanced
Använda en anpassad modell
Batch-transkription använder standardbasmodellen för det språk du anger. Du behöver inte ange några egenskaper för att använda standardbasmodellen.
Du kan också ändra exemplet för att skapa transkription genom att ange egenskapen så att den model
använder en specifik basmodell eller anpassad talmodell.
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"
Om du vill använda en anpassad talmodell för batch-transkription behöver du modellens URI. Egenskapen på den översta nivån self
i svarstexten är modellens URI. Du kan hämta modellplatsen när du skapar eller hämtar en modell. Mer information finns i JSON-svarsexemplet i Skapa en modell.
Dricks
En värdbaserad distributionsslutpunkt krävs inte för att använda anpassat tal med batch-transkriptionstjänsten. Du kan spara resurser om du endast använder den anpassade talmodellen för batch-transkription.
Batch-transkriptionsbegäranden för utgångna modeller misslyckas med ett 4xx-fel. Ange egenskapen model
till en basmodell eller anpassad modell som inte har upphört att gälla. Annars inkluderar model
du inte egenskapen för att alltid använda den senaste basmodellen. Mer information finns i Välj en modell och livscykel för anpassad talmodell.
Använda en Whisper-modell
Azure AI Speech stöder OpenAI:s Whisper-modell med hjälp av batch-transkriptions-API:et. Du kan använda Whisper-modellen för batch-transkription.
Kommentar
Azure OpenAI Service stöder även OpenAI:s Whisper-modell för tal till text med ett synkront REST-API. Mer information finns i Tal till text med Azure OpenAI Whisper-modellen. Mer information om när du ska använda Azure AI Speech jämfört med Azure OpenAI Service finns i Vad är Whisper-modellen?
Om du vill använda en Whisper-modell för batch-transkription måste du ange model
egenskapen. Whisper är en modell som endast visas, så det lexikala fältet fylls inte i i svaret.
Viktigt!
För Whisper-modeller bör du alltid använda version 3.2 av tal-till-text-API:et.
Batch-transkription med whisper-modeller stöds i regionerna Australien, östra, USA, centrala, USA, östra, USA, norra centrala, USA, södra centrala, Sydostasien och Europa, västra.
Du kan göra en Models_ListBaseModels begäran om att få tillgängliga basmodeller för alla nationella inställningar.
Gör en HTTP GET-begäran enligt följande exempel för eastus
regionen. Ersätt YourSubscriptionKey
med din Speech-resursnyckel. Ersätt eastus
om du använder en annan region.
curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Som standard returneras endast de 100 äldsta basmodellerna. skip
Använd frågeparametrarna och top
för att bläddra igenom resultaten. Följande begäran returnerar till exempel nästa 100 basmodeller efter de första 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"
Se till att du anger konfigurationsvariablerna för en Speech-resurs i någon av de regioner som stöds. Du kan köra spx csr list --base
kommandot för att hämta tillgängliga basmodeller för alla nationella inställningar.
spx csr list --base --api-version v3.2
Egenskapen displayName
för en Whisper-modell innehåller "Whisper" som visas i det här exemplet. Whisper är en modell som endast visas, så det lexikala fältet fylls inte i i transkriptionen.
{
"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)"
},
Du anger den fullständiga modell-URI:n enligt det här exemplet för eastus
regionen. Ersätt YourSubscriptionKey
med din Speech-resursnyckel. Ersätt eastus
om du använder en annan region.
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"
Du anger den fullständiga modell-URI:n enligt det här exemplet för eastus
regionen. Ersätt eastus
om du använder en annan region.
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
Ange en målcontainer-URL
Transkriptionsresultatet kan lagras i en Azure-container. Om du inte anger en container lagrar Speech-tjänsten resultatet i en container som hanteras av Microsoft. I så fall tas även transkriptionsresultatdata bort när transkriptionsjobbet tas bort.
Du kan lagra resultatet av en batch-transkription i en skrivbar Azure Blob Storage-container med hjälp av alternativet destinationContainerUrl
i begäran om att skapa batch-transkription. Det här alternativet använder endast en ad hoc SAS-URI och stöder inte säkerhetsmekanismen betrodda Azure-tjänster. Det här alternativet stöder inte heller åtkomstprincipbaserad SAS. Lagringskontoresursen för målcontainern måste tillåta all extern trafik.
Om du vill lagra transkriptionsresultatet i en Azure Blob Storage-container med hjälp av säkerhetsmekanismen Betrodda Azure-tjänster bör du överväga att använda BYOS (Bring-your-own-storage). Mer information finns i Använda BYOS-talresursen (Bring Your Own Storage) för tal till text.