Tubifarry
Tubifarry is a Lidarr plugin that enhances your music library by fetching music from YouTube, integrating with Slskd for Soulseek access, automating Spotify playlist imports, converting files, and retrieving soundtracks from Radarr and Sonarr.
Install / Use
/learn @TypNull/TubifarryREADME
Tubifarry for Lidarr 🎶
Tubifarry is a plugin for Lidarr that adds multiple music sources to your library management. It uses Spotify's catalog as an indexer to search for music, then downloads the actual audio files from YouTube. Tubifarry also supports Slskd, the Soulseek client, as both an indexer and downloader, allowing you to tap into the vast music collection available on the Soulseek network. 🛠️
Additionally, Tubifarry supports fetching soundtracks from Sonarr (series) and Radarr (movies) and adding them to Lidarr using the Arr-Soundtracks import list feature. This makes it easy to manage and download soundtracks for your favorite movies and TV shows. 🎬🎵 For further customization, Codec Tinker lets you convert audio files between formats using FFmpeg, helping you optimize your library.⚙️
Note: Some details in this documentation may vary from the current implementation.
Table of Contents 📑
- Installation 🚀
- Soulseek (Slskd) Setup 🎧
- YouTube Downloader Setup 🎥
- WebClients 📻
- Fetching Soundtracks 🎬🎵
- Queue Cleaner 🧹
- Codec Tinker 🎛️
- Lyrics Fetcher 📜
- Search Sniper 🏹
- Custom Metadata Sources 🧩
- Similar Artists 🧷
- Troubleshooting 🛠️
Installation 🚀
Follow the steps below to get started.
- In Lidarr, go to
System -> Plugins. - Paste
https://github.com/TypNull/Tubifarryinto the GitHub URL box and click Install.
Soulseek (Slskd) Setup 🎧
Tubifarry supports Slskd, the Soulseek client, as both an indexer and downloader. Follow the steps below to configure it.
Setting Up the Soulseek Indexer:
- Navigate to
Settings -> Indexersand click Add. - Select
Slskdfrom the list of indexers. - Configure the following settings:
- URL: The URL of your Slskd instance (e.g.,
http://localhost:5030). - API Key: The API key for your Slskd instance (found in Slskd's settings under 'Options').
- Include Only Audio Files: Enable to filter search results to audio files only.
- URL: The URL of your Slskd instance (e.g.,
Setting Up the Soulseek Download Client:
- Go to
Settings -> Download Clientsand click Add. - Select
Slskdfrom the list of download clients. - The download path is fetched from slskd, if it does not match use
Remote Pathsettings.
YouTube Downloader Setup 🎥
YouTube Bot Detection ⚠️
YouTube actively detects and blocks automated downloaders. To bypass this, configure the Trusted Session Generator and provide cookie authentication (see setup steps below).
The YouTube downloader extracts audio from YouTube and converts them to audio files using FFmpeg.
Configure the Indexer:
- Navigate to
Settings -> Indexersand click Add. - In the modal, select
Tubifarry(located under Other at the bottom).
Setting Up the YouTube Download Client:
- Go to
Settings -> Download Clientsand click Add. - Select
Youtubefrom the list of download clients. - Set the download path and adjust other settings as needed.
- Optional: If using FFmpeg, ensure the FFmpeg path is correctly configured.
FFmpeg and Audio Conversion:
-
FFmpeg: Required to extract audio from YouTube. The plugin will attempt to download FFmpeg automatically if not found. Without FFmpeg, files will be downloaded in their original format, which Lidarr may cannot properly import.
- Ensure FFmpeg is in your system PATH or specify its location in settings
- Used for extracting audio tracks and converting between formats
-
Audio Quality: YouTube provides audio at various bitrates:
- Standard quality: 128kbps AAC (free users)
- High quality: 256kbps AAC (YouTube Premium required)
- The plugin can convert to other formats (MP3, Opus) using FFmpeg
Web Clients 📻
Tubifarry supports multiple web clients. These are web services that provide music. Some work better than others and Tubifarry is not responsible for the uptime or stability of these services.
Supported Clients
- Lucida - A music downloading service that supports multiple sources.
- DABmusic - A high-resolution audio streaming platform.
- Subsonic - A music streaming API standard with broad compatibility
All clients share the same base architecture, making it relatively straightforward to add new ones. The Subsonic Indexer and Client is a generic client, making it possible for any online service to connect with it. The Subsonic specifications are documented on the API page.
If you have a suggestion to add a web client and the service does not want to support Subsonic as a generic indexer, please open a feature request.
Fetching Soundtracks from Sonarr and Radarr 🎬🎵
Tubifarry also supports fetching soundtracks from Sonarr (for TV series) and Radarr (for movies) and adding them to Lidarr using the Arr-Soundtracks import list feature. This allows you to easily manage and download soundtracks for your favorite movies and TV shows.
To enable this feature:
-
Set Up the Import List:
- Navigate to
Settings -> Import Listsin Lidarr. - Add a new import list and select the option for Arr-Soundtracks.
- Configure the settings to match your Sonarr and Radarr instances.
- Provide a cache path to store responses from MusicBrainz for faster lookups.
- Navigate to
-
Enjoy Soundtracks:
- Once configured, Tubifarry will automatically fetch soundtracks from your Sonarr and Radarr libraries and add them to Lidarr for download and management.
Queue Cleaner 🧹
The Queue Cleaner automatically handles downloads that fail to import into your library. When Lidarr can't import a download (due to missing tracks, incorrect metadata, etc.), Queue Cleaner can rename files based on their embedded tags, retry the import, blocklist the release, or remove the files.
-
Key Options:
- Blocklist: Choose to remove, blocklist, or both for failed imports.
- Rename: Automatically rename album folders and tracks using available metadata.
- Clean Imports: Decide when to clean—when tracks are missing, metadata is incomplete, or always.
- Retry Finding Release: Automatically retry searching for a release if the import fails.
-
How to Enable:
- Navigate to
Settings -> Connectin Lidarr. - Add a new connection and select the Queue Cleaner.
- Configure the settings to match your needs.
- Navigate to
Codec Tinker 🎛️
Codec Tinker automatically converts audio files between formats using FFmpeg when they're imported into your library. You can set up rules to convert specific formats (e.g., convert all WAV files to FLAC, or convert high-bitrate AAC to MP3). Note: Lossy formats (MP3, AAC) cannot be converted to lossless formats (FLAC, WAV) as quality cannot be restored.
How to Enable Codec Tinker
- Go to
Settings > Metadatain Lidarr. - Open the Codec Tinker MetadataConsumer.
- Toggle the switch to enable the feature.
How to Use Codec Tinker
-
Set Default Conversion Settings
-
Target Format: Choose the default format for conversions (e.g., FLAC, Opus, MP3).
-
Custom Conversion Rules: Define rules like
wav -> flac,AAC>=256k -> MP3:300korall -> alacfor more specific conversions. -
Custom Conversion Rules On Artists: Define tags like
opus-192for one specific conversion on all albums of an artist.
Note: Lossy formats (e.g., MP3, AAC) cannot be converted to non-lossy formats (e.g., FLAC, WAV).
-
-
Enable Format-Specific Conversion Toggle checkboxes or use custom rules to enable conversion for specific formats:
- Convert MP3, Convert FLAC, etc.
Lyrics Fetcher 📜
Lyrics Fetcher automatically downloads lyrics for your music files. It fetches synchronized lyrics from LRCLIB and plain lyrics from Genius. Lyrics can be saved as separate .lrc files and embedded directly into the audio files' metadata.
How to Enable Lyrics Fetcher
- Go to
Settings > Metadatain Lidarr. - Open the Lyrics Fetcher MetadataConsumer.
- Toggle the switch to enable the feature.
How to Use Lyrics Fetcher
You can configure the following options:
- Create LRC Files: Enables creating external
.lrcfiles that contain time-synced lyrics. - Embed Lyrics in Audio Files: Instead of (or in addition to) creating separate LRC files, this option embeds the lyrics directly into the audio file's.
- Overwrite Existing LRC Files: When enabled, this will replace any existing LRC files with newly downloaded ones.
Search Sniper 🏹
Search Sniper automatically triggers searches for missing albums in your wanted list. Instead of searching for everything at once, which can overload indexers, it randomly selects a few albums from your wanted list at regular intervals and searches for them. It keeps track of what has been searched recently to avoid repeating searches too often. Search Sniper can be triggered manually from the Tasks tab.
How to Enable Search Sniper
- Go to
Settings > Metadatain Lidarr. - Open the Search Sniper option.
- Configure the following options:
