Halvautomatisk textning av videoklipp för webben

I och med EU:s så kallade webbdirektiv kommer svensk lagstiftning att kräva att videoklipp som publiceras på webben ska vara tillgängligt. För de som har nedsatt hörsel, är i en bullrig miljö eller kanske har en hörselskada ska kunna ta del av videoklippet behöver det textas.

Denna bloggpost undersöker hur mycket arbete det innebär att försöka automatisera textning av en timmes filmad föreläsning.

Vad är poängen med video?

Video är ett ypperligt media för de flesta. Är det en föreläsning som filmas kan även de som var på plats ha nytta av att i efterhand kunna friska upp minnet, men det kan också överbrygga geografiska barriärer genom direktsändning eller att man i efterhand kan ta del av innehållet.

Video som media har även andra styrkor, bland annat att det är ett mer lättillgängligt format för vissa jämfört med att läsa motsvarande information som text. Dessutom kan man jobba med visualisering, rörliga bilder och dramatik för att ge eftertryck till sådant innehåll som behöver det, vilket bidrar med tydlighet.

Video behöver utformas med tillgänglighet i åtanke därför att det gör innehållet användbart för de flesta i någon situation, men också för att det är nödvändigt för de med särskilda behov. Bra ljud behöver kompletteras med textning, skarp bild för att kunna urskilja detaljer och att saker är stora nog för att synas är sådant som är viktigt att tänka på.

Hur går textningen till?

Bra ljud är en förutsättning för att det ska gå att automatisera textningen. Hörs inte innehållet är det svårt både för människa och maskin. Därför behövs en del förberedelser och reservplaner för att lyckas fånga både bild och ljud som håller måttet.

Planering och förberedelse

Eftersom ett bra ljud är avgörande för väldigt många gäller det att tillse att man har bra mikrofoner. Mikrofonerna behöver vara välplacerade och korrekt inställda. Bland inställningar finns exempelvis ofta något som kallas för gain, det är inställning som avgör hur mycket ljudet behöver förstärkas. Hög gain plockar upp ljud långt ifrån mikrofonen men riskerar att ta med störande omgivningsljud. Låg gain kräver att ljudkällan är nära mikrofonen och talar klart och tydligt.

Förutom den mikrofon/mygga som kopplas till kameran kan du behöva en mikrofon om publiken ska kunna ställa frågor. Det är också bra att ha en extra mikrofon bredvid föreläsaren som en extra säkerhetsåtgärd om ljudet i kameran skulle strula eller visa sig inte vara tillräckligt bra.

Inför inspelning

Se till att dina mikrofoner faktiskt fångar upp ljud, att du har tillräckligt med batteri/ström och att du bekantat dig med mikrofonernas funktioner.

Under inspelningen

Om publiken ska kunna ställa frågor så berätta att de behöver använda mikrofonen. Att de ska inleda med sitt namn och annan kort info om sig innan de ställer sin fråga. Sedan behöver någon springa runt med mikrofon bland de som ställer frågor och eventuellt repetera eller summera frågor som man misstänker inte fångats tillräckligt bra av mikrofonen.

Efter inspelningen

Att generera text baserat på ett ljudklipp

Undertexten kan skapas på olika sätt. Helt manuellt där man själv får lägga en hel del tid på att undertexterna visas vid rätt tid i filmen till när det pratas. Ett annat sätt är använda ett program som analyserar ljudspåret och från det automatiskt skapar en fil innehållandes tidskodad undertextning. Det innebär själva texten som ska visas samt en tidskod för när texten ska in och ut ur bild.

Ett program för detta är autosub som förenklar processen ordentligt och även klarar av att producera undertexter i flera olika format, exempelvis .srt och JSON. Det stödjer till och med möjligheten att skapa översättningar från det pratade originalspråket till något av dom övriga språken som stöds.

Dock är det viktigt att förstå att den automatiskt skapade undertexten är långt ifrån perfekt, den behöver manuellt gås igenom och finputsas i efterhand. Men, tack vare att tidskoder automatgenereras så är det ändå mycket manuellt arbete som besparas.

Installera Python 2 och FFmpeg

Autosub kräver att Python 2 finns på din dator för att fungera. Information och nedladdning finns på: www.python.org/downloads/
Har du Macos eller Linux är det troligt att du redan har Python 2 installerat.

Du behöver också installera biblioteket FFmpeg, det behövs för att plocka ut ljudspåret ur videoklippet. Det kan laddas ner från www.ffmpeg.org/download.html, där finns också information för installation på någon av om du använder någon Linux-distribution som operativsystem.

Installera autosub

När väl Python 2 och FFmpeg är installerat är det bara att köra följande kommando i terminalen så installeras autosub automatiskt:

pip install autosub

Mer information finns på: github.com/agermanidis/autosub

Vilka språk stöds

Förutom svenska så finns dom nordiska och skandinaviska språken med. Totalt är det 91 språk som, i skrivande stund, stöds. För komplett lista, och språkkoder, kör följande kommando i terminalen:

autosub --list-languages

Generera undertexten

Nu är det dags att generera undertextningen och i det här exemplet vill vi få det i .srt-format:

