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, 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 394: |
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 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. |
| | | |
− | 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. |