talkr-apng

0.0.5 • Public • Published

talkr-apng

talkr-apng is forked from the excellent apng-js library which provides a generalized APNG parsing framework. talkr-apng adds functionality specific to playing APNG files in sync with audio or text-to-speech animations. Similar to talkr's GIF parsing library, talkr-apng has special code to play blink and eyebrow animations on files that were generated from the iOS app talkr. Memory use and loading times are drastically reduced by talkr-apng as compared to gif-talkr because the png frames are compressed.

Usage

npm install talkr-apng

API

Please refer to (apng-js) documentation on parseAPNG or the APNG, Player and Frame objects.

The play_for_duration function was added to the player, which will ping-pong for duration on regular APNG files and ping-pong on the first 21 frames of talkr APNG files while overlaying some eyebrows and blinks.

Creating APNG files

talkr GIFs

A conversion script (convert.sh) is provided to transform GIF files generated by talkr into PNG files that can be used with this library. It relies on imagemagick and apngasm.

normal GIFs

Any conversion library like gif2apng will let you create compatible PNG files from standard GIF files. But there is some skill required to choose animations that will look good in sync with text-to-speech. Try to find input files that start with a closed mouth, then open the mouth in the first few frames. Any movements (especially in the early frames) will be repeated frequently, so try to find input with minimal head movement in the early frames.

29-frame bug

Currently, all 29-frame PNG files are considered talkr files. This will be fixed, but for now, all 29-frame PNG files that weren't generated by talkr will display incorrectly.

Package Sidebar

Install

npm i talkr-apng

Weekly Downloads

1

Version

0.0.5

License

MIT

Unpacked Size

22.1 kB

Total Files

9

Last publish

Collaborators

  • talkr