2021-08-28 15:31:36 +02:00
<!-- PROJECT INTRO -->
2022-05-02 19:11:32 +02:00
OrpheusDL - TIDAL
2021-08-28 15:31:36 +02:00
=================
2022-05-02 19:11:32 +02:00
A TIDAL module for the OrpheusDL modular archival music program
2021-08-28 15:31:36 +02:00
2022-01-20 01:05:30 +01:00
[Report Bug ](https://github.com/Dniel97/orpheusdl-tidal/issues )
2021-08-28 15:31:36 +02:00
·
2022-01-20 01:05:30 +01:00
[Request Feature ](https://github.com/Dniel97/orpheusdl-tidal/issues )
2021-08-28 15:31:36 +02:00
## Table of content
2022-05-02 19:11:32 +02:00
- [About OrpheusDL - TIDAL ](#about-orpheusdl---tidal )
2021-08-28 15:31:36 +02:00
- [Getting Started ](#getting-started )
- [Prerequisites ](#prerequisites )
- [Installation ](#installation )
2023-01-16 14:38:12 +01:00
- [Updating ](#updating )
2021-08-28 15:31:36 +02:00
- [Usage ](#usage )
- [Configuration ](#configuration )
- [Global ](#global )
2022-05-02 19:11:32 +02:00
- [TIDAL ](#tidal )
2021-08-28 15:31:36 +02:00
- [Contact ](#contact )
- [Acknowledgements ](#acknowledgements )
<!-- ABOUT ORPHEUS -->
2022-05-02 19:11:32 +02:00
## About OrpheusDL - TIDAL
2021-08-28 15:31:36 +02:00
2022-05-02 19:11:32 +02:00
OrpheusDL - TIDAL is a module written in Python which allows archiving from * * [tidal.com ](https://listen.tidal.com )** for the modular music archival program.
2021-08-28 15:31:36 +02:00
<!-- GETTING STARTED -->
## Getting Started
Follow these steps to get a local copy of Orpheus up and running:
### Prerequisites
* Already have [OrpheusDL ](https://github.com/yarrm80s/orpheusdl ) installed
### Installation
2023-01-16 14:38:12 +01:00
1. Go to your already cloned `orpheusdl/` directory and run the following command:
2021-08-28 15:31:36 +02:00
```sh
2025-05-16 20:58:55 -03:00
git clone --recurse-submodules https://code.ovosimpatico.com/mttw/orpheusdl-tidal.git modules/tidal
2021-08-28 15:31:36 +02:00
```
2. Execute:
```sh
2021-09-10 03:07:11 +02:00
python orpheus.py
2021-08-28 15:31:36 +02:00
```
2022-05-02 19:11:32 +02:00
3. Now the `config/settings.json` file should be updated with the [TIDAL settings ](#tidal )
2021-08-28 15:31:36 +02:00
2023-01-16 14:38:12 +01:00
### Updating
1. Go to your already cloned `orpheusdl/` directory and run the following command:
```sh
git -C modules/tidal pull
```
2. Execute to update your already existing TIDAL settings (if needed):
```sh
python orpheus.py
```
3. Now the `config/settings.json` file should be updated with the new updated [TIDAL settings ](#tidal )
2021-08-28 15:31:36 +02:00
<!-- USAGE EXAMPLES -->
## Usage
Just call `orpheus.py` with any link you want to archive:
```sh
python orpheus.py https://tidal.com/browse/album/92265334
```
<!-- CONFIGURATION -->
## Configuration
You can customize every module from Orpheus individually and also set general/global settings which are active in every
loaded module. You'll find the configuration file here: `config/settings.json`
### Global
2022-01-20 01:05:30 +01:00
```json5
2021-08-28 15:31:36 +02:00
"global": {
"general": {
2022-01-20 01:05:30 +01:00
// ...
2024-02-12 21:41:45 +01:00
"download_quality": "hifi"
2021-08-28 15:31:36 +02:00
},
2021-09-21 02:13:42 +02:00
"formatting": {
2022-01-20 01:05:30 +01:00
"album_format": "{artist}/{name}{quality}{explicit}"
// ...
2021-09-21 02:13:42 +02:00
},
2021-09-04 20:18:08 +02:00
"codecs": {
"proprietary_codecs": false,
"spatial_codecs": true
},
2022-01-20 01:05:30 +01:00
"covers": {
"main_resolution": 1400
// ...
}
// ...
2021-09-21 02:13:42 +02:00
}
2021-08-28 15:31:36 +02:00
```
2024-02-12 21:41:45 +01:00
#### `download_quality`
2021-08-28 15:31:36 +02:00
2024-02-12 21:41:45 +01:00
Choose one of the following settings:
| Quality | Info |
|------------|--------------------------------------------------------------------------------------|
| `hifi` | FLAC up to 192/24 **or ** MQA (FLAC) up to 48/24 when `proprietary_codecs` is enabled |
| `lossless` | FLAC with 44.1/16 (is MQA if the album is available in MQA) |
| `high` | same as `medium` |
| `medium` | AAC 320 kbit/s |
| `low` | same as `minimum` |
| `minimum` | AAC 96 kbit/s |
**Note: HiRes will ALWAYS be preferred instead of MQA!**
#### `album_format`
2021-09-21 02:13:42 +02:00
* `{quality}` will add
```
[Dolby Atmos]
[360]
[M]
```
2022-05-02 19:11:32 +02:00
depending on the album quality (with a space in at the first character)
2021-09-21 02:13:42 +02:00
* `{explicit}` will add
```
[E]
```
2022-09-08 21:48:30 +02:00
to the album path (with a space at the first character)
2021-09-21 02:13:42 +02:00
2021-09-04 20:18:08 +02:00
2022-09-08 21:48:30 +02:00
| Option | Info |
|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
2024-02-12 21:41:45 +01:00
| proprietary_codecs | Enables/Disables MQA (Tidal Masters) downloading when no HiRes track is available |
| spatial_codecs | Enables/Disables downloading of Dolby Atmos (EAC-3, AC-4) and Sony 360RA (MHA1) |
2022-09-08 21:48:30 +02:00
| main_resolution | Tidal only supports 80x80, 160x160, 320x320, 480x480, 640x640, 1080x1080 and 1280x1280px (1280px won't work for playlists). <br/>If you choose 1400 or anything above 1280, it will get the highest quality even if the highest is 4000x4000px. That's because Tidal doesn't provide the "origin artwork" size, so the module will just get the largest. |
2022-01-20 01:05:30 +01:00
2022-05-02 19:11:32 +02:00
### TIDAL
2021-08-28 15:31:36 +02:00
```json
2022-02-07 20:14:41 +01:00
{
2024-02-12 21:41:45 +01:00
"tv_atmos_token": "4N3n6Q1x95LL5K7p",
"tv_atmos_secret": "oKOXfJW371cX6xaZ0PyhgGNBdNLlBZd4AKKYougMjik=",
"mobile_atmos_hires_token": "km8T1xS355y7dd3H",
"mobile_hires_token": "6BDSRdpK9hqEBTgU",
2022-01-31 00:51:37 +01:00
"enable_mobile": true,
2022-02-02 00:27:28 +01:00
"prefer_ac4": false,
"fix_mqa": true
2021-08-28 15:31:36 +02:00
}
```
2024-02-12 21:41:45 +01:00
| Option | Info |
|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| tv_token | Enter a valid TV client token |
| tv_secret | Enter a valid TV client secret for the `tv_token` |
| mobile_* | Enter a valid MOBILE client token for the desired session |
| enable_mobile | Enables a MOBILE session to archive Sony 360RA and Dolby AC-4 if available |
| prefer_ac4 | If enabled and a mobile session is available (`enable_mobile` is set to `true` ) this will ensure to get Dolby AC-4 on Dolby Atmos tracks |
| fix_mqa | If enabled it will download the MQA file before the actual track and analyze the FLAC file to extract the bitDepth and originalSampleRate. The tags `MQAENCODER` , `ENCODER` and `ORIGINALSAMPLERATE` are than added to the FLAC file in order to get properly detected by MQA enabled software such as Roon, UAPP or Audirvana. |
2021-10-16 15:09:36 +02:00
2022-02-02 00:27:28 +01:00
**Credits: [MQA_identifier ](https://github.com/purpl3F0x/MQA_identifier ) by
[@purpl3F0x ](https://github.com/purpl3F0x ) and [mqaid ](https://github.com/redsudo/mqaid ) by
[@redsudo ](https://github.com/redsudo ).**
2024-02-12 21:41:45 +01:00
**NOTE: `fix_mqa` may be slower as a download without `fix_mqa` and could be incorrect.**
2022-02-02 00:27:28 +01:00
2021-08-28 15:31:36 +02:00
<!-- Contact -->
## Contact
Yarrm80s (pronounced 'Yeargh mateys!') - [@yarrm80s ](https://github.com/yarrm80s )
Dniel97 - [@Dniel97 ](https://github.com/Dniel97 )
2022-05-02 19:11:32 +02:00
Project Link: [OrpheusDL TIDAL Public GitHub Repository ](https://github.com/Dniel97/orpheusdl-tidal )
2021-08-28 15:31:36 +02:00
<!-- ACKNOWLEDGEMENTS -->
## Acknowledgements
2021-10-15 23:33:47 +02:00
* [RedSudos's RedSea fork ](https://github.com/redsudo/RedSea )
2021-08-28 15:31:36 +02:00
* [My RedSea fork ](https://github.com/Dniel97/RedSea )