Skip to main content

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

PropertyValue
Extension Namepreference-bound
Version1.0.0
Minimum Core API Level1
Minimum Core Version1.0.0
I18N SupportYes

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 loads
  • COLOR_FILL: RGBA color for the filled boundary area
  • COLOR_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

  1. Add the preference-bound folder to your extensions directory
  2. 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)
  3. Add the configuration to extensions/extensions.config.js
  4. Enable the extension by setting ENABLED: true
  5. Restart modernGraphTool to load the extension

Usage

Basic Operation

  1. Toggle Control: Use the extension's toggle button to show/hide boundaries
  2. Target Alignment: Boundaries automatically align with the selected base target
  3. 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.