thomas.kopp
8ec9044c75
fix: whisper repetition loops, meeting transcript punctuation
...
- transcription: add temperature_inc=0 to whispercpp to disable fallback (prevents loops)
- pipeline: punctuate meeting transcript in one pass (parallel with summarize)
- output: write_meeting_docs accepts pre-built transcript_text
- llm: punctuate prompt preserves speaker labels
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 12:34:11 +02:00
thomas.kopp
658f9be47f
fix: punctuate raw transcript, strip JSON code fences, filter null speaker names
...
- llm: punctuate() adds punctuation/capitalisation without changing words
- llm: _strip_code_fences() handles markdown-wrapped JSON from gemma3
- llm: filter string 'null' from identify_speakers result
- pipeline: punctuate raw_text in parallel with refine for solo recordings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 12:23:25 +02:00
thomas.kopp
336628341b
feat: AI-generated title+tldr, subfolder structure, backlinks in transkript/zusammenfassung
...
- llm: generate_title_and_tldr() returns concise title and 2-3 sentence summary
- output: index in root, transkript+zusammenfassung in {base}/ subdir with backlinks
- pipeline: call generate_title_and_tldr for both solo and meeting recordings
- router: mirror subdir structure when copying to Obsidian vault
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 12:07:54 +02:00
thomas.kopp
06f7361004
feat: write 3 files per solo recording (index + transkript + zusammenfassung)
...
- pipeline: call write_solo_docs() instead of save_transcript(); broadcast paths dict
- router: /open accepts paths list for Obsidian mode, copies all 3 files to vault
- app.js: store _modalPaths from saved event; Obsidian button sends all paths
- tests: test_write_solo_docs_creates_three_files added
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-02 11:10:28 +02:00
thomas.kopp
7e0851fc95
fix: pass whisper backend to solo pipeline transcribe_file call
2026-04-02 09:18:20 +02:00
thomas.kopp
c7cad4bb2a
feat: add whisper.cpp ROCm backend support for AMD GPU acceleration
...
- transcription.py: new _transcribe_remote_whispercpp() using /inference endpoint
- transcription.py: backend param routes to openai or whispercpp remote path
- config.py: whisper.backend default 'openai', alt 'whispercpp'
- pipeline.py: passes backend from config to transcribe_file
- settings: backend dropdown (OpenAI-compat / whisper.cpp)
- SETUP.md: whisper.cpp ROCm build and systemd setup instructions
whisper-cpp-server running on beastix :8080 (ROCm0, gfx1030, RX 6800 XT)
2026-04-02 01:33:32 +02:00
thomas.kopp
e04816fce6
feat: meeting pipeline — parallel diarization, speaker ID, 3-doc output
2026-04-02 01:13:24 +02:00
thomas.kopp
8300851e77
feat: remote Whisper via whisper.base_url — OpenAI-compatible upload
2026-04-01 20:28:31 +02:00
thomas.kopp
6e317a9c67
fix: error state resettable via mic click, debug logging, pipeline traceback
2026-04-01 12:41:45 +02:00
thomas.kopp
319db8c788
feat: API router + pipeline — toggle, status, transcripts, WebSocket, auth stub
2026-04-01 02:26:47 +02:00