First a caveat. I am not sure if this the right forum for this question, but it seems like the right kind of people are here that might be able to help.
I (well, my son really) have(has) an embedded electronics device (Nintendo DSi XL) that runs an app (FlipNote studio) that can record audio (and make fun little animations). It will export the animations as .gif files, but that obviously loses the audio. I would like to be able to extract the audio directly from the proprietary files (which can be saved to an SD card). Yes, I can just connect the headphone port to the line-in on my computer, but, as an engineer (well software engineer who works around a lot of electronics/embedded stuff), I want to see if I can do it better

There has already been some effort by others in this problem space, and they have identified WHERE in the proprietary file the audio data is, but properly decoding it isn't quite there:
http://www.dsibrew.org/wiki/Flipnote_Files/PPMAfter some experimentation I have found that treating the data as linear PCM with 1 channel, 8 bits per sample at 4096Hz (yikes, worse that POTS!) gets the audio to the edge of recognizable. If I record a simple tone (e.g. 440Hz sine wave), the extracted audio has a clear peak in the spectrum at 440Hz. Looking at the data, it looks vaguely sine-wave-ish. If I feed the headphone port on the DS into my line in and record the output, it looks MUCH nicer. I have tried a similar approach with spoken language (e.g. the word "testing"). If you listen VERY carefully you can hear the word under a hiss of (white/pink?) noise. But, a recording from the headphone jack is almost noise free.
I have attached a zip file with some files. In the recorded directory are files that I recored by playing back sounds with the headphone jack connected to the line-in on my computer. In the extracted directory are files I created by attempting to extract the audio directly from the proprietary file format. There are .wav files (my best attempt at 'decoding' the audio data) and .raw files. The .raw files are just the bytes from the audio section(s) of the proprietary file.
P.S. I have attempted to treat the data as Mu-law and A-law and the results were worse than treating it as linear. BUT audio is not my area of expertise and I may have just fouled things up.