New Tool (3.5.4): Song Explorer - ** CALL FOR BETA TESTERS **

Hey everyone!

Song Explorer is a browser/cataloguing utility featuring an audio player, search, rating, batch rendering (and conversion to MP3/FLAC/OGG - loudness and/or peak normalization are available), song content viewer and importer.

I have a few hundrends of unfinished songs and single pattern ideas scattered in various folders so I needed a way to be able to group, manage and preview them quickly from a single window. This is how this tool was born.

The tool scans a folder (or folders), finds .xrns files, reads its contents, groups them when multiple versions exist, and attaches an audio file when a file with similar name is found next to it.

Rating, sorting and filtering are available. Plugins used are also indexed including their status (native, VST, missing).

Browse thourgh a song’s contents, preview columns and phrases and import instruments, samples, columns, phrases and DSP chains.

Songs can be grouped via Collection and Style.

The library can be exported and imported on another computer. Also export in CSV format and HTML with audio files linked so they can be played within the web browser.

The tool uses Python, FFMPEG and SQLite. The Python package is included with the tool, FFMPEG is automatically found if is already installed on the system, otherwise can be downloaded and installed within the tool - SQLite doesn’t need any installation.

So yes, the tool writes files to disc and needs a lightweight Pyhton script to run in the background - for those concerned. The Renoise API does not allow access to the built-in audio engine, so for audio previewing, Python is necessary.

The tool is quite complex, with many features and functions and even though I’ve been doing testing and QA for more than a month, I can’t possibly make sure everything works on perfect on edge cases. So, everyone is welcome to download and test the tool and give any feedback.

Detailed description follows.

MG Song Explorer

Version 3.69 · Renoise 3.5.4 (API 6) · Windows · Mano.G / Claude AI

A self-contained library manager for XRNS song files. Song Explorer indexes your song folders into a local SQLite database, then lets you search, filter, rate and organise that library, audition songs without opening them, pull individual instruments, samples, phrases and note columns into the song you are working on, and batch-render selections to WAV, FLAC, MP3 or OGG.

Everything it needs apart from Renoise itself ships inside the tool. There is no installer, no system Python, and no database service.


Features

Library and indexing

  • Index multiple library locations, each independently toggleable for scanning, list visibility and export inclusion, with optional recursive subfolder scanning per location.
  • Compact SQLite-backed index that persists in your Documents folder, so replacing or updating the .xrnx never touches your library data.
  • Incremental rescans per location, plus pruning of songs that have been moved or deleted on disk.
  • Collapsible version grouping that gathers song, song v2, song final and similar variants into a single expandable row, scoped per folder so identically named songs in different locations stay independent.

Browsing, searching and filtering

  • Sortable, reorderable song list with configurable columns: Name, Rating, Size, Modified, BPM, Length, Tracks, Instruments, Plugins, Collection, Style and Location.
  • Cached content search across song names and paths, titles, artists, collections, styles, instrument names, sample names, phrase names, FX chain names and plugin names, scoped to any one of those or all at once.
  • Range filters for BPM and song length, accepting an exact value or a low-high range.
  • Filter by plugin status (native-only, uses plugins, all plugins present, missing plugins, unscannable) and by presence of rendered audio.
  • Star ratings with a rating filter; right-clicking the filter stars shows only unrated songs.
  • Editable Collection and Style metadata per song, with batch assignment across a multi-selection and a persistent managed vocabulary for both fields.
  • Compact mode that reduces the list to a short strip, and a minimized player strip with transport, elapsed time and preview queue readout.

Auditioning and content inspection

  • Queued audio preview of indexed songs, played through a helper worker that is kept warm so playback starts immediately.
  • On-demand Song Contents panel listing a song’s instruments, samples, phrases, FX chains and note columns without opening the song in Renoise.
  • Plugin preflight that reports, per song, whether every plugin it references is present in your current Renoise installation.

Importing into the current song

  • Import an individual instrument or sample from any indexed song.
  • Import a phrase into the currently selected instrument.
  • Import a whole note column into the current pattern.
  • Import an FX chain from an indexed song.

Rendering and conversion

  • Sequential rendering of a selection of songs through Renoise itself to WAV, at a configurable sample rate (22.05–192 kHz) and bit depth (16/24/32).
  • FFmpeg conversion of rendered output to FLAC, MP3 or OGG, with format-specific quality settings and presets (FLAC compression level, MP3 VBR quality or CBR bitrate, OGG quality).
  • Optional render-only normalization: Peak, LUFS (two-pass EBU R128) or Both, with preset targets from −23 to −12 LUFS or a custom value, and a configurable true-peak ceiling. Normalization never affects Song Explorer’s own preview playback.
  • Pinned render destinations and a registry of previously rendered audio.
  • Automatic FFmpeg discovery, with install assistance when it is not found.

Portability and export

  • Export the library to a portable backup and import it on another computer, with multi-location path remapping so a library indexed at E:\Music can be restored against D:\Songs without rescanning.
  • Per-location control over what is included in an export.
  • Self-contained browser HTML export and CSV export. Song links in the HTML export open the indexed XRNS directly in the running Renoise instance.
  • File management operations (rename, move, delete) on indexed songs, with the index kept in sync.

Session behaviour

  • Persistent last-song selection, filter state, column layout and window mode across Renoise sessions.
  • Helper worker launched without a console window, and kept warm rather than relaunched per action.

Dependencies and installation

Requirements

  • Renoise 3.5.4 or compatible (scripting API version 6).
  • Windows. The tool is Windows-only; it relies on a bundled Windows Python runtime and a Windows helper launcher.
  • Roughly 16 MB of disk space for the tool, plus space for the library database, which grows with the number of indexed songs.

