phase-2-transcription #1

Merged
florian merged 2 commits from phase-2-transcription into main 2026-10-05 11:56:24 +02:00
Owner
No description provided.
Settings gain a speech-to-text section: API dialect (OpenAI-compatible,
Deepgram, ElevenLabs), endpoint, API key, model, language and speaker
detection. The key is encrypted with an AES-GCM key held in the Android
Keystore. Plain HTTP is allowed for self-hosted servers, with a warning.

Once configured, recordings can be transcribed from the list or detail
screen after confirming the destination host. Uploads run in a dataSync
foreground service with progress, cancel and a result notification.
The transcript is saved as Markdown with timestamps and speaker labels
where the API provides them: next to the audio in a user-picked folder,
or in Documents/PeggyPad for the default MediaStore folder.

The list shows when a recording was transcribed. Deleting a recording
with a transcript asks whether to keep it; if kept, only the audio is
removed and the entry stays listed as "Transcript only".

Adds the INTERNET permission (used only for transcription the user
starts), Room schema v2 (auto-migrated), and unit tests for response
parsing and Markdown output.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Default folder is now Documents/PeggyPad (via the MediaStore Files
collection), the only shared location MediaStore lets the app fill with
both audio and text, so transcripts sit next to their recordings.
Recordings in the old Recordings/ or Music/PeggyPad folders are moved
there once on upgrade; files the app no longer owns stay put.

Switching the recordings folder no longer releases the old folder's
grant. Grants are released only once no recording or transcript lives
in that folder. Recordings whose folder access was lost (e.g. through
the old behaviour) are flagged in the list, and the detail screen
offers to restore access by picking that folder again. The system
picker now opens in the right folder (it needs a document URI, not a
tree URI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
florian deleted branch phase-2-transcription 2026-10-05 11:56:24 +02:00
Sign in to join this conversation.
No reviewers
No labels
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
florian/peggypad!1
No description provided.