[PR #219] [MERGED] Talkinghead next5 #239

Closed
opened 2026-10-15 18:05:50 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/SillyTavern/SillyTavern-Extras/pull/219
Author: @Technologicat
Created: 1/20/2024
Status: ✅ Merged
Merged: 1/20/2024
Merged by: @Cohee1207

Base: main ← Head: talkinghead-next5


📝 Commits (10+)

  • 97e5089 update TODO
  • d89f017 update TODO some more
  • 1a5fb2b update TODO
  • a34cfc1 update TODO, also reorganize it to make priorities clear
  • cf2bb14 reorganize comments
  • 4ccbda9 rate-limit microsway to 25 FPS
  • 32e94a0 update TODO
  • 99a786e integrate new info from #206 discussion to docs
  • 500f434 terminology: "fictitious frame" -> "normalized frame"
  • 9cc091b add framerate correction to most postproc filters

📊 Changes

6 files changed (+709 additions, -182 deletions)

View changed files

📝 talkinghead/README.md (+142 -55)
📝 talkinghead/TODO.md (+93 -51)
➕ talkinghead/animator.json (+19 -0)
📝 talkinghead/tha3/app/app.py (+83 -27)
📝 talkinghead/tha3/app/postprocessor.py (+274 -48)
📝 talkinghead/tha3/app/util.py (+98 -1)

📄 Description

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 #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...


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/SillyTavern/SillyTavern-Extras/pull/219 **Author:** [@Technologicat](https://github.com/Technologicat) **Created:** 1/20/2024 **Status:** ✅ Merged **Merged:** 1/20/2024 **Merged by:** [@Cohee1207](https://github.com/Cohee1207) **Base:** `main` ← **Head:** `talkinghead-next5` --- ### 📝 Commits (10+) - [`97e5089`](https://github.com/SillyTavern/SillyTavern-Extras/commit/97e50891c6587a78aa16dd06878e3fee5505b947) update TODO - [`d89f017`](https://github.com/SillyTavern/SillyTavern-Extras/commit/d89f017281d6cb8eb866d241352bf48f16d49404) update TODO some more - [`1a5fb2b`](https://github.com/SillyTavern/SillyTavern-Extras/commit/1a5fb2b66309ad8b868a079976568bd6fd73fd22) update TODO - [`a34cfc1`](https://github.com/SillyTavern/SillyTavern-Extras/commit/a34cfc11323987083b055999a8179391b9bfc4c8) update TODO, also reorganize it to make priorities clear - [`cf2bb14`](https://github.com/SillyTavern/SillyTavern-Extras/commit/cf2bb14decf8753f80182a36fdc2d0ab37f31809) reorganize comments - [`4ccbda9`](https://github.com/SillyTavern/SillyTavern-Extras/commit/4ccbda900cc564fdaf95e1521ef17f42fa564a24) rate-limit microsway to 25 FPS - [`32e94a0`](https://github.com/SillyTavern/SillyTavern-Extras/commit/32e94a087b68b36973d7d6981b2166718a42a467) update TODO - [`99a786e`](https://github.com/SillyTavern/SillyTavern-Extras/commit/99a786eb3dcd1ea1e416ab90fb2051c476b5589e) integrate new info from #206 discussion to docs - [`500f434`](https://github.com/SillyTavern/SillyTavern-Extras/commit/500f4348afaff85621d5fdb4039980eea1d7fa5e) terminology: "fictitious frame" -> "normalized frame" - [`9cc091b`](https://github.com/SillyTavern/SillyTavern-Extras/commit/9cc091bc7b9ecb51286e81b2a6cfad28c928f617) add framerate correction to most postproc filters ### 📊 Changes **6 files changed** (+709 additions, -182 deletions) <details> <summary>View changed files</summary> 📝 `talkinghead/README.md` (+142 -55) 📝 `talkinghead/TODO.md` (+93 -51) ➕ `talkinghead/animator.json` (+19 -0) 📝 `talkinghead/tha3/app/app.py` (+83 -27) 📝 `talkinghead/tha3/app/postprocessor.py` (+274 -48) 📝 `talkinghead/tha3/app/util.py` (+98 -1) </details> ### 📄 Description 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 #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... --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 18:05:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
SillyTavern/SillyTavern-Extras#239
No description provided.