Sdílet prostřednictvím


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 , nebo contentUrls 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, aby true ve výsledcích přepisu povolila časová razítka na úrovni slova. Výchozí hodnota je false. U modelů Whisper nastavte displayFormWordLevelTimestampsEnabled 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íte languageIdentification vlastnost, musíte také nastavit languageIdentification.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ého locale řádku language 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ého displayName řádku name 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 truehodnotu . 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 minCount 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.