Transcriptie 01 — productcontract, bronmatrix en opslagformaat vastleggen #2509

Closed
opened 2026-10-22 19:55:39 +00:00 by brenno · 0 comments
Owner

Bovenliggend epic: #2508
Afhankelijk van: geen

Gebruikersdoel

Een gebruiker kan vooraf zien welke van drie routes op zijn apparaat werkt: bestaand bestand, lokale opname, of live meeschrijven. Een gesprek in dezelfde ruimte en een online gesprek mogen niet stilzwijgend dezelfde audiobron heten.

Huidige basis en besluit

OciDeck levert macOS, Windows, Linux en web (README.md, docs/BUILD.md). android/ en ios/ bestaan als Flutter-projectmappen, maar zijn geen huidige releaseplatforms. Slide-audio wordt gekozen via ImageService.pickAudio; WebrtcMicMonitor voert microfoongeluid alleen door en slaat niets op. De AI-client spreekt chat/completions, geen spraak-naar-tekst. docs/design/AI_ASSIST.md en COLLABORATION.md houden vergadermedia buiten AI Assist. Dit issue opent geen native deelname aan Teams/Jitsi opnieuw.

Werk

  • Leg één productcontract vast voor bronsoorten bestand, microfoon, app-/systeemgeluid, combinatie, met per doelplatform de werkelijke toestemmings-, opname- en transcriptieroute. Splits detecteerbare mogelijkheden, pas na gebruikersactie vaststelbare toestemming, en beperkingen van bron/app/DRM.
  • Ontwerp het open resultaat: bewerkbare UTF-8 Markdown als hoofdbestand; keuze en levenscyclus van de originele audio; tijdcodes/sprekerlabels alleen waar werkelijk geleverd. Beslis expliciet of en hoe een audioreferentie naast .md reist; geen base64 of stilzwijgende wijziging aan het stabiele presentatieformaat. Beschrijf import/export, verplaatsen, verwijderen, crashherstel en web-downloads.
  • Leg een kleine providerneutrale CaptureSource/TranscriptionEngine-grens en fouttypen vast voordat platformcode ontstaat. Eén opname mag naar live chunks én duurzame audio schrijven, gevolgd door een definitieve hertranscriptie.
  • Maak een actuele, geteste compatibiliteitsmatrix voor macOS, Windows, Linux/PipeWire en PulseAudio, en gangbare browsers. Zet Android/iOS in een aparte niet-ondersteunde kolom tot ze releaseplatforms worden.

Aanvulling: optionele serverroute

De providerneutrale grens onderscheidt lokale engine, gekozen batchserver en server met bewezen live-protocol. Leg taaktoestemming, host/protocol en herkomst in het contract vast; dezelfde Markdown-uitvoer blijft leidend. Zie #2524 en #2525.

Aanvulling: OciDeck-call als eigen bron

Neem een actieve MeetingSession als aparte bronsoort op: ontvangen remote tracks plus eigen daadwerkelijk uitgezonden audio. De capability-matrix onderscheidt deze route van systeemgeluid van externe belapps. De huidige calladapter is nog niet operationeel; zie #2526.

Acceptatie

  • Ontwerp noemt elke gebruikersroute, bron, bestandsgrens, bronverwijzing, export en faalpad; keuzes zijn terug te vinden in docs/design/ en gekoppeld aan de vervolgissues.
  • Matrix onderscheidt 'beschikbaar', 'na toestemming te proberen', 'niet beschikbaar' en 'niet getest' en claimt geen universele systeem-audiocapture.
  • Bestaande .md en .ocideck blijven leesbaar; eventuele nieuwe metadata heeft round-trip- en migratietests als eis.
  • Geen model- of audiobytes gaan naar de bestaande AI-backend zonder een apart toekomstig opt-in ontwerp.

Bronnen

OciDeck: docs/FILE_FORMAT.md, docs/design/AI_ASSIST.md §1, docs/design/COLLABORATION.md §7.1.6; web: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia .

