Tilbage til projekter
FireFun Games (personal project) · Skaber & kurator

Decebal Cântă — AI-automatiserede historiesange til rumænske gymnasieelever

Et historie-repetitionsværktøj, jeg ville have elsket som teenager: rumænske historiske figurer, der synger deres egne historier i metal, pop, trap og manele. To AI-agenter — Claude og Codex — kører det meste af pipelinen, fra krydstjekkede tekster og synkroniserede lyric-videoer til portræt-Shorts, auto-uploadet YouTube-indhold og tilhørende quizzer. Gratis for elever, der læser til historie-studentereksamen.

Decebal Cântă logo
1 / 2

Decebal Cântă — AI-automated history songs

Helt ærligt? Jeg blev misundelig på teenagere. At læse til eksamen med AI ser virkelig sjovt ud — og så gik det op for mig, at jeg er voksen, så jeg kan få det sjove uden eksamenerne. Decebal Cântă er, hvad der kom ud af det: rumænske historiske figurer, der fortæller deres egne historier i originale, faktisk fængende sange, gratis for de unge, der læser til studentereksamen. Det egentlige eksperiment er, hvor meget af pipelinen to AI-kodeagenter — Claude og Codex — kan klare mellem sig: skrive og krydstjekke teksterne, bedømme versionerne, aligne dem ord for ord, rendere videoerne, klippe portræt-Shorts og publicere på YouTube. Jeg kuraterer mest — vælger vinderne, holder botterne ærlige om historien og trykker på de få knapper, der ellers ville bryde nogens vilkår. Alt udgives under CC0.

Nøglefunktioner

  • Claude Code og Codex samarbejder — hver skriver sange i blinde og faktatjekker derefter den andens
  • Fuldt AI-drevet build-flow, fra tekst til YouTube-upload
  • Fire musikgenrer — metal, pop, trap, manele
  • Codex-drevet faktatjek mod lærebøger og online kilder, med dobbelt-LLM-krydstjek på cheat sheets
  • Automatisk bedømmelse, rangering og sortering af sange
  • Ord-niveau tekst-timing fra WhisperX forced alignment, med vokal-stem-isolation for præcision, på en lokal GPU-maskine
  • Portræt-YouTube-Shorts auto-klippet fra hver sangs mest fængende vers og omkvæd
  • Auto-genererede quizzer med 12–16 spørgsmål knyttet til hver sang med markering af hvilke fakta der er dækket
  • Hjemmeside, værktøjs-UI og tekst-timing-editor — 100% vibe-coded med AI
  • Alt indhold udgives under CC0 og er gratis for elever

Min rolle

  • Koncept & kuratering
  • Multi-LLM-orkestrering (Claude + Codex)
  • Redaktionelt & historisk-faktatilsyn
  • Holde botterne på sporet

Tekniske udfordringer

  • Orkestrere to forskellige LLM'er (Claude + Codex) som både tekstforfattere og uafhængige faktatjek-gates
  • Flytte de server-side-agenter fra Claude Agent SDK til Codex' CLI efter at SDK'ens runtime blev ved med at gå i stykker
  • Få præcise ord-timinger ud af AI-genereret musik ved at aligne mod auto-udtrukne vokal-stems
  • Respektere Suno og YouTubes vilkår samtidig med at alt andet automatiseres
  • Holde den historiske korrekthed stram uden at miste musikalsk karakter
  • Holde hele pipelinen billig nok til et hobbybudget