What is bundled (nothing to install separately)

Component Detail
Python runtime Python 3.14.7 Windows x64 embeddable distribution, trimmed to the standard-library ZIP plus only the native extensions the tool uses
SQLite _sqlite3.pyd and sqlite3.dll from that same distribution
Helper launcher mg_hidden_launcher.dll, used to start the worker without a console window

No system Python installation, no pip packages, no separate SQLite installation, no dependency on Windows’ winsqlite3.dll, and no database service are required.

Optional dependency

  • FFmpeg is required only for converting rendered output to FLAC, MP3 or OGG, and for LUFS/peak normalization. WAV rendering and all library, search, preview and import features work without it. The Settings dialog reports FFmpeg status and path, and offers install assistance if it is not found. FFmpeg is not bundled.

Installation

  1. Drag MG Song Explorer.xrnx onto the Renoise window, or double-click it.
  2. Restart Renoise if prompted.
  3. Open the tool from Tools → MG Song Explorer…, or bind a key to Global → MG Song Explorer → Open Song Explorer.
  4. Open Settings → Locations…, add one or more folders containing .xrns files, and press Scan on each. The first scan of a large library takes a while; subsequent scans are incremental.

Where data is stored

Location Contents
Documents\MG Song Explorer\ library.db, ratings, plugin cache, rendered-audio registry, cached song contents — all authoritative user data
Tool bundle cache\ Transient runtime files only: scan output, snapshots, worker handshake files

Because the authoritative data lives in Documents rather than inside the bundle, replacing or upgrading the .xrnx leaves your library, ratings and metadata intact. Libraries created by version 2.55 and earlier under LocalAppData are migrated to Documents automatically on first run.

Uninstalling

Remove the tool from Renoise’s tool browser. To also discard the library, delete the Documents\MG Song Explorer\ folder — it is not removed with the tool, by design.

MG Song Explorer_v3.69.xrnx (7.1 MB)

2 Likes

Interesting idea, thanks for this. I’ll definitely test your tool and potentially adapt it if thats ok?

Of course you can! Use this updated version instead. Some new features were added (a progress column) and some minor bugs were fixed.

MG Song Explorer v3.81.xrnx (7.1 MB)

3.71 — Attach audio preview. Context-menu attach/replace/detach of any wav/flac/mp3/ogg to a song, reusing the rendered-audio registry so it survives rescans.

3.72 — Progress column. New sortable/hideable column with its own sidecar, plus multi-selection support. Fixed a latent bug found on the way: set_status was called before its declaration, so setting a rating on a multi-selection would have errored.

3.73 — Progress values changed to Sketch / 30% / 60% / 90% / Finished, with old values migrating by snapping to the nearest step.

3.74 — Chevron added to the Progress column, matching Collection/Style.

3.75 — Version in the title. Main window shows MG Song Explorer v3.xx, driven from a single TOOL_VERSION constant; the build now fails if it disagrees with the manifest. Child dialog titles routed through a shared prefix. Delivered filenames now always end with the version.

3.76 — Right-click the Location header to open Library Locations.

3.77 — Scan diagnostics. Silently-skipped files now logged with a reason.

3.78 — Real scanner bug. The exception branch of the scan loop appended only to a dead list and never wrote to new_cache, so any song failing on stat/resolve vanished with no row and no log line. Now lands as an error row.

3.79 — Group preview fallback. A collapsed version group whose newest song has no render now shows the play icon and plays the most recent render in the family.

3.80 — Filter accountability. Hovering the song count shows how many songs were excluded and by which filter.

3.81 — Show only same folder. Renamed from “same location” and re-scoped to the song’s exact folder, excluding subfolders.

1 Like

Interesting scope. For beta testing, one edge case worth checking is two library locations containing identical filenames with different versions, then exporting and importing after remapping one root: confirm the per-location identity and audio attachments don’t collide. I’d also test a missing plugin alongside a native equivalent and a rendered file that exists but is stale, since those cache/index states are easy to misread.

For batch conversion, a deliberate Unicode path and a song with no audio would make the error reporting and skip behavior clear. Keeping the SQLite database and helper logs available in a dry-run mode would make any repro much easier.

1 Like

3.82 — NEW FEATURE - Compare songs. Select exactly two, right-click → Compare selected songs. Side-by-side columns with differing values highlighted and a “N of M fields differ” summary.

3.83 — Patterns and Sequence length. New traits captured end to end (parser → SQLite → TSV → Lua) and added to the comparison. Requires a rescan to populate.

3.84 — Queue fix. The preview queue could never resume once stopped: 18 places cleared preview_queue_active, only 2 set it, and Next silently fell through to song-list navigation — leaving the indicator frozen at “2/58”. Next/Previous now resume a suspended queue, the transport stays enabled, and the tooltip says the queue is paused.

3.86 — NEW FEATURE - Notes. New free-text database column: editable in place, sortable, searchable, in the compare dialog, and preserved across rescans. Deliberately has no managed vocabulary, unlike Collection/Style.

3.88 — Manual grouping fix, prompted by your question. Ticking a collapsed group selects only its parent, so grouping an automatic group with another song would have silently split it. The selection now expands collapsed groups to whole families.

3.90 — Clickable Locations headers. On / Sub. / Show / Export toggle their whole column, flat styling with a hover highlight.

…and some minor UI improvements.

MG Song Explorer v4.02.xrnx (7.2 MB)

Thanks for the feedback @HelenMarsh !
I can confirm the tool is working properly with Unicode paths and song names.
I’m currently working on the behaviour and mechanics of location folders being moved, renamed or deleted.