<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git/Scripts/generate_utils.py, branch master</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2025-07-24T05:53:08+00:00</updated>
<entry>
<title>Delete unused files</title>
<updated>2025-07-24T05:53:08+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2025-07-24T05:53:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=4539f87e36cb3ca554e1e174c19206b552107c57'/>
<id>urn:sha1:4539f87e36cb3ca554e1e174c19206b552107c57</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support as few as 1 char per sync in custom chatbox</title>
<updated>2024-07-30T20:38:24+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2024-07-30T20:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=c27d3fdcdf3b13dbe0df7a0a153cb53673d1b6c2'/>
<id>urn:sha1:c27d3fdcdf3b13dbe0df7a0a153cb53673d1b6c2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bugfix: eliminate dead-end in certain animator layers</title>
<updated>2023-09-11T01:11:08+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-11T01:11:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=4f3b9382068a29731de664eb0810f9eb3a267905'/>
<id>urn:sha1:4f3b9382068a29731de664eb0810f9eb3a267905</id>
<content type='text'>
Because the custom chatbox doesn't necessarily have an even multiple of
`sync_params` character slots, some layers in the animator write N
character slots while others write N-1. In the layers with only N-1
slots, they need something to do while slot N is being selected. This
patch creates a return-home transition in that case.
</content>
</entry>
<entry>
<title>Put OSC logic into its own thread</title>
<updated>2023-09-06T03:51:20+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-06T03:51:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=b40ded2981d5b037cdab9b78ff1ea0f8f22658d3'/>
<id>urn:sha1:b40ded2981d5b037cdab9b78ff1ea0f8f22658d3</id>
<content type='text'>
This logic is highly IO bound *and* latency critical so it makes sense to put
it into its own thread.

Also:
* Collector::drop* methods return the dropped audio. Committer includes
  that audio in commits. Transcription thread holds onto it. When the
  user segments their speech with a button press, the transcription
  thread sends the entire combined audio of all commits over to Whisper
  to be transcribed. This allows us to recover from errors introduced
  by segmentation.
* Remove unused animator params
* Fix issue where clearing the board doesn't completely reset STT state

TODO:
* Coalescing does not occur for in-place updates. It should.
</content>
</entry>
<entry>
<title>Add `Enable phonemes` toggle to radial menu</title>
<updated>2023-09-01T07:48:20+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-01T07:48:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=833ef96f677a60197abb417651ac306820e225f0'/>
<id>urn:sha1:833ef96f677a60197abb417651ac306820e225f0</id>
<content type='text'>
Also:

* Fully scrub AudioSource references from prefab when not using
  phonemes.
* Disable net sync on phoneme params when not using them. When not
  synced, they don't count against the total memory limit.
* Use config file in generate_params.py
</content>
</entry>
<entry>
<title>Fix in-game audio indicator</title>
<updated>2023-08-30T06:29:04+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-30T06:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=444914a701628ca2d1937f8d5cc9a714b478917c'/>
<id>urn:sha1:444914a701628ca2d1937f8d5cc9a714b478917c</id>
<content type='text'>
Also fix prefab default size (no longer colossal).

TODO
* Add runtime &amp; unity-time toggles
</content>
</entry>
<entry>
<title>Animate pre-speech ellipsis</title>
<updated>2023-08-11T18:29:02+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-11T18:29:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=3efa1498c7ff8012735d6773b56e19f67cf11a02'/>
<id>urn:sha1:3efa1498c7ff8012735d6773b56e19f67cf11a02</id>
<content type='text'>
Text box now shows an animated ellipsis prior to first speech.
</content>
</entry>
<entry>
<title>Deprecate old parameters</title>
<updated>2023-08-11T18:03:01+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-11T18:03:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=52ca7435f788e9bf981c7786046d5ca093e9688d'/>
<id>urn:sha1:52ca7435f788e9bf981c7786046d5ca093e9688d</id>
<content type='text'>
Deprecate the visual and auditory speech indicators, saving 4 bits
across the board. Fixed overhead is now 21 bits.
</content>
</entry>
<entry>
<title>First letter no longer disappears</title>
<updated>2022-12-29T23:28:32+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-29T23:28:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=618487e712f15d92ac9b6655c892cd94ff59d656'/>
<id>urn:sha1:618487e712f15d92ac9b6655c892cd94ff59d656</id>
<content type='text'>
An off-by-one issue in numRegions() would result in one extra layer
trying to drive a letter in the last region, which would wrap back
around to the 0th character slot (cell).

* GUI explicitly logs when it's done generating avatar stuff
* OSC layer no longer tries to update cells which don't exist
</content>
</entry>
<entry>
<title>GUI: expose chars per sync, bytes per char</title>
<updated>2022-12-24T20:13:07+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-23T07:10:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=50d327b83b496085ec91e31100d12f5f60c7d4ac'/>
<id>urn:sha1:50d327b83b496085ec91e31100d12f5f60c7d4ac</id>
<content type='text'>
Users can now control how many characters they send per sync event, as
well as the number of bytes used to represent each character.

This gives them the power to pick between faster paging and fewer sync
params.

International users must use 2 bytes per char (at least for now).

* package.ps1: don't distribute the gigantic TTF files, just the bitmaps
</content>
</entry>
</feed>
