Skip to content

trebor048/TidalCord-IR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎡 TidalCord

A powerful, feature-rich Discord music bot that streams high-quality music from Tidal to your Discord server.

Python Discord.py Tidal API License


πŸ“‹ Table of Contents


✨ Features

  • 🎡 High-Quality Streaming: Stream lossless music from Tidal directly to Discord
  • πŸ” Smart Track Resolution: Automatically find Tidal tracks from YouTube links, Spotify URLs, or search queries
  • 🎚️ Advanced DSP Effects: Built-in equalizer, bass boost, reverb, and convolution reverb (IR files)
  • 🎀 Voice Commands: Control the bot with voice commands using Whisper AI
  • πŸ“± Cross-Platform: Works on Windows, Linux, and macOS
  • πŸ’Ύ Smart Caching: Intelligent caching system with automatic cleanup
  • πŸ”„ Queue Management: Advanced queue features with looping, shuffling, and history
  • πŸ“Š Last.fm Integration: Automatic scrobbling and now-playing updates
  • πŸŽ›οΈ Real-time Controls: Seek, volume control, and live playback adjustments
  • πŸ€– Auto-DJ: Intelligent playlist continuation when queue is empty

⚠️ Disclaimer

TidalCord may violate the terms of service of Tidal, YouTube, and/or other third-party services. By using this software, you accept full responsibility for any potential issues, including account bans or other consequences. The maintainers of this project are not responsible for any misuse or violations of third-party terms of service.


πŸ”§ Requirements


πŸš€ Quick Start

Installation

  1. Clone the repository:

    git clone https://github.com/MrSpookyAngel/TidalCord.git
    cd TidalCord
  2. Create a virtual environment:

    python -m venv venv
    # On Windows:
    venv\Scripts\activate
    # On Linux/macOS:
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt

Configuration

  1. Get your Discord bot token:

  2. Configure the bot:

    • Copy config.json and modify settings as needed
    • The bot will prompt for your Discord token on first run

First-Time Setup

  1. Run the bot:

    python main.py
  2. Authenticate with Tidal:

    • The bot will display an authentication URL
    • Visit the URL and log into your Tidal Premium account
    • Enter the authorization code when prompted
  3. Invite the bot to your server:

    • Use the OAuth2 URL generator in Discord Developer Portal
    • Give the bot these permissions:
      • Send Messages
      • Use Slash Commands
      • Connect
      • Speak
      • Use Voice Activity

🎢 Usage

Basic Commands

Command Description Example
!play <query> Play music from Tidal, YouTube, or search !play despacito
!pause Pause current playback !pause
!resume Resume playback !resume
!skip Skip current track !skip
!stop Stop playback and clear queue !stop
!queue Show current queue !queue
!nowplaying Show current track info !nowplaying
!volume <0-100> Set playback volume !volume 75

Advanced Features

Command Description Example
!seek <time> Seek to specific time !seek 2:30
!loop Toggle single track loop !loop
!loopqueue Toggle queue loop !loopqueue
!shuffle Shuffle the current queue !shuffle
!clear Clear the queue !clear
!favorites Show your favorite tracks !favorites
!history Show recently played tracks !history

DSP Effects

Command Description Example
!eq <band> <gain> Adjust equalizer bands !eq 1000 3
!bass <gain> Set bass boost !bass 5
!reverb <level> Adjust reverb level !reverb 0.7
!ir <file> Load impulse response file !ir concert_hall.wav
!dsp reset Reset all DSP effects !dsp reset

🎀 Voice Commands

Control TidalCord hands-free using voice commands powered by OpenAI's Whisper.

Setup

  1. Install voice dependencies:

    pip install openai-whisper numpy pydub
  2. Configure in config.json:

    {
      "voice_commands_enabled": true,
      "whisper_model": "base",
      "voice_command_confidence": 0.7
    }
  3. Enable voice commands:

    !voicecommands on

Available Commands

Voice Command Action
"play [song]" Play a song by name
"pause" Pause playback
"resume" Resume playback
"skip" Skip current track
"stop" Stop playback
"volume up/down" Adjust volume
"what's playing" Get current track info
"queue" Show current queue
"clear queue" Clear the queue

Tips

  • Speak clearly and at normal volume
  • Use the command !voicecommands off to disable
  • Voice commands only work for the user who enabled them
  • Best results in quiet environments

βš™οΈ Configuration

Key configuration options in config.json:

{
  "discord_token": "your_bot_token_here",
  "command_prefix": "!",
  "default_volume": 35,
  "max_queue_size": 300,
  "cache_size_mb": 10240,
  "voice_commands_enabled": false,
  "lastfm_enabled": false,
  "rename_voice_channel": false
}

See the full configuration documentation for all options.


πŸ” Troubleshooting

Common Issues

Bot doesn't respond to commands:

  • Check that the bot has proper permissions in your server
  • Verify the command prefix in config.json
  • Ensure the bot is online and connected

No audio playback:

  • Verify FFmpeg is installed and in PATH
  • Check that you're in a voice channel
  • Ensure the bot has voice permissions

Tidal authentication fails:

  • Verify you have a Tidal Premium account
  • Try re-authenticating: delete data/tidal_token.json
  • Check your internet connection

Voice commands don't work:

  • Install whisper dependencies: pip install openai-whisper
  • Check your microphone permissions
  • Try a smaller Whisper model for better performance

Debug Mode

Enable debug logging by setting environment variable:

export TIDALCORD_DEBUG=1
python main.py

🀝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Setup

git clone https://github.com/your-username/TidalCord.git
cd TidalCord
python -m venv venv
source venv/bin/activate  # or venv\Scripts\activate on Windows
pip install -r requirements.txt
cp config.json.example config.json
# Edit config.json with your tokens
python main.py

πŸ“„ License

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


πŸ™ Credits

Original Author: MrSpookyAngel

Contributors:

  • Community contributors and maintainers

Libraries Used:


Made with ❀️ for the Discord music community

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors