Dela via


Använda API:et för snabb transkription med Azure AI Speech

API för snabb transkription används för att transkribera ljudfiler med resultat som returneras synkront och snabbare än i realtid. Använd snabb transkription i scenarier där du behöver avskriften av en ljudinspelning så snabbt som möjligt med förutsägbar svarstid, till exempel:

  • Snabb transkription av ljud eller video, undertexter och redigering.
  • Videoöversättning

Till skillnad från BATCH-transkriptions-API:et genererar API:et för snabb transkription endast transkriptioner i visningsformuläret (inte lexikal). Visningsformuläret är en mer läsbar form av transkriptionen som innehåller skiljetecken och versaler.

Förutsättningar

  • En Azure AI Speech-resurs i en av de regioner där API:et för snabb transkription är tillgängligt. De regioner som stöds är: Australien, östra, Brasilien, södra, Indien, centrala, USA, östra, USA, östra 2, franska centrala, Japan, östra, USA, norra centrala, Europa, norra, USA, södra centrala, Asien, sydöstra, Sverige, centrala, Europa, västra, USA, västra, USA, västra 2, USA, västra 3. Mer information om regioner som stöds för andra speech-tjänstfunktioner finns i Speech Service-regioner.

  • En ljudfil (mindre än 2 timmar lång och mindre än 200 MB i storlek) i något av de format och codecs som stöds av batch-transkriptions-API:et. Mer information om ljudformat som stöds finns i ljudformat som stöds.

Använda API:et för snabb transkription

Dricks

Prova snabb transkription i Azure AI Foundry-portalen.

Vi lär oss hur du använder API:et för snabb transkription (via transkriptioner – transkribering) med följande scenarier:

  • Kända nationella inställningar har angetts: Transkribera en ljudfil med ett angivet språk. Om du känner till språkvarianten för ljudfilen kan du ange den för att förbättra transkriptionsprecisionen och minimera svarstiden.
  • Språkidentifiering på: Transkribera en ljudfil med språkidentifiering på. Om du inte är säker på språkvarianten för ljudfilen kan du aktivera språkidentifiering så att Speech-tjänsten kan identifiera språkvarianten.
  • Diarisering på: Transkribera en ljudfil med diarisering på. Diarization skiljer mellan olika talare i konversationen. Taltjänsten innehåller information om vilken talare som talade en viss del av det transkriberade talet.
  • Multikanal på: Transkribera en ljudfil som har en eller två kanaler. Transkriptioner med flera kanaler är användbara för ljudfiler med flera kanaler, till exempel ljudfiler med flera högtalare eller ljudfiler med bakgrundsbrus. Som standard sammanfogar API:et för snabb transkription alla indatakanaler till en enda kanal och utför sedan transkriptionen. Om detta inte är önskvärt kan kanaler transkriberas oberoende av varandra utan sammanslagning.

Gör en POST-begäran för flera delar/formulärdata till transcriptions slutpunkten med ljudfilen och egenskaperna för begärandetexten.

I följande exempel visas hur du transkriberar en ljudfil med ett angivet språk. Om du känner till språkvarianten för ljudfilen kan du ange den för att förbättra transkriptionsprecisionen och minimera svarstiden.

  • Ersätt YourSubscriptionKey med din Speech-resursnyckel.
  • Ersätt YourServiceRegion med din Speech-resursregion.
  • Ersätt YourAudioFile med sökvägen till ljudfilen.
curl --location 'https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions:transcribe?api-version=2024-11-15' \
--header 'Content-Type: multipart/form-data' \
--header 'Ocp-Apim-Subscription-Key: YourSubscriptionKey' \
--form 'audio=@"YourAudioFile"' \
--form 'definition="{
    "locales":["en-US"]}"'

Skapa formulärdefinitionen enligt följande instruktioner:

  • Ange den valfria (men rekommenderade) locales egenskapen som ska matcha det förväntade språket för ljuddata för transkribering. I det här exemplet är språkvarianten inställd på en-US. De språk som stöds som du kan ange är: de-DE, en-IN, en-US, es-ES, es-MX, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, pt-BR och zh-CN.

Mer information om locales och andra egenskaper för API:et för snabb transkription finns i avsnittet konfigurationsalternativ för begäran senare i den här guiden.

Svaret innehåller durationMilliseconds, offsetMillisecondsoch mycket mer. Egenskapen combinedPhrases innehåller fullständiga transkriptioner för alla talare.

