diff --git a/.vitepress/config.js b/.vitepress/config.js index 65f46e30..1c9c0614 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -76,10 +76,6 @@ export default defineConfig({ text: "Easy guide to searching", link: "/docs/features/lucene", }, - { - text: "Spatial Audio & DRM", - link: "/docs/features/spatial-audio", - }, ], }, { @@ -88,7 +84,8 @@ export default defineConfig({ items: [ { text: "Advanced Topics", link: "/docs/advanced/advanced" }, { text: "Command Line Interface", link: "/docs/advanced/command-line-interface" }, - { text: "Troubleshooting", link: "/docs/advanced/troubleshoot" } + { text: "Troubleshooting", link: "/docs/advanced/troubleshoot" }, + { text: "Spatial Audio & DRM", link: "/docs/advanced/spatial-audio" }, ], }, { diff --git a/README.md b/README.md index 0cd50a63..cf3116f2 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Comprehensive documentation is available in the `docs` directory and on our [Doc - [Getting Started](https://getlibation.com/docs/getting-started) - [FAQ](https://getlibation.com/docs/frequently-asked-questions) -- [Spatial Audio & DRM](https://getlibation.com/docs/features/spatial-audio) +- [Spatial Audio & DRM](https://getlibation.com/docs/advanced/spatial-audio) ## Development & Contributing diff --git a/docs/features/spatial-audio.md b/docs/advanced/spatial-audio.md similarity index 79% rename from docs/features/spatial-audio.md rename to docs/advanced/spatial-audio.md index 49b649c3..1ba110a5 100644 --- a/docs/features/spatial-audio.md +++ b/docs/advanced/spatial-audio.md @@ -1,16 +1,16 @@ # Spatial Audio, Dolby Atmos, and Widevine DRM -This page explains why Libation **no longer downloads Dolby Atmos / spatial audiobooks**, what changed on Audible's side, and what you can still do with Libation today. + +> [!IMPORTANT] +> tl;dr: Libation **cannot** download Dolby Atmos or spatial audio from Audible and it will **never** be able to do so in the future. ## Short answer -**Libation cannot download Dolby Atmos or spatial audio from Audible.** Not in 13.1.3+, and not by enabling **Use Widevine DRM** or **Request xHE-AAC Codec**. Those settings only affect **stereo** formats (AAC-LC or xHE-AAC). They do not restore the Atmos mix. - -The **Request Spatial Audio** option was removed in [Libation 13.1.3](https://github.com/rmcrackan/Libation/releases/tag/v13.1.3). Audible now requires hardware-backed Widevine (L1) for many spatial titles, which Libation cannot satisfy on a desktop PC. +Cryptography is always a game of cat and mouse, so it's *possible* someone will release a hack tomorrow. However this is extremely unlikely. The cryptography discussed below is hardware-based DRM which has been used for years by huge companies including Netflix, Amazon Prime, and Disney+. A small army of hackers has been going at this since 2014 -- [no general reproducible hack has been shown](https://www.forasoft.com/learn/video-streaming/articles-streaming/widevine-l1-l2-l3). I'd love to be proven wrong but I'm not holding my breath. **What is still possible with Libation** -- Download and decrypt most titles in **stereo** (AAC-LC, or xHE-AAC with Widevine enabled). +- Download and decrypt most titles in **stereo** (AAC-LC, or xHE-AAC with Widevine enabled). (The Libation settings **Use Widevine DRM** or **Request xHE-AAC Codec** only affect **stereo** formats (AAC-LC or xHE-AAC). They do not restore the Atmos mix.) - Play spatial files you **already downloaded before January 2026**, if your media player supports E-AC-3 or AC-4. **What is not possible with Libation** @@ -65,11 +65,11 @@ Download and decrypt titles while Libation still supports the format Audible del 3. Re-add your account if Libation prompts you (Widevine requires an Android-style device registration). 4. Re-download the title. -See [Audio File Formats](./audio-file-formats.md) for codec details and [Supported Media Players](./audio-file-formats.md#supported-media-players) if you have trouble playing xHE-AAC. +See [Audio File Formats](../features/audio-file-formats.md) for codec details and [Supported Media Players](../features/audio-file-formats.md#supported-media-players) if you have trouble playing xHE-AAC. ### 3. If downloads fail even with spatial disabled -Check your log file ([FAQ: Where Can I Find the Log File?](/docs/frequently-asked-questions#where-can-i-find-the-log-file)) and search [open issues](https://github.com/rmcrackan/Libation/issues). Some failures are Audible-side (Plus throttling, temporary outages) rather than spatial-related. See also [Troubleshooting](/docs/advanced/troubleshoot). +Check your log file ([FAQ: Where Can I Find the Log File?](/docs/frequently-asked-questions#where-can-i-find-the-log-file)) and search [open issues](https://github.com/rmcrackan/Libation/issues). Some failures are Audible-side (Plus throttling, temporary outages) rather than spatial-related. See also [Troubleshooting](./troubleshoot.md). ## Will spatial download come back? @@ -100,17 +100,17 @@ If you liberated spatial titles before January 2026, your files may be **E-AC-3* Spatial audiobooks from Audible use: -- [E-AC-3 (Dolby Digital Plus Atmos)](./audio-file-formats.md#e-ac-3) -- [AC-4 (Dolby AC-4 Immersive Stereo)](./audio-file-formats.md#ac-4) +- [E-AC-3 (Dolby Digital Plus Atmos)](../features/audio-file-formats.md#e-ac-3) +- [AC-4 (Dolby AC-4 Immersive Stereo)](../features/audio-file-formats.md#ac-4) -See [Supported Media Players](./audio-file-formats.md#supported-media-players) for an incomplete compatibility list. +See [Supported Media Players](../features/audio-file-formats.md#supported-media-players) for an incomplete compatibility list. -**Playing a file is not the same as hearing Atmos.** Many players decode E-AC-3 as plain 5.1 surround without rendering spatial objects. Dolby Atmos rendering often requires extra software (for example [Dolby Access](https://apps.microsoft.com/detail/9n0866fs04w8) on Windows) or hardware support. See [Spatial Audio and Dolby Atmos](./audio-file-formats.md#spatial-audio-and-dolby-atmos) for more detail. +**Playing a file is not the same as hearing Atmos.** Many players decode E-AC-3 as plain 5.1 surround without rendering spatial objects. Dolby Atmos rendering often requires extra software (for example [Dolby Access](https://apps.microsoft.com/detail/9n0866fs04w8) on Windows) or hardware support. See [Spatial Audio and Dolby Atmos](../features/audio-file-formats.md#spatial-audio-and-dolby-atmos) for more detail. If you expected Atmos but your **new** download is stereo, that is expected with current Libation versions. ## Related documentation -- [Audio File Formats](./audio-file-formats.md) -- codecs, settings, and media players +- [Audio File Formats](../features/audio-file-formats.md) -- codecs, settings, and media players - [FAQ: Non-spatial playback trouble](/docs/frequently-asked-questions#im-having-trouble-playing-my-non-spatial-audiobook-how-can-i-fix-this) -- [Troubleshooting](/docs/advanced/troubleshoot) +- [Troubleshooting](./troubleshoot.md) diff --git a/docs/advanced/troubleshoot.md b/docs/advanced/troubleshoot.md index f4dbfce5..d39ff69d 100644 --- a/docs/advanced/troubleshoot.md +++ b/docs/advanced/troubleshoot.md @@ -107,6 +107,6 @@ These errors come from Audible refusing to grant a download license. Common caus 1. **Temporary Audible outage or Plus throttling** -- wait 24 to 48 hours and try again. See the [FAQ](/docs/frequently-asked-questions). 2. **Title requires Widevine** -- some Plus titles no longer download as AAXC; enable **Use Widevine DRM** in Settings and re-add your account if prompted. See [issue #1580](https://github.com/rmcrackan/Libation/issues/1580). -3. **Spatial / Dolby Atmos requested (older Libation versions)** -- Audible now requires Widevine L1 for many spatial titles. Libation 13.1.3+ no longer offers spatial download. See **[Spatial Audio & DRM](/docs/features/spatial-audio)**. +3. **Spatial / Dolby Atmos requested (older Libation versions)** -- Audible now requires Widevine L1 for many spatial titles. Libation 13.1.3+ no longer offers spatial download. See [Spatial Audio & DRM](/docs/advanced/spatial-audio). Attach your log file when opening a GitHub issue. diff --git a/docs/features/audio-file-formats.md b/docs/features/audio-file-formats.md index 2bf82c4f..1380c593 100644 --- a/docs/features/audio-file-formats.md +++ b/docs/features/audio-file-formats.md @@ -95,7 +95,7 @@ Below is an incomplete matrix of codec support across various media players and ## Spatial Audio and Dolby Atmos > [!IMPORTANT] -> **Download status (2026):** The **Request Spatial Audio** and **Spatial Audio Codec** settings were removed in Libation 13.1.3. Audible now requires Widevine L1 (hardware-backed DRM) for many spatial titles, which Libation cannot use. Libation does not currently download new spatial/Atmos content. The sections below describe E-AC-3 and AC-4 for **playback** of files downloaded before the change. See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./spatial-audio.md)** for full details and [issue #1553](https://github.com/rmcrackan/Libation/issues/1553). +> **Download status (2026):** The **Request Spatial Audio** and **Spatial Audio Codec** settings were removed in Libation 13.1.3. Audible now requires Widevine L1 (hardware-backed DRM) for many spatial titles, which Libation cannot use. Libation does not currently download new spatial/Atmos content. The sections below describe E-AC-3 and AC-4 for **playback** of files downloaded before the change. See [Spatial Audio, Dolby Atmos, and Widevine DRM](../advanced/spatial-audio.md) for full details and [issue #1553](https://github.com/rmcrackan/Libation/issues/1553). Atmos is a surround sound technology that expands on existing surround sound systems by adding height channels as well as free-moving sound objects. Audible delivers Dolby Atmos in two formats: E-AC-3 and AC-4. diff --git a/docs/features/naming-templates.md b/docs/features/naming-templates.md index cec86d0e..9120674c 100644 --- a/docs/features/naming-templates.md +++ b/docs/features/naming-templates.md @@ -167,7 +167,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\ | unique(FMT) **†** | Reduce list members to a unique set. Entries are compared to each other after applying the given format. Duplicate entries (after format is applied) are removed, keeping the first occurrence. | ``
``separator(; )]>` | Sherlock Holmes; Some Other Series
sherlock holmes; some other series | | sort(N \| # \| ID) | Sorts the series by name, number or ID.

These terms define the primary, secondary, tertiary, … sorting order.
You may combine multiple terms in sequence to specify multi‑level sorting.

*Sorting direction:*
uppercase = ascending
lowercase = descending

Default is unsorted | ``separator(; )]>` | Book Collection, 1; Sherlock Holmes, 1-6 | | max(#) | Only use the first # of series | `` | Sherlock Holmes | -| slice(#..#) | Only use entries of the series list starting from # and ending at # (inclusive)

See [Text List Formatter Usage](#Text-List-Formatters) above for details on all the variants of `slice()` | `` | Sherlock Holmes | +| slice(#..#) | Only use entries of the series list starting from # and ending at # (inclusive)

See [Text List Formatter Usage](#text-list-formatters) above for details on all the variants of `slice()` | `` | Sherlock Holmes | | count(FMT) **‡** | Instead of returning some or all members of the list, print out the number of series using the specified [format](#number-formatters). | ``
`` | 2
02 | | filter(FMT [CHECK](#checks) VALUE) **†** | Filter list entries based on a condition. Each series is first formatted using the specified [Series Format](#series-formatters) (or the default format if FMT is omitted), then compared against VALUE using the specified [CHECK](#checks). Only matching entries are included in the output.

**Syntax:** `filter(FORMAT CHECK VALUE)` or `filter(CHECK VALUE)`
- `FORMAT`: Optional series format to apply to each entry (e.g., `{N}`, `{N:L}`, `{#}`); defaults to `{N}`
- `CHECK`: Comparison operator (e.g., `=`, `!=`, `~`)
- `VALUE`: The value to compare against | ``
`` | Sherlock Holmes
Sherlock Holmes | @@ -179,7 +179,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\ | Formatter | Description | Example Usage | Example Result | |----------------------------------------| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------- | -| \{T \| F \| M \| L \| S \| ID\} **†** | Formats the human name using
the name part tags.
\{T:[Text_Formatter](#text-formatters)\} = Title (e.g. "Dr.")
\{F:[Text_Formatter](#Text-Formatters)\} = First name
\{M:[Text_Formatter](#text-formatters)\} = Middle name
\{L:[Text_Formatter](#text-formatters)\} = Last Name
\{S:[Text_Formatter](#text-formatters)\} = Suffix (e.g. "PhD")
\{ID:[Text_Formatter](#text-formatters)\} = Audible Contributor ID

Formatter parts are optional and introduced by the colon. If specified the string will be used to format the part using the correspoing formatter.

Default is \{T\} \{F\} \{M\} \{L\} \{S\} | ``
`` | Fry, S.
DOYLE, Arthur \_B000AQ43GQ\_ | +| \{T \| F \| M \| L \| S \| ID\} **†** | Formats the human name using
the name part tags.
\{T:[Text_Formatter](#text-formatters)\} = Title (e.g. "Dr.")
\{F:[Text_Formatter](#text-formatters)\} = First name
\{M:[Text_Formatter](#text-formatters)\} = Middle name
\{L:[Text_Formatter](#text-formatters)\} = Last Name
\{S:[Text_Formatter](#text-formatters)\} = Suffix (e.g. "PhD")
\{ID:[Text_Formatter](#text-formatters)\} = Audible Contributor ID

Formatter parts are optional and introduced by the colon. If specified the string will be used to format the part using the correspoing formatter.

Default is \{T\} \{F\} \{M\} \{L\} \{S\} | ``
`` | Fry, S.
DOYLE, Arthur \_B000AQ43GQ\_ | **†** For further information on format templates, please refer to the [Format templates](#format-templates) section. @@ -192,7 +192,7 @@ Text formatting can change length and case of the text. Use \<#\>, \<#\>\ | unique(FMT) **†** | Reduce list members to a unique set. Entries are compared to each other after applying the given format. Duplicate entries (after format is applied) are removed, keeping the first occurrence. | ``
``separator(; )]>` | Arthur Conan Doyle, Stephen Fry
doyle; fry | | sort(T \| F \| M \| L \| S \| ID) | Sorts the names by title,
first, middle, or last name,
suffix or Audible Contributor ID

These terms define the primary, secondary, tertiary, … sorting order.
You may combine multiple terms in sequence to specify multi‑level sorting.

*Sorting direction:*
uppercase = ascending
lowercase = descending

Default is unsorted | ``
``
`` | Stephen Fry, Arthur Conan Doyle
Stephen King, Stephen Fry
John P. Smith \_B000TTTBBB\_, John P. Smith \_B000TTTCCC\_, John S. Smith \_B000HHHVVV\_ | | max(#) | Only use the first # of names

Default is all names | `` | Arthur Conan Doyle | -| slice(#..#) | Only use entries of the names list starting from # and ending at # (inclusive)

See [Text List Formatter Usage](#Text-List-Formatters) above for details on all the variants of `slice()` | `` | Arthur Conan Doyle | +| slice(#..#) | Only use entries of the names list starting from # and ending at # (inclusive)

See [Text List Formatter Usage](#text-list-formatters) above for details on all the variants of `slice()` | `` | Arthur Conan Doyle | | count(FMT) **‡** | Instead of returning some or all members of the list, print out the number of names using the specified [format](#number-formatters). | ``
`` | 2
02 | | filter(FMT [CHECK](#checks) VALUE) **†** | Filter list entries based on a condition. Each person is first formatted using the specified name format (or the default format if FMT is omitted), then compared against VALUE using the specified [CHECK](#checks). Only matching entries are included in the output.

**Syntax:** `filter(FORMAT CHECK VALUE)` or `filter(CHECK VALUE)`
- `FORMAT`: Optional name format to apply to each entry (e.g., `{L}`, `{M}`, `{L}, {F}`); defaults to `{T} {F} {M} {L} {S}`
- `CHECK`: Comparison operator (e.g., `=`, `!=`, `~`)
- `VALUE`: The value to compare against | ``
``
`` | Conan Doyle
Stephen Fry
Stephen Fry | diff --git a/docs/frequently-asked-questions.md b/docs/frequently-asked-questions.md index 42215fc9..2cdad931 100644 --- a/docs/frequently-asked-questions.md +++ b/docs/frequently-asked-questions.md @@ -65,21 +65,26 @@ Open `appsettings.json` next to your running install (often under `~/snap/libati Like many countries, amazon gives South Africa it's own amazon site. [Unlike many other regions](https://www.audible.com/ep/country-selector) there is not South Africa specific audible site. Use `US` for your region -- ie: audible.com. -> [!NOTE] -> (Not exactly a _frequently_ asked question but it's come up more than once) +(Not exactly a *frequently* asked question but it's come up more than once) -## Why Was "Request Spatial Audio" Removed? Can I Still Download Dolby Atmos? +## Spatial audio and Dolby Atmos + +Libation **cannot download** Dolby Atmos or spatial audio from Audible. Full explanation: [Spatial Audio, Dolby Atmos, and Widevine DRM](./advanced/spatial-audio.md). + +### Will Libation ever support spatial audio again? + +[No.](./advanced/spatial-audio.md) + +### Why Was "Request Spatial Audio" Removed? Can I Still Download Dolby Atmos? Libation removed the **Request Spatial Audio** option in version 13.1.3 (January 2026). Most Dolby Atmos / spatial titles can no longer be downloaded. For many titles, **Use Widevine DRM** + **Request xHE-AAC** still gets the highest **stereo** quality available -- not the Atmos mix. -See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md)** for what changed on Audible's side, what still works, and what to do instead. +### Does "Use Widevine DRM" Still Download Spatial Audio? -## Does "Use Widevine DRM" Still Download Spatial Audio? +No. **Use Widevine DRM** unlocks **Request xHE-AAC Codec** for higher-bitrate stereo. It does not re-enable spatial/Atmos download. See [Does "Use Widevine DRM" download spatial audio?](./advanced/spatial-audio.md#does-use-widevine-drm-download-spatial-audio) on the spatial audio page. -No. **Use Widevine DRM** unlocks **Request xHE-AAC Codec** for higher-bitrate stereo. It does not re-enable spatial/Atmos download. See **[Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md#does-use-widevine-drm-download-spatial-audio)**. +### I'm Having Trouble Playing My Book with 4D, Spatial Audio, or Dolby Atmos, How Can I Fix This? -## I'm Having Trouble Playing My Book with 4D, Spatial Audio, or Dolby Atmos, How Can I Fix This? +Libation no longer requests spatial/Atmos from Audible (see [Spatial Audio, Dolby Atmos, and Widevine DRM](./advanced/spatial-audio.md)). Books you liberated before 13.1.3 may be E-AC-3 or AC-4; newer downloads are stereo unless you kept older files. -Libation no longer requests spatial/Atmos from Audible (see [Spatial Audio, Dolby Atmos, and Widevine DRM](./features/spatial-audio.md)). Books you liberated **before** 13.1.3 may be E-AC-3 or AC-4; newer downloads are stereo unless you kept older files. - -For spatial files you already have, see **[Playing spatial files you already have](./features/spatial-audio.md#playing-spatial-files-you-already-have)** and [Supported Media Players](./features/audio-file-formats.md#supported-media-players). +For spatial files you already have, see [Playing spatial files you already have](./advanced/spatial-audio.md#playing-spatial-files-you-already-have) and [Supported Media Players](./features/audio-file-formats.md#supported-media-players). diff --git a/docs/getting-started.md b/docs/getting-started.md index 3a321320..29e78db6 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -143,4 +143,4 @@ Export your library to Excel, CSV, or JSON ## Dolby Atmos / spatial audio > [!NOTE] -> Libation no longer downloads spatial (Atmos) audiobooks as of version 13.1.3. For highest **stereo** quality, see [Spatial Audio & DRM](./features/spatial-audio.md). +> Libation no longer downloads spatial (Atmos) audiobooks as of version 13.1.3. For highest **stereo** quality, see [Spatial Audio & DRM](./advanced/spatial-audio.md). diff --git a/docs/index.md b/docs/index.md index dbb0c7ad..e7b2ce8e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,13 +23,13 @@ Learn about Libation's powerful features: - **[Naming Templates](/docs/features/naming-templates)** - Customize how your audiobook files are named - **[Searching & Filtering](/docs/features/searching-and-filtering)** - Find and organize your audiobooks - **[Easy guide to searching](/docs/features/lucene)** - Tutorial for search queries -- **[Spatial Audio & DRM](/docs/features/spatial-audio)** - Dolby Atmos download status, Widevine L1/L3, and what still works ## Advanced - **[Advanced Topics](/docs/advanced/advanced)** - Deep dives and configuration details - **[Command Line Interface](/docs/advanced/command-line-interface)** - CLI usage and commands - **[Troubleshooting](/docs/advanced/troubleshoot)** - Common errors and solutions +- **[Spatial Audio & DRM](/docs/advanced/spatial-audio)** - Why Dolby Atmos download is not available and what still works ## Development diff --git a/docs/installation/docker.md b/docs/installation/docker.md index 7e8a0865..a8112245 100644 --- a/docs/installation/docker.md +++ b/docs/installation/docker.md @@ -75,7 +75,7 @@ sudo docker run -d \ ## User -This docker image runs as user `1001`. In order for the image to function properly, user `1001` must be able to read and write the volumes that are mounted in. If they are not, you will see errors, including [sqlite error](#1060), [Microsoft.Data.Sqlite.SqliteException](#1110), [unable to open database file](#1113), [Microsoft.EntityFrameworkCore.DbUpdateException](#1049) +This docker image runs as user `1001`. In order for the image to function properly, user `1001` must be able to read and write the volumes that are mounted in. If they are not, you will see errors, including [sqlite error](https://github.com/rmcrackan/Libation/issues/1060), [Microsoft.Data.Sqlite.SqliteException](https://github.com/rmcrackan/Libation/issues/1110), [unable to open database file](https://github.com/rmcrackan/Libation/issues/1113), [Microsoft.EntityFrameworkCore.DbUpdateException](https://github.com/rmcrackan/Libation/issues/1049) If you're not sure what your user number is, check the output of the `id` command. Docker should normally run with the number of the user who configured and ran it. diff --git a/index.md b/index.md index 377face5..4b864f3a 100644 --- a/index.md +++ b/index.md @@ -77,11 +77,11 @@ Learn about Libation's powerful features: - **[Audio File Formats](/docs/features/audio-file-formats)** - Supported audio formats and conversion options - **[Naming Templates](/docs/features/naming-templates)** - Customize how your audiobook files are named - **[Searching & Filtering](/docs/features/searching-and-filtering)** - Find and organize your audiobooks -- **[Spatial Audio & DRM](/docs/features/spatial-audio)** - Dolby Atmos download status, Widevine L1/L3, and what still works ### Advanced - **[Advanced Topics](/docs/advanced/advanced)** - Deep dives and configuration details +- **[Spatial Audio & DRM](/docs/advanced/spatial-audio)** - Why Dolby Atmos download is not available and what still works ### Development