Die Trying · 03

Transcription

One model on the whole session file, then lines a person can read and fix. Who said what is still a manual job.

  1. Record. The DM opens a recorder window. Audio streams to a local master file as the session runs and uploads to R2 when recording stops.
  2. Transcribe. Deepgram Nova-3 on Workers AI reads the audio straight from the R2 binding, boosted with the campaign's keyterms: the names, places and spells the table invented.
  3. Lines. Words are grouped into timed lines and stored in D1, with the raw model output kept in R2. Any line can be corrected or tagged to a character by hand.

[placeholder] Diagram: the transcription pipeline, from recorder to R2 to Nova-3 to timed lines in D1.

Next: speaker separation. The code is written: pyannote runs alongside Nova-3, matches each voice against a voiceprint enrolled for each player, and words are aligned to speaker turns so lines arrive already tagged. It will run in a self-hosted container rather than the hosted pyannoteAI service, and that container has not been built yet.

Screenshot: the session recorder, with a master file picker, a start recording button, a session link, and a campaign keyterm list.
The session recorder. Audio streams to a local file during play and uploads to R2 when recording stops.