Build-flow — Claude og Codex laver det tunge arbejde

  1. 01

    Cheat sheet pr. historisk figur

    Claude bygger en lærebogsforankret cheat sheet over fakta for hver historisk figur, så alt det studenterprøven forventer er dækket, før der overhovedet skrives en linje tekst.

  2. 02

    Tre udkast, to modeller

    Claude skriver to versioner af sangen, og Codex skriver en tredje — alle ud fra den samme blanke brief. At køre to forskellige modeller mod den samme prompt er en indbygget kreativitets-benchmark. Én slash-kommando sætter det hele i gang.

  3. 03

    Trivia pr. version

    Ved siden af hvert udkast forklarer en trivia-fil på almindeligt rumænsk de vittigheder, propagandafraser og obskure referencer, der er i netop den versions tekst.

  4. 04

    Tekst-faktatjek (Codex)

    En Codex-agent grep'er lærebøgerne og online kilder for hver påstand på tværs af alle tre versioner parallelt og flagger alt forkert eller misvisende. Claude retter de pågældende linjer; kun Codex må stemple en version som faktatjekket, og kun når den består.

  5. 05

    Cheat-sheet-krydstjek (Claude + Codex)

    Hvis cheat sheet'et er ændret, auditerer Claude og Codex det hver for sig, og jeg handler på det, de er enige om — enighed på tværs af LLM'er fanger de lærebogsfejl, en enkelt model ville stole på.

  6. 06

    Bedøm, rangér, frasortér

    En Claude-bedømmer scorer alle tre versioner på meme-potentiale, catchiness, flow og læringstæthed. Svage versioner kasseres og regenereres; vinderen vælges automatisk, og jeg kan overstyre den.

  7. 07

    Tekst + Suno-tags gemt

    De endelige tekster og de matchende Suno-tags skrives til JSON-filer pr. sang.

  8. 08

    Next.js-værktøjs-UI

    En Next.js-grænseflade læser JSON-filerne, så jeg let kan kopiere tags og tekster og se alle tre versioner ved siden af hinanden.

  9. 09

    Generér i Suno (manuelt)

    Jeg indsætter selv versionerne i Suno. Det kunne sagtens automatiseres med Claude in Chrome, men det ville bryde Sunos ToS, så det gør jeg ikke.

  10. 10

    Lyt og notér

    Jeg lytter til versionerne mens jeg laver husarbejde, og noterer favoritter, forkerte lydelementer og kreative idéer (som jeg sender tilbage for flere varianter).

  11. 11

    Download vinderen

    Jeg downloader den vindende WAV til min Downloads-mappe. Claude finder den dér og kopierer den ind i sangens mappe — jeg rører aldrig selv mappen.

  12. 12

    Anden slash-kommando

    Én slash-kommando udløser video- og publiceringstrinnene.

  13. 13

    Ord-niveau alignment (WhisperX)

    WhisperX kører forced alignment på en lokal Windows-GPU-maskine — den udtrækker selv vokal-stems for bedre præcision — med de rigtige tekster som facit. Hvis alignment fejler, stopper pipelinen og spørger frem for stille og roligt at forringe renderingen.

  14. 14

    Opdel i skærm-linjer

    En Claude-subagent grupperer de timede ord i logiske skærm-blokke.

  15. 15

    Chunk-editor (mennesket i loopet)

    En lille Next.js-editor, jeg har vibe-coded med AI, lader mig justere tekst-timingerne i hånden — hurtigt og gnidningsfrit — de få steder hvor STT rammer lidt skævt. Det ene trin hvor et hurtigt menneskeligt øje stadig slår automatiseringen.

  16. 16

    Placér fakta (Codex)

    En "Re-place facts"-knap kører en Codex-opgave, der lægger "vidste du"-popups i de instrumentale pauser, forankret i cheat sheet'et.

  17. 17

    Render med Remotion + mux lyd

    Remotion renderer lyric-videoen med fakta-popups, og ffmpeg lægger det originale lydspor ovenpå — begge dele udløst fra editoren.

  18. 18

    Auto-genereret thumbnail

    En 1280×720 thumbnail genereres ud fra sangen og sættes i kø til upload.

  19. 19

    Upload til YouTube

    YouTube Data API uploader videoen med titel, beskrivelse, tags og thumbnail udfyldt på forhånd — direkte fra editoren.

  20. 20

    Gør offentlig (manuelt)

    Jeg skifter videoen til offentlig manuelt — YouTube vil virkelig ikke have det automatiseret af gode anti-spam-årsager. Fair nok.

  21. 21

    Portræt-Shorts

    En anden skill klipper det mest fængende vers og omkvæd til friske portræt-renders (ikke beskæringer af landskabsvideoen), skriver en skarp hook til hver og uploader dem som YouTube-Shorts.

  22. 22

    Siden skifter til YouTube-player

    YouTube-linket skrives tilbage i sangens JSON, og Next.js-siden skifter automatisk fra Suno-tags til en indlejret YouTube-player.

  23. 23

    Quiz-generering

    Claude genererer en quiz med 12–16 spørgsmål ud fra fakta i både sangen og cheat sheet'et og markerer, hvilke sangen faktisk dækker.

  24. 24

    Quiz-faktatjek (Codex)

    En Codex-agent verificerer uafhængigt quizzens spørgsmål, svar og forklaringer, før den går live.

  25. 25

    Commit, push, deploy

    Ændringerne committes og pushes til GitHub, som auto-deployer den opdaterede side til Vercel.