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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “Configuration Options”Data Files
Section titled “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
Section titled “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
Section titled “Data File Format”Boundary Data Files
Section titled “Boundary Data Files”The extension requires 3 data files in the extensions/preference-bound/data/ directory:
Upper Boundary (Bounds U.txt)
Section titled “Upper Boundary (Bounds U.txt)”Contains frequency response data for the upper preference boundary:
20.0 2.525.0 2.831.5 3.1...Lower Boundary (Bounds D.txt)
Section titled “Lower Boundary (Bounds D.txt)”Contains frequency response data for the lower preference boundary:
20.0 -2.525.0 -2.831.5 -3.1...Base Target File
Section titled “Base Target File”A reference diffuse field target file (e.g., KEMAR DF (KB006x) Target.txt) used as the baseline for boundary calculations.
Installation
Section titled “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
Basic Operation
Section titled “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
Section titled “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
Section titled “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