Titulkování s převodem řeči na text

V této příručce se naučíte vytvářet popis s převodem řeči na text. Titulky jsou proces převodu zvukového obsahu televizního vysílání, webového vysílání, filmu, videa, živé události nebo jiné produkce na text a následného zobrazení textu na obrazovce, monitoru nebo jiném vizuálním systému zobrazení.

Mezi koncepty patří synchronizace popis se vstupním zvukem, použití filtrů vulgárních výrazů, získání částečných výsledků, použití přizpůsobení a identifikace mluvených jazyků pro vícejazyčné scénáře. Tato příručka popisuje popis pro řeč, ale nezahrnuje ID mluvčího ani zvukové efekty, jako jsou zvony vyzvánění.

Tady je několik běžných scénářů popis:

  • Online kurzy a instruktážní videa
  • Sportovní akce
  • Hlasové hovory a videohovory

Při používání popis je potřeba vzít v úvahu následující aspekty:

  • Dejte cílové skupině vědět, že popis jsou generovány automatizovanou službou.
  • Na střed popis vodorovně na obrazovce ve velkém a výrazném písmu.
  • Zvažte, jestli chcete použít částečné výsledky, kdy začít zobrazovat popis a kolik slov se má najednou zobrazit.
  • Přečtěte si o popis protokolech, jako je SMPTE-TT.
  • Zvažte formáty výstupu, jako jsou SRT (SubRip Text) a WebVTT (Webové videotextové stopy). Dají se načíst do většiny přehrávačů videa, jako je TŘEBA VLC, a do videa se automaticky přidávají popis.

Tip

Vyzkoušejte Speech Studio a zvolte ukázkový videoklip, abyste viděli výsledky zpracovávané v reálném čase nebo offline popis.

Vyzkoušejte Azure AI Video Indexer jako ukázku toho, jak můžete získat popis videí, která nahrajete.

Titulky můžou doprovázet řeč v reálném čase nebo předem zaznamenanou řeč. Bez ohledu na to, jestli se zobrazují popis v reálném čase nebo s nahrávkou, můžete pomocí sady Speech SDK nebo rozhraní příkazového řádku služby Speech rozpoznávat řeč a získávat přepisy. K předem nahranému videu můžete použít také rozhraní API pro přepis služby Batch.

Formát výstupu titulku

Služba Speech podporuje výstupní formáty, jako jsou SRT (SubRip Text) a WebVTT (Web Video Text Track). Dají se načíst do většiny přehrávačů videa, jako je TŘEBA VLC, a do videa se automaticky přidávají popis.

Tip

Služba Speech poskytuje možnosti filtru vulgárních výrazů. Můžete určit, jestli se má maskovat, odebírat nebo zobrazovat vulgární výrazy.

Výstupní formát časového rozsahu SRT (SubRip Text) je hh:mm:ss,fff.

1
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.

Formát časového intervalu WebVTT (Web Video Text Track) je hh:mm:ss.fff.

WEBVTT

00:00:00.180 --> 00:00:03.230
Welcome to applied Mathematics course 201.
{
  "ResultId": "8e89437b4b9349088a933f8db4ccc263",
  "Duration": "00:00:03.0500000"
}

Vstup zvuku do služby Speech

Pro popis v reálném čase místo vstupu souboru použijte stream mikrofonu nebo zvukového vstupu. Příklady rozpoznávání řeči z mikrofonu najdete v rychlém startu Speech to text a v dokumentaci k rozpoznávání řeči. Další informace o streamování najdete v tématu Použití zvukového vstupního datového proudu.

Pro popis předběžného záznamu odešlete vstup souboru do služby Speech. Další informace naleznete v tématu Použití komprimovaného vstupního zvuku.

Synchronizace titulků a řeči

Chcete synchronizovat popis se zvukovou stopou, ať už v reálném čase, nebo s předzáznamem.

Služba Speech vrátí posun a dobu trvání rozpoznané řeči.

  • Posun: Posun do rozpoznané zvukového streamu vyjádřený jako doba trvání. Posun se měří v odškrtávkách počínaje 0 (nula) a je přidružený k prvnímu zvukovému bajtu zpracovanému sadou SDK. Například posun začíná při spuštění rozpoznávání, protože sada SDK začne zpracovávat zvukový stream. Jedno klíště představuje sto nanosekund nebo jednu desetimiliontou sekundu.
  • Doba trvání: Doba trvání rozpoznané promluvy. Doba trvání v ticks nezahrnuje koncové ani úvodní ticho.

Další informace najdete v tématu Získání výsledků rozpoznávání řeči.

Získání částečných výsledků

