Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Talkinghead next5 #219

Merged
merged 48 commits into from
Jan 20, 2024
Merged

Conversation

Technologicat
Copy link
Contributor

@Technologicat Technologicat commented Jan 20, 2024

The backend changes for talkinghead are nearing completion for now. Here's the next PR.

Changelog:

  • Microsway (character pose jitter) is now framerate-independent, always updated at 25 FPS.
  • All postprocessor effects are now framerate-independent.
    • This works by giving the filters a (float-valued) normalized frame number that always runs at 25 FPS, regardless of the actual render FPS. For best accuracy, the number is computed without accumulation.
  • Add a simple crop filter.
    • New animator config keys crop_left, crop_right, crop_top, crop_bottom. Float, given in units where both the width and the height of the full sprite are 2.0. For example, "crop_left": 0.5 cuts away 25% of the image from the left. Default is no crop.
    • Cutting out the blank space around the character improves postprocessor performance. The poser isn't affected because it always works at 512x512 (so we must crop after posing).
    • As of this writing, this doesn't yet allow positioning the character nearer the screen edge in MovingUI mode. Seems something in the frontend is preventing that.
  • Support server-default animator/postprocessor configuration, SillyTavern-extras/talkinghead/animator.json.
    • This is preferable over per-character config for things like target_fps.
    • Examples in README updated.
  • The render time reported in the extras server console now excludes postprocessing time.
    • Total render time per frame = reported render time + reported postproc time.
  • Postproc filters affecting brightness (noise, scanlines) now have variants that do not affect translucency.
    • New lumanoise filter, sister to alphanoise.
    • scanlines now has a channel parameter. Set it to "A" for alpha, or "Y" for luminance (new default).
    • Implemented via RGB<->YUV conversion.
  • Update README, including the changes mentioned in this changelog, and the input from discussion in talkinghead changes TODO list #206.

Now there's still a lot of frontend work and documentation updates to do, as well as making some example characters to go with this...

@Cohee1207 Cohee1207 merged commit c8f6df2 into SillyTavern:main Jan 20, 2024
@Technologicat
Copy link
Contributor Author

Thanks for the merge!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants