Sdílet prostřednictvím


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

V této příručce se dozvíte, jak vytvořit titulky s řečí 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 titulků 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 titulky pro řeč, ale nezahrnuje ID mluvčího ani zvukové efekty, jako jsou zvony vyzvánění.

Tady jsou některé běžné scénáře titulkování:

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

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

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

Tip

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

Vyzkoušejte Azure AI Video Indexer jako ukázku, jak můžete získat titulky pro videa, která nahráváte.

Titulky můžou doprovázet řeč v reálném čase nebo předem zaznamenanou řeč. Bez ohledu na to, jestli se titulky zobrazují v reálném čase nebo se záznamem, 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). Ty se dají načíst do většiny přehrávačů videa, jako je TŘEBA VLC, a automaticky přidávat titulky do videa.

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 titulkování v reálném čase používejte místo vstupu souboru mikrofon nebo zvukový stream. 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 titulkování předzá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 titulky 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 titulky 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.

Pokud chcete popisovat předem zaznamenanou řeč nebo pokud 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.

Titulkování 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 titulku 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 popisujete orthodontické přednášky, můžete chtít vytrénovat vlastní model s odpovídajícími daty domény.

Další kroky