Udvikler & Datajournalist
Af Martin Dreyer
Vi elsker video og billeder på TV 2 Fyn, men som vi har skrevet om før, fungerer videoer bare bedre, når der er undertekster på. Derfor er det vores ambition, at al video, vi udgiver, skal undertekstes. Og derfor har vi lavet, hvad vi synes er en bedre version af vores transskriberingsværktøj, TTEX. Den hele store ændring er, at journalistens workflow nu foregår i browseren frem for et lokalt program.
Hvad gjorde vi?
Manuel transskribering er i bedste fald kedeligt, og i værste fald spild af dyrebar tid, som journalister kan bruge bedre på alle mulige andre opgaver. Derfor udviklede vi sidste år et internt værktøj til transskribering. Tanken var dengang “totalt lokal”, forstået på den måde, at alle brugere kunne hente en eksekverbar fil ned på deres skrivebord, der gjorde dem i stand til at transskribere på deres egen computer.
Det er der fordele ved – særligt hvis man vil have transskriberet fortroligt materiale, er det rart at være sikker på, at man ikke sender sine dyrebare lydfiler forbi fremmede servere – men der er også ulemper. For eksempel vil transskriberingen aldrig gå hurtigere, end hvad ens computer kan trække. Og hvis OpenAI opdaterer deres Whisper-model, som er hjernen bag vores transskribering, så kræver det, at alle brugere henter en ny version af TTEX for at få det bedste resultat.
Men hvad nu, hvis man kan få “the best of both worlds?”
Mindre kompleksitet, mere kontrol
Idéen med den første version af TTEX var at skåne journalisterne fra at skulle lære at skrive Python-kode eller rode rundt i deres computers terminal. På samme måde har ambitionen for anden version været at holde kompleksiteten væk fra brugerne.
Men samtidig vil vi gerne bevare kontrollen med den tekst, der køres gennem maskinen, og vi har derfor valgt selv at hoste vores TTEX 2.0. Det betyder, at vi kan lave alle transskriberinger på en maskine, der har flere kræfter end journalisternes laptops, samtidig med vi ikke lægger noget i skyen. Det giver også den fordel, at journalisternes arbejde på deres lokale computer ikke bliver påvirket af, om de er ved at transskribere eller ej.
Vores nye workflow betyder, at journalisterne kan logge ind med deres arbejdsmail på en hjemmeside, der kun er tilgængelig lokalt i huset. Når de er logget ind, bliver de mødt af en skærm, hvor de kan uploade den lyd, de vil have transskriberet.
Koblingen til arbejdsmailen betyder, at de kan få en notifikation, når transskriberingen er færdig. En lokal database sørger også for, at brugerne kan finde gamle transskriberinger og holde øje med, om deres seneste undertekster er klar.
Det nye workflow gør, at vi holder vores data in-house, samtidig med at vi letter byrden på journalisternes laptops, og med databasen skaber vi et bedre overblik over vores transskriberinger. Fra et udviklerperspektiv giver det derudover meget nemmere adgang til for eksempel at opdatere vores transskriberingsmodel, hvis vi vil gå over til en version af Whisper, der er fintunet på dansk.
Det tekniske / nørdede
TTEX er bygget i Django, der er et web framework til Python. Årsagen er, at OpenAI’s transskriberingsmodel, Whisper, også er skrevet i Python, og derfor er integrationen (relativt) nem.
Designet er lavet ved hjælp af Tailwind CSS, som kan tilføjes til Django-projekter som plugin.
I øvrigt betyder Djangos indbyggede integrationer, at vi har styr på databasen og kan se, hvem der laver hvilke transskriberinger, kan give særlige tilladelser til forskellige grupper og derudover er integration med Microsofts Single-Sign-On understøttet.
Et andet værktøj, der spiller godt sammen med Django er Task Queue-værktøjet Celery. Med Celery, som afhænger af Redis, kan vi sikre, at brugeren får en positiv tilkendegivelse, når transskriberingen er sat i gang. Det betyder altså, at man ikke skal vente i browseren, men bare kan afvente en mail i indbakken.
Alt arbejdet foregår på en virtuel maskine in-house. Det vil sige, at det hele kører i et linux-miljø, ligesom de fleste virtuelle maskiner. Er man interesseret i de nærmere detaljer, kan man se hele GitHub-projektet her: TTEX_DJANGO.
Hele projektet er under en GNU-licens, og er man interesseret, står det derfor en frit for at arbejde videre på projektet, så længe man respekterer licensen.
Har du spørgsmål eller kommentarer, er du velkommen til at kontakten app’ens forfatter, Martin Dreyer på madr@tv2fyn.dk
Leave a Reply