-
Notifications
You must be signed in to change notification settings - Fork 0
Profiles
VxSound profiles store channel-level sound tuning separately from personal listening data.
Current schema v4 can include:
- profile ID and name;
- category and description;
- EQ mode:
GraphicorParametric; - ten left/stereo graphic-EQ bands for graphic mode and compatibility/reference data;
- optional independent right-channel graphic bands;
- profile preamp;
- zero to 32 semantic parametric filters;
- Bass, Treble and Fullness values;
- provenance metadata.
Each parametric filter stores a stable local ID, enabled state, filter type, frequency, gain, Q and channel target. Supported types are Peak, Low Shelf, High Shelf, High Pass, Low Pass and Notch.
Personal headset binding, guided-listening history and personal left/right correction are intentionally separate from shareable sound-profile JSON.
- schema 1: original shared 10-band profile;
- schema 2: optional independent right-channel bands;
- schema 3: provenance metadata;
- schema 4: EQ mode, profile preamp and parametric filters.
Schemas 1–3 remain accepted. They are validated using their original constraints and then copied into schema 4. Legacy graphic profiles remain graphic; import does not silently reinterpret them as a different parametric curve.
Built-in profiles are editable starting points. Their source is recorded as VxSound and their project-owned material follows the repository's MIT license.
Game presets use parametric runtime filters while retaining their documented 10-band research/reference values. Selected Music, Film and Voice profiles are also authored directly as parametric filters.
To keep a change, save a custom copy rather than treating a built-in preset as permanent mutable state.
User profiles are stored under:
%LOCALAPPDATA%\VxSound\profiles
Profile files are validated when loaded. Corrupt/invalid files are skipped rather than silently accepted.
JSON import validates schema, identity shape and parameter ranges. Imported profile IDs are regenerated so an uploaded file cannot silently overwrite an existing profile. Parametric filter IDs are regenerated as well so imported filters cannot reuse local filter identity accidentally.
Older/external JSON without provenance metadata is treated conservatively as external local-only material.
VxSound validates the profile before export. Profiles whose provenance is marked local-only are blocked from the normal export path when redistribution has not been cleared.
This guard is designed to reduce accidental redistribution. It is not a rights-management system and cannot prove that an external file is legally reusable.
ExternalProfileImport can project a set of numerical frequency/gain points onto VxSound's ten graphic-EQ reference bands using log-frequency interpolation. The layer is deliberately vendor-neutral.
Input points are validated for:
- finite values;
- supported frequency bounds;
- gain bounds;
- duplicate frequencies;
- minimum/maximum point count.
Projection does not change the rights attached to the supplied data. A later importer can choose to create semantic parametric filters directly when the source format actually contains frequency/Q/type information.
A profile provenance record can include:
KindSourceReferenceLicenseRedistributionCleared
When creating importers or tools around profile files, preserve provenance instead of stripping it.
Profile validation rejects malformed arrays, duplicate parametric filter IDs, unsupported filter/channel enums, unsupported schema versions, non-finite values and values outside frequency/gain/Q/preamp limits.
Filters above the usable range of the active sample rate are skipped when a filter plan is built rather than being clamped to a different frequency. DSP auto-headroom is separate from file validation and handles the combined response during processing.
See the asset and provenance policy for project rules around external data.