Breaking Eggs And Making Omelettes

Topics On Multimedia Technology and Reverse Engineering


Archives:

Lego Mindstorms RSO Format

July 13th, 2010 by Multimedia Mike

I recently read a magazine article about Lego Mindstorms. Naturally, the item that caught my eye was the mention of a bit of Lego software that converts various audio file formats to a custom format called RSO that can be downloaded into a Mindstorms project to make the creation output audio. To read different sources, one might be left with the impression that there is something super-duper top secret proprietary about the format. Such impressions do not hold up under casual analysis of a sample file.

A Google search for “filetype:rso” yielded a few pre-made samples that I have mirrored into the samples archive. The format appears to be an 8-byte header followed by unsigned, 8-bit PCM. More on the wiki. If FFmpeg could gain an RSO file muxer, that would presumably be a heroic feat to the Lego hacking community.

Posted in General | 3 Comments »

3 Responses

  1. Peter Says:

    Mindstorms also supports melody files (.rmd).

    http://nxtasy.org/2006/10/24/making-music-with-nxt-melodies

  2. funman Says:

    http://sourceforge.net/projects/bricxcc/files/ has a wav2rso converter and the source says:
    bytes 0-1: 0x0100 = PCM; 0x0101 = IMA ADPCM
    bytes 6-7: play mode (0x0000 = do not loop)

  3. Multimedia Mike Says:

    @funman: Thanks for the data; I have updated the Wiki. Though “IMA ADPCM” is a bit ambiguous (what are the initializer values? What order are the nibbles stored in?)