Textning med tal till text

I den här guiden får du lära dig hur du skapar bildtext med tal till text. Textning är processen att konvertera ljudinnehållet i en TV-sändning, webbsändning, film, video, livehändelse eller annan produktion till text och sedan visa texten på en skärm, bildskärm eller något annat visuellt visningssystem.

Begreppen omfattar hur du synkroniserar bildtext med ditt indataljud, tillämpar svordomsfilter, får partiella resultat, tillämpar anpassningar och identifierar talade språk för flerspråkiga scenarier. Den här guiden beskriver bildtext för tal, men innehåller inte talar-ID eller ljudeffekter som klockor som ringer.

Här följer några vanliga scenarier för bildtext:

  • Onlinekurser och instruktionsvideor
  • Sportevenemang
  • Röst- och videosamtal

Följande är aspekter att tänka på när du använder bildtext ing:

  • Meddela målgruppen att bildtext genereras av en automatiserad tjänst.
  • Centrera bildtext vågrätt på skärmen, med ett stort och framträdande teckensnitt.
  • Fundera på om du vill använda partiella resultat, när du ska börja visa bildtext och hur många ord som ska visas i taget.
  • Lär dig mer om bildtext protokoll som SMPTE-TT.
  • Överväg utdataformat som SRT (SubRip Text) och WebVTT (Webbvideotextspår). Dessa kan läsas in på de flesta videospelare, till exempel VLC, och automatiskt lägga till bildtext i videon.

Dricks

Prova Speech Studio och välj ett exempelvideoklipp för att se bearbetade bildtext resultat i realtid eller offline.

Prova Azure AI Video Indexer som en demonstration av hur du kan få bildtext för videor som du laddar upp.

Textning kan följa med i realtid eller förinspelat tal. Oavsett om du visar bildtext i realtid eller med en inspelning kan du använda Speech SDK eller Speech CLI för att identifiera tal och få transkriptioner. Du kan också använda Batch-transkriptions-API:et för förinspelad video.

Utdataformat för bildtext

Speech-tjänsten stöder utdataformat som SRT (SubRip Text) och WebVTT (Web Video Text Tracks). Dessa kan läsas in på de flesta videospelare, till exempel VLC, och automatiskt lägga till bildtext i videon.

Dricks

Speech-tjänsten innehåller filteralternativ för svordomar . Du kan ange om du vill maskera, ta bort eller visa svordomar.

Utdataformatet SRT (SubRip Text) är hh:mm:ss,fff.

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

Utdataformatet WebVTT (Web Video Text Tracks) är 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"
}

Mata in ljud till Speech-tjänsten

För bildtext i realtid använder du en mikrofon eller ljudindataström i stället för filindata. Exempel på hur du känner igen tal från en mikrofon finns i snabbstarten Tal till text och Så här känner du igen taldokumentationen. Mer information om strömning finns i Så här använder du ljudindataströmmen.

För bildtext av en förinmatning skickar du filindata till Speech-tjänsten. Mer information finns i Använda komprimerat indataljud.

Textnings- och talsynkronisering

Du vill synkronisera bildtext med ljudspåret, oavsett om det är i realtid eller med en förinspelning.

Speech-tjänsten returnerar förskjutningen och varaktigheten för det identifierade talet.

  • Förskjutning: Förskjutningen till ljudströmmen som identifieras, uttryckt som varaktighet. Offset mäts i fästingar, med början från 0 (noll) tick, associerat med den första ljudbyte bearbetas av SDK. Till exempel börjar förskjutningen när du startar igenkänningen, eftersom det är då SDK:t börjar bearbeta ljudströmmen. En fästing representerar hundra nanosekunder eller en tiomiljondels sekund.
  • Varaktighet: Varaktighet för yttrandet som identifieras. Varaktigheten i fästingar inkluderar inte avslutande eller inledande tystnad.

Mer information finns i Hämta resultat för taligenkänning.

Hämta partiella resultat

Tänk på när du ska börja visa bildtext och hur många ord som ska visas i taget. Taligenkänningsresultat kan komma att ändras medan ett yttrande fortfarande identifieras. Partiella resultat returneras med varje Recognizing händelse. När varje ord bearbetas utvärderar Speech-tjänsten om ett yttrande i den nya kontexten och returnerar återigen det bästa resultatet. Det nya resultatet är inte garanterat detsamma som det tidigare resultatet. Den fullständiga och sista transkriptionen av ett yttrande returneras med Recognized händelsen.

Kommentar

Skiljetecken för partiella resultat är inte tillgängligt.

För bildtext av förinspelat tal eller där svarstid inte är ett problem kan du vänta på fullständig transkription av varje yttrande innan du visar några ord. Med tanke på den slutliga förskjutningen och varaktigheten för varje ord i ett yttrande vet du när du ska visa efterföljande ord i takt med soundtracket.

Realtids bildtext innebär kompromisser när det gäller svarstid kontra noggrannhet. Du kan visa texten från varje Recognizing händelse så snart som möjligt. Men om du kan acceptera viss svarstid kan du förbättra noggrannheten för bildtext genom att visa texten från Recognized händelsen. Det finns också en del medelväg, som kallas "stabila partiella resultat".

Du kan begära att Speech-tjänsten returnerar färre Recognizing händelser som är mer exakta. Detta görs genom att ställa in egenskapen SpeechServiceResponse_StablePartialResultThreshold på ett värde mellan 0 och 2147483647. Värdet som du anger är antalet gånger ett ord måste identifieras innan Speech-tjänsten returnerar en Recognizing händelse. Om du till exempel anger SpeechServiceResponse_StablePartialResultThreshold egenskapsvärdet till 5bekräftar Taltjänsten igenkänning av ett ord minst fem gånger innan du returnerar de partiella resultaten till dig med en Recognizing händelse.

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 -

Om du begär mer stabila partiella resultat minskar du "flimrande" eller ändrar text, men det kan öka svarstiden när du väntar på högre konfidensresultat.

Exempel på stabilt partiellt tröskelvärde

I följande igenkänningssekvens utan att ange ett stabilt partiellt tröskelvärde identifieras "matematik" som ett ord, men den slutliga texten är "matematik". Vid ett annat tillfälle känns "kurs 2" igen, men den slutliga texten är "kurs 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.

I föregående exempel var transkriptionerna additiva och ingen text drogs tillbaka. Men vid andra tillfällen kan du upptäcka att de partiella resultaten var felaktiga. I båda fallen kan de instabila partiella resultaten uppfattas som "flimrande" när de visas.

Om tröskelvärdet för stabilt partiellt resultat i det här exemplet är inställt på 5ändras eller backas inga ord.

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

Språkidentifiering

Om språket i ljudet kan ändras använder du kontinuerlig språkidentifiering. Språkidentifiering används för att identifiera språk som talas i ljud jämfört med en lista över språk som stöds. Du anger upp till 10 kandidatspråk, varav minst ett förväntas i ljudet. Speech-tjänsten returnerar det mest sannolika språket i ljudet.

Anpassningar för att förbättra noggrannheten

En fraslista är en lista med ord eller fraser som du anger precis innan du påbörjar taligenkänning. Att lägga till en fras i en fraslista ökar dess betydelse, vilket gör den mer sannolikt att identifieras.

Exempel på fraser är:

  • Namn
  • Geografiska platser
  • Homonymer
  • Ord eller förkortningar som är unika för din bransch eller organisation

Det finns vissa situationer där träning av en anpassad modell sannolikt är det bästa alternativet för att förbättra noggrannheten. Om du till exempel bildtext ortodontiska föreläsningar kanske du vill träna en anpassad modell med motsvarande domändata.

Nästa steg