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.
Mindstorms also supports melody files (.rmd).
http://nxtasy.org/2006/10/24/making-music-with-nxt-melodies
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)
@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?)