Rip MRF music format

Discussion in 'NDS - ROM Hacking and Translations' started by memoca, Sep 22, 2016.

  1. memoca
    OP

    memoca Member

    Newcomer
    25
    6
    Sep 22, 2016
    Australia
    Australia
    the music in my rom is in the .mrf format. how do i rip that? (the screenshot is a mac, but i have a windows virtual machine installed so it won't matter if the ripping program is for windows)
     

    Attached Files:

  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,370
    9,171
    Nov 21, 2005
    What game is that? I try to keep on top of odd audio formats used in DS games ( http://gbatemp.net/threads/the-various-audio-formats-of-the-ds.305167/ ) and have never seen that. Without knowing what game it is I can not say much more.
    I see a SDAT, even a SMAP file which can be nice to look at, but the MRF is new. I have seen a few games use SDAT for sound effects and the like and kick music to a more workable format.
    Edit. Might as well make this its own thread.
     
  3. memoca
    OP

    memoca Member

    Newcomer
    25
    6
    Sep 22, 2016
    Australia
    Australia
    it's littlest pet shop: beach friends. i know it's babyish, i played it as a kid. but i really like the music in it so i wanted to rip it.

    i have checked the sdat, it only has sound effects. i'm a noob so idk how to open the smap.
     
    Last edited by memoca, Sep 22, 2016
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,370
    9,171
    Nov 21, 2005
    Should have elaborated a bit there. SMAP is a helper file for the SDAT format that is usually deleted by the devs, when one was found in Zoids it helped reverse engineer the format. It serves no purpose but is cool so I thought I would mention it.

    If all the effects are in the SDAT then you have the cheat way and use an emulator to rip things. Normally for emulator stuff you want a sound test or something like that but if you can edit the SDAT to remove or reduce volumes to 0 then you can just rip it using an emulator and not have to worry about trying to remove channels.

    You can also help yourself out if you like -- one of those mrf files is probably the same as the other so you can always extract say the jungle one and then overwrite a more commonly played/more accessible one.

    If we do have to rip things properly and emulators/line out cables are not OK then I guess we can try to learn about the format. I have not looked at it yet but going by the file sizes it is not going to be simple wave files like many custom formats. At those sizes I am expecting some kind of sequenced/tracker music a la SSEQ or midi or something -- 20 bytes for some of those is nothing. This can get tricky as you have to figure out everything so I do suggest emulator/line out but step one would be open it in a hex editor and see what it looks like.
     
  5. memoca
    OP

    memoca Member

    Newcomer
    25
    6
    Sep 22, 2016
    Australia
    Australia
    thanks for telling me about the use of smap, i understand it now.

    i'd much rather learn about the mrf format, however if we can't find any useful information i could try the emulator method.
     
  6. memoca
    OP

    memoca Member

    Newcomer
    25
    6
    Sep 22, 2016
    Australia
    Australia
    i apologise for replying to this so late. i have been both busy and lazy.
    i opened one of the .mrf files in hex edit and this is what it looks like.
    (i don't have any experience with this sort of thing so i basically have no idea what i'm doing. i apologise for being a huge noob and relying on you, i'm really trying to learn.)
     

    Attached Files:

  7. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,370
    9,171
    Nov 21, 2005
    If they are that small I would usually compare a bunch to see how similar they are. Also if you can overwrite one with another and see what goes that would be good.

    It is far too small to be a wave file of any great use and the general hex that is there would not make for much to happen.
    With all the 00s in there I half wonder if it is not a glorified piano roll; making a music format is hard and that is about as simple as it gets. General idea would be each hex value (or byte or maybe 16 bits) would be a note and the game plays each one in order and maybe 00 is a blank note or end previous note or something. The start or the end might be something else (might set the beats per minute, might set the instrument).

    After this start playing with the values -- don't randomly overwrite things but try things out such that you learn something. Replace a bunch of the 0500 and maybe a load of others with 0400 and see what happens. It is not going to allow you to rip it right away but if you understand roughly what goes then it will help you.