Skip to content

Unofficial TIDAL desktop player featuring scientific equal-loudness compensation based on ISO 226:2003. Maintains tonal balance at any listening volume with real-time convolution processing and optional headphone correction.

License

Notifications You must be signed in to change notification settings

grisys83/tidal-loudness-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TIDAL Loudness Player

A professional-grade desktop music player for TIDAL with ISO 226:2003 equal-loudness compensation and advanced audio processing capabilities.

License Platform Electron

⚠️ Legal Disclaimer

This is an unofficial TIDAL client created for educational and personal use. This project:

  • Is NOT affiliated with, endorsed by, or connected to TIDAL or Block, Inc.
  • Uses reverse-engineered API access methods
  • Requires a valid TIDAL subscription to function
  • May stop working if TIDAL changes their API

USE AT YOUR OWN RISK: Using unofficial clients may violate TIDAL's Terms of Service.

🎵 Features

Audio Processing

  • ISO 226:2003 Equal-Loudness Compensation: Professional-grade loudness curve implementation
  • Real-time FIR Filtering: Support for custom headphone correction filters
  • Web Audio API Integration: High-quality audio processing pipeline
  • Spectrum Analyzer: Real-time frequency visualization
  • VU Meters: Professional level monitoring

TIDAL Integration

  • OAuth device flow authentication
  • Full playlist support
  • Search functionality
  • High-quality streaming (based on your TIDAL subscription)
  • Album artwork display

User Interface

  • Dark, professional design inspired by TIDAL's aesthetic
  • Responsive layout
  • Real-time playback controls
  • Playlist management

🚀 Installation

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Valid TIDAL subscription

Setup

  1. Clone the repository:
git clone https://github.com/yourusername/tidal-loudness-player.git
cd tidal-loudness-player
  1. Install dependencies:
npm install
  1. Run the application:
npm start

Building

Build for your platform:

# macOS
npm run build-mac

# Windows
npm run build-win

# Linux
npm run build-linux

Built applications will be in the dist directory.

🎛️ Usage

Authentication

  1. Launch the application
  2. Click "Start Authentication"
  3. Visit the provided URL and enter the device code
  4. Log in with your TIDAL credentials
  5. Return to the app once authenticated

Equal-Loudness Compensation

  • Toggle the loudness compensation with the "Loudness" button
  • Adjust the reference level (60-80 phon) for different listening volumes
  • The compensation adapts in real-time based on the selected curve

Headphone Correction

  • Load custom FIR filter files for headphone correction
  • Supports standard WAV impulse response files
  • Can be combined with loudness compensation

🔧 Technical Details

ISO 226:2003 Implementation

The player implements the full ISO 226:2003 equal-loudness contours standard:

  • Frequency range: 20 Hz to 12.5 kHz
  • Phon levels: 10 to 120 phon
  • Real-time convolution processing
  • Scientifically accurate compensation curves

Audio Pipeline

TIDAL Stream → Loudness Convolver → Headphone Convolver → Master Gain → Output
                       ↓                      ↓
                   [Optional]            [Optional]

Security

  • Context isolation enabled
  • Secure IPC communication
  • Token storage using electron-store
  • No credentials stored in plain text

🤝 Contributing

Contributions are welcome! Please note:

  • This project is for educational purposes
  • Respect TIDAL's service and intellectual property
  • Do not use this code for commercial purposes
  • Follow the existing code style

📄 License

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

🙏 Acknowledgments

  • ISO 226:2003 standard for equal-loudness contours
  • TIDAL for their music streaming service
  • Electron framework developers
  • Web Audio API contributors

⚖️ Fair Use Statement

This project is created for:

  • Educational purposes
  • Personal use
  • Audio engineering research
  • Understanding equal-loudness compensation

It is NOT intended for:

  • Commercial use
  • Bypassing TIDAL's business model
  • Distributing copyrighted content
  • Replacing official TIDAL clients

Note: If you appreciate high-quality music streaming, please support TIDAL with a subscription.

About

Unofficial TIDAL desktop player featuring scientific equal-loudness compensation based on ISO 226:2003. Maintains tonal balance at any listening volume with real-time convolution processing and optional headphone correction.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published