Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Renoise XRNS

July 17th, 2009 by Multimedia Mike

A little piece of me died today when I read of the existence of XRNS, a music tracker format that uses XML. A music tracker format that uses XML! Can you imagine? If you can’t, Google for “filetype:xrns” to find plenty of samples.

[xml]
< ?xml version="1.0" encoding="UTF-8"?>


4
1
false
4
96
123
3
true

36
68
67
47

Untitled
By Somebody




[/xml]
And on it goes. It’s difficult to articulate why this feels so heretical. It’s like those old MOD/tracker formats were designed to be so pure, so efficient. This completely destroys that. Now your playback engine has to carry the baggage of a full XML parsing library.

There are elements of the FFmpeg development team that would enjoy seeing the program grow to be able to handle all the various tracker-type formats (myself included, obviously). It’s not going to be pretty when XRNS collides with FFmpeg.

Addendum: Share the love over on the Renoise forums.

Posted in General | 66 Comments »

66 Responses

  1. compn Says:

    youtube should make audio only streams, it will save everyone time :)

  2. BYTE Smasher Says:

    “Laugh all you want, BYTE. But one day, YouTube (or whatever eventually supplants it) will support transcoding XRNS files directly to something Flash can deliver. And it will probably be because of FFmpeg.”

    Well that’s about as logical as uploading your raw cubase, protools, or logic files to youtube. Are you going to provide emulation for every hardware synth, pedal effect, and VST in existence as well? Will there be a complex configuration allowing us to define our real life effect chains? Will your software also auto-magically master our tracks for us?

    What you guys fail to understand about Renoise is that it’s the full featured sequencer of choice for people who’ve learned to compose software using trackers. It’s not only used to trigger samples, but also to trigger a variety of VSTs and midi-controlled hardware. In many cases, an XRNS song is simply a shell of control data and effect chains, containing no samples whatsoever.

    Perhaps you should try using Renoise a bit before attacking it for its supposed flaws.

  3. BYTE Smasher Says:

    s/compose software/compose music/g

    It’s first thing in the morning… I’m tired. I don’t feel like being flamed for a mistake in my post.

  4. Mans Says:

    We don’t flame people for mistakes in their posts, we flame them for mistakes in their thoughts.

  5. Suva Says:

    As much as I would want to have separate utility to convert Renoise songs into WAV or just listen to them without opening Renoise, I don’t think this is ever going to happen. There are just way too many things to implement through reverse engineering. Just think of how hard it is to implement 100% correct .IT playback: there are only few libraries out there with good-enough playback and even those are work of several years of development by multiple people.

    Now, functionality in IT is maybe 1% of what the functionality of XRNS is and that excluding all external features such as plugins.

    Sure you can ignore the whole FX stack stuff, but that makes 99.999% of songs made with Renoise unplayable. Even then there are lots of things to implement.

    Also, unlike IT and XM formats, XRNS format is constantly changing with every version of Renoise. New features get implemented and the structure of the song may get changed entirely like 2.0 introduced the LPB timing, which is totally incompatible with older versions of Renoise. (Renoise itself can load songs made with older versions).

    I think without the help of Renoise official devs, there is not much hope to get a decent playback library.

  6. BYTE-Smasher Says:

    “We don’t flame people for mistakes in their posts, we flame them for mistakes in their thoughts.”

    I love how you entirely ignored the post I was correcting ;)

  7. Michael Sabin Says:

    Knowing little about how truly inefficient it is to parse XML, or what trackers and Renoise are, all I get from this thread is that Renoise users are much more friendly and articulate than XML haters. Even Mike M.’s replies sound like he has incredible trolling skills. :)

  8. Multimedia Mike Says:

    The sad part is that I never meant to insult their little music program (aside from pointing out how they brazenly dishonor the memory of their tracker forebears via XRNS). But it’s important to fight the proliferation of bad data paradigms wherever they occur. Before you know it, someone will think it’s a good idea to make a general A/V container format using XML.

  9. Michael Sabin Says:

    Is it safe to assume that one of the requirements for Renoise software was to store their data in such a way that it would be easy for 3rd parties (who aren’t necessarily professional software developers) to write programs, or even use existing programs to manipulate that data? If that is the case, what format or design might best meet that requirement?

  10. ghostly Says:

    “The sad part is that I never meant to insult their little music program (aside from pointing out how they brazenly dishonor the memory of their tracker forebears via XRNS).”

    You are really rather rude aren’t you? Good luck with this little website of yours and do try not to dishonor yourself further.

  11. It-Alien Says:

    Multimedia Mike: just out of curiosity, did you happen to launch Renoise at least once since the beginning of the flame? :D

  12. Peter Says:

    Despite the perceived awkwardness of the format, I would much rather hear some constructive discussion on how best to support XML in FFmpeg.

    Traditional XML parsing libraries suck, because all they do is load the XML into generic data structures (defined by the library). Your program then has to parse these generic data structures and extract the relevant information.

    lex/yacc solved this problem many years ago, but the mainstream have discarded it for some unknown reason.

  13. Mans Says:

    > lex/yacc solved this problem many years ago, but the mainstream have discarded it for some unknown reason.

    Probably because lex/yacc chokes when the input is malformed, as is typical with xml.

  14. Multimedia Mike Says:

    @It-Alien: Honestly, I’m extremely eager to try Renoise someday (need to allocate some time first). It looks quite neat and I want to see if it can play my extensive collection of old school MODs. Plus, I have boundless respect for any multimedia program that can claim cross-platform functionality (Win/Mac/Linux? Really?).

  15. It-Alien Says:

    don’t expect Renoise to play MOD/XM/IT files accurately; this is not what Renoise has been made for: you either makde an accurate legacy player or a modern tracker. we decided to go for the second choice.

  16. xeche Says:

    LA LA LA!!!! @everyone who wants to see an .xrns playback app – ffmpeg crew or whatever – please emulate a gruesome beating by jumping face first from the nearest tall building. I ringer bare. Røvhuller.