<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git, branch v0.13.3</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=v0.13.3</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=v0.13.3'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2023-08-09T20:02:09+00:00</updated>
<entry>
<title>Fix issue where white boxes appear on custom chatbox</title>
<updated>2023-08-09T20:02:09+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-09T19:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=1285caf31578d758c2b52b915eedb17cc12a1826'/>
<id>urn:sha1:1285caf31578d758c2b52b915eedb17cc12a1826</id>
<content type='text'>
GUI was not correctly managing .meta files, causing two textures to use
the same GUID. Unity would notice and regenerate GUIDs, breaking the
custom chatbox material's texture references.
</content>
</entry>
<entry>
<title>Fix race condition in commit logic</title>
<updated>2023-08-02T06:42:24+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-02T06:42:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=7b5cbfd76ede7522555dcc87b014239b4f6fbe8c'/>
<id>urn:sha1:7b5cbfd76ede7522555dcc87b014239b4f6fbe8c</id>
<content type='text'>
Transcription thread now blocks until microphone thread deletes samples
as requested.

(This is hacky design, it should use a work queue or something, but I
don't feel like doing that right now)
</content>
</entry>
<entry>
<title>Only back off transcription loop when not transcribing</title>
<updated>2023-08-02T06:30:42+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-08-02T06:25:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=fa7cb7220029fcc506476bf7b32aab90a0077a14'/>
<id>urn:sha1:fa7cb7220029fcc506476bf7b32aab90a0077a14</id>
<content type='text'>
It's possible that the user has toggled off transcription while the
algorithm is still working. In this case we should *not* begin
exponential backoff since there's still work to do.

Also:
* Shorten the hot-path sleep from 50ms to 5ms.
* Remove unused variable in SleepInterruptible
</content>
</entry>
<entry>
<title>Add ability to auto-regen unity assets</title>
<updated>2023-07-25T23:26:34+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-25T23:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=91a9105fb74a3590527f03c680f999eb9629c13d'/>
<id>urn:sha1:91a9105fb74a3590527f03c680f999eb9629c13d</id>
<content type='text'>
Add two buttons: start auto re-generation of Unity assets, and stop.
These start/stop a thread which periodically (every 3 seconds) hashes
the user-provided animator, menu and parameters. When any one of these
change, it invokes the function to generate Unity assets.

The hash is non-cryptographic, so it's light. The only hit is that we
have to read the entire file contents every few seconds, and compute a
sum across that entire memory region. This is extremely light unless
you're on a spinning platter hard drive with a small cache.

Still seeing the bug where the material drops ref to the font bitmaps.
Probably need to update the .mat using the guids in the bitmap .meta
files.
</content>
</entry>
<entry>
<title>Subsequent calls to `Generate unity assets` don't break textures</title>
<updated>2023-07-25T21:29:37+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-25T21:22:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=fcd038681640f64eada9541fd82c1ef182bfed7c'/>
<id>urn:sha1:fcd038681640f64eada9541fd82c1ef182bfed7c</id>
<content type='text'>
Avoid deleting bitmap .meta files so that once the user sets up their
shader, it doesn't break.
</content>
</entry>
<entry>
<title>Unity assets can be generated at a configurable path</title>
<updated>2023-07-25T00:52:19+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-25T00:52:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=2074749d4263991d835b19257bf1510dcaf55211'/>
<id>urn:sha1:2074749d4263991d835b19257bf1510dcaf55211</id>
<content type='text'>
Useful for projects with multiple avatars with different animators.
</content>
</entry>
<entry>
<title>Bugfix: unity panel now shows saved paths</title>
<updated>2023-07-25T00:27:21+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-25T00:27:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=e64c71199c39fb1637bb2fd410cf27b9f4575b12'/>
<id>urn:sha1:e64c71199c39fb1637bb2fd410cf27b9f4575b12</id>
<content type='text'>
The paths you enter in the Unity panel (animator, menu, params, and
assets folder) are saved in the app config, but were not populated
correctly on app restart or pane redraw. Now they are.
</content>
</entry>
<entry>
<title>Preserve audio chunk length when dropping samples</title>
<updated>2023-07-09T02:06:45+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-09T01:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=a602bfb95665697b15a2de58694c6ac064af2916'/>
<id>urn:sha1:a602bfb95665697b15a2de58694c6ac064af2916</id>
<content type='text'>
When we commit a transcription, we drop the corresponding audio data.
Audio data is represented as a list of chunks. Each chunk contains a few
hundred samples of audio data, representing O(10ms) of audio.

If we want to drop a few seconds of data, this means simply deleting
many chunks of audio. There's usually a chunk where we want to drop some
portion of audio data.

Instead of slicing away that part of the chunk, which would change its
length, this change zeroes it out. This preserves the assumption that
each chunk has the same temporal length.
</content>
</entry>
<entry>
<title>Commit logic now drops parts of frames</title>
<updated>2023-07-08T22:57:39+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-08T22:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=80f46a7a346e73c94a3bb8ae01099743020ef2a4'/>
<id>urn:sha1:80f46a7a346e73c94a3bb8ae01099743020ef2a4</id>
<content type='text'>
We used to drop entire frames only, leading to situations where more
audio is dropped than desired. Now we drop frames down to the precision
of the individual audio sample requested.
</content>
</entry>
<entry>
<title>Update README</title>
<updated>2023-07-08T00:54:40+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-08T00:54:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=5db7426bb14b7e51275c14d8173bd67e8addc4ce'/>
<id>urn:sha1:5db7426bb14b7e51275c14d8173bd67e8addc4ce</id>
<content type='text'>
Mostly updating roadmap stuff. Non-VRC use cases are "complete" since I
was mostly targeting streaming. The ability to type into arbitrary text
fields is still somewhat nascent &amp; could be improved.

Also update some other random stuff to be more up to date. KillFrenzy
Avatar Text is now MIT, pog!
</content>
</entry>
</feed>
