Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  22 3340
Førstefiskevasker
Barte-Sam's Avatar
Jeg holder på å transkribere hundrevis av episoder fra programmet Radiorespesjonen, fra perioden 2006-2012. Det er på langt nær alle episodene som er laget, men de jeg tilfeldigvis hadde på disken min da jeg fant ut at dette var noe jeg ville gjøre.

Jeg satte i gang batch-jobben på fredag, og til nå er ca 70 timer allerede transkribert på min gamle Macbook Pro M1.

Til jobben bruker jeg AI-modellen NB-Whisper Large, som er Nasjonalbibliotekets største språkmodell. Den er intet mindre enn imponerende.

Et tilfeldig utdrag:

I hovedrollen som den nakne mannen møter vi Bjarte Tjøstheim.
Jeg er ikke naken, altså. Jeg bare spiller en naken mann, da, kan du si.
Jo, jeg er naken. Nei da.
Regi: Bjarte Tjøstheim. Manus: òg ved Bjarte Tjøstheim.
Lyddesign: Bjarte Tjøstheim.
Klipp: Bjarte Tjøstheim. Lys: Tore Sagen.
Nei da, det er jo ingen som har ansvar for lys, for dette er jo et sånn ...
Et sånt radiohørespill, og der blir jo alt spilt inn i et radiostudio.
Det er jo lys i studioet, selv om det er et radiostudio, men det blir bare skrudd på ved hjelp av en sånn ...
Ved hjelp av en sånn vanlig lysbryter. Det er bare å trykke på en lysbryter.
Og det var det jeg som gjorde, så ... Så, ja ... Casting, Bjarte Tjøstheim.
OK, vi bryter av den radio... påskekrimmen.
Men det er jo ... det tar jo 100 år! Det begynner å skje noe nå.
Vi har jo ikke tid til å sitte og surre! Kan du ikke bare starte resten?
Kan du ikke bare starte rett på med en gang, da? OK, hør på påskekrimmen, da. Greit.
Vis hele sitatet...
Da er 2006 unnagjort. Det ble 984.620 sagte ord, fordelt på 106 timer sendetid.

Navnet Bjarte ble sagt 3.156 ganger, Tore 2.821 ganger, og Steinar kun 1.484 ganger.

Det nest lengste ordet var hasjplantegjødselprodusenten, men det lengste - med god margin - var postpostpostpostpostpostpostpostpostpostpostpostkasse.
Sist endret av Barte-Sam; 29. oktober 2024 kl. 06:49. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Hva går prosjektet ut på egentlig? Antar at transkriberingen av et såpass stort datasett bare er første skritt? Håper du ikke skal transkribere alt bare for å telle ord?
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Sitat av Cheese Vis innlegg
Hva går prosjektet ut på egentlig? Antar at transkriberingen av et såpass stort datasett bare er første skritt? Håper du ikke skal transkribere alt bare for å telle ord?
Vis hele sitatet...
Jeg har jo noen ideer. Som for eksempel et web-basert søkegrensesnitt for å finne tilbake til noe man husker fra programmet, men ikke husker når ble sendt.

Ser for meg et grensesnitt der man kan angi stikkord, og deretter får opp setninger fra programmet der ordene ble funnet.

Så tenker jeg at det også kunne vært en fin funksjon å kunne spille av setningene som ble returnert.
Kunne vært kult om du lærte opp en AI-modell med dataen, så du kunne generere egne radioresepsjonen-episoder.
Sist endret av Ipeds; 29. oktober 2024 kl. 09:44.
Lyst til å fortelle litt om det tekniske?

Regner med du har lydfiler lokalt, hvordan mater du dette inn i modellen?
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Jeg har aldri drevet med disse tingene før, men kom over denne guiden, som forteller deg alt du trenger å vite.

Guiden over bruker en engelsk språkmodell. Å bruke Nasjonalbiblioteket sin store språkmodell er ganske enkelt.

Jeg lasta ned filen https://huggingface.co/NbAiLab/nb-wh...ggml-model.bin og renama den til
nb-large-ggml-model.bin, som jeg puttet i models-katalogen til Whisper.cpp, og så endre kommandoen for å kjøre
Whisper, til å bruke denne modellen.