Zvažte, kdy začít zobrazovat popis a kolik slov se má najednou zobrazit. Výsledky rozpoznávání řeči se můžou změnit, když se promluva stále rozpozná. Částečné výsledky se vrátí s každou Recognizing událostí. Při zpracování každého slova služba Speech znovu vyhodnotí promluvu v novém kontextu a znovu vrátí nejlepší výsledek. Nový výsledek není zaručený jako předchozí výsledek. Úplná a konečná přepis promluvy se vrátí s událostí Recognized .

Poznámka:

Interpunkce částečných výsledků není k dispozici.

U popis předem zaznamenaného řeči nebo bez ohledu na to, kde latence není problém, můžete před zobrazením všech slov počkat na úplný přepis každé promluvy. Vzhledem k poslednímu posunu a době trvání každého slova v promluvě víte, kdy se mají následná slova zobrazovat tempem s hudebním podkresem.

Popis v reálném čase představuje kompromisy s ohledem na latenci a přesnost. Text z každé Recognizing události můžete zobrazit co nejdříve. Pokud ale můžete přijmout určitou latenci, můžete zvýšit přesnost popis zobrazením textu z Recognized události. Existuje také střední země, která se označuje jako "stabilní částečné výsledky".

Můžete požádat, aby služba Speech vrátila méně Recognizing událostí, které jsou přesnější. To se provádí nastavením SpeechServiceResponse_StablePartialResultThreshold vlastnosti na hodnotu mezi 0 a 2147483647. Hodnota, kterou nastavíte, je počet, kolikrát musí být slovo rozpoznáno před tím, než služba Speech vrátí Recognizing událost. Pokud například nastavíte SpeechServiceResponse_StablePartialResultThreshold hodnotu 5vlastnosti na , služba Speech potvrzuje rozpoznávání slova alespoň pětkrát před vrácením částečných výsledků s událostí Recognizing .

speechConfig.SetProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig->SetProperty(PropertyId::SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.SetProperty(common.SpeechServiceResponseStablePartialResultThreshold, 5)
speechConfig.setProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.setProperty(sdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
[self.speechConfig setPropertyTo:5 byId:SPXSpeechServiceResponseStablePartialResultThreshold];
self.speechConfig!.setPropertyTo(5, by: SPXPropertyId.speechServiceResponseStablePartialResultThreshold)
speech_config.set_property(property_id = speechsdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, value = 5)
spx recognize --file caption.this.mp4 --format any --property SpeechServiceResponse_StablePartialResultThreshold=5 --output vtt file - --output srt file -

Vyžádání stabilnějších částečných výsledků snižuje "blikání" nebo změnu textu, ale může zvýšit latenci, když budete čekat na výsledky vyšší spolehlivosti.

Příklad stabilní částečné prahové hodnoty

V následující sekvenci rozpoznávání bez nastavení stabilní částečné prahové hodnoty se "matematika" rozpozná jako slovo, ale konečný text je "matematika". V jiném okamžiku se rozpozná "kurz 2", ale konečný text je "course 201".

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied math
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZING: Text=welcome to applied mathematics course 2
RECOGNIZING: Text=welcome to applied mathematics course 201
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

V předchozím příkladu byly přepisy sčítané a text nebyl odvolána. Ale jindy můžete zjistit, že částečné výsledky byly nepřesné. V obou případech lze nestabilní částečné výsledky při zobrazení vnímat jako "blikající".

Pokud je v tomto příkladu nastavena 5stabilní prahová hodnota částečného výsledku , nebudou změněna ani zpětná slova.

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

Identifikace jazyka

Pokud by se jazyk zvuku mohl změnit, použijte kontinuální identifikaci jazyka. Identifikace jazyka se používá k identifikaci jazyků mluvených ve zvuku v porovnání se seznamem podporovaných jazyků. Poskytnete až 10 kandidátských jazyků, z nichž nejméně jeden se očekává ve zvukovém přenosu. Služba Speech vrací nejpravděpodobnější jazyk zvuku.

Přizpůsobení pro zlepšení přesnosti

Seznam frází je seznam slov nebo frází, které zadáte přímo před zahájením rozpoznávání řeči. Přidání fráze do seznamu frází zvyšuje jeho důležitost, takže je pravděpodobnější, že se rozpozná.

Mezi příklady frází patří:

  • Názvy
  • Geografická umístění
  • Homonyma
  • Slova nebo zkratky jedinečné pro vaše odvětví nebo organizaci

V některých situacích je pravděpodobně nejlepší volbou pro zlepšení přesnosti trénování vlastního modelu . Pokud například popis orthodontické přednášky, můžete chtít vytrénovat vlastní model s odpovídajícími daty domény.

Další kroky