Skip to content
Version v0.35 ยท supported
[WIP] Pending copyedit and approval.

Profile settings

The [profile] section at the top of profile.toml names the profile and sets its defaults. Only name is required. Everything else fills in identity for display, sets fallbacks the commands inherit, and tunes audio output for this profile alone.

Identity

These fields describe the profile. They are free text, shown where the profile is listed and used to reference it.

Field Meaning
name The profile's name. Required. Used to reference the profile.
description A short summary of what the profile is for.
author Who wrote it.
version Your own version string, for your reference.

Defaults

These set fallbacks that individual commands inherit unless they say otherwise.

default_confidence is the recognition confidence floor: how sure the recogniser must be of what it heard before Amri acts on it. It is a number from 0.0 to 1.0, and it defaults to 0.7. A higher value means Amri acts only on clear matches and ignores more borderline speech. A single command can override this with its own confidence.

push_to_talk names the default push-to-talk binding for the whole profile. Push-to-talk gates listening behind a held key. Set here, it applies to every command in the profile unless a category or command overrides it. The value is a binding name (or a list of names) defined in the engine configuration. The full inheritance model is in Push-to-talk.

Per-profile audio

A [profile.audio] section tunes sound output for this profile only. Every field is optional, and omitting the section leaves each at its default.

Field Meaning
output_device The sound output device to use. Omit to use the system default.
default_voice The spoken-output voice, named by its installed name. Omit to use the engine's default voice.
tts_volume Spoken-output volume, 0.0 to 1.0. Default 1.0.
sound_volume Sound-effect volume, 0.0 to 1.0. Default 0.8.
earcons Whether the short confirmation sounds play. true (the default) or false.

Example

A profile with identity, a stricter confidence floor, a profile-wide push-to-talk, and quieter sound effects:

[profile]
name = "elite_dangerous"
description = "Voice commands for Elite Dangerous."
author = "cmdr_smith"
version = "2.1.0"

default_confidence = 0.80    # act only on clear matches
push_to_talk = "uhf"         # every command listens only while UHF is held

[profile.audio]
default_voice = "en_US-libritts_r-medium"
tts_volume    = 1.0
sound_volume  = 0.6
earcons       = true

The trust field does nothing

Older profiles set a trust field under [profile]. Amri still reads it so old files do not break, but it grants no capability and should be left out of new profiles. What a profile is permitted to do is set outside the profile, in your own configuration.