Resultatet av transkriberingen er VTT-filer, som er tekstbaserte filer og enkle å parse.
Hvor mye må du inn og rette i ettertid?
Sist endret av random121468; 29. oktober 2024 kl. 21:27.
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Sitat av ketoDaddy Vis innlegg
Hvor mye må du inn og rette i ettertid?
Vis hele sitatet...
Det er snakk om nærmere en million ord bare for 2006-sesongen, så noen retting i etterkant tror jeg ikke jeg gidder å starte på.

Tekstkvaliteten er overraskende bra. Det er en del forenkling av enkelte rotete setninger, så det er ikke alltid 1-1 transkribering. Så her er det ikke bare speech recognition, men noe annen "magi" i tillegg.

Nå er kanskje ikke Radioresepsjonen det mest ideelle program å kjøre gjennom en slik språkmodell, fordi det er til tider et ganske høyt snakketempo latter, fnising, og roping, for å nevne noe.
Sitat av ketoDaddy Vis innlegg
Hvor mye må du inn og rette i ettertid?
Vis hele sitatet...
Sannsynligvis mye, om han hadde gjort det. Whisper blir kjørt andre steder også.
https://arstechnica.com/ai/2024/10/h...pite-warnings/

Whisper is based on technology that is designed to predict the next most likely token (chunk of data) that should appear after a sequence of tokens provided by a user. In the case of ChatGPT, the input tokens come in the form of a text prompt. In the case of Whisper, the input is tokenized audio data.

The transcription output from Whisper is a prediction of what is most likely, not what is most accurate.
Vis hele sitatet...
Så for å lage tekst/data til en søkefunksjon skulle gå greit.
Jan Skrotnes er episk.

Det jeg savner er Kaptein Rødksjegg og hans besetning. Det var et radiohørespill fra ca år 2000
Sist endret av random121468; 30. oktober 2024 kl. 17:12.
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Sitat av ketoDaddy Vis innlegg
Jan Skrotnes er episk.
Vis hele sitatet...
Skrotnes er Tores beste karakter. Bjartes beste etter min mening er kontroversielle Konrad Kroppsnes som bor på hemmeleg adresse utanfor Ålesund ein stad.

Vi må ikke glemme Tjukkasarane.
Eksisteres opptak av: "Kaptein Rødksjegg og hans besetning?" Angrer for at jeg ikke tok opp dette da det gikk.

"Vi piratas!"

Ja, og "Jimmy Henriksen og korttidsminneforeningen kort."
Sist endret av random121468; 31. oktober 2024 kl. 09:15.
Takk for at du delte guide. Dette høres ut som et morsomt prosjekt.

Det er jo mange muligheter her, men det har jeg ikke kompetanse nok til å si noe mer om.

Det er vel tilnærmet lik fremgangsmåte for å sette det opp på Windows?
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Sitat av Asket Vis innlegg
Det er vel tilnærmet lik fremgangsmåte for å sette det opp på Windows?
Vis hele sitatet...
Godt spørsmål. Jeg aner ikke hvor lett/vanskelig det er. Jeg fant denne tråden på GitHub som kanskje kan være til hjelp: https://github.com/ggerganov/whisper.cpp/discussions/85
▼ ... noen uker senere ... ▼
Har du gjort noe mer ut av dette her?
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Sitat av Asket Vis innlegg
Har du gjort noe mer ut av dette her?
Vis hele sitatet...
Idéen er å transkribere alt, men jeg har lagt prosjektet på is, til jeg får oppgradert maskinvaren min til noe som kan kjøre en større språkmodell (med større nøyaktighet).
Sitat av Barte-Sam Vis innlegg
Nå er kanskje ikke Radioresepsjonen det mest ideelle program å kjøre gjennom en slik språkmodell, fordi det er til tider et ganske høyt snakketempo latter, fnising, og roping, for å nevne noe.
Vis hele sitatet...
Og tomprat, surrogatvennnskap, falsk tilhørighet. Kul teknisk øvelse, selv om jeg på stående fot ikke kan se for meg et mer ubrukelig datasett. Tror kanskje dette er innhold som gjør seg best i hukommelsen. Kan kanskje belyse noen morsomme mønstre?
Uten at jeg har noen innsikt tror jeg at store dataset av denne typen kan være verdifulle på en eller annen måte selv om ikke akkurat vi innser på vilken måte.
▼ ... noen måneder senere ... ▼
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Jeg har kjøpt en Mac Mini M4 Pro, og nå går transkriberingen unna. Regner med å få transkribert resten av episodene jeg har liggende.

