Freigeben über


Verwenden der API für schnelle Transkription mit Azure KI Speech

Die API für schnelle Transkription wird verwendet, um Audiodateien synchron und schneller als Echtzeit zu transkribieren. Verwenden Sie schnelle Transkription in den Szenarien, in denen Sie die Transkription einer Audioaufzeichnung so schnell wie möglich mit vorhersagbarer Latenz benötigen, z. B.:

  • Schnelle Audio- oder Videotranskription, Untertitel und Bearbeitung.
  • Videoübersetzung

Im Gegensatz zur Batchtranskriptions-API erzeugt die schnelle Transkription-API nur Transkriptionen in der Anzeigeform (nicht lexikalisch). Das Anzeigeformular ist eine lesbarere Form der Transkription, die Interpunktion und Großschreibung umfasst.

Voraussetzungen

  • Eine Azure KI Speech-Ressource in einer der Regionen, in denen die API für schnelle Transkription verfügbar ist. Die unterstützten Regionen sind: Australien, Osten, Brasilien, Süden, Indien, Mitte, USA, Osten, USA, Osten 2, Frankreich, Mitte, Japan, Osten, USA, Norden-Mitte, Europa, Norden, USA, Süden-Mitte, Asien, Südosten, Schweden, Mitte, Europa, Westen, USA, Westen, USA, Westen 2, USA, Westen 3. Weitere Informationen zu Regionen, die für andere Sprachdienstfeatures unterstützt werden, finden Sie unter Sprachdienstregionen.

  • Eine Audiodatei (weniger als 2 Stunden lang und kleiner als 200 MB) in einem der Formate und Codecs, die von der Batchtranskriptions-API unterstützt werden. Weitere Informationen zu unterstützten Audioformaten finden Sie unter unterstützte Audioformate.

Verwenden der API für schnelle Transkription

Tipp

Testen Sie die schnelle Transkription im Azure KI Foundry-Portal.

Wir erfahren, wie Sie die schnelle Transkription-API (über Transkriptionen – Transkribieren) mit den folgenden Szenarien verwenden:

  • Bekanntes Gebietsschema angegeben: Transkribieren einer Audiodatei mit einem angegebenen Gebietsschema. Wenn Sie das Gebietsschema der Audiodatei kennen, können Sie es angeben, um die Transkriptionsgenauigkeit zu verbessern und die Latenz zu minimieren.
  • Sprachidentifikation an: Transkribieren einer Audiodatei mit eingeschalteter Sprachidentifikation. Wenn Sie sich nicht sicher sind, in welchem Gebietsschema die Audiodatei vorliegt, können Sie die Sprachidentifizierung aktivieren, damit der Sprachdienst das Gebietsschema ermitteln kann.
  • Diarisierung an: Transkribieren einer Audiodatei mit Diarisierung. Die Diarisierung unterscheidet zwischen verschiedenen Sprechern in der Unterhaltung. Der Speech-Dienst stellt Informationen darüber bereit, welcher Sprecher einen bestimmten Teil der transkribierten Sprache gesprochen hat.
  • Multikanal an: Transkribieren einer Audiodatei mit einem oder zwei Kanälen. Die Transkription von mehreren Kanälen ist nützlich für Audiodateien mit mehreren Kanälen, wie z. B. Audiodateien mit mehreren Sprechern oder Audiodateien mit Hintergrundgeräuschen. Standardmäßig führt die API für die schnelle Transkription alle Eingabekanäle in einem einzigen Kanal zusammen und führt dann die Transkription durch. Wenn dies nicht gewünscht ist, können Kanäle unabhängig voneinander transkribiert werden, ohne dass sie zusammengeführt werden.

Erstellen Sie eine mehrteilige/form-data POST-Anforderung an den transcriptions-Endpunkt mit der Audiodatei und den Anforderungstexteigenschaften.

Das folgende Beispiel zeigt, wie eine Audiodatei mit einem bestimmten Gebietsschema transkribiert wird. Wenn Sie das Gebietsschema der Audiodatei kennen, können Sie es angeben, um die Transkriptionsgenauigkeit zu verbessern und die Latenz zu minimieren.

  • Ersetzen Sie YourSubscriptionKey durch Ihren Speech-Ressourcenschlüssel.
  • Ersetzen Sie YourServiceRegion durch Ihre Sprachressourcenregion.
  • Ersetzen Sie YourAudioFile durch den Pfad zu Ihrer Audiodatei.
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"]}"'