{
	"durationMilliseconds": 182439,
	"combinedPhrases": [
		{
			"text": "Good afternoon. This is Sam. Thank you for calling Contoso. How can I help? Hi there. My name is Mary. I'm currently living in Los Angeles, but I'm planning to move to Las Vegas. I would like to apply for a loan. Okay. I see you're currently living in California. Let me make sure I understand you correctly. Uh You'd like to apply for a loan even though you'll be moving soon. Is that right? Yes, exactly. So I'm planning to relocate soon, but I would like to apply for the loan first so that I can purchase a new home once I move there. And are you planning to sell your current home? Yes, I will be listing it on the market soon and hopefully it'll sell quickly. That's why I'm applying for a loan now, so that I can purchase a new house in Nevada and close on it quickly as well once my current home sells. I see. Would you mind holding for a moment while I take your information down? Yeah, no problem. Thank you for your help. Mm-hmm. Just one moment. All right. Thank you for your patience, ma'am. May I have your first and last name, please? Yes, my name is Mary Smith. Thank you, Ms. Smith. May I have your current address, please? Yes. So my address is 123 Main Street in Los Angeles, California, and the zip code is 90923. Sorry, that was a 90 what? 90923. 90923 on Main Street. Got it. Thank you. May I have your phone number as well, please? Uh Yes, my phone number is 504-529-2351 and then yeah. 2351. Got it. And do you have an e-mail address we I can associate with this application? uh Yes, so my e-mail address is mary.a.sm78@gmail.com. Mary.a, was that a S-N as in November or M as in Mike? M as in Mike. Mike78, got it. Thank you. Ms. Smith, do you currently have any other loans? Uh Yes, so I currently have two other loans through Contoso. So my first one is my car loan and then my other is my student loan. They total about 1400 per month combined and my interest rate is 8%. I see. And you're currently paying those loans off monthly, is that right? Yes, of course I do. OK, thank you. Here's what I suggest we do. Let me place you on a brief hold again so that I can talk with one of our loan officers and get this started for you immediately. In the meantime, it would be great if you could take a few minutes and complete the remainder of the secure application online at www.contosoloans.com. Yeah, that sounds good. I can go ahead and get started. Thank you for your help. Thank you."
		}
	],
	"phrases": [
		{
			"offsetMilliseconds": 960,
			"durationMilliseconds": 640,
			"text": "Good afternoon.",
			"words": [
				{
					"text": "Good",
					"offsetMilliseconds": 960,
					"durationMilliseconds": 240
				},
				{
					"text": "afternoon.",
					"offsetMilliseconds": 1200,
					"durationMilliseconds": 400
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		{
			"offsetMilliseconds": 1600,
			"durationMilliseconds": 640,
			"text": "This is Sam.",
			"words": [
				{
					"text": "This",
					"offsetMilliseconds": 1600,
					"durationMilliseconds": 240
				},
				{
					"text": "is",
					"offsetMilliseconds": 1840,
					"durationMilliseconds": 120
				},
				{
					"text": "Sam.",
					"offsetMilliseconds": 1960,
					"durationMilliseconds": 280
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		{
			"offsetMilliseconds": 2240,
			"durationMilliseconds": 1040,
			"text": "Thank you for calling Contoso.",
			"words": [
				{
					"text": "Thank",
					"offsetMilliseconds": 2240,
					"durationMilliseconds": 200
				},
				{
					"text": "you",
					"offsetMilliseconds": 2440,
					"durationMilliseconds": 80
				},
				{
					"text": "for",
					"offsetMilliseconds": 2520,
					"durationMilliseconds": 120
				},
				{
					"text": "calling",
					"offsetMilliseconds": 2640,
					"durationMilliseconds": 200
				},
				{
					"text": "Contoso.",
					"offsetMilliseconds": 2840,
					"durationMilliseconds": 440
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		{
			"offsetMilliseconds": 3280,
			"durationMilliseconds": 640,
			"text": "How can I help?",
			"words": [
				{
					"text": "How",
					"offsetMilliseconds": 3280,
					"durationMilliseconds": 120
				},
				{
					"text": "can",
					"offsetMilliseconds": 3440,
					"durationMilliseconds": 120
				},
				{
					"text": "I",
					"offsetMilliseconds": 3560,
					"durationMilliseconds": 40
				},
				{
					"text": "help?",
					"offsetMilliseconds": 3600,
					"durationMilliseconds": 320
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		{
			"offsetMilliseconds": 5040,
			"durationMilliseconds": 400,
			"text": "Hi there.",
			"words": [
				{
					"text": "Hi",
					"offsetMilliseconds": 5040,
					"durationMilliseconds": 240
				},
				{
					"text": "there.",
					"offsetMilliseconds": 5280,
					"durationMilliseconds": 160
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		{
			"offsetMilliseconds": 5440,
			"durationMilliseconds": 800,
			"text": "My name is Mary.",
			"words": [
				{
					"text": "My",
					"offsetMilliseconds": 5440,
					"durationMilliseconds": 80
				},
				{
					"text": "name",
					"offsetMilliseconds": 5520,
					"durationMilliseconds": 120
				},
				{
					"text": "is",
					"offsetMilliseconds": 5640,
					"durationMilliseconds": 80
				},
				{
					"text": "Mary.",
					"offsetMilliseconds": 5720,
					"durationMilliseconds": 520
				}
			],
			"locale": "en-US",
			"confidence": 0.93616915
		},
		// More transcription results...
	    // Redacted for brevity
		{
			"offsetMilliseconds": 180320,
			"durationMilliseconds": 680,
			"text": "Thank you for your help.",
			"words": [
				{
					"text": "Thank",
					"offsetMilliseconds": 180320,
					"durationMilliseconds": 160
				},
				{
					"text": "you",
					"offsetMilliseconds": 180480,
					"durationMilliseconds": 80
				},
				{
					"text": "for",
					"offsetMilliseconds": 180560,
					"durationMilliseconds": 120
				},
				{
					"text": "your",
					"offsetMilliseconds": 180680,
					"durationMilliseconds": 120
				},
				{
					"text": "help.",
					"offsetMilliseconds": 180800,
					"durationMilliseconds": 200
				}
			],
			"locale": "en-US",
			"confidence": 0.9314801
		},
		{
			"offsetMilliseconds": 181960,
			"durationMilliseconds": 280,
			"text": "Thank you.",
			"words": [
				{
					"text": "Thank",
					"offsetMilliseconds": 181960,
					"durationMilliseconds": 200
				},
				{
					"text": "you.",
					"offsetMilliseconds": 182160,
					"durationMilliseconds": 80
				}
			],
			"locale": "en-US",
			"confidence": 0.9314801
		}
	]
}

Konfigurationsalternativ för begäranden

Här följer några egenskapsalternativ för att konfigurera en transkription när du anropar transkriberingsåtgärden Transkriptioner – Transkribering .

Property beskrivning Obligatorisk eller valfri
channels Listan över nollbaserade index för de kanaler som ska transkriberas separat. Upp till två kanaler stöds om inte diarisering är aktiverat. Som standard sammanfogar API:et för snabb transkription alla indatakanaler till en enda kanal och utför sedan transkriptionen. Om detta inte är önskvärt kan kanaler transkriberas oberoende av varandra utan sammanslagning.

Om du vill transkribera kanalerna från en stereoljudfil separat måste du ange [0,1], [0]eller [1]. I annat fall sammanfogas stereoljud till mono och endast en enda kanal transkriberas.

Om ljudet är stereo och diarisering är aktiverat kan du inte ange channels egenskapen till [0,1]. Speech-tjänsten stöder inte diarisering av flera kanaler.

För monoljud channels ignoreras egenskapen och ljudet transkriberas alltid som en enda kanal.
Valfritt
diarization Diariseringskonfigurationen. Diarisering är processen att identifiera och separera flera högtalare i en ljudkanal. Ange till exempel "diarization": {"maxSpeakers": 2, "enabled": true}. Sedan innehåller transkriptionsfilen speaker poster (till exempel "speaker": 0 eller "speaker": 1) för varje transkriberad fras. Valfritt
locales Listan över nationella inställningar som ska matcha den förväntade språkvarianten för ljuddata som ska transkriberas.

Om du känner till språkvarianten för ljudfilen kan du ange den för att förbättra transkriptionsprecisionen och minimera svarstiden. Om ett enda språk anges används språkvarianten för transkription.

Men om du inte är säker på nationella inställningar kan du ange flera nationella inställningar. Språkidentifiering kan vara mer exakt med en mer exakt lista över kandidatspråk.

Om du inte anger något språk, eller om de nationella inställningar som du anger inte finns i ljudfilen, försöker Speech-tjänsten fortfarande identifiera språket. Om språket inte kan identifieras returneras ett fel.

De språk som stöds som du kan ange är: de-DE, en-IN, en-US, es-ES, es-MX, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, pt-BR och zh-CN. Du kan hämta de senaste språken som stöds via REST-API:et Transkriptioner – lista över språk som stöds. Mer information om nationella inställningar finns i supportdokumentationen för taltjänstens språk.
Valfritt men rekommenderas om du känner till det förväntade språket.
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. Valfritt