%TEMP%\LoopbackTranscriber\recording_<date>*.wav and .session.json
Deleted after processing. Any left behind are recovered at startup.
Files for Whisper
%TEMP%\LoopbackTranscriber\*.16k.wav
Deleted at the end of each processing run. Any left behind are deleted when their orphan recording is recovered or, if older than 7 days, when the next recording finishes (processed or kept unprocessed).
Worker process jobs
%TEMP%\LoopbackTranscriber\worker\
<guid>.job.json, <guid>.result.json and <guid>.live.json. Deleted when done.
Re-transcriptions
%TEMP%\LoopbackTranscriber\retranscribe\<guid>\
Deleted when done.
Transcripts folder
Each recording is a folder transcripts\<App>\<App>_<yyyyMMdd_HHmmss>\. Inside it, <base> is that folder's name:
File
Contents
When it exists
<base>.md
The transcript, in Markdown.
Always.
<base>.wav
Copy of the main track.
Always.
<base>_mic.wav
Copy of the microphone track.
If the microphone was recorded.
<base>.recording.json
Microphone offset.
If there is a _mic.wav.
<base>.summary.json
The summary.
If one was generated.
TranscriptHistoryService.LoadFromDisk walks the first-level and second-level folders. A folder is a recording if it contains <folder-name>.md, .txt or .wav. The application and the date come from the name (<App>_<yyyyMMdd>_<HHmmss>). If the name does not follow that pattern, the whole name is used as the application and the folder's modification date as the date. That way recordings from older versions are read too, whether stored directly in transcripts\<base>\ or as .txt.
TranscriptsFolderWatcher watches the folder and its subfolders: files and folders being created, deleted or renamed, not content changes. It reloads the history 500 ms after the last change. If the watcher fails, it is recreated on the next reload.
<base>.md
Part
Format
Example
Header
# <App> - dd/MM/yyyy HH:mm, on the first line
# Teams - 18/10/2026 09:30
Paragraphs
<label>: <text>, one per turn
Participantes: Good morning everyone. · pgomur (Tú): The integration is done.
The viewer does not show the header as part of the conversation.
Paragraphs are separated by a blank line.
The <speaker>: label only appears if the microphone was recorded. The labels are always stored in Spanish. See Composition.
The viewer turns it into messages with TranscriptMessageParser: it drops the header, splits paragraphs on blank lines and recognizes the label with the SpeakerLabels pattern. Messages with your label are aligned to the right.
<base>.recording.json
Key
Type
Meaning
MicStartOffsetTicks
integer
Offset of the microphone relative to the main track, in .NET ticks (100 ns). For example, 1250000 is 0.125 s.
Only present if there is a _mic.wav. Used by re-transcription.
<base>.summary.json
Key
Type
Meaning
Title
text
Summary title. Replaces the application name in the history.
Summary
text
The sections, each with its label in the language it was generated in (Purpose:, Key points:, Goals:…) and its items on lines starting with - .
Temporary files of a recording
File
Contents
recording_<date>.wav
Application track (16-bit PCM, 44.1 kHz, stereo).
recording_<date>_console.wav, _communications.wav
Tracks of the default audio outputs (general and communications), in their native format.
recording_<date>_mic.wav
Microphone, in its native format.
recording_<date>.session.json
AppName, RecordedAt, ProcessStartedUtc, DeviceStartedUtc, MicStartedUtc. Makes recovery possible.
Older versions used the grabacion_ prefix, which is still recognized.