Configure the microphone module
Settings are edited in HEAT Capture’s module settings UI, under HEAT.MicrophoneInput. The
module’s own README describes a PublishRmsLevel setting that publishes microphone level as a
BiometricSensorComponent reading every tick. That setting does not exist in this version, and
no reading of that kind is published at all - peak level is tracked only internally for the
voice-activity threshold below, and shown in the module’s own debug view, not in captured data.
Recording or transcribing audio content is a privacy decision, not only a technical one - see Overview.
Capture mode and device
| Setting | Type | Default | What it controls |
|---|---|---|---|
DeviceId | string | empty (OS default device) | The WASAPI capture device to use. Populated by a scan dropdown in the settings UI. |
CaptureMode | "MicOnly" | "MicPlusDesktopSeparated" | "MicOnly" | MicPlusDesktopSeparated additionally opens the default desktop output device as a second, independent loopback capture (for catching a remote participant’s voice through a call app, for example). Selecting it is what triggers this module to actually open a capture stream at all - see below. |
Voice activity
| Setting | Type | Default | What it controls |
|---|---|---|---|
SilenceThresholdDb | float (dBFS) | -60 | Peak level above which audio counts as active speech. Applied to whichever of the microphone or (if CaptureMode is MicPlusDesktopSeparated) the desktop output is louder at that instant - a loud desktop sound can start an “utterance” on its own, independent of the microphone. |
SilenceGapMs | integer (ms) | 500 | Continuous silence, after speech, required before an utterance is considered finished. |
Recording and transcription
Turning on either of these is what makes this module open an actual audio capture stream at
all - with both off, and CaptureMode left at its default, it never buffers or reads a single
raw audio sample, only the WASAPI peak meter used for voice-activity detection above.
| Setting | Type | Default | What it controls |
|---|---|---|---|
EnableAudioInComms | boolean | false | Attaches the utterance’s own raw PCM audio, base64-encoded, to a published event when the utterance ends. See Data produced for the exact shape. |
EnableTranscription | boolean | false | Runs the utterance’s audio through a local Whisper model and publishes the transcript text as its own event. Loads the model at session start; a missing or unreadable model file fails module startup outright, it does not silently skip transcription. |
ModelPath | string | "models/ggml-base.bin" | Path to the Whisper GGML model file. Relative paths resolve from the module’s own installed location, not the working directory. |
Language | string | "auto" | BCP-47 language code for transcription, or "auto" to let Whisper detect it. |
Other
| Setting | Type | Default | What it controls |
|---|---|---|---|
DebugLogs | boolean | false | Logs every peak-meter read failure and session-enumeration failure, not only the first. |
This module also exposes the generic settings every HEAT Capture module has (Enabled,
Interval, OverrideNodeId/NodeId, Timeout) - see
Manage capture modules.