summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/easyeffects-eq-presets.org47
-rwxr-xr-xassets/easyeffects-eq-presets.sh63
2 files changed, 110 insertions, 0 deletions
diff --git a/assets/easyeffects-eq-presets.org b/assets/easyeffects-eq-presets.org
new file mode 100644
index 0000000..37f6478
--- /dev/null
+++ b/assets/easyeffects-eq-presets.org
@@ -0,0 +1,47 @@
+#+TITLE: EasyEffects EQ Presets - Installation Guide
+#+DATE: 2026-01-28
+
+* Overview
+
+Three parametric EQ presets targeting the Harman frequency response curve, formatted for EasyEffects (PipeWire).
+
+| Preset File | Headphone | Source | Bands | Preamp |
+|-----------------------------------+------------------------------+----------------------------+-------+---------|
+| dt770-pro-250-harman-eq.json | Beyerdynamic DT 770 Pro 250 | oratory1990 (hand-tuned) | 9 | -4.7 dB |
+| pxc-550-ii-harman-eq.json | Sennheiser PXC 550-II | AutoEQ / oratory1990 meas. | 10 | -3.0 dB |
+| pixel-buds-pro-2-harman-eq.json | Google Pixel Buds Pro 2 | AutoEQ / DHRME meas. | 10 | -2.8 dB |
+
+* Prerequisites
+
+- PipeWire (replaces PulseAudio)
+- pipewire-pulse
+- EasyEffects (~sudo pacman -S easyeffects~)
+
+* Programmatic Install
+
+#+begin_src sh
+./easyeffects-eq-presets.sh install
+#+end_src
+
+Or manually:
+
+#+begin_src sh
+mkdir -p ~/.config/easyeffects/output
+cp *.json ~/.config/easyeffects/output/
+#+end_src
+
+* Manual Usage
+
+1. Open EasyEffects (search in app launcher or run ~easyeffects~)
+2. Go to the *Output* tab (speaker icon, top left)
+3. Click the *Presets* dropdown (top bar)
+4. Select the preset matching your current headphone
+5. Switch presets when you switch headphones
+
+* Notes
+
+- EasyEffects applies EQ system-wide to whatever PipeWire output is active, including Bluetooth
+- Switch presets when switching between headphones — using the wrong preset will sound worse than no EQ
+- The DT 770 preset is for the 250 Ohm version specifically (other impedance variants have different frequency responses)
+- The PXC 550-II and Pixel Buds Pro 2 presets are AutoEQ-generated (algorithmically computed from measurements), not hand-tuned by oratory1990
+- To start EasyEffects minimized at login: ~easyeffects --gapplication-service~
diff --git a/assets/easyeffects-eq-presets.sh b/assets/easyeffects-eq-presets.sh
new file mode 100755
index 0000000..40e9cd9
--- /dev/null
+++ b/assets/easyeffects-eq-presets.sh
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+# Install EasyEffects parametric EQ presets (Harman target)
+#
+# Presets:
+# dt770-pro-250-harman-eq.json - Beyerdynamic DT 770 Pro 250 Ohm (oratory1990)
+# pxc-550-ii-harman-eq.json - Sennheiser PXC 550-II (AutoEQ/oratory1990)
+# pixel-buds-pro-2-harman-eq.json - Google Pixel Buds Pro 2 (AutoEQ/DHRME)
+#
+# Prerequisites: easyeffects, pipewire, pipewire-pulse
+#
+# Usage: ./easyeffects-eq-presets.sh [install|uninstall]
+
+set -euo pipefail
+
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+PRESET_DIR="${HOME}/.config/easyeffects/output"
+
+PRESETS=(
+ "dt770-pro-250-harman-eq.json"
+ "pxc-550-ii-harman-eq.json"
+ "pixel-buds-pro-2-harman-eq.json"
+)
+
+install_presets() {
+ # Ensure easyeffects is installed
+ if ! command -v easyeffects &>/dev/null; then
+ echo "easyeffects not found. Installing..."
+ sudo pacman -S --needed --noconfirm easyeffects
+ fi
+
+ mkdir -p "$PRESET_DIR"
+
+ for preset in "${PRESETS[@]}"; do
+ if [[ -f "${SCRIPT_DIR}/${preset}" ]]; then
+ cp "${SCRIPT_DIR}/${preset}" "${PRESET_DIR}/${preset}"
+ echo "Installed: ${preset}"
+ else
+ echo "Warning: ${preset} not found in ${SCRIPT_DIR}" >&2
+ fi
+ done
+
+ echo ""
+ echo "Presets installed to ${PRESET_DIR}"
+ echo "Open EasyEffects and select a preset from the dropdown."
+}
+
+uninstall_presets() {
+ for preset in "${PRESETS[@]}"; do
+ if [[ -f "${PRESET_DIR}/${preset}" ]]; then
+ rm "${PRESET_DIR}/${preset}"
+ echo "Removed: ${preset}"
+ fi
+ done
+}
+
+case "${1:-install}" in
+ install) install_presets ;;
+ uninstall) uninstall_presets ;;
+ *)
+ echo "Usage: $0 [install|uninstall]" >&2
+ exit 1
+ ;;
+esac