Textning med tal till text
I den här guiden får du lära dig hur du skapar bildtexter 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 bildtexter 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 textning för tal, men innehåller inte talar-ID eller ljudeffekter som klockor som ringer.
Här följer några vanliga beskrivningsscenarier:
- Onlinekurser och instruktionsvideor
- Sportevenemang
- Röst- och videosamtal
Följande är aspekter att tänka på när du använder bildtexter:
- Låt målgruppen veta att undertexter genereras av en automatiserad tjänst.
- Centrera bildtexter 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 bildtexter och hur många ord som ska visas i taget.
- Lär dig mer om textningsprotokoll 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 bildtexterna i videon.
Dricks
Prova Speech Studio och välj ett exempelvideoklipp för att se bearbetade textningsresultat i realtid eller offline.
Prova Azure AI Video Indexer som en demonstration av hur du kan få undertexter för videor som du laddar upp.
Textning kan följa med i realtid eller förinspelat tal. Oavsett om du visar bildtexter i realtid eller med en inspelning kan du använda Speech SDK eller Speech CLI för att känna igen 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 bildtexterna 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 textning i realtid använder du en mikrofon eller ljudindataström i stället för filinmatning. 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 beskrivning 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 bildtexter 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 bildtexter 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 textning av förinspelat tal eller var svarstiden 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.
I realtidstextning presenteras 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 beskrivningens noggrannhet 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 5
bekrä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 beskriver ortodontiska föreläsningar kanske du vill träna en anpassad modell med motsvarande domändata.