<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git/Scripts/osc_ctrl.py, branch v0.10.1</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=v0.10.1</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=v0.10.1'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2023-02-13T22:36:25+00:00</updated>
<entry>
<title>Finish emotes</title>
<updated>2023-02-13T22:36:25+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-03T02:00:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=1cb5bdfe8cba6fe4647448cd3cf0c63ecbd7dfc2'/>
<id>urn:sha1:1cb5bdfe8cba6fe4647448cd3cf0c63ecbd7dfc2</id>
<content type='text'>
Emotes require 2 bytes per char. They're encoded into the region
[0xE000, infinity). The texture is 4k, and uses 1k vertical pixels
per emote segment, for a maximum of 32 segments.

* Reduce volume of noise indicator by 90%. Quiet is probably better.
  Might want to add a volume slider idk.
* Bugfix: emotes without a transparency channel now work
* Address a couple Unity performance complaints about the shader
</content>
</entry>
<entry>
<title>Begin work adding emotes</title>
<updated>2023-02-13T22:36:20+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-02T09:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=7c6894614dcc3ebc5d4c8839b64f4da761b5ccf0'/>
<id>urn:sha1:7c6894614dcc3ebc5d4c8839b64f4da761b5ccf0</id>
<content type='text'>
Done:
* Users can add images to Fonts/Emotes/
* The basename of that image ('clueless.png' becomes 'clueless') is the
  keyword to make the image show up in game.
* Fix a bug in the shader where letters on the 2nd texture and later
  would have UV outside of [0.0, 1.0]

Not yet implemented:
* transcribed words are encoded using emotes mapping
</content>
</entry>
<entry>
<title>Built-in chatbox no longer shows empty messages</title>
<updated>2023-02-04T23:26:41+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-04T21:16:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=92fea304613bacfa014e1fbaf9fddb82e4f33d62'/>
<id>urn:sha1:92fea304613bacfa014e1fbaf9fddb82e4f33d62</id>
<content type='text'>
* Reduce noise on/off indicator volume by 50%
</content>
</entry>
<entry>
<title>Enable using built-in chatbox</title>
<updated>2023-01-22T23:35:00+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-01-22T23:05:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=1c056bf385d2c48f6e4f77da513060c04415252c'/>
<id>urn:sha1:1c056bf385d2c48f6e4f77da513060c04415252c</id>
<content type='text'>
VRChat exposes a built-in chatbox which can be seen by anyone who has
it enabled. This was not the case when I started this project: the
chatbox would only be visible to friends. Since this is clearly useful,
enabling the STT on public models, let's enable sending data to it.

Caveats:

* The built-in chatbox has anti-spam tech which limits us to updating
  about once every 2 seconds. The custom chatbox has no such limitation
  and is thus typically much faster.
</content>
</entry>
<entry>
<title>Bugfix: regions truncate correctly at page boundaries</title>
<updated>2022-12-30T10:33:07+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-30T10:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=d9a0224466189d0fe1d46f21d586fa8a1a58c687'/>
<id>urn:sha1:d9a0224466189d0fe1d46f21d586fa8a1a58c687</id>
<content type='text'>
Boards whose size is an even multiple of CHARS_PER_SYNC would lose the
entire last region.

* Attempt to fix runaway memory usage of GUI text frames, but this needs
  more work
</content>
</entry>
<entry>
<title>Fine-tune transcription</title>
<updated>2022-12-30T08:01:28+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-30T08:01:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=abdaa7ce215086bf1070d6093731cd35df866cbb'/>
<id>urn:sha1:abdaa7ce215086bf1070d6093731cd35df866cbb</id>
<content type='text'>
Bump up recording window to 28 seconds. This helps a lot with long-form
transcription tasks, s.a. transcribing an audiobook.

We should expose this as a parameter, since at 10s the transcription delay is
typically 300ms, while at 28s it's typically 1.1-1.2s.
</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>Encapsulate paging &amp; text wrapping logic</title>
<updated>2022-12-28T00:07:10+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-28T00:07:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=f48ae0fffcd06f3cddd6cfc99b4c3d3a18c20038'/>
<id>urn:sha1:f48ae0fffcd06f3cddd6cfc99b4c3d3a18c20038</id>
<content type='text'>
Define proper interfaces for these things. Simplify osc_ctrl,
temporarily dropping support for emotes (they were broken anyway).

* Bugfix: Japanese no longer crashes transcribe.py, but it still doesn't
  show up in the wxTextCtrl
</content>
</entry>
<entry>
<title>Bugfix: don't use last region if it's partial</title>
<updated>2022-12-25T22:22:36+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-25T21:01:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=d7a38b79e1fbcd3b64490ae1b04692d0a2bcdd7d'/>
<id>urn:sha1:d7a38b79e1fbcd3b64490ae1b04692d0a2bcdd7d</id>
<content type='text'>
Because we allow users to customize the # of sync params, the board is
no longer divided into regions of uniform size. When the last region is
a different size than the rest, we simply omit it from paging.

This is a hack but it's easy to reason about.

Of course the entire paging stack should be rewritten, but not today.
</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>
