Skip to content

Parameters

Parameters are project-authored extension settings. A package declares their schema; Amadeus displays the supported fields in the Inspector and saves the selected values with the voice.

FactoryValueRequired information
param.boolean()booleandefault; optional label, help, and cache scope
param.integer()Integral numberdefault; optional bounds, step, label, help, and cache scope
param.number()numberdefault; optional bounds, step, label, help, and cache scope
param.string()stringdefault; optional label, help, and cache scope
param.choice()One stable string valueordered choices, default, and optional label, help, and cache scope

Every user-facing numeric field should include its physical or musical unit in the label, such as Depth (cents), Rate (Hz), or Window (ms).

.params(
{
depth: param.number({
default: 25,
min: 0,
max: 100,
step: 1,
label: "Depth (cents)",
help: "Peak pitch displacement. 0 = off.",
cacheScope: "f0_and_later",
}),
},
{ label: "Example processor", stages: ["pitch"] },
)

This declaration produces a Pitch-mode Inspector group. If the user changes Depth, Amadeus treats the pitch result and later output as requiring a new bake.

For every field, package documentation should state:

  1. display label and stable key;
  2. type, unit, default, range, and step;
  3. the condition under which the field has an effect;
  4. the result of increasing, decreasing, enabling, or disabling it;
  5. its neutral value and relevant interaction with other fields.

The help string should remain concise because Amadeus presents it as a hover tooltip. Put extended examples and interactions in the package documentation.

Each .params() call creates one Inspector group. label names the group, and stages selects the editor modes in which it is relevant.

StageTypical use
planLyrics, pronunciation, note relationships, or planning display
timingPhone display and timing-related settings
pitch or f0Pitch expression or F0 processing
melAcoustic-representation settings
stemVoice-audio generation settings
mixAudition or mix-only settings

cacheScope declares the earliest render result that may become incompatible when the field changes. Select the earliest stage the parameter can affect.

ScopeUser-visible consequence after a change
timing_and_laterTiming, pitch, acoustic, and audio results require renewal.
f0_and_laterPitch and later results require renewal.
mel_and_laterAcoustic and audio results require renewal.
stem_and_laterVoice audio requires renewal.
mix_onlyOnly the audition mix requires renewal.

An incorrectly narrow scope may leave the user evaluating an incompatible earlier result.

The note parameter scope is reserved for per-note extension values. Do not depend on it unless the target Amadeus release explicitly documents support. Use global voice parameters for currently portable packages.