Erstellen Sie die Formulardefinition gemäß den folgenden Anweisungen:

  • Legen Sie die optionale (aber empfohlene) Eigenschaft locales fest, die mit dem erwarteten Gebietsschema der zu transkribierenden Audiodaten übereinstimmen sollte. In diesem Beispiel ist das Gebietsschema auf en-US festgelegt. Die unterstützten Gebietsschemata, die Sie angeben können sind: de-DE, en-IN, en-US, es-ES, es-MX, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, pt-BR, und zh-CN.

Weitere Informationen zu locales und anderen Eigenschaften für die API zur schnellen Transkription finden Sie im Abschnitt Optionen für die Konfiguration von Anforderungen weiter unten in diesem Handbuch.

Die Antwort enthält durationMilliseconds, offsetMilliseconds und weitere. Die Eigenschaft combinedPhrases enthält die vollständigen Transkriptionen für alle Sprecher.

{
	"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
		}
	]
}

Konfigurationsoptionen für Anforderungen

Hier sind einige Optionen für Eigenschaften, um eine Transkription zu konfigurieren, wenn Sie den Vorgang Transkriptionen – Transkribieren aufrufen.

Eigenschaft Beschreibung Erforderlich oder optional
channels Die Liste der nullbasierten Indizes der Kanäle anzugeben, die separat transkribiert werden sollen. Es werden bis zu zwei Kanäle unterstützt, es sei denn, die Diarisierung ist aktiviert. Standardmäßig führt die API für die schnelle Transkription alle Eingabekanäle in einem einzigen Kanal zusammen und führt dann die Transkription durch. Wenn dies nicht gewünscht ist, können Kanäle unabhängig voneinander transkribiert werden, ohne dass sie zusammengeführt werden.

Wenn Sie die Kanäle aus einer Stereo-Audiodatei separat transkribieren möchten, müssen Sie [0,1], [0] oder [1] angeben. Andernfalls wird Stereo-Audio zu Mono zusammengeführt und nur ein einziger Kanal transkribiert.

Wenn das Audio Stereo und Diarisierung aktiviert ist, können Sie die Eigenschaft channels nicht auf [0,1]festlegen. Der Speech-Dienst unterstützt keine Diarisierung über mehrere Kanäle.

Bei Mono-Audio wird die -Eigenschaft channels ignoriert, und die Audiodaten werden immer als einzelner Kanal transkribiert.
Optional
diarization Die Diarisierungskonfiguration. Diarisierung ist der Prozess des Erkennens und Trennens mehrerer Sprecher in einem Audiokanal. Geben Sie z. B. "diarization": {"maxSpeakers": 2, "enabled": true} an. Die Transkriptionsdatei enthält speaker-Einträge (wie "speaker": 0 oder "speaker": 1) für jeden transkribierten Ausdruck. Optional
locales Die Liste der Gebietsschemata, die mit dem erwarteten Gebietsschema der Audiodaten übereinstimmen sollten, die Sie transkribieren möchten.

Wenn Sie das Gebietsschema der Audiodatei kennen, können Sie es angeben, um die Transkriptionsgenauigkeit zu verbessern und die Latenz zu minimieren. Wenn ein einzelnes Gebietsschema angegeben wird, wird dieses Gebietsschema für die Transkription verwendet.

Wenn Sie sich bezüglich des Gebietsschemas nicht sicher sind, können Sie mehrere Gebietsschemata angeben. Die Sprachidentifikation ist mit einer präziseren Liste von Kandidatengebietsschemata möglicherweise genauer.

Wenn Sie kein Gebietsschema angeben oder die angegebenen Gebietsschemata nicht in der Audiodatei enthalten sind, versucht der Speech-Dienst dennoch, die Sprache zu identifizieren. Wenn die Sprache nicht identifiziert werden kann, wird ein Fehler zurückgegeben.

Die unterstützten Gebietsschemata, die Sie angeben können sind: de-DE, en-IN, en-US, es-ES, es-MX, fr-FR, hi-IN, it-IT, ja-JP, ko-KR, pt-BR, und zh-CN. Sie können die neuesten unterstützten Sprachen über die REST-API Transkriptionen – Unterstützte Gebietsschemata auflisten abrufen. Weitere Informationen zu Gebietsschemata finden Sie in der Dokumentation Sprachunterstützung für de Speech-Dienst.
Optional, aber empfohlen, wenn Sie das erwartete Gebietsschema kennen.
profanityFilterMode Gibt den Umgang mit Obszönitäten in Erkennungsergebnissen an. Zulässige Werte sind: None (deaktiviert den Obszönitätenfilter), Masked (Obszönitäten werden durch Sternchen ersetzt), Removed (Obszönitäten werden aus dem Ergebnis entfernt) und Tags (fügt Tags für Obszönitäten ein). Der Standardwert ist Masked. Optional