Friday, July 2, 2010

Progress on PPM.py + a preview on a Flipnote player

I have learned a bit about how the sound works in the PPM file.
I have documented what i found out in the sound header here: http://www.dsibrew.org/wiki/Flipnote_Files/PPM#Sound_data_section
I have also been able to extract all the sounds, but their all very static sounding.

I'll give you a little taste of how far i've come:

Original Flipnote:
http://flipnote.hatena.com/930EDBE0CC6FF483@DSi/movie/6FF483_0948E7A5F44D5_000
Extracted sound, only multiplied every byte by 16(RAW-ish):
http://www.mediafire.com/?dgxd20yqmjd
Extracted sound, how far i've come so far(See below for details)
http://www.mediafire.com/?omuyjwyxbog

I have found out that if you multiply each byte by 16, and play it as a 32000Hz PCM data, you get about the correct speed.

And here is my decoder in Python:
Output = []
for i in Input:
    i1 = ord(i)&0xF
    i2 = (ord(i)>>4)&0xF
    if  (i1&0x8): i1 = 0xF-(i1&0x7)
    if  (i2&0x8): i2 = 0xF-(i2&0x7)
    Output.append(chr(i1 * 0x10 + i2 )*16)
Output = "".join(Output)


And here is the preview of the Flipnote player I'm also making:


Update: Project discontinued(PPM.py,and PPMplayer)

7 comments:

  1. Could you make an app for me that reads and copies unlocked flipnotes into another directory so you can easily isolate and delete the locked ones? That would make everything a bit easier, because I have a limited amt. of space (32 MB) on my SD card. Besides my 4GB one quit working and my 2GB one is no where to be found...

    P.S. Thanks Pbsds!

    ReplyDelete
  2. You could do that on the DSi easily.
    Just copy some of the flipnotes to the SD card, then delete the locked ones. :)

    ReplyDelete
  3. I know, but my SD card only has 32 mb, which means I can only put some of yours on there. If I delete those, when I put the rest on, I still cant sort those. Plus, I can't tell where the flipnotes stopped copying.. Too hard.

    ReplyDelete
  4. BTW, do you have more flipnotes?

    ReplyDelete
  5. Do you have iMacros? (by iOpus)? I have it on Firefox. It's great! Along with awesome macro stuff, it can run scripting from all languages (or at least most.) http://www.iopus.com/imacros/

    BTW, can you figure out a way to make one that will take a URL, increase an integer in the URL each time, go to it, etc?

    ReplyDelete
  6. Sorry, I'm a bit busy at the time being... :(

    ReplyDelete
  7. Okay.
    I'm just trying to find a way to post a comment to all the flipnotes: ("Look at my new flipnotes!")

    ReplyDelete