Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
A kötegelt átírás befejezése a hangadatok méretétől és a beküldött fájlok számától függően több percet és órákat is igénybe vehet. A szolgáltatás terhelésétől és egyéb tényezőktől függően akár az azonos méretű hangadatok is több időt is igénybe vehetnek az átíráshoz.
Tipp.
Ha 2 óránál rövidebb és 300 MB-nál kisebb méretű hangfájlokhoz konzisztens gyors sebességre van szüksége, fontolja meg inkább a gyors átírási API használatát.
Előfeltételek
Szüksége van egy Microsoft Foundry-erőforrásra a Speechhez.
Átírási feladat létrehozása
Kötegelt átírási feladat létrehozásához használja az Átiratok – A beszéd elküldése a szöveg REST API-ba műveletét. A kérelem törzsének összeállítása az alábbi utasítások szerint:
- Be kell állítania a
contentContainerUrlvagy acontentUrlstulajdonságot. További információt az Azure Blob Storage kötegelt átíráshoz való használatáról a következő helyen talál: Hangfájlok keresése kötegelt átíráshoz. - Állítsa be a szükséges
localetulajdonsá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
displayNametulajdonsá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ó. - Állítsa be a szükséges
timeToLiveHourstulajdonságot. Ez a tulajdonság azt határozza meg, hogy mennyi ideig kell megőrizni az átírást a rendszerben a befejezés után. A legrövidebb támogatott időtartam 6 óra, a leghosszabb támogatott időtartam 31 nap. Az ajánlott érték 48 óra (két nap), amikor az adatok közvetlenül fel lesznek használva. - Ha nem az alapmodellt szeretné használni, állítsa a
modeltulajdonsá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
wordLevelTimestampsEnabledtulajdonságot úgy, hogytruelehető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 adisplayFormWordLevelTimestampsEnabledtulajdonságot. A Whisper egy megjelenítésre szánt 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 alanguageIdentificationtulajdonságot, akkor alanguageIdentification.candidateLocalesmezőt a jelölt területi beállításokkal is be kell állítania.
További információ: Konfigurációs beállítások kérése.
A nyelvazonosítással, tartalék területi beállításokkal, diarizálással és válasz-ellenőrzéssel kapcsolatos teljes körű útmutatásért tekintse meg a beszédátírás nyelvazonosításának és diarizálásának konfigurálását ismertető témakört.
Tipp.
Az átírási kérések egy vagy több hangfájl URI-jait tartalmazhatják. Különítse el a rövid és hosszú hangfájlokat különböző kérésekre. A hosszú hangfájlok több feldolgozási időt igényelnek, és előfordulhat, hogy a szolgáltatás többször is újrapróbálkozza őket a számítási erőforrások elégtelensége miatt. Ez a feltétel meghosszabbítja a kérés teljes befejezési idejét. A hosszú hangfájlok egyetlen kérelemben való összekapcsolása azonban jó módszer az időmegtakarításra.
Hozzon létre egy HTTP POST-kérést, amely az URI-t használja az alábbi átiratokban látható módon – Példa elküldése .
- Cserélje ki
YourSpeechResoureKeya Microsoft Foundry erőforráskulcsával. - Cserélje le a(z)
YourResourceNameelemet a Speech-erőforrás nevére. - 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: YourSpeechResoureKey" -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"
],
"mode": "Continuous"
},
"timeToLiveHours": 48
}
}' "https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:submit?api-version=2024-11-15"
A válasz törzsének a következő formátumban kell érkeznie:
{
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions/788a1f24-f980-4809-8978-e5cf41f77b35?api-version=2024-11-15",
"displayName": "My Transcription 2",
"locale": "en-US",
"createdDateTime": "2025-05-24T03:20:39Z",
"lastActionDateTime": "2025-05-24T03:20:39Z",
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions/788a1f24-f980-4809-8978-e5cf41f77b35/files?api-version=2024-11-15"
},
"properties": {
"wordLevelTimestampsEnabled": true,
"displayFormWordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked",
"timeToLiveHours": 48,
"languageIdentification": {
"candidateLocales": [
"en-US",
"de-DE",
"es-ES"
],
"mode": "Continuous"
}
},
"status": "NotStarted"
}
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. Az URIt frissítésre vagy törlésre is használhat átírásnál.
Az átiratok állapotát az Átiratok – Lekérés művelettel kérdezheti le.
Átiratok – Törlés után rendszeresen törölje a szolgáltatásból, miután lekérte az eredményeket. 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.
Tipp.
A Batch Transcription API-t Python, C# vagy Node.js használatával is kipróbálhatja GitHub.
Á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
contentparamétert. Megadhatja az egyes fájlok vesszővel tagolt listáját vagy egy teljes tároló URL-címét. További információt az Azure Blob Storage kötegelt átíráshoz való használatáról a következő helyen talál: Hangfájlok keresése kötegelt átíráshoz. - Állítsa be a szükséges
languagetulajdonsá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 CLIlanguageparaméter megfelel alocaleJSON-kérés és -válasz tulajdonságának. - Állítsa be a szükséges
nametulajdonsá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 CLInameparaméter megfelel adisplayNameJSON-kérés és -válasz tulajdonságának. - Állítsa be a szükséges paramétert a következőre
api-versionv3.2: . A Speech CLI egyelőre nem támogatja a2024-11-15sem az újabb verziót, ezért most av3.2verziót kell használnia.
Íme egy példa Speech CLI-parancsra, amely egy átírási feladatot hoz létre:
spx batch transcription create --api-version v3.2 --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://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/bbbbcccc-1111-dddd-2222-eeee3333ffff",
"model": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked"
},
"lastActionDateTime": "2025-05-24T03:20:39Z",
"status": "NotStarted",
"createdDateTime": "2025-05-24T03:20:39Z",
"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 frissíthet vagy törölhet egy átírást is.
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
Az alábbiakban néhány tulajdonságbeállítást talál az átírás konfigurálására, amikor meghívja az Átírások – Küldés műveletet. Ugyanazon az oldalon további példákat is találhat, például egy átirat nyelvazonosítással történő létrehozását.
A kérelem törzse két különböző szinttel rendelkezik. Egy tulajdonság helytelen elhelyezése miatt a szolgáltatás észrevétlenül figyelmen kívül hagyja, vagy érvényesítési hibát ad vissza.
-
Gyökérszint: Az átírási feladatot leíró metaadatok (
displayName,locale,model,contentUrls,contentContainerUrl). -
Belül
properties: Az átírási viselkedést vezérlő beállítások. Ezeket egy"properties": { }objektumba csomagolja.
Fontos
destinationContainerUrl az properties objektumon belülre tartozik, nem a kérés törzsének gyökérszintjén. Ha a fájlrendszer gyökérkönyvtárába helyezi, a szolgáltatás figyelmen kívül hagyja, és az átírási eredmények anélkül, hogy értesítés történne, a Microsoft által felügyelt tárolóba lesznek írva.
Az alábbi példa a megfelelő struktúrát mutatja be:
{
"contentUrls": ["https://..."],
"locale": "en-US",
"displayName": "My Transcription",
"model": null,
"properties": {
"destinationContainerUrl": "https://<storage>.blob.core.windows.net/<container>?<SAS>",
"wordLevelTimestampsEnabled": true,
"timeToLiveHours": 48
}
}
| Tulajdonság | Hely a kérelem törzsében | Leírás |
|---|---|---|
contentContainerUrl |
Gyökérszint | Egyéni hangfájlokat vagy egy teljes tárolót is elküldhet. A hangadatok helyét a vagy a contentContainerUrlcontentUrls tulajdonság használatával kell megadnia. További információt az Azure Blob Storage kötegelt átíráshoz való használatáról a következő helyen talál: Hangfájlok keresése kötegelt átíráshoz.Ez a tulajdonság nem jelenik meg a válaszban. |
contentUrls |
Gyökérszint | Egyéni hangfájlokat vagy egy teljes tárolót is elküldhet. A hangadatok helyét a vagy a contentContainerUrlcontentUrls tulajdonság használatával kell megadnia. További információért lásd: Hangfájlok megkeresése kötegelt átíráshoz.Ez a tulajdonság nem jelenik meg a válaszban. |
displayName |
Gyökérszint | 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ő. |
locale |
Gyökérszint | A köteg transzkripció nyelvi 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 |
Gyökérszint | Beállíthatja, hogy a model tulajdonság egy adott alapmodellt vagy egyéni beszédmodellt használjon. Ha nem adja meg a modelbeá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. |
channels |
Belül properties |
A feldolgozandó csatornaszámok tömbje. Csatornák 0 , és 1 alapértelmezés szerint át vannak írva. |
destinationContainerUrl |
Belül properties |
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óért, például a támogatott biztonsági forgatókönyvekről, tekintse meg a céltároló URL-címének megadása részt. |
diarization |
Belül properties |
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 diarizationEnabled tulajdonságot be kell állítania true-re is. 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 elegendő a diarizationEnabled tulajdonságot true-re beállítani. A tulajdonsághasználatra példa: Átírások – Küldés.A diarizáláshoz használt hangszórók maximális számának 36-nál kevesebbnek kell lennie, és legalább a minCount tulajdonságnak meg kell egyenlõnek lennie. Példa: Átírások – Küldés.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 |
Belül properties |
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 diarizationis 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. |
displayFormWordLevelTimestampsEnabled |
Belül properties |
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 |
Belül properties |
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 |
Belül properties |
A nyelvazonosításra jelölt nyelvi lokalitá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. |
profanityFilterMode |
Belül properties |
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 |
Belül properties |
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. |
timeToLiveHours |
Belül properties |
Ez a kötelező tulajdonság azt határozza meg, hogy mennyi ideig kell megőrizni az átírást a rendszerben a befejezés után. Miután az átírás elérte a "time to live" időt (befejezés után, sikeres vagy sikertelen), a rendszer automatikusan törli. A legrövidebb támogatott időtartam 6 óra, a leghosszabb támogatott időtartam 31 nap. Az ajánlott érték 48 óra (két nap), amikor az adatok közvetlenül fel lesznek használva. Alternatív megoldásként rendszeresen meghívhatja a Transcriptions - Delete funkciót, miután lekérte az átírási eredményeket. |
wordLevelTimestampsEnabled |
Belül properties |
Meghatározza, hogy a szószintű időbélyegek szerepeljenek-e a kimenetben. Az alapértelmezett érték false.Ez a tulajdonság nem alkalmazható a Whisper-modellekre. A Whisper egy megjelenítésre szánt 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: YourSpeechResoureKey" -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://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"properties": {
"wordLevelTimestampsEnabled": true,
}
}' "https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:submit?api-version=2024-11-15"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav --model "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
Ha egyéni beszédmodellt szeretne használni a tételes á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 egyedi beszédfelismeréshez 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.
Nyelvi azonosítás
A Batch átírási REST API nyelvi azonosításának elvégzéséhez használja a languageIdentification tulajdonságot a Transcriptions - Submit kérés törzsében.
Figyelmeztetés
A Batch-átírás csak az alapértelmezett alapmodellekhez támogatja a nyelvazonosítást. Ha az átírási kérelemben a nyelvazonosítás és az egyéni modell is meg van adva, a szolgáltatás visszaesik a megadott nyelvek alapmodelljeinek használatára. Ez váratlan felismerési eredményeket eredményezhet.
Ha a beszéd szöveggé alakításának esetéhez nyelvi azonosításra és egyéni modellekre is szükség van, használjon valós idejű szövegátalakítást a kötegelt átírás helyett.
Az alábbi példa azt mutatja be, hogyan használható a(z) languageIdentification tulajdonság négy jelölt nyelvvel. A kérelmek tulajdonságaival kapcsolatos további információkért lásd : Kötegátirat létrehozása.
{
<...>
"properties": {
<...>
"languageIdentification": {
"candidateLocales": [
"en-US",
"ja-JP",
"zh-CN",
"hi-IN"
]
},
<...>
}
}
Whisper-modell használata
Azure Speech in Foundry Tools a batch transcription API használatával támogatja az OpenAI Whisper modelljét. A Whisper modellt csoportos átíráshoz használhatja.
Megjegyzés
Azure OpenAI a Microsoft Foundry Modelsben az OpenAI Whisper modelljét is támogatja a beszéd szöveggé alakítására szinkron REST API-val. További információkért lásd: Beszédfelismerés az Azure OpenAI Whisper modellel. A Azure Speech és Azure OpenAI Microsoft Öntödei modellekben való használatáról további információt az OpenAI-átírási modellek ismertetése című témakörben talál.
Ha a Whisper modellt szeretné használni kötegelt átíráshoz, be kell állítania a model tulajdonságot. A Whisper egy csak megjelenített modell, így a lexikális mező nem lesz kitöltve a válaszban.
Fontos
A kötegelt átírás a Whisper-modellek használatával elérhető azokban a régiókban, amelyek támogatják ezt a funkciót. A támogatott régiók aktuális listájáért tekintse meg a Speech szolgáltatás régiói táblát. Felhívjuk figyelmét, hogy a Whisper-modell támogatása csak azokra a régiókra korlátozódhat, amelyek támogatják a kötegelt átírást.
A Modellek – Alapmodellek listázása kéréssel elérhető alapmodelleket kérhet le az összes területi beállításhoz.
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 ki YourSpeechResoureKey a Microsoft Foundry erőforráskulcsával. Cserélje le eastus , ha másik régiót használ.
curl -v -X GET "https://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base?api-version=2024-11-15" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"
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://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base?api-version=2024-11-15&skip=100&top=100" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"
Győződjön meg arról, hogy az egyik támogatott régióban beállította a Speech foundry-erőforrásának konfigurációs változóit . A spx csr list --base parancs futtatásával megszerezheti az elérhető alapmodelleket minden területi beállításhoz.
Állítsa be a szükséges paramétert a következőre api-versionv3.2: . A Speech CLI egyelőre nem támogatja a 2024-11-15 sem az újabb verziót, ezért most a v3.2 verziót kell használnia.
spx csr list --base --api-version v3.2
A displayName Whisper-modell tulajdonsága tartalmazza a "Whisper" kifejezést, ahogyan az ebben a példában látható. A Whisper egy megjelenítésre szánt modell, így a lexikális mező nincs kitöltve az átiratban.
{
"links": {
"manifest": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base/69adf293-9664-4040-932b-02ed16332e00/manifest?api-version=2024-11-15"
},
"properties": {
"deprecationDates": {
"adaptationDateTime": "2025-04-15T00:00:00Z",
"transcriptionDateTime": "2026-04-15T00:00:00Z"
},
"features": {
"supportsAdaptationsWith": [
"Acoustic"
],
"supportsTranscriptionsSubmit": true,
"supportsTranscriptionsTranscribe": false,
"supportsEndpoints": false,
"supportsTranscriptionsOnSpeechContainers": false,
"supportedOutputFormats": [
"Display"
]
},
"chargeForAdaptation": true
},
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base/69adf293-9664-4040-932b-02ed16332e00?api-version=2024-11-15",
"displayName": "20240228 Whisper Large V2",
"description": "OpenAI Whisper Model in Azure Speech (Whisper v2-large)",
"locale": "en-US",
"createdDateTime": "2024-02-29T15:46:31Z",
"lastActionDateTime": "2024-02-29T15:51:53Z",
"status": "Succeeded"
},
A teljes modell URI-ját a következő példában látható módon állítja be a eastus régióhoz. Cserélje ki YourSpeechResoureKey a Microsoft Foundry erőforráskulcsával. Cserélje le eastus , ha másik régiót használ.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -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://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base/69adf293-9664-4040-932b-02ed16332e00?api-version=2024-11-15"
},
"properties": {
"wordLevelTimestampsEnabled": true,
},
}' "https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:submit?api-version=2024-11-15"
A teljes modell URI-ját a következő példában látható módon állítja be a eastus régióhoz. Cserélje le eastus , ha másik régiót használ.
Állítsa be a szükséges paramétert a következőre api-versionv3.2: . A Speech CLI egyelőre nem támogatja a 2024-11-15 sem az újabb verziót, ezért most a v3.2 verziót kell használnia.
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav --model "https://YourResourceName.cognitiveservices.azure.com/speechtotext/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb" --api-version v3.2
Webhook-értesítések beállítása
Az átírási állapot lekérdezése helyett regisztrálhat egy webhookot, hogy értesítést kapjon az átírási feladat befejeződésekor (vagy bármely más terminálállapot elérésekor).
Használja a Web hooks - Létrehozás műveletet a webhook végpont regisztrálásához. A Speech szolgáltatás HTTP POST-visszahívásokat küld a végpontnak transcription.created, transcription.processing, transcription.succeeded, transcription.failedés transcription.deleted események esetén.
Tűzfalkövetelmények
A Speech szolgáltatás kimenő HTTPS-hívásokat kezdeményez a felügyelt infrastruktúrából a webhook végpontjára. A hívások fogadásához a végpont tűzfalának vagy hálózati biztonsági csoportjának engedélyeznie kell a bejövő forgalmat az Azure szolgáltatáscímkéje CognitiveServicesManagementalapján.
Fontos
Ha a bejövő forgalom CognitiveServicesManagement blokkolva van, a Speech szolgáltatás nem tudja elérni a végpontot. A webhook regisztrációja sikeres – mivel a regisztráció csak az ügyféltől a Speech API-ba irányuló kimenő hívással jár –, de az összes későbbi eseményvisszahívás csendesen meghiúsul.
Az Azure által üzemeltetett végpontok esetében adjon hozzá egy bejövő szabályt a hálózati biztonsági csoporthoz:
-
Forrás: Szolgáltatáscímke
CognitiveServicesManagement -
Célport:
443(HTTPS) - Művelet: Engedélyezés
Webhook hitelesítési kézfogás
Új webhook regisztrálásakor a Speech szolgáltatás azonnal érvényesítési kérelmet küld annak igazolására, hogy a végpont elérhető és az Ön felügyelete alatt áll. A végpontnak helyesen kell válaszolnia, különben a regisztráció sikertelen.
Az érvényesítési kérelem a következőképpen néz ki:
POST https://your-endpoint.example.com/?validationToken=<token>
Főbb részletek:
- A token lekérdezési karaktersorozat paraméterként (
validationToken) kerül kézbesítésre, nem a kérés törzsében. - A végpontnak HTTP
200 OKválasszal kell reagálnia, és a nyers token sztringet egyszerű szövegként (Content-Type: text/plain) kell visszaadnia. - A JSON visszaadása (például
{"validationToken": "..."}) sikertelen ellenőrzést okoz.
Fontos
Gyakori hiba: A token egyszerű szöveg helyett JSON-objektumként való visszajelzése miatt a webhook regisztrációja sikertelen lesz, anélkül, hogy a szolgáltatás egyértelmű hibát jelezne. A tokent mindig egyszerű szövegként adja vissza.
Python-példa: érvényesítési kezelő
Az alábbi példa egy minimális Python-webhook-végpontot mutat be a Flask használatával. Beolvassa a lekérdezési validationToken sztringből, és egyszerű szövegként adja vissza.
import flask
import json
app = flask.Flask(__name__)
@app.route("/webhook", methods=["POST"])
def webhook():
# Validation handshake: Speech sends the token as a query parameter.
# Return it as plain text—do NOT return JSON.
validation_token = flask.request.args.get("validationToken")
if validation_token:
return flask.Response(validation_token, status=200, mimetype="text/plain")
# Normal event callback: parse the JSON body.
event = flask.request.get_json(silent=True) or {}
event_type = event.get("events", [{}])[0].get("kind", "")
if event_type == "TranscriptionSucceeded":
transcription_url = event.get("self", "")
print(f"Transcription completed: {transcription_url}")
# TODO: fetch results from transcription_url
return flask.Response(status=200)
if __name__ == "__main__":
app.run(port=5000)
-
Hivatkozás:
flask.Request.args,flask.Response
A webhook regisztrálása
Miután a végpontot megfelelt az ellenőrzésen, regisztrálja azt a Webhooks – Létrehozás műveletével:
curl -X POST \
-H "Ocp-Apim-Subscription-Key: YourSpeechResourceKey" \
-H "Content-Type: application/json" \
-d '{
"displayName": "My Transcription Webhook",
"events": {
"transcriptionSucceeded": true,
"transcriptionFailed": true
},
"webUrl": "https://your-endpoint.example.com/webhook"
}' \
"https://YourResourceName.cognitiveservices.azure.com/speechtotext/webhooks?api-version=2024-11-15"
- Cserélje ki
YourSpeechResourceKeya Microsoft Foundry erőforráskulcsával. - Cserélje le a(z)
YourResourceNameelemet a saját Speech-erőforrása nevére. - Cserélje le a
webUrlnyilvánosan elérhető HTTPS-végpont URL-címére.
A támogatott eseménytípusok teljes listájáért tekintse meg a webes horgok hivatkozását.
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ötegelt átírás eredményeit egy írható Azure Blob Storage-tárolóba tárolhatja a destinationContainerUrl opcióval a kötegelt átírás létrehozási kérelmében. Ez a beállítás csak ad hoc SAS URI-t használ, és nem támogatja a Trusted Azure services 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ízott Azure szolgáltatások biztonsági mechanizmusával, fontolja meg a Bring-your-own-storage (BYOS) használatát. További információ: A Saját tárterület (BYOS) Microsoft Foundry-erőforrás használata a beszéd szöveggé alakításához.