- Omorganiser docs/: konsepter, features, infra og proposals i egne mapper - Ny docs/erfaringer/ med lærdommer fra chat-implementering (Svelte 5, SpacetimeDB, adapter-mønster) - Oppdater ARCHITECTURE.md: Lag 1 status, ny §10 Erfaringslogg, SpacetimeDB i lokal dev - Oppdater synkronisering.md med implementeringsstatus og designvalg - Oppdater lokal.md med SpacetimeDB og AI Gateway - Utvid PG-skjema med channels, messages, media_files, message_revisions - Legg til seed_dev.sql, migration_safety.md, .env.example - Nye feature-specs: chat, kanban, whiteboard, live_ai, lydmeldinger m.fl. - Nye konsept-specs: studioet, møterommet, redaksjonen, den asynkrone gjesten m.fl. - SpacetimeDB og AI Gateway i docker-compose.dev.yml - collect-docs.sh inkluderer erfaringer/ Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
2.1 KiB
Markdown
32 lines
2.1 KiB
Markdown
# Konsept: Studioet (Podcast-innspilling)
|
|
**Filsti:** `docs/concepts/studioet.md`
|
|
|
|
## 1. Konsept
|
|
Det virtuelle podcast-studioet er Sidelinjas innspillingsmiljø. LiveKit håndterer WebRTC for flerbruker lyd/video, mens AI-assistenten lytter med og dytter relevante faktoider til programlederne i sanntid.
|
|
|
|
## 2. Brukeropplevelse
|
|
1. Programlederne åpner studioet i SvelteKit (PWA) og kobler seg til et LiveKit-rom.
|
|
2. Høykvalitetslyd streames mellom deltakerne via WebRTC.
|
|
3. I bakgrunnen transkriberer Whisper lydstrømmen i chunks (~5 sek) via live transkripsjonspipelinen (se `docs/features/live_transkripsjon.md`).
|
|
4. AI-assistenten analyserer transkripsjonen for entiteter (NER) og slår opp i Kunnskapsgrafen. Relevante faktoider popper lydløst opp på skjermen (se `docs/features/live_ai.md`, studio-modus).
|
|
5. Programlederne kan trykke **Aha-markør** for å markere viktige øyeblikk. Tidsstempelet lagres i SpacetimeDB, koblet til episoden.
|
|
6. Etter innspilling skyves lydfilen inn i Podcastfabrikken for full transkripsjon og publisering (se `docs/concepts/podcastfabrikken.md`).
|
|
|
|
## 3. Komponenter
|
|
|
|
| Feature | Rolle i Studioet |
|
|
|---|---|
|
|
| LiveKit | WebRTC lyd/video mellom deltakere |
|
|
| Live transkripsjon | Whisper `small` for lav latens, ~1s forsinkelse (se `docs/features/live_transkripsjon.md`) |
|
|
| Live AI (studio-modus) | NER + faktoid-oppslag fra Kunnskapsgrafen (se `docs/features/live_ai.md`) |
|
|
| Aha-markør | Manuell markering av viktige øyeblikk, lagres i SpacetimeDB |
|
|
|
|
## 4. Avgrensning
|
|
- Studioet er for **innspilling**, ikke redigering. Klipping/postproduksjon skjer utenfor Sidelinja.
|
|
- Live-transkripsjonen her er **flyktig** (TTL 30 dager) — den endelige transkripsjonen lages via Podcastfabrikken med `medium` + `initial_prompt`.
|
|
- Aha-markøren deles med Møterommet (se `docs/concepts/møterommet.md`), men i studio-konteksten brukes den primært til klippepunkter.
|
|
|
|
## 5. Utviklingsfaser
|
|
1. Bygg SpacetimeDB-lytter i frontend + dummy faktoid-push for å verifisere UI.
|
|
2. Koble Whisper til et offline lydopptak, kjør NER/oppslag mot PostgreSQL.
|
|
3. Koble LiveKit-strømmen til Whisper for sanntid.
|