Oppdatert basert på ekstern tilbakemelding. Nye proposals for kildevern, podcasting 2.0, web clipper, waveforms, editor, tekst-primitiv og avisvisning. Oppdatert meldingsboks med slette-semantikk, entity resolution i kunnskapsgrafen, og AI gateway med kildevern-modus. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
Forslag: Visuelle Waveforms som UI-primitiv
Idé
Podcast handler om lyd, men i Sidelinja-editoren er lyd foreløpig kun tekst eller en usynlig boks. Generer komprimerte audio-peaks fra lydfiler og rendrer dem som visuelle bølgeformer (SoundCloud-stil) overalt der lyd refereres — i editoren, i segment-embeds, i Podcastfabrikken.
Hvorfor er dette interessant?
- Gjør manuell redigering og verifisering av transkripsjoner mye mer intuitivt
- Tidsstempler og Aha-markører kan lyse opp oppå bølgene
- Visuell representasjon av lyd er forventet i 2026 — ren tekst føles utdatert
{{segment:uuid}}i editoren kan rendres som en interaktiv bølgeform i stedet for en flat lydspiller
Hva bygger den på?
- Podcastfabrikken — lydfilene og segmentene
- Jobbkø — ny jobbtype
generate_waveform - Editor —
{{segment:uuid}}-embeds rendrer waveform i stedet for enkel player - Studioet — Aha-markører vises oppå bølgeformen
Gjennomføring
1. Generere peaks
Utvid whisper_transcribe-jobben (eller opprett separat generate_waveform-jobb) til å generere en komprimert array med audio-peaks:
Verktøy: audiowaveform (BBC, C++, rask) eller ffmpeg
Input: MP3/WAV
Output: JSON-array med peaks (f.eks. 800 datapunkter per minutt)
Lagring: media_files.metadata (JSONB) eller separat fil
2. Svelte-komponent: <Waveform>
- Rendrer peaks som SVG eller Canvas
- Klikkbar: hopp til tidspunkt i lyden
- Overlay: Aha-markører, segment-grenser, talerskifter
- Responsiv: tilpasser seg containerbredde
- Brukes i: editor-embeds, Podcastfabrikken, segment-visning
3. Editor-integrasjon
{{segment:uuid}} i rendered-modus viser:
┌──────────────────────────────────────────┐
│ ▶ Episode 42, 14:23–21:07 │
│ ░▓▓░▓▓▓░░▓▓░▓░░▓▓▓▓░░▓░░▓▓░▓▓▓░░▓▓░▓ │
│ ^Aha ^Støre nevnt │
└──────────────────────────────────────────┘
Åpne spørsmål
- Peaks per minutt: 800 er nok for de fleste visninger. Trenger vi flere nivåer (zoom)?
- Farger: Mono-farge eller fargekode per taler (krever diarisering)?
- Lagring: Inline i JSONB eller som separat
.json-fil i media/?