flipnote.js
Enables browser-based playback of the proprietary animation formats used by Flipnote Studio and Flipnote Studio 3D, powered by WebGL.
I hope that maybe in the long term it will serve some use in archiving Flipnote animations, epecially given that the online services for both applications have been closed down.
Features
- Perfect image and audio playback for animation files from Flipnote Studio (
.ppm
) and Flipnote Studio 3D (.kwz
) - Dynamic upscaling/downscaling
- Metadata parsing
- Player API based on the HTML5 Video and Audio APIs
Demo
Check out Flipnote Player for a live demo. :)
Authors
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Building
Install dependencies:
npm install
Build:
npm run build
Run development server:
npm start
Acknowledgments
- Flipnote.js implementation: Jaames.
- KWZ format reverse-engineering: Kinnay, Khangaroo, MrNbaYoh, Shutterbug, Jaames.
- PPM format reverse-engineering & documentaion: bricklife, mirai-iro, harimau_tigris, steven, yellows8 and PBSDS, Jaames.
- Identifying the PPM sound codec: Midmad from Hatena Haiku (no longer active) and WDLMaster from the HCS forum.
- PBSDS for creating Hatena Tools, and for giving me some notes regarding areas where the documentation fell short.
- Stichting Mathematisch Centrum for writing this ADPCM to PCM converter in C which I semi-ported to JS to handle audio.
- Austin Burk and JoshuaDoes for helping to debug my Python3 PPM parser (which I used as a reference for the JS decoder).
- Lauren Kelly for performing packet captures of Flipnote Hatena before it shut down, without them reverse-engineering the app in general would have been a huge pain.
- Nintendo for creating the Flipnote Studio application.
- Hatena for creating Flipnote Hatena, the now-defunct online service for sharing Flipnote Studio creations.