Flipnote Files/PPM: Difference between revisions

Pbsds (talk | contribs)
Pbsds (talk | contribs)
Line 358: Line 358:
|- style="background-color: #ddd;"
|- style="background-color: #ddd;"
! Length
! Length
! Function
! Description
! Description
|-
|-
| Frame count
| Framecount
| Sound effect usage. Each byte represents a frame, and bit #1 represents Sound effect 1, bit #2 represents Sound effect 2 and bit #3 represents Sound effect 3.
| Sound effect usage.
| Each byte represents a frame. bit #1(from Right to Left) represents Sound effect 1, bit #2 represents Sound effect 2 and bit #3 represents Sound effect 3. the last 5 bits is padding.
|-
|-
| 0 - 3
| 0 - 3
| Padding - Makes the offset to the next four bytes dividable by 4
| Padding
| 0x00 * (0 to 3). Makes the offset to the next value dividable by 4.
|-
|-
| 4
| 4
| Size of the background music(0x0000000 if not used)
| Size of the background music.
| The size of the background music in bytes in the audio data below. 0x0000000 if not used/emtpy.
|-
|-
| 4
| 4
| Size of sound effect #1(0x0000000 if not used)
| Size of sound effect #1
| The size of the sound effect #1 in bytes in the audio data below. 0x0000000 if not used/emtpy.
|-
|-
| 4
| 4
| Size of sound effect #2(0x0000000 if not used)
| Size of sound effect #2
| The size of the sound effect #3 in bytes in the audio data below. 0x0000000 if not used/emtpy.
|-
|-
| 4
| 4
| Size of sound effect #3(0x0000000 if not used)
| Size of sound effect #3
| The size of the sound effect #3 in bytes in the audio data below. 0x0000000 if not used/emtpy.
|-
|-
| 1
| 1
| Frame speed. To get the correct value, you must take 8, and subtract the decimal value of this byte.
| Given 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.
|-
|-
| 15
| 1
| Unknown - Used for sound decoding? (samplerate, compression, etc)
| Current 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.
|-
| 14
| Padding
| 0x00 * 14
|}
|}


I have yet to figure out the sound decoding...--[[User:Pbsds|pbsds]] 17:38, 6 June 2010 (UTC)
Then comes the audio data.
 
*First comes the BGM(if used)
 
*Then comes sound effect #1(if used)
 
*Then comes sound effect #2(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.
 
----
 
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)