Preference Bound Extension
An advanced visualization extension that displays preference boundary on frequency response graphs, helping users understand the acceptable variation ranges in FR.
Overview
The Preference Bound extension adds a sophisticated overlay feature to modernGraphTool that visualizes preference boundaries around target curves.
These boundaries represent the statistically acceptable range of frequency response variations that most listeners find pleasant, based on research data and listening preferences.
Features
- Preference Bound: Display upper and lower preference bounds
- Customizable Appearance: Adjustable colors, transparency, and styling
- Target Integration: Works with diffuse field targets for accurate baseline reference
Technical Specifications
| Property | Value |
|---|---|
| Extension Name | preference-bound |
| Version | 1.0.0 |
| Minimum Core API Level | 1 |
| Minimum Core Version | 1.0.0 |
| I18N Support | Yes |
Configuration
{
NAME: "preference-bound",
DESCRIPTION: "preference bound overlay for modernGraphTool",
ENABLED: true,
I18N_ENABLED: true,
CONFIG: {
// Boundary data file configuration
BOUND_DATA_FILE: "Bounds", // Base filename for boundary data
BASE_DF_TARGET_FILE: "KEMAR DF (KB006x) Target", // Base diffuse field target
// Visual configuration
ENABLE_BOUND_ON_INITIAL_LOAD: true, // Show bounds when extension loads
COLOR_FILL: "rgba(180, 180, 180, 0.2)", // Fill color for boundary area
COLOR_BORDER: "rgba(120, 120, 120, 0.2)", // Border color for boundary lines
}
}
Configuration Options
Data Files
BOUND_DATA_FILE: Base name for boundary data files (e.g., "Bounds" looks for "Bounds U.txt" and "Bounds D.txt")BASE_DF_TARGET_FILE: Reference diffuse field target file for baseline calculations
Visual Settings
ENABLE_BOUND_ON_INITIAL_LOAD: Whether to show boundaries when the extension first loadsCOLOR_FILL: RGBA color for the filled boundary areaCOLOR_BORDER: RGBA color for the boundary outline
Data File Format
Boundary Data Files
The extension requires 3 data files in the extensions/preference-bound/data/ directory:
Upper Boundary (Bounds U.txt)
Contains frequency response data for the upper preference boundary:
20.0 2.5
25.0 2.8
31.5 3.1
...
Lower Boundary (Bounds D.txt)
Contains frequency response data for the lower preference boundary:
20.0 -2.5
25.0 -2.8
31.5 -3.1
...
Base Target File
A reference diffuse field target file (e.g., KEMAR DF (KB006x) Target.txt) used as the baseline for boundary calculations.
Installation
- Add the
preference-boundfolder to yourextensionsdirectory - Place boundary data files in
extensions/preference-bound/data/:Bounds U.txt(upper boundary)Bounds D.txt(lower boundary)- Base target file (e.g.,
KEMAR DF (KB006x) Target.txt)
- Add the configuration to
extensions/extensions.config.js - Enable the extension by setting
ENABLED: true - Restart modernGraphTool to load the extension
Usage
Basic Operation
- Toggle Control: Use the extension's toggle button to show/hide boundaries
- Target Alignment: Boundaries automatically align with the selected base target
- Real-time Updates: Boundaries update when changing targets or measurements
Visual Interpretation
- Filled Area: The area between upper and lower bounds represents the preference range
- Target Baseline: Boundaries are relative to the selected diffuse field target
- Measurement Overlay: Compare headphone measurements against preference boundaries
Third-party Acknowledgments
This extension includes the d3-interpolate-path library by pbeshai.
- Repository: https://github.com/pbeshai/d3-interpolate-path
- License: BSD-3-Clause License