autosub -F srt -S sv -D sv exempel.mp4
  • -F – är vilket format vi vill få undertexten i, .srt i exemplet.
  • -S – är språket källan (source) är i, sv (svenska) i vårt exempel.
  • -D – är destinationsspråket vi vill ha undertexten på. Också svenska i vårt exempel.

Resultatet blir en textfil med samma namn som källan, fast med ändelsen .srt, således “exempel.srt”.

Växlarna “-S” och “-D” behöver inte vara samma, vi hade kunnat ange “en” för “-D” och därmed fått en översättning till engelska istället.

Som du kommer märka går det riktigt snabbt att generera undertexten. Detta eftersom autosub inte skickar hela originalfilen över internet. Först undersöker den innehållet och plockar bara ut ljudspåret som sedan skickas till tjänsten som översätter tal till text. En originalfil på 4.4Gb, ungefär en timmes föreläsning, tog exempelvis bara någon minut för autosub att generera undertexten för.

När undertexten väl har genererats är det dags att kvalitetsgranska den. Det här är fortfarande ny teknologi och NLP (Natural Language Processing) är ännu inte perfekt. Det behövs fortfarande manuellt arbete för att kvalitetssäkra. Dock, tack vare att texten nu har tidskoder för var i filmen rätt undertext ska visas, så är det ändå en stor mängd manuellt arbete som automatiserats bort. Då taligenkänning blir allt bättre så kommer automatiskt genererade undertexter också att kontinuerligt förbättras, därmed minska det manuella arbetet och snabbare göra video tillgängligt för fler som behöver det.

I nästa avsnitt går vi igenom hur du genomför dom manuella förbättringarna av råtexten.

Redigera textningen

Aegisub hjälper till med textning av videoklipp
För att granska och redigera textningen finns programmet Aegisub för Windows, Mac och Linux.

En utmaning med att texta ett videoklipp är att det kan behöva erbjudas textning på flera olika språk. Rent utav ett gäng språk du själv inte behärskar. En kvalificerad gissning är att om du gör en utmärkt textning på ditt eget modersmål blir det lättare för flerspråkiga kollegor eller språkkonsulter att förstå mer exakt vad som avses när de gör översättningarna. I brist på andra rekommendationer är det nog smart att hålla sig till klarspråk eller åtminstone ett så pass enkelt språk som möjligt.

Det är bra om det som textas är så kort som möjligt. Annars riskerar den som läser att inte hinna med texten under den tid den är framme. Ett stöd för att undvika detta finns i kolumnen CPS i textningsprogrammet Aegisub, där rödmarkeras det om det är orimligt mycket text att läsa på den tid som textremsan är framme.

Hur många språk ska vi texta för?

Ska materialet publiceras för offentlig sektors räkning är det praxis inom minoritetsspråk du behöver kolla upp, utöver vilka språk som målgruppen kan. Tänk också på att hörselskadade inte nödvändigtvis har svenska som modersmål!

De två videoklipp vi jobbat med som bas för denna bloggpost är cirka en timme samt en på knappt femtio minuter.
Största tidsvinsten med ovanstående automatiska textning är nog att inte behöva skriva tidskoderna för när en textremsa ska in och ur bild. Texten som genererats är verkligen inte felfri.

I vårt fall var det inspelade ljudet bra, men kunde absolut varit bättre. Dock är det oklart om ett bättre ljud skulle lett till ett bättre resultat då talet var på svenska, ett ganska exotiskt språk i dessa sammanhang. Det är säkert så att en extremt artikulerande föreläsare hade gett något bättre automatiska texter.

Tidsåtgång att redigera de automatiska textningarna

På förhand kan det vara svårt att veta hur mycket tid det tar att redigera texterna. I vårt fall tog det 6-10 gånger så lång tid som videoklippet att få till textremsorna. Vissa extrema delar av videoklippen tog 50 minuter för att redigera fem minuter tal i textremsor. Extremfallen berodde på att textblock med enskilda ord hade skapats vid genereringen och det tog tid att koda om dessa manuellt.

Exempel på automatiserad textning:

”Jag somnade som en turen Peter brukaren konstatera så är det ju Det verkar svårt att bli bättre något om man inte äter eller vet vad den måste följa upp”

Vilket skulle ha varit:

”Som managementgurun Peter Drucker konstaterar är det verkligen svårt att förbättra något om man inte mäter eller vet vad det är man ska följa upp”

Det går med andra ord inte att nöja sig med vad som sägs, textremsorna blir inte logiska då. Men för att vara första gången att jobba med textning är upplevelsen att jobbet med att ange respektive tidpunkt för varje textremsa hade gjort jobbet mycket värre.

Publicering

Efter att man laddat upp videoklippet får man ladda upp sin textfil i anslutning till videoklippet. Har man flera språk verkar även det gå bra, åtminstone på Youtube och Vimeo.

Läs mer / länkar

Videoklippen vi jobbat med textningen på är dessa:

Program som hjälper till:

  • Aegisub är ett program som hjälper till med redigering av textremsorna
  • VLC för en kompetent videospelare

Riktlinjer och andra tips:

//Thomas & Marcus

Ett svar på ”Halvautomatisk textning av videoklipp för webben”

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *