Skip to content

Bukutsu/tp35pro-eq

Repository files navigation

TP35 Pro EQ

A native desktop parametric equalizer editor for the EPZ TP35 Pro DAC/AMP.

Platform Stack License

TP35 Pro EQ Screenshot
EPZ TP35 Pro

Designed specifically for the hardware PEQ of the EPZ TP35 Pro

TP35 Pro EQ provides precise, real-time control over the parametric equalizer of the EPZ TP35 Pro. It communicates directly with the hardware over USB HID, bypassing the need for generic audio middleware or proprietary Windows-only software.

Features

  • Hardware Control: Edit 10 bands of parametric EQ (Peaking, Low-Shelf, High-Shelf) and global preamp gain.
  • Persistent Storage: Save your equalizer configuration directly to the DAC's flash memory.
  • Profile Management: Import and export standard .txt EQ profiles compatible with AutoEQ and Room EQ Wizard (REW).
  • Cross-Platform: Native builds for Linux, Windows, and macOS.

Installation

Download the latest release for your operating system from the Releases page.

Windows

Download and run the provided .exe installer.

macOS

Download and mount the .dmg file, then drag the application to your Applications folder.

Linux

Download the native binary executable.

Linux Runtime Dependencies

To run the pre-compiled binary on Linux, you must have the appropriate WebKit and USB HID libraries installed on your system.

Ubuntu / Debian:

sudo apt install libwebkit2gtk-4.1-0 libayatana-appindicator3-1 libhidapi-hidraw0

Arch Linux:

sudo pacman -S webkit2gtk-4.1 libayatana-appindicator hidapi

Linux USB Permissions (udev rules)

By default, Linux restricts direct access to USB HID devices. To allow the application to communicate with the DAC without requiring root (sudo) privileges, you must configure a udev rule.

  1. Create a new udev rule file:
echo 'SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3302", ATTRS{idProduct}=="43e6", MODE="0666"' | sudo tee /etc/udev/rules.d/99-tp35pro.rules
  1. Reload the udev rules and trigger them (or unplug and replug your DAC):
sudo udevadm control --reload-rules && sudo udevadm trigger

Development

The application is built with Tauri v2, separating the USB HID communication and DSP calculations (Rust) from the user interface (React/TypeScript).

Prerequisites

  • Rust toolchain
  • Node.js (v18 or higher)
  • Linux Build Headers:
    • Ubuntu/Debian: sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev libhidapi-dev
    • Arch Linux: sudo pacman -S webkit2gtk-4.1 libayatana-appindicator base-devel hidapi
  • Windows: Visual Studio Build Tools 2022 with the "Desktop development with C++" workload.

Building from Source

git clone https://github.com/Bukutsu/tp35pro-eq.git
cd tp35pro-eq
npm install

# Start the development server and desktop application
npm run dev:desktop

# Compile a release build
npm run build:desktop

Hardware Protocol

The EPZ TP35 Pro communicates over USB HID (Vendor: 0x3302, Product: 0x43E6) using fixed-width 64-byte packets.

  • 0x01: Read firmware version
  • 0x04: Write a single PEQ filter band
  • 0x05: Set global preamp gain
  • 0x0A: Commit changes to temporary memory
  • 0x0B: Persist current EQ to flash storage

All DSP calculations (converting frequency, Q, and gain into biquad IIR coefficients) are handled safely in src-tauri/src/dsp.rs before transmission.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Native cross-platform parametric EQ editor for the EPZ TP35 Pro DAC. Direct hardware control over USB HID using Tauri v2, Rust, and React.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors