JamMOLDY

Jamendo is nifty, but there is some missing functionality: there is no option to download files in high-quality .opus format, the metadata provided in the files that are available is incomplete (in particular, the licensing terms for each media file, so I know whether or not I can legally use a track for my own Creative-Commons-licensed projects without needing to “buy” extra licensing), and the web interface seems to only allow crappy-old-mp3 downloads for whole albums. The older .ogg(vorbis) format is available for individual tracks, but Jamendo unfortunately treats that as the “smaller file” format rather than the “higher-quality-at-the-same-bitrate” format.

Jamendo does, via their handy API, offer .flac (lossless) downloads for tracks, which can then be transcoded to high-quality-yet-much-smaller .opus format from there without the quality issues that arise from transcoding from one lossless format (like .mp3, or ogg-vorbis) to another.

I’m trying to put together a system that makes it easy to fetch individual tracks or whole albums in archival-quality .flac format, along with _all_ relevant metadata (including the Creative-Commons licensing terms in addition to the “cover art” and the usual artist/track/title/etc.), properly tag the .flac originals, and then transcode them to .opus to load onto playback devices (or stream online, etc.).

That’s the “key” functionality I’m aiming for – if I can make it sufficiently useful to be worth expanding, I’m hoping to add searching capabilities using Jamendo’s API, especially searching by Creative-Commons-License terms (to find suitable tracks for use in Creative-Commons-licensed projects.)
Another possible addition will be simultaneous remultiplexing of the .opus files to “WebM Audio” files (WebM with no video track, just an opus-codec audio track.)

This is really a “rebirth” of my other currently-moribund “filecake” project, based on the work I’d done to this point on the Jamendo finding-and-fetching-and-tagging-and-converting process I’d come up with so far.

This name probably sucks and may change later, but it’s supposed to be a contrived name for “Jamendo Metadata-Opus-Legal-Download-for-You”.

Once I get it sufficiently functional that letting anyone who actually knows how to write competent software won’t immediately vomit upon seeing it, my intention is to release the source under the Affero GPL. If anybody really wants to see this mess beforehand, let me know and I’ll share – as of this posting, the only written code is in .php, and handles the track-enumeration, metadata fetching including coverart, and downloading-and-renaming of .flac files for a Jamendo-hosted album. It also generates a “suggested” command-line call for the opus encoder to transcode the .flac track to a .opus track with complete metadata (but doesn’t actually initiate any conversion on its own yet.)

Basically, it’s just me scratching my own metaphorical itch, but in a way that someone else might find useful, too.

This project doesn’t-yet-but-probably-will make use of the probably-excellent getID3() project.

This content is published under the Attribution-Share Alike 3.0 Unported license.