{"id":117,"date":"2017-06-10T18:42:59","date_gmt":"2017-06-10T23:42:59","guid":{"rendered":"http:\/\/dogphilosophy.net\/?page_id=117"},"modified":"2017-06-10T18:43:18","modified_gmt":"2017-06-10T23:43:18","slug":"117-2","status":"publish","type":"page","link":"https:\/\/dogphilosophy.net\/?page_id=117","title":{"rendered":"JamMOLDY"},"content":{"rendered":"<p><a title=\"Jamendo's Website\" href=\"https:\/\/jamendo.com\" target=\"_New\">Jamendo<\/a> 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 &#8220;buy&#8221; 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 &#8220;smaller file&#8221; format rather than the &#8220;higher-quality-at-the-same-bitrate&#8221; format.<\/p>\n<p>Jamendo <em>does<\/em>, 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.<\/p>\n<p>I&#8217;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 &#8220;cover art&#8221; 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.).<\/p>\n<p>That&#8217;s the &#8220;key&#8221; functionality I&#8217;m aiming for &#8211; if I can make it sufficiently useful to be worth expanding, I&#8217;m hoping to add searching capabilities using Jamendo&#8217;s API, especially searching by Creative-Commons-License terms (to find suitable tracks for use in Creative-Commons-licensed projects.)<br \/>\nAnother possible addition will be simultaneous remultiplexing of the .opus files to &#8220;WebM Audio&#8221; files (WebM with no video track, just an opus-codec audio track.)<\/p>\n<p>This is really a &#8220;rebirth&#8221; of my other currently-moribund &#8220;filecake&#8221; project, based on the work I&#8217;d done to this point on the Jamendo finding-and-fetching-and-tagging-and-converting process I&#8217;d come up with so far.<\/p>\n<p>This name probably sucks and may change later, but it&#8217;s supposed to be a contrived name for &#8220;Jamendo Metadata-Opus-Legal-Download-for-You&#8221;.<\/p>\n<p>Once I get it sufficiently functional that letting anyone who actually knows how to write competent software won&#8217;t immediately vomit upon seeing it, my intention is to release the source under the Affero GPL. If anybody <em>really<\/em> wants to see this mess beforehand, let me know and I&#8217;ll share &#8211; 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 &#8220;suggested&#8221; command-line call for the opus encoder to transcode the .flac track to a .opus track with complete metadata (but doesn&#8217;t actually initiate any conversion on its own yet.)<\/p>\n<p>Basically, it&#8217;s just me scratching my own metaphorical itch, but in a way that someone else might find useful, too.<\/p>\n<p>This project doesn&#8217;t-yet-but-probably-will make use of the <span title=\"I haven't actually used it yet, so I don't know\">probably-excellent<\/span> <a href=\"https:\/\/github.com\/JamesHeinrich\/getID3\" title=\"getID3()\" target=\"_New\">getID3()<\/a> project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/pages\/117"}],"collection":[{"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=117"}],"version-history":[{"count":3,"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/pages\/117\/revisions"}],"predecessor-version":[{"id":120,"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=\/wp\/v2\/pages\/117\/revisions\/120"}],"wp:attachment":[{"href":"https:\/\/dogphilosophy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}