Flipnote Files/PPM: Difference between revisions

Pbsds (talk | contribs)
 
(2 intermediate revisions by 2 users not shown)
Line 383: Line 383:
| 4
| 4
| Size of the background music.
| Size of the background music.
| The size of the background music in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
| The size of the background music in bytes in the audio data below. 0x0 if not used/empty.
|-
|-
| 4
| 4
Line 398: Line 398:
|-
|-
| 1
| 1
| Given Framespeed.  
| Current Framespeed.  
| This is the speed of the flipnote. It's in the range of 1-8. To get the correct value, you must take 8, and subtract the decimal value of this byte.
| This is the speed of the flipnote. It's in the range of 1-8. To get the correct value, you must take 8, and subtract the decimal value of this byte.
|-
|-
| 1
| 1
| Current Framespeed when BGM was recorded.
| Given Framespeed when BGM was recorded.
| This is the speed of the flipnote when the BGM was recorded/modified. It's in the range of 1-8. This is used to resample the sound to the new speed. To get the correct value, you must take 8, and subtract the decimal value of this byte.
| This is the speed of the flipnote when the BGM was recorded/modified. It's in the range of 1-8. This is used to resample the sound to the new speed. To get the correct value, you must take 8, and subtract the decimal value of this byte.
|-
|-
Line 420: Line 420:
*Then comes sound effect #3(if used)
*Then comes sound effect #3(if used)


The sound data appears to be PCM, 1 channel, 8 bits per sample, at 4096 Hz. When played back with these parameters, the audio is quite audible, BUT there is a lot of background hiss. Perhaps there is a low pass filter on the DSi audio output?


----
The sound data is 4bit ADPCM with reversed nibbles @ 8kHz.


I have yet to figure out how to get rid of the noice when decoding sound...--[[User:Pbsds|pbsds]] 17:38, 6 June 2010 (UTC)
You can decode the sound yourself with "sox -t ima -N [input] [output]"


==Signature==
==Signature==


The last 0x10-bytes in a PPM are all-zero. The 0x80 bytes before that is a RSA-1024 SHA-1 signature over the whole PPM, excluding the last 0x90 bytes with the signature.
The last 0x10-bytes in a PPM are all-zero. The 0x80 bytes before that is a RSA-1024 SHA-1 signature over the whole PPM, excluding the last 0x90 bytes with the signature.