Line 207:
Line 207:
|-
|-
| 0000
| 0000
β
| 4
+
| 2
| Size of the offset table
| Size of the offset table
+
|-
+
| 0002
+
| 2
+
| Padding
|-
|-
| 0004
| 0004
Line 379:
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. 0x0000000 if not used/emtpy.
+
| The size of the background music in bytes in the audio data below. 0x0 if not used/empty.
|-
|-
| 4
| 4
| Size of sound effect #1
| Size of sound effect #1
β
| The size of the sound effect #1 in bytes in the audio data below. 0x0000000 if not used/emtpy.
+
| The size of the sound effect #1 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
|-
|-
| 4
| 4
| Size of sound effect #2
| Size of sound effect #2
β
| The size of the sound effect #3 in bytes in the audio data below. 0x0000000 if not used/emtpy.
+
| The size of the sound effect #3 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
|-
|-
| 4
| 4
| Size of sound effect #3
| Size of sound effect #3
β
| The size of the sound effect #3 in bytes in the audio data below. 0x0000000 if not used/emtpy.
+
| The size of the sound effect #3 in bytes in the audio data below, max size is 0x2000. 0x0 if not used/empty.
|-
|-
| 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 416:
Line 420:
*Then comes sound effect #3(if used)
*Then comes sound effect #3(if used)
β
To decode the sound data, you must multiply each byte by 16 and run it as 32000Hz PCM data.
β
----
+
The sound data is 4bit ADPCM with reversed nibbles @ 8kHz.
+
+
You can decode the sound yourself with "sox -t ima -N [input] [output]"
+
+
==Signature==
β
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)
+
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.