Skip to content

An audnexus client, providing rich author and audiobook data to Plex via it's legacy plugin agent system.

License

Notifications You must be signed in to change notification settings

dmgolembiowski/Audnexus.bundle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

Audnexus.bundle

Status GitHub Issues GitHub Pull Requests License CodeFactor Grade


An audnex.us client, providing rich author and audiobook data to Plex via its legacy plugin agent system.

📝 Table of Contents

🧐 About

The aim of this project is to automate as much as possible, and make some intelligent, transparent choices for the user. All data used by this plugin is sourced from the parent aggregator, audnex.us. By using the audnexus API, searches and matches, which are cached, are greatly accelerated over scraping each search and item page from HTML. Additionally, the API can have multiple sources of data used for each book entry.

Audnexus will first search a book/author to see if it's come across it before. If it's found, it returns them straight away. If not, it requests that the aggregator import all the available data. Thus, the more people who use audnexus' client plugins, the faster the API will be and more data complete. You can also run a fork of the API yourself, see the above repo on how to do that.

🏁 Getting Started

Getting the agent up and running is a very smooth process, whether this is your first foray into audiobooks or you are migrating a library from another audiobooks agent. We look forward to getting you high quality data!

NOTE: Data is currently only available for the US region.

Prerequisites

  • Plex Media Server v1.24.4.5081 or greater.
  • git installed on system, as this is the preferred method of installing/updating the agent. You can also extract the zip instead.
  • Files are expected to be in/tested with common audiobook file structure and tags, specifically from either Bragi Books or Seanap's guide. In particular, you are expected to have the following structure: Author Name/Book Name/Book Name: Subtitle.m4b with album and albumartist tags. This is imperative for proper matching!

Installing

If you are new to getting plugins on your system or do not have access to git, go through this Plex documentation: How do I manually install a plugin? If you are already familiar with the plugins system, and have git, follow the below steps.

  1. Clone (or unzip) this project into your Plex Plug-ins directory:
git clone https://github.com/djdembeck/Audnexus.bundle.git
  1. Restart your Plex Media Server.

For future updates, run the below commmand from within the Audnexus.bundle folder.

git pull

🔧 Configuring the agent

If you wish to use local tags/images, you can follow the directions here, but this agent assumes you will not.

Using quick match

You may use the Audible ASIN in both filename and in manual search. Doing so will automatically use the ASIN provided without searching the database. For example: Author Name/Book Name B01234ABCD/Book Name: Subtitle.m4b.

Create an audiobook library

  • From within Plex Web, create a new library, with the MUSIC type, and name it Audiobooks.
  • Add your folders.

In the ADVANCED tab:

  • Scanner: Plex Music Scanner
  • Agent: Audnexus Agent
  • Toggle agent settings as you please.
  • Uncheck all boxes except Store track progress
  • Genres: Embedded tags
  • Album Art: Local Files Only

Add the library and go do anything but read a physical book while the magic happens :)

Migrate an existing audiobook library

If you are coming from another Audiobooks agent, such as Audiobooks.bundle, then upgrading is super easy!

  • First, follow the steps for the ADVANCED tab above and save the settings.
  • Second, go to the Audiobooks library settings, Manage Library > Refresh All Metadata. This will programmatically upgrade authors, and then every album under those authors.

Just like adding a new library, upgrading one can take some time to switch all your data over.

🎈 Usage

Manually fixing matches

There are a few tricks to know about using fix match for books and authors:

  • You may use Quick Match if you already know the ASIN.
  • Some authors do not have an Audible profile. These will not have an Audnexus DB entry.
  • You may need to modify author names in search to find them (for example, removing a middle initial). This is a search limitation we are looking to improve.
  • Book results come back in the format of: "TITLE" by AUTHOR_FIRSTINITIAL.AUTHOR_LASTNAME w/ NARRATOR_FIRSTINITIAL.NARRATOR_LASTNAME
  • Year field cannot be used by music agents (what we use), so it's an irrelevant parameter.
  • Scores are based on the following criteria: Book title (Levenshtein distance), Author(s) name (Levenshtein distance), language of book vs language of library (2 points), and 1 point deduction for each result (relevance score).
  • Identical results for book may appear. Typically the one with a score of 100 is the 'correct' one.

Data that the agent brings to your library:

Authors (Artists)

  • High resolution image.
  • Text description/bio.
  • Genres
  • Sorted by Last Name, First Name
  • Combines books with multiple authors into the first author, reducing duplicate author entries/pages.

Books (Albums)

  • High resolution cover (up to 3200x3200).
  • Rating (currently based on Audible user rating).
  • Release date.
  • Record label (publisher)
  • Review (plot summary)
  • Genres and sub-genres:
    • Up to 2 parent category genres.
    • Up to 4 sub-category genres.
  • Narrator as Style tag.
  • Authors as Mood tag.
  • Series as Mood tag (prefixed by Series:)
  • Sorted by Series number and then book title.

Collections are not available to legacy agents. Please do not open requests for them.

About

An audnexus client, providing rich author and audiobook data to Plex via it's legacy plugin agent system.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%