Vytvoření dávkového přepisu
Pomocí dávkových přepisů odesíláte zvuková data v dávce. Služba přepisuje zvuková data a ukládá výsledky do kontejneru úložiště. Výsledky pak můžete načíst z kontejneru úložiště.
Důležité
Nové ceny platí pro dávkový přepis, který používá řeč na text rozhraní REST API verze 3.2. Další informace najdete v průvodci cenami.
Požadavky
Potřebujete standardní prostředek služby Speech (S0). Bezplatné prostředky (F0) se nepodporují.
Vytvoření úlohy přepisu
Pokud chcete vytvořit dávkovou úlohu přepisu, použijte Transcriptions_Create operaci řeči na textové rozhraní REST API. Sestavte tělo požadavku podle následujících pokynů:
- Musíte nastavit buď vlastnost
contentContainerUrl
, nebocontentUrls
vlastnost. Další informace o službě Azure Blob Storage pro dávkový přepis najdete v tématu Vyhledání zvukových souborů pro dávkový přepis. - Nastavte požadovanou
locale
vlastnost. Tato hodnota by měla odpovídat očekávanému národnímu prostředí zvukových dat, která se mají přepisovat. Národní prostředí nemůžete později změnit. - Nastavte požadovanou
displayName
vlastnost. Zvolte název přepisu, na který můžete odkazovat později. Název přepisu nemusí být jedinečný a můžete ho později změnit. - Pokud chcete použít jiný model než základní model, nastavte
model
vlastnost na ID modelu. Další informace najdete v tématu Použití vlastního modelu a použití modelu Whisper. - Volitelně můžete vlastnost nastavit
wordLevelTimestampsEnabled
tak, abytrue
ve výsledcích přepisu povolila časová razítka na úrovni slova. Výchozí hodnota jefalse
. U modelů Whisper nastavtedisplayFormWordLevelTimestampsEnabled
místo toho vlastnost. Šeptá je model jen pro zobrazení, takže lexikální pole se v přepisu nenaplní. - Volitelně můžete nastavit
languageIdentification
vlastnost. Identifikace jazyka se používá k identifikaci jazyků mluvených ve zvuku v porovnání se seznamem podporovaných jazyků. Pokud nastavítelanguageIdentification
vlastnost, musíte také nastavitlanguageIdentification.candidateLocales
s kandidátskými národními prostředími.
Další informace najdete v tématu Možnosti konfigurace požadavku.
Vytvořte požadavek HTTP POST, který používá identifikátor URI, jak je znázorněno v následujícím příkladu Transcriptions_Create.
- Nahraďte
YourSubscriptionKey
klíčem prostředku služby Speech. - Nahraďte
YourServiceRegion
oblastí prostředků služby Speech. - Nastavte vlastnosti textu požadavku, jak jsme popsali dříve.
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"
Měl by se zobrazit text odpovědi v následujícím formátu:
{
"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"
}
Vlastnost nejvyšší úrovně self
v textu odpovědi je identifikátor URI přepisu. Tento identifikátor URI slouží k získání podrobností, jako je identifikátor URI přepisů a souborů sestav přepisu. Tento identifikátor URI slouží také k aktualizaci nebo odstranění přepisu.
Stav přepisů můžete dotazovat pomocí operace Transcriptions_Get .
Po načtení výsledků volejte Transcriptions_Delete pravidelně ze služby. Případně nastavte timeToLive
vlastnost tak, aby se zajistilo případné odstranění výsledků.
Tip
Rozhraní API pro přepis služby Batch můžete vyzkoušet také pomocí Pythonu, C# nebo Node.js na GitHubu.
K vytvoření přepisu spx batch transcription create
použijte příkaz. Parametry požadavku se sestaví podle následujících pokynů:
- Nastavte požadovaný
content
parametr. Můžete zadat čárkami oddělený seznam jednotlivých souborů nebo adresu URL pro celý kontejner. Další informace o službě Azure Blob Storage pro dávkový přepis najdete v tématu Vyhledání zvukových souborů pro dávkový přepis. - Nastavte požadovanou
language
vlastnost. Tato hodnota by měla odpovídat očekávanému národnímu prostředí zvukových dat, která se mají přepisovat. Národní prostředí nemůžete později změnit. Parametr Rozhraní příkazovéholocale
řádkulanguage
služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi. - Nastavte požadovanou
name
vlastnost. Zvolte název přepisu, na který můžete odkazovat později. Název přepisu nemusí být jedinečný a můžete ho později změnit. Parametr Rozhraní příkazovéhodisplayName
řádkuname
služby Speech odpovídá vlastnosti v požadavku JSON a odpovědi.
Tady je příklad příkazu Rozhraní příkazového řádku služby Speech, který vytvoří úlohu přepisu:
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav
Měl by se zobrazit text odpovědi v následujícím formátu:
{
"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": ""
}
Vlastnost nejvyšší úrovně self
v textu odpovědi je identifikátor URI přepisu. Tento identifikátor URI slouží k získání podrobností, jako je identifikátor URI přepisů a souborů sestav přepisu. Tento identifikátor URI slouží také k aktualizaci nebo odstranění přepisu.
V případě nápovědy k rozhraní příkazového řádku služby Speech s přepisy spusťte následující příkaz:
spx help batch transcription
Možnosti konfigurace požadavku
Tady je několik možností vlastností, jak nakonfigurovat přepis při volání operace Transcriptions_Create . Další příklady najdete na stejné stránce, například vytvoření přepisu s identifikací jazyka.
Vlastnost | Popis |
---|---|
channels |
Pole čísel kanálů, která se mají zpracovat. Kanály 0 a 1 ve výchozím nastavení se přepisují. |
contentContainerUrl |
Můžete odeslat jednotlivé zvukové soubory nebo celý kontejner úložiště. Umístění zvukových dat je nutné zadat pomocí contentContainerUrl vlastnosti nebo contentUrls vlastnosti. Další informace o službě Azure Blob Storage pro dávkový přepis najdete v tématu Vyhledání zvukových souborů pro dávkový přepis.Tato vlastnost není vrácena v odpovědi. |
contentUrls |
Můžete odeslat jednotlivé zvukové soubory nebo celý kontejner úložiště. Umístění zvukových dat je nutné zadat pomocí contentContainerUrl vlastnosti nebo contentUrls vlastnosti. Další informace najdete v tématu Vyhledání zvukových souborů pro dávkový přepis.Tato vlastnost není vrácena v odpovědi. |
destinationContainerUrl |
Výsledek se dá uložit do kontejneru Azure. Pokud kontejner nezadáte, služba Speech ukládá výsledky do kontejneru spravovaného Microsoftem. Při odstranění úlohy přepisu se odstraní také data výsledku přepisu. Další informace, jako jsou podporované scénáře zabezpečení, naleznete v tématu Zadání adresy URL cílového kontejneru. |
diarization |
Označuje, že služba Speech by se měla pokusit analyzovat diarizaci vstupu, což je očekávaný mono kanál, který obsahuje více hlasů. Tato funkce není k dispozici u stereo nahrávek. Diarizace je proces oddělení reproduktorů v zvukových datech. Kanál batch dokáže rozpoznat a oddělit více reproduktorů na záznamech monokanálů. Zadejte minimální a maximální počet lidí, kteří by mohli mluvit. Musíte také nastavit diarizationEnabled vlastnost na true hodnotu . Soubor přepisu speaker obsahuje záznam pro každou přepisovanou frázi.Tuto vlastnost musíte použít, když očekáváte tři nebo více mluvčích. U dvou mluvčích stačí nastavit diarizationEnabled vlastnost true na dostatek. Příklad použití vlastnosti najdete v tématu Transcriptions_Create.Maximální počet mluvčích pro diarizaci musí být menší než 36 a více nebo rovna minSpeakers vlastnosti. Příklad najdete Transcriptions_Create.Pokud je tato vlastnost vybraná, délka zdrojového zvuku nesmí překročit 240 minut na soubor. Poznámka: Tato vlastnost je k dispozici pouze u služby Speech pro text rozhraní REST API verze 3.1 a novější. Pokud tuto vlastnost nastavíte s jakoukoli předchozí verzí, jako je verze 3.0, bude ignorována a identifikuje se pouze dva reproduktory. |
diarizationEnabled |
Určuje, že služba Speech by se měla pokusit analyzovat diarizaci vstupu, což je očekávaný mono kanál, který obsahuje dva hlasy. Výchozí hodnota je false .Pro tři nebo více hlasů musíte také použít vlastnost diarization . Text rozhraní REST API verze 3.1 a novější používejte pouze s využitím služby Speech.Pokud je tato vlastnost vybraná, délka zdrojového zvuku nesmí překročit 240 minut na soubor. |
displayName |
Název dávkového přepisu Zvolte název, na který můžete odkazovat později. Zobrazovaný název nemusí být jedinečný. Tato vlastnost je povinná. |
displayFormWordLevelTimestampsEnabled |
Určuje, jestli se mají zahrnout časová razítka na úrovni slova do zobrazeného formátu výsledků přepisu. Výsledky se vrátí ve displayWords vlastnosti souboru přepisu. Výchozí hodnota je false .Poznámka: Tato vlastnost je k dispozici pouze u služby Speech pro text rozhraní REST API verze 3.1 a novější. |
languageIdentification |
Identifikace jazyka se používá k identifikaci jazyků mluvených ve zvuku v porovnání se seznamem podporovaných jazyků. Pokud nastavíte languageIdentification vlastnost, musíte také nastavit její uzavřenou candidateLocales vlastnost. |
languageIdentification.candidateLocales |
Kandidátské národní prostředí pro identifikaci jazyka, například "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}} . Podporuje se minimálně dva a maximálně deset kandidátských národních prostředí, včetně hlavního národního prostředí pro přepis. |
locale |
Národní prostředí dávkového přepisu. Tato hodnota by měla odpovídat očekávanému národnímu prostředí zvukových dat, která se mají přepisovat. Národní prostředí nelze později změnit. Tato vlastnost je povinná. |
model |
Vlastnost můžete nastavit model tak, aby používala konkrétní základní model nebo vlastní speech model. Pokud tuto možnost nezadáte model , použije se výchozí základní model národního prostředí. Další informace najdete v tématu Použití vlastního modelu a použití modelu Whisper. |
profanityFilterMode |
Určuje způsob zpracování vulgárních výrazů ve výsledcích rozpoznávání. Přijaté hodnoty jsou None zakázání filtrování vulgárních výrazů, Masked nahrazení vulgárních výrazů hvězdičkami, Removed odebrání všech vulgárních výrazů z výsledku nebo Tags přidání značek vulgárních výrazů. Výchozí hodnota je Masked . |
punctuationMode |
Určuje způsob zpracování interpunkce ve výsledcích rozpoznávání. Akceptované hodnoty jsou None zakázání interpunkce, Dictated což znamená explicitní (mluvený) interpunkční znaménko, Automatic nechat dekodér řešit interpunkci nebo DictatedAndAutomatic používat diktovanou a automatickou interpunkci. Výchozí hodnota je DictatedAndAutomatic .Tato vlastnost se nevztahuje na modely Whisper. |
timeToLive |
Doba trvání po vytvoření úlohy přepisu, kdy se výsledky přepisu automaticky odstraní. Hodnota je doba trvání kódování ISO 8601. Zadejte například PT12H 12 hodin. Jako alternativu můžete volat Transcriptions_Delete pravidelně po načtení výsledků přepisu. |
wordLevelTimestampsEnabled |
Určuje, jestli má být ve výstupu zahrnuté časové razítko na úrovni slova. Výchozí hodnota je false .Tato vlastnost se nevztahuje na modely Whisper. Šeptá je model jen pro zobrazení, takže lexikální pole se v přepisu nenaplní. |
V případě nápovědy k rozhraní příkazového řádku služby Speech s možnostmi konfigurace přepisu spusťte následující příkaz:
spx help batch transcription create advanced
Použití vlastního modelu
Dávkový přepis používá výchozí základní model pro zadané národní prostředí. Pro použití výchozího základního modelu nemusíte nastavovat žádné vlastnosti.
Volitelně můžete předchozí příklad vytvoření přepisu upravit nastavením model
vlastnosti tak, aby používala konkrétní základní model nebo vlastní speech model.
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"
Pokud chcete pro dávkový přepis použít vlastní hlasový model, potřebujete identifikátor URI modelu. Vlastnost nejvyšší úrovně self
v těle odpovědi je identifikátor URI modelu. Umístění modelu můžete načíst při vytváření nebo získání modelu. Další informace najdete v příkladu odpovědi JSON v tématu Vytvoření modelu.
Tip
Koncový bod hostovaného nasazení není nutný k použití vlastní řeči se službou dávkového přepisu. Prostředky můžete ušetřit, pokud používáte vlastní model řeči pouze pro dávkový přepis.
Dávkové žádosti o přepis pro modely s vypršenou platností selžou s chybou 4xx. model
Nastavte vlastnost na základní model nebo vlastní model, jehož platnost nevypršela. Jinak nezahrnujte model
vlastnost tak, aby vždy používala nejnovější základní model. Další informace najdete v tématu Volba modelu a životního cyklu vlastního modelu řeči.
Použití modelu Whisper
Azure AI Speech podporuje model Šeptání OpenAI pomocí rozhraní API pro dávkové přepisy. Model Šeptání můžete použít k dávkovému přepisu.
Poznámka:
Služba Azure OpenAI podporuje také model šeptajícího jazyka OpenAI pro převod řeči na text pomocí synchronního rozhraní REST API. Další informace najdete v tématu Převod řeči na text pomocí modelu Azure OpenAI Whisper. Další informace o tom, kdy používat Službu Azure AI Speech vs. Azure OpenAI Service, najdete v tématu Co je model Šeptát?
Pokud chcete k dávkovému přepisu použít model Whisper, musíte vlastnost nastavit model
. Šeptající je model jen pro zobrazení, takže lexikální pole není vyplněno v odpovědi.
Důležité
U modelů Šeptejte byste vždy měli používat verzi 3.2 rozhraní API pro převod řeči na text.
Dávkový přepis pomocí modelů Whisper se podporuje v oblastech Austrálie – východ, USA – střed, USA – středosever, USA – středojiž, Jihovýchodní Asie a Západní Evropa.
Můžete vytvořit Models_ListBaseModels žádost o získání dostupných základních modelů pro všechna národní prostředí.
Vytvořte požadavek HTTP GET, jak je znázorněno v následujícím příkladu eastus
pro oblast. Nahraďte YourSubscriptionKey
klíčem prostředku služby Speech. Nahraďte eastus
, pokud používáte jinou oblast.
curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Ve výchozím nastavení se vrátí pouze 100 nejstarších základních modelů. skip
Pomocí parametrů dotazu top
můžete procházet výsledky. Například následující požadavek vrátí dalších 100 základních modelů po prvních 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"
Ujistěte se, že jste nastavili konfigurační proměnné pro prostředek služby Speech v jedné z podporovaných oblastí. Spuštěním spx csr list --base
příkazu můžete získat dostupné základní modely pro všechna národní prostředí.
spx csr list --base --api-version v3.2
displayName
Vlastnost modelu Whisper obsahuje "Whisper", jak je znázorněno v tomto příkladu. Šeptá je model jen pro zobrazení, takže lexikální pole se v přepisu nenaplní.
{
"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)"
},
Nastavíte úplný identifikátor URI modelu, jak je znázorněno v tomto příkladu eastus
pro oblast. Nahraďte YourSubscriptionKey
klíčem prostředku služby Speech. Nahraďte eastus
, pokud používáte jinou oblast.
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"
Nastavíte úplný identifikátor URI modelu, jak je znázorněno v tomto příkladu eastus
pro oblast. Nahraďte eastus
, pokud používáte jinou oblast.
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
Zadání adresy URL cílového kontejneru
Výsledek přepisu může být uložený v kontejneru Azure. Pokud kontejner nezadáte, služba Speech ukládá výsledky do kontejneru spravovaného Microsoftem. V takovém případě se při odstranění úlohy přepisu odstraní také data výsledků přepisu.
Výsledky dávkového přepisu můžete uložit do zapisovatelného kontejneru úložiště objektů blob v Azure pomocí možnosti destinationContainerUrl
v žádosti o vytvoření dávkového přepisu. Tato možnost používá pouze ad hoc identifikátor URI SAS a nepodporuje mechanismus zabezpečení důvěryhodných služeb Azure. Tato možnost také nepodporuje SAS na základě zásad přístupu. Prostředek účtu úložiště cílového kontejneru musí umožňovat veškerý externí provoz.
Pokud chcete uložit přepis, výsledkem bude kontejner úložiště objektů blob v Azure pomocí mechanismu zabezpečení důvěryhodných služeb Azure, zvažte použití funkce Přineste si vlastní úložiště (BYOS). Další informace najdete v tématu Použití prostředku Přineste si vlastní úložiště (BYOS) Speech pro převod řeči na text.