WHAT'S NEW IN v0.1.0-alpha.3 (2026-08-06)
NEW THIS BUILD (since the 2026-07-23 build)
SPEECH RECOGNITION NOW RUNS ON YOUR GPU
- The big one this build. Local speech recognition now runs on your
graphics card when a usable one is there. Measured 4-19x faster
recognition on a discrete GPU, and about 4x even on integrated
graphics - because recognition stops competing with the game for
CPU cores. - It picks your discrete GPU on its own (integrated when that's all
there is). A machine without a usable Vulkan GPU stays on the CPU
engine exactly as before, and the log says so in one line. - Advanced, only if your rig disagrees: create appsettings.local.json
next to TeaTools.App.exe and set Stt:Backend (auto / cpu /
vulkan), Stt:GpuDevice (device number), or Stt:WhisperThreads
(how many CPU cores decoding may use). Leave them unset and
TeaTools decides.
THE DOWNLOAD GOT BIGGER: ABOUT 53 MB -> ABOUT 80 MB
- Worth knowing before you click download. The GPU engine ships
inside every build, whether or not your machine can use it, and
that is most of the extra ~27 MB (~20 MB of GPU engine, ~7 MB of
the v2 shell + IBM Plex Sans JP typeface). The alpha.2 zip was
about 53 MB; this one is about 80 MB. - Nothing you download separately changed: the free local speech
model is still a one-time ~142 MB download on first listen, cached
forever after.
FIXED: VRCHAT STUTTER WHILE TRANSCRIBING
- The GPU backend above is the main fix now - recognition mostly
moves off the CPU entirely, so it stops fighting VRChat for it. - On CPU-only machines the original cause is fixed too: speech
recognition was asking Windows for EVERY CPU core, and on many
machines transcription couldn't even keep up with speech while
VRChat fought it for the CPU. It now uses a small, bounded share.
That bound still applies on the GPU path, to the decoding work that
stays on the CPU.
THE APP HAS A NEW LOOK (v2 SHELL)
- The whole window is reorganized: modules live in a rail on the left,
app settings moved into Home, and the window chrome, dialogs and
tooltips were rebuilt on the new design system. Everything you had
is still there - it may just be in a clearer place now. - New app typeface (IBM Plex Sans JP). Japanese text keeps full
coverage.
FACE TRACKING + TEATOOLS AT THE SAME TIME
- TeaTools no longer fights VRCFT (or any second OSC app) for
VRChat's ports. It binds its own port, announces itself properly,
and VRChat routes to both apps. Verified live with VRCFT + OVR
Toolkit running together.
MUTE SAFETY HARDENING
- After a VRChat reconnect, TeaTools no longer trusts stale "you're
unmuted" state from before the drop - it waits until VRChat
reports your real mute state. It also re-checks that state in the
background instead of trusting one reading forever, and stops
trusting a reading once it has gone stale. - NEW WARNING PILL: once TeaTools has connected to VRChat, if it later
can't verify your mute state AND something is being held back
because of it, a warning appears under the title bar - "Mute state
unknown - paused to be safe. Resumes once VRChat reports you're
unmuted." - with a Check OSC button that jumps to Home -> General.
It never auto-dismisses, retracts itself the moment the state is
verified again, and never fires before that first connection - there's
nothing to warn about yet, so TeaTalk behaves normally until then.
Before this pill, held speech was silent - indistinguishable from the
app just not hearing you. It now covers TeaTalk itself, not just
third-party modules: from that first connection onward, whenever
TeaTools can't tell whether you're muted - including a later
disconnect - it holds your speech instead of guessing, and tells you
it's doing so. - Third-party modules without the "hear while muted" permission now
receive speech only when TeaTools has PROVEN you were unmuted at the
moment you started speaking. Before, in the window between app start
and VRChat's first mute report, they were treated as if you were
unmuted - speech made while already muted could reach them. Unknown
now means withheld, from your first VRChat connection onward. - CLOSED: the last gap in this hardening. Previously, once connected,
a later OSC disconnect could make TeaTalk's own chatbox sends
resolve an unverifiable mute state as "not muted" - the one path
where an unknown state could still be sent instead of held. Unknown
now means held on every spoken path for the rest of that session,
however the connection behaves.
FIXED: THE X BUTTON NOW ACTUALLY CLOSES TEATOOLS
- With "close to tray" turned off (the default), clicking X used to
make the window disappear while the app kept running in the
background - mic still open, still sending to the VRChat chatbox,
nothing on screen to show it. The only way out was Task Manager. X
now actually exits the app. If you've turned "close to tray" on,
that's unaffected - X still hides to the tray as before, and you
quit from the tray icon's Quit.
NEW: TRANSPARENCY EFFECTS SWITCH (ACCESSIBILITY)
- If text is hard to read through the frosted-glass look, you can now
turn it off: Home -> General -> Appearance -> "Transparency
effects". The window goes fully opaque - same design, nothing
showing through. Changes apply instantly, no restart. - Known issue: in the LIGHT theme, some muted grey text is still
lower-contrast than we want even with transparency off - an ink
color fix is tracked separately.
SMALLER BUT REAL
- About now has working Website and Discord links (and the broken
"Source code" link is gone). - The OSC status dot now tells you HOW to fix it - hover it when
disconnected and it names the VRChat menu path to re-enable OSC. - Clearer words in a few places: "Pause transcribing" (was "Pause
STT"), "modules" everywhere (was a mix with "plugins"), and the
free-path banner no longer overclaims. - Testers' console windows no longer fill up with internal
diagnostic lines.
Coming from a build before 2026-07-23? You also have: Live captions
(opt-in preview), the repeated/doubled-words fix, and the
mute-decided-at-speech-onset privacy fix.