Kötegelt átírás létrehozása
Kötegelt átiratokkal hangadatokat küldhet el egy kötegben. A szolgáltatás átírja a hangadatokat, és egy tárolóban tárolja az eredményeket. Ezután lekérheti az eredményeket a tárolóból.
Fontos
Új díjszabás van érvényben a kötegelt átíráshoz a Speech to text REST API 3.2-es verzióval. További információkért tekintse meg a díjszabási útmutatót.
Előfeltételek
- A Speech SDK telepítve van.
- Egy szabványos (S0) beszéderőforrás. Az ingyenes erőforrások (F0) nem támogatottak.
Átírási feladat létrehozása
Átirat létrehozásához használja a Speech to text REST API Transcriptions_Create műveletét. A kérelem törzsének összeállítása az alábbi utasítások szerint:
- A tulajdonságot vagy
contentUrls
a tulajdonságotcontentContainerUrl
kell beállítania. A kötegelt átíráshoz használt Azure Blob Storage-ról további információt a hangfájlok megkeresése kötegelt átíráshoz című témakörben talál. - Állítsa be a szükséges
locale
tulajdonságot. Ennek az értéknek meg kell egyeznie az átíráshoz szükséges hangadatok várt területi beállításával. Később nem módosíthatja a területi beállításokat. - Állítsa be a szükséges
displayName
tulajdonságot. Válasszon egy átírási nevet, amelyre később hivatkozhat. Az átírás nevének nem kell egyedinek lennie, és később módosítható. - Ha nem az alapmodellt szeretné használni, állítsa a
model
tulajdonságot a modellazonosítóra. További információ: Egyéni modell használata és Suttogásos modell használata. - Ha szeretné, állítsa be a
wordLevelTimestampsEnabled
tulajdonságot úgy, hogytrue
lehetővé tegye a szószintű időbélyegeket az átírási eredményekben. Az alapértelmezett értékfalse
. A Whisper-modellek esetében állítsa be helyette adisplayFormWordLevelTimestampsEnabled
tulajdonságot. A Suttogás csak megjelenítési modell, így a lexikális mező nincs kitöltve az átiratban. - Igény szerint állítsa be a tulajdonságot
languageIdentification
. A nyelvi azonosítás a hangban beszélt nyelvek azonosítására szolgál a támogatott nyelvek listájával összehasonlítva. Ha beállítja alanguageIdentification
tulajdonságot, akkor a jelölt területi beállításokat is be kell állítanialanguageIdentification.candidateLocales
.
További információ: Konfigurációs beállítások kérése.
Hozzon létre egy HTTP POST-kérelmet, amely az URI-t használja az alábbi Transcriptions_Create példában látható módon.
- Cserélje le
YourSubscriptionKey
a Speech erőforráskulcsot. - Cserélje le
YourServiceRegion
a Speech erőforrásrégióját. - A kérés törzstulajdonságainak beállítása a korábban leírtak szerint.
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"
A válasz törzsének a következő formátumban kell érkeznie:
{
"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"
}
A válasz törzsének legfelső szintű self
tulajdonsága az átírás URI-ja. Ezzel az URI-val lekérheti az átiratok és az átírási jelentésfájlok URI-ját. Ezzel az URI-val is frissíthet vagy törölhet átírást.
Az átiratok állapotát az Transcriptions_Get művelettel kérdezheti le.
Az eredmények lekérése után rendszeresen hívja Transcriptions_Delete a szolgáltatásból. Másik lehetőségként állítsa be a timeToLive
tulajdonságot az eredmények végleges törlésének biztosítására.
Átirat létrehozásához használja a spx batch transcription create
parancsot. A kérelemparamétereket az alábbi utasítások szerint hozhatja létre:
- Adja meg a szükséges
content
paramétert. Megadhatja az egyes fájlok pontosvesszővel tagolt listáját vagy egy teljes tároló URL-címét. A kötegelt átíráshoz használt Azure Blob Storage-ról további információt a hangfájlok megkeresése kötegelt átíráshoz című témakörben talál. - Állítsa be a szükséges
language
tulajdonságot. Ennek az értéknek meg kell egyeznie az átíráshoz szükséges hangadatok várt területi beállításával. Később nem módosíthatja a területi beállításokat. A Speech CLIlanguage
paraméter megfelel alocale
JSON-kérés és -válasz tulajdonságának. - Állítsa be a szükséges
name
tulajdonságot. Válasszon egy átírási nevet, amelyre később hivatkozhat. Az átírás nevének nem kell egyedinek lennie, és később módosítható. A Speech CLIname
paraméter megfelel adisplayName
JSON-kérés és -válasz tulajdonságának.
Íme egy példa Speech CLI-parancsra, amely egy átírási feladatot hoz létre:
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav
A válasz törzsének a következő formátumban kell érkeznie:
{
"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": ""
}
A válasz törzsének legfelső szintű self
tulajdonsága az átírás URI-ja. Ezzel az URI-val lekérheti az átiratok és az átírási jelentésfájlok URI-ját. Ezzel az URI-val is frissíthet vagy törölhet átírást.
A Speech CLI átiratokkal kapcsolatos súgójához futtassa a következő parancsot:
spx help batch transcription
Konfigurációs beállítások kérése
Íme néhány tulajdonságbeállítás, amellyel átírást konfigurálhat a Transcriptions_Create művelet meghívásakor.
Tulajdonság | Leírás |
---|---|
channels |
A feldolgozandó csatornaszámok tömbje. Csatornák 0 , és 1 alapértelmezés szerint át vannak írva. |
contentContainerUrl |
Egyéni hangfájlokat vagy egy teljes tárolót is elküldhet. A hangadatok helyét a vagy a contentContainerUrl contentUrls tulajdonság használatával kell megadnia. A kötegelt átíráshoz használt Azure Blob Storage-ról további információt a hangfájlok megkeresése kötegelt átíráshoz című témakörben talál.Ez a tulajdonság nem jelenik meg a válaszban. |
contentUrls |
Egyéni hangfájlokat vagy egy teljes tárolót is elküldhet. A hangadatok helyét a vagy a contentContainerUrl contentUrls tulajdonság használatával kell megadnia. További információ: Hangfájlok megkeresése kötegelt átíráshoz.Ez a tulajdonság nem jelenik meg a válaszban. |
destinationContainerUrl |
Az eredmény egy Azure-tárolóban tárolható. Ha nem ad meg tárolót, a Speech szolgáltatás az eredményeket a Microsoft által felügyelt tárolóban tárolja. Az átírási feladat törlésekor az átírás eredményadatai is törlődnek. További információ, például a támogatott biztonsági forgatókönyvek : Céltároló URL-címének megadása. |
diarization |
Azt jelzi, hogy a Speech szolgáltatásnak meg kell kísérelnie a bemenet diarizálási elemzését, amely várhatóan egy több hangot tartalmazó mono csatorna lesz. A funkció sztereó felvételekkel nem érhető el. A diarizálás a hangszórók hangadatokban való elválasztásának folyamata. A batch-folyamat több hangszórót is képes felismerni és elkülöníteni a monocsatornás felvételeken. Adja meg az esetleg beszélő személyek minimális és maximális számát. A tulajdonságot is be kell állítania diarizationEnabled a következőre true : . Az átírási fájl minden átírt kifejezéshez tartalmaz egy speaker bejegyzést.Ezt a tulajdonságot akkor kell használnia, ha három vagy több hangszórót vár. Két hangszóró esetén a tulajdonság true beállítása diarizationEnabled elegendő. A tulajdonsághasználatra példa: Transcriptions_Create.A diarizáláshoz használt hangszórók maximális számának 36-nál kevesebbnek kell lennie, és legalább a minSpeakers tulajdonságnak meg kell egyenlõnek lennie. Példa: Transcriptions_Create.Ha ezt a tulajdonságot választja, a forrás hanghossza nem haladhatja meg a fájlonkénti 240 percet. Megjegyzés: Ez a tulajdonság csak a Speech to text REST API 3.1-es és újabb verziójával érhető el. Ha ezt a tulajdonságot bármely korábbi verzióval (például 3.0-s verzióval) állítja be, a rendszer figyelmen kívül hagyja, és csak két hangszórót azonosít. |
diarizationEnabled |
Meghatározza, hogy a Speech szolgáltatásnak meg kell kísérelnie a bemenet diarizálási elemzését, amely várhatóan egy két hangot tartalmazó mono csatorna lesz. Az alapértelmezett érték false .Három vagy több hang esetén a tulajdonságot diarization is használnia kell. Csak a Speech to text REST API 3.1-es és újabb verziójával használható.Ha ezt a tulajdonságot választja, a forrás hanghossza nem haladhatja meg a fájlonkénti 240 percet. |
displayName |
A köteg átírásának neve. Válasszon egy nevet, amelyre később hivatkozhat. A megjelenítendő névnek nem kell egyedinek lennie. Ez a tulajdonság kötelező. |
displayFormWordLevelTimestampsEnabled |
Megadja, hogy szószintű időbélyegeket kell-e hozzáadni az átírási eredmények megjelenítési formájához. Az eredmények az displayWords átiratfájl tulajdonságában jelennek meg. Az alapértelmezett érték false .Megjegyzés: Ez a tulajdonság csak a Speech to text REST API 3.1-es és újabb verziójával érhető el. |
languageIdentification |
A nyelvi azonosítás a hangban beszélt nyelvek azonosítására szolgál a támogatott nyelvek listájával összehasonlítva. Ha beállítja a languageIdentification tulajdonságot, akkor annak zárt candidateLocales tulajdonságát is be kell állítania. |
languageIdentification.candidateLocales |
A nyelvazonosításra jelölt területi beállítások, például "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}} . Legalább két és legfeljebb tíz jelölt területi beállítás támogatott, beleértve az átírás fő területi beállítását is. |
locale |
A köteg átírásának területi beállítása. Ennek az értéknek meg kell egyeznie az átíráshoz szükséges hangadatok várt területi beállításával. A területi beállítás később nem módosítható. Ez a tulajdonság kötelező. |
model |
Beállíthatja, hogy a model tulajdonság egy adott alapmodellt vagy egyéni beszédmodellt használjon. Ha nem adja meg a model beállítást, a rendszer az alapértelmezett alapmodellt használja a területi beállításhoz. További információ: Egyéni modell használata és Suttogásos modell használata. |
profanityFilterMode |
Meghatározza, hogyan kezelheti a profanitást a felismerési eredményekben. Az elfogadott értékek a None trágárság szűrésének letiltása, Masked a trágárság csillagokkal való helyettesítése, Removed az összes trágárság eltávolítása az eredményből, vagy Tags trágár címkék hozzáadása. Az alapértelmezett érték Masked . |
punctuationMode |
Meghatározza, hogyan kezelhetők az írásjelek a felismerési eredményekben. Az elfogadott értékek az None írásjelek letiltása, Dictated a explicit (kimondott) írásjelek, Automatic a dekóder írásjelekkel való kezelése, vagy DictatedAndAutomatic diktált és automatikus írásjelek használata. Az alapértelmezett érték DictatedAndAutomatic .Ez a tulajdonság nem alkalmazható a Whisper-modellekre. |
timeToLive |
Az átírási feladat létrehozása utáni időtartam, amikor az átírási eredmények automatikusan törlődnek. Az érték iso 8601 kódolású időtartam. Adja meg PT12H például 12 órára. Másik lehetőségként az átírási eredmények lekérése után rendszeresen hívhatja Transcriptions_Delete . |
wordLevelTimestampsEnabled |
Megadja, hogy a wordszintű időbélyegek szerepeljenek-e a kimenetben. Az alapértelmezett érték false .Ez a tulajdonság nem alkalmazható a Whisper-modellekre. A Suttogás csak megjelenítési modell, így a lexikális mező nincs kitöltve az átiratban. |
A Speech CLI az átírás konfigurációs beállításaival kapcsolatos súgójához futtassa a következő parancsot:
spx help batch transcription create advanced
Egyéni modell használata
A Batch-átírás az alapértelmezett alapmodellt használja a megadott területi beállításhoz. Az alapértelmezett alapmodell használatához nem kell tulajdonságokat beállítania.
Ha szeretné, módosíthatja az előző létrehozási átírási példát úgy, hogy a model
tulajdonságot egy adott alapmodell vagy egyéni beszédmodell használatára állítja be.
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"
Ha egyéni beszédmodellt szeretne használni a kötegelt átíráshoz, szüksége van a modell URI-jára. A válasz törzsének legfelső szintű self
tulajdonsága a modell URI-ja. A modell létrehozásakor vagy lekérésekor lekérheti a modell helyét. További információkért tekintse meg a modell létrehozása JSON-válasz példáját.
Tipp.
Nem szükséges üzemeltetett üzembe helyezési végpontot használni az egyéni beszédhez a kötegátírási szolgáltatással. Az erőforrásokat akkor lehet megőrizni, ha az egyéni beszédmodellt csak kötegelt átíráshoz használja.
A lejárt modellek kötegelt átírási kérelmei 4xx hibával meghiúsulnak. Állítsa be a model
tulajdonságot alapmodellre vagy nem lejárt egyéni modellre. Ellenkező esetben ne tartalmazza a tulajdonságot, model
hogy mindig a legújabb alapmodellt használja. További információ: Modell kiválasztása és egyéni beszédmodell életciklusa.
Whisper-modell használata
Az Azure AI Speech a batch transcription API használatával támogatja az OpenAI Whisper modelljét. A Whisper modellt kötegelt átíráshoz használhatja.
Feljegyzés
Az Azure OpenAI szolgáltatás támogatja az OpenAI Suttogó modelljét is a szöveghez való beszédhez szinkron REST API-val. További információ: Speech to text with the Azure OpenAI Whisper model. További információ az Azure AI Speech és az Azure OpenAI szolgáltatás használatáról: Mi a Whisper-modell?
Ha suttogó modellt szeretne használni a kötegelt átíráshoz, be kell állítania a tulajdonságot model
. A Whisper egy csak megjelenített modell, így a lexikális mező nem lesz kitöltve a válaszban.
Fontos
A Whisper-modellek esetében mindig a speech to text API 3.2-es verzióját kell használnia.
A suttogásos modellek kötegelt átírással támogatottak az Usa keleti régiójában, az USA középső régiójában, az USA északi középső régiójában, az USA déli középső régiójában, Délkelet-Ázsiában és Nyugat-Európában.
Models_ListBaseModels kérést intézhet az összes területi beállításhoz elérhető alapmodellek beszerzéséhez.
Hozzon létre egy HTTP GET kérést a régióra vonatkozó eastus
alábbi példában látható módon. Cserélje le YourSubscriptionKey
a Speech erőforráskulcsot. Cserélje le eastus
, ha másik régiót használ.
curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Alapértelmezés szerint csak a 100 legrégebbi alapmodell lesz visszaadva. Az eredmények lapozásához használja a skip
és top
a lekérdezési paramétereket. A következő kérés például az első 100 után a következő 100 alapmodellt adja vissza.
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"
Győződjön meg arról, hogy a Speech-erőforrás konfigurációs változóit az egyik támogatott régióban állítja be. A parancs futtatásával spx csr list --base
elérhető alapmodelleket kaphat az összes területi beállításhoz.
spx csr list --base --api-version v3.2-preview.2
A displayName
Whisper-modell tulajdonsága tartalmazza a "Whisper" kifejezést, ahogyan az ebben a példában látható. A Suttogás csak megjelenítési modell, így a lexikális mező nincs kitöltve az átiratban.
{
"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)"
},
A teljes modell URI-jának beállítása a régióra eastus
vonatkozó példában látható módon. Cserélje le YourSubscriptionKey
a Speech erőforráskulcsot. Cserélje le eastus
, ha másik régiót használ.
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
Céltároló URL-címének megadása
Az átírási eredmény egy Azure-tárolóban tárolható. Ha nem ad meg tárolót, a Speech szolgáltatás az eredményeket a Microsoft által felügyelt tárolóban tárolja. Ebben az esetben az átírási feladat törlésekor az átírás eredményadatai is törlődnek.
A kötegátírás eredményeit egy írható Azure Blob Storage-tárolóban tárolhatja a kötegelt átírás létrehozási kérésének lehetőségéveldestinationContainerUrl
. Ez a beállítás csak alkalmi SAS URI-t használ, és nem támogatja a megbízható Azure-szolgáltatások biztonsági mechanizmusát. Ez a beállítás nem támogatja az Access szabályzatalapú SAS-t sem. A céltároló Tárfiók-erőforrásának minden külső forgalmat engedélyeznie kell.
Ha az átírási eredményeket egy Azure Blob Storage-tárolóban szeretné tárolni a Megbízható Azure-szolgáltatások biztonsági mechanizmusával, fontolja meg a Saját tárolás (BYOS) használatát. További információ: A saját tárterület (BYOS) Speech-erőforrás használata beszédről szövegre.