En episode på 27 minutter blir transkribert på like under 4 minutter.
Sist endret av Barte-Sam; 28. februar 2025 kl. 19:19.
▼ ... over en uke senere ... ▼
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Oppdatering: 1040 episoder er unnagjort. Til sammen 40 døgn prosessert lyd.

De generte VTT-filene som inneholder hva som er sagt i tekstformat, blir prosessert linje for linje, og lagt inn i en tabell i en Sqlite-database. Jeg benytter FTS5 (full-text search) som gjør at jeg kan kjøre spørringer som f.eks:

SELECT ep.release_date, time(t.startTime, 'unixepoch'), t.line
FROM text_line_fts fts
JOIN text_line t ON fts.rowid = t.id
JOIN episode ep ON t.episode_id = ep.id
WHERE text_line_fts MATCH 'Konrad AND (Kropsnes OR Kroppsnes) AND møte'
Fett at du holder det gående! Om du har lyst å dele tar jeg gjerne imot en link - Jeg holder på å knoter med en database det kunne vært morsomt ii
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Jeg tenker å dele databasefila etterhvert. Med DB Browser for SQLite (https://sqlitebrowser.org/) kan man kjøre spørringer direkte mot databasefila.

Jeg har kommet frem til en spørring jeg bruker for å finne frem til alle de forskjellige karakterene de hadde. Den returnerer tekstlinja treffet ble funnet i, samt de to etterfølgende linjene:

Kode

select
   release_date,
   start_time,
   first_line || ' ' || next_line || ' ' || third_line as text 
from
   (
      SELECT
         ep.release_date,
         time(t.startTime, 'unixepoch') AS start_time,
         t.line AS first_line,
         t_next.line AS next_line,
         t_next2.line AS third_line 
      FROM
         text_line_fts fts 
         JOIN
            text_line t 
            ON fts.rowid = t.id 
         JOIN
            episode ep 
            ON t.episode_id = ep.id
         LEFT JOIN
            text_line t_next 
            ON t_next.episode_id = t.episode_id 
            AND t_next.startTime = 
            (
               SELECT
                  MIN(t2.startTime) 
               FROM
                  text_line t2 
               WHERE
                  t2.episode_id = t.episode_id 
                  AND t2.startTime > t.startTime 
            )
         LEFT JOIN
            text_line t_next2 
            ON t_next2.episode_id = t.episode_id 
            AND t_next2.startTime = 
            (
               SELECT
                  MIN(t3.startTime) 
               FROM
                  text_line t3 
               WHERE
                  t3.episode_id = t.episode_id 
                  AND t3.startTime > t_next.startTime 
            )
      WHERE
         text_line_fts MATCH '(nå OR snart OR straks) AND vi AND skal AND (møte OR treffe OR kjent)'  
      ORDER BY
         t.episode_id,
         t.startTime 
   );
Transkriberingsprosessen har kommet seg til november 2016, og siste sesong jeg har lydfiler fra er 2020.
Sist endret av Barte-Sam; 10. mars 2025 kl. 11:32. Grunn: Prøvde å formattere
Førstefiskevasker
Barte-Sam's Avatar
Trådstarter
Da er jeg endelig ferdig med å transkribere 1552 episoder av Radioresepsjonen, fra 2006 til 2020, inkludert Radioresepsjonen på TV.

Sluttresultatet er en SQLite-fil på 170 MB. Databasemodellen er veldig enkel, men det er en del ekstra "virtuelle tabeller" i forbindelse med FTS5 (https://www.sqlite.org/fts5.html) som gir muligheter for å gjøre veldig kjappe søk med spørringer som jeg tidligere har postet her inne.

De som er interessert i databasefila, kan ordne en opplastingslink i Dropbox eller lignende, og sende den til meg i en privat melding. Er det andre ting dere er interessert i å vite, er det bare å spørre her inne.