Ordinary selection, preview, and cue remapping are covered in Sounds, Tones, and Spatial Cues. Preparing a new pack requires audio files and resource metadata. A pack supplies recordings for registered cue names; the presentation rules decide when those cues occur.
The standard personal discovery root is ~/.emacsvox/sounds/packs/, controlled
by emacsvox-aural-personal-sound-packs-directory. Each immediate child is a
candidate pack, and its directory basename becomes its identifier. Choose an
unused identifier. A directory containing button.ogg is discovered without
a manifest. A partial pack can instead supply the data-only manifest
emacsvox-sound-pack.el and inherit missing cues from another pack.
For example, create my-cues/ below the personal root and put this single
Lisp data form in my-cues/emacsvox-sound-pack.el:
(:schema-version 1 :summary "My personal cues, inheriting the remaining chimes" :parent chimes :default-spatialization neutral)
The file contains data, not executable initialization: do not wrap the form in
setq, quote it, or add a second form. Put a replacement recording such as
button.ogg in the same directory. Its basename names the registered cue.
Unknown cue names fail the resource audit; introducing a new semantic cue
requires an integration to register its intent and use it. Every standalone
sound pack must resolve button, directly or through its declared parent.
The optional :profiles field lists registered cue-coverage requirements.
These are resource validation contracts, distinct from Presentation Profiles
that select a user’s setup. Keep the coverage appropriate to the intended
uses rather than treating a successful single audition as complete coverage.
Default spatialization is neutral, stereo, or pre-spatialized. Use the
last for recordings that already encode their intended spatial placement,
so runtime balance does not position them a second time.
Open Sound packs with C-e H o p and press g to rescan. Inspect the new pack with RET: the replacement should be native, while unchanged cues identify their parent or fallback provider. Audition individual cues with P and validate with v before activating the pack. Missing or malformed assets are errors to resolve, not cues to copy from an unrelated installed pack. No activation follows from writing the directory or previewing it.
The manager’s e edits metadata for discovered packs only.
It replaces the manifest atomically, retains the previous file with a ~
suffix, and restores the old metadata if validation of the refreshed pack
fails. It does not edit recordings. After changing files externally, refresh
the pack; emacsvox-aural-refresh-resource-pack refreshes an already registered
pack, and emacsvox-aural-refresh-discovered-resource-packs rescans discovery
roots. Engine installation, remote sound-directory placement, and user
startup selection remain separate tasks.