**Bovenliggend epic:** [#2508](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2508) **Afhankelijk van:** geen ## Gebruikersdoel Een gebruiker kan vooraf zien welke van drie routes op zijn apparaat werkt: bestaand bestand, lokale opname, of live meeschrijven. Een gesprek in dezelfde ruimte en een online gesprek mogen niet stilzwijgend dezelfde audiobron heten. ## Huidige basis en besluit OciDeck levert macOS, Windows, Linux en web (`README.md`, `docs/BUILD.md`). `android/` en `ios/` bestaan als Flutter-projectmappen, maar zijn geen huidige releaseplatforms. Slide-audio wordt gekozen via `ImageService.pickAudio`; `WebrtcMicMonitor` voert microfoongeluid alleen door en slaat niets op. De AI-client spreekt chat/completions, geen spraak-naar-tekst. `docs/design/AI_ASSIST.md` en `COLLABORATION.md` houden vergadermedia buiten AI Assist. Dit issue opent geen native deelname aan Teams/Jitsi opnieuw. ## Werk - Leg één productcontract vast voor bronsoorten `bestand`, `microfoon`, `app-/systeemgeluid`, `combinatie`, met per doelplatform de werkelijke toestemmings-, opname- en transcriptieroute. Splits detecteerbare mogelijkheden, pas na gebruikersactie vaststelbare toestemming, en beperkingen van bron/app/DRM. - Ontwerp het open resultaat: bewerkbare UTF-8 Markdown als hoofdbestand; keuze en levenscyclus van de originele audio; tijdcodes/sprekerlabels alleen waar werkelijk geleverd. Beslis expliciet of en hoe een audioreferentie naast `.md` reist; geen base64 of stilzwijgende wijziging aan het stabiele presentatieformaat. Beschrijf import/export, verplaatsen, verwijderen, crashherstel en web-downloads. - Leg een kleine providerneutrale `CaptureSource`/`TranscriptionEngine`-grens en fouttypen vast voordat platformcode ontstaat. Eén opname mag naar live chunks én duurzame audio schrijven, gevolgd door een definitieve hertranscriptie. - Maak een actuele, geteste compatibiliteitsmatrix voor macOS, Windows, Linux/PipeWire en PulseAudio, en gangbare browsers. Zet Android/iOS in een aparte niet-ondersteunde kolom tot ze releaseplatforms worden. ## Aanvulling: optionele serverroute De providerneutrale grens onderscheidt lokale engine, gekozen batchserver en server met bewezen live-protocol. Leg taaktoestemming, host/protocol en herkomst in het contract vast; dezelfde Markdown-uitvoer blijft leidend. Zie [#2524](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2524) en [#2525](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2525). ## Aanvulling: OciDeck-call als eigen bron Neem een actieve `MeetingSession` als aparte bronsoort op: ontvangen remote tracks plus eigen daadwerkelijk uitgezonden audio. De capability-matrix onderscheidt deze route van systeemgeluid van externe belapps. De huidige calladapter is nog niet operationeel; zie [#2526](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2526). ## Acceptatie - [ ] Ontwerp noemt elke gebruikersroute, bron, bestandsgrens, bronverwijzing, export en faalpad; keuzes zijn terug te vinden in `docs/design/` en gekoppeld aan de vervolgissues. - [ ] Matrix onderscheidt 'beschikbaar', 'na toestemming te proberen', 'niet beschikbaar' en 'niet getest' en claimt geen universele systeem-audiocapture. - [ ] Bestaande `.md` en `.ocideck` blijven leesbaar; eventuele nieuwe metadata heeft round-trip- en migratietests als eis. - [ ] Geen model- of audiobytes gaan naar de bestaande AI-backend zonder een apart toekomstig opt-in ontwerp. ## Bronnen OciDeck: `docs/FILE_FORMAT.md`, `docs/design/AI_ASSIST.md` §1, `docs/design/COLLABORATION.md` §7.1.6; web: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia .
brenno 2026-10-22 21:13:06 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#2509
No description provided.