Skip to content

Latest commit

 

History

History
158 lines (108 loc) · 8.19 KB

File metadata and controls

158 lines (108 loc) · 8.19 KB

Udio Offline Library Explorer

A fast, intuitive (or maybe not) desktop application to browse, search and download your full Udio music library with advanced filtering, bulk operations, and built-in audio playback.

Your data stays on your machine.

  • All library browsing, searching, and filtering happens locally
  • Downloads (audio, artwork, video) come directly from Udio's CDN only when you request them.
  • The tool is open source, allowing full transparency on data handling.

IMPORTANT NOTICE:

  • Use at your own risk.
  • The author(s) are NOT responsible for any consequences arising from the use of this software, including but not limited to:
    • Loss of data or account access
    • Violations of Udio's Terms of Service
    • Any actions taken by Udio or third parties against your account
  • This tool is intended for personal backup and archival purposes only.

Features

Advanced Search

  • Attribute filters like: title:love, prompt:rock, finished:true, likes:>100
  • Boolean & numeric comparisons
  • Autocomplete with suggestions for searchable attributes
  • Combine multiple filters

Search Syntax Quick Reference

Filter Type Example Description
Text match title:love Matches title containing "love"
Boolean finished:true Only finished tracks (true/false/yes/no)
Numeric > likes:>100 Like count greater than 100
Numeric < duration:<200 Duration less than 200 seconds
Range likes:50-200 Like count between 50 and 200
Combined acoustic finished:true likes:>1 Combined (fulltext search only works as first element)

Management

  • Hierarchical folder navigation
  • Audio file status indicator (✓ Available / ✗ Missing)
  • Track info dialog with metadata, artwork, and video tabs
  • Download missing audio, artwork, and videos
  • Bulk actions to download missing audio, cover artworks or videos using concurrent downloads
  • Export current view to JSON/CSV or plain text

Audio Playback

  • Simple built-in player with play/pause/stop controls to find the correct track
  • Quick double-click playback

Installation

Option 1: Manually

Tested with Python 3.11 on Windows

  • Install dependencies: pip install pygame pillow
  • Download sources git clone
  • cd repository/LibraryExplorer
  • python Library_Explorer.py

Option 2: Bundled Python (Windows Only)

Includes a python 3.11 environment with dependencies installed. Just click run.bat and it should work.

  • Download latest Release (Library_Explorer_PythonBundled.zip)
  • Extract
  • Run run.bat

Option 3: Bundled (Windows Only)

Might get flagged as a Virus. If so choose option 1 or 2 (after carefully examining the source code of course).

  • Download latest Release (Library_Explorer.exe)
  • Extract
  • Run Library_Explorer.exe

How to export full library step by step

  1. Download MetadataExporter_Extension.zip from latest release (or another release I am not your cyber security officer)

  2. Open Firefox

  3. Navigate to about:debugging (copy and paste into address bar) -> This Firefox -> Load Temporary Add-on... (Sorry no signed .xpi yet)

    Screenshot showing where to find Load Temporary Add-on

  4. Load extension like so:

    File Explorer Screenshot showing how to load extension

  5. Navigate to https://www.udio.com/home

  6. Open Extension via Firefox extension menu:

    Screenshot showing how extension menu looks

  7. Wait for the very necessary animation to play until it looks like this:

    Screenshot showing extension in "Ready" state

  8. If you have any folders click on LISTEN FOR FOLDER INFO so it says Listening for folder:

    Screenshot showing text output "Listening for folder image"

  9. Navigate to your Library, if you have enabled folder listening this might take a while especially if you have many nested folders. While it collects your folder information you will see "Fetched partial folder info at depth:..." appear a few times depending on your folder structure this might take a while:

Screenshot showing partial progress of receiving folder info

  1. If you have enabled folder listening wait until it shows "Folder Info Loaded":

    Screenshot showing extension in "Folder Info Loaded" loaded stat

  2. Click EXPORT METADATA:

    Screenshot of "Folder Info Loaded" message

  3. Wait until processing is complete and it downloads the udio_metadata_backup.zip file (starts automatically):

    Screenshot of extension after successfully exported metadata

  4. At this point you only have backed up all your metadata (prompts, lyrics, creation time, likes, plays, etc.). If that is all you need you can stop at this step. If you want to download specific or all of your songs (and/or artworks) continue with the following steps.

  5. Extract the content of the .zip file somewhere with sufficient storage, required storage depends on how many songs you plan on downloading (~5k songs require ~27GB depending on song length).

  6. The folder structure of the export should look like this (if you don't have any folders in your udio library you might only have page_xyz.json and no Folders or folders.json):

    Library/
    ├─ Folders/
    │  ├─ d211d389-1b67-449b-8b15-c84b87266421/
    │  │  ├─  page_xyz.json
    ├─ folders.json
    ├─ page_xyz.json
    
  7. Either run python Library_Explorer.py (after following install instructions) or launch precompiled Library_Explorer.exe which should open up the initial view:

    Screenshot of Library Explorer Mainview

  8. Click on Select Library Folder and navigate and load the library data extracted before for example if extracted to F:\Demo\LibraryExplorer\ navigate to F:\Demo\LibraryExplorer\Udio and select the Library folder:

    Screenshot showing how to load library

  9. After loading all data which might take a while depending on your system you should see the following:

    Screenshot showing loaded library with tracks

  10. Now you can either rightclick on individual tracks to fetch only specific songs:

    Screenshot showing Fetch Audio in context menu of single track

    After which the Audio Status switches to "Available":

    Screenshot showing updated entry

  11. Alternatively run Bulk Action Audio (Missing) which will initiate downloading all missing tracks currently in view, that means you can filter only for liked tracks or only for tracks with a specific prompt or title and only download these. Or only download specific folders:

    Screenshot of confirmation dialog for bulk download

    Screenshot of bulk download progress window

  12. Optionally download cover artworks and videos, or just browse your library.

General Notes

It is advisable to backup your initially created udio_metadata_backup(7).zip as well your your Library folder once you have downloaded all files (you care about). This folder contains your Udio library if you lose this data it might be impossible to recreate/redownload at a later time because downloading might be fully disabled or the data might be deleted. The program being able to export all your data now does not guarantee that this is still possible in the future it might stop working at any point in time without a way to make it work again. So backup and store anything you care about in a safe location now.

For questions, issues, or contributions, please open an issue or open a pull request on the repository.

Known Issues

  • Bulk download will not update Audio Status (Select a folder or perform a search and clear searchbar as a workaround)
  • If bulk downloading multiple media types at the same time the progress counter will get confused