<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git, branch v0.12.0</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=v0.12.0</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=v0.12.0'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2023-05-31T02:13:25+00:00</updated>
<entry>
<title>Finish translation for Western European language speakers</title>
<updated>2023-05-31T02:13:25+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-31T02:01:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=0bda49279ec80187d49a922ff2a47141ffb2fd8f'/>
<id>urn:sha1:0bda49279ec80187d49a922ff2a47141ffb2fd8f</id>
<content type='text'>
NLLB needs its input to be split up into sentences. I use the
sentence_splitter Python package to do this. It supports ~20 Western
European languages, but notably, no Asian languages.

* Sort spoken language list. English is still at the top.
* Remove 'Translation source' dropdown. Infer this from the spoken
  language.
* Add lang_compat.py to map language codes between the various libraries
  (whisper, nllb, sentence_splitter).
* Fix bug where old text would appear in textbox when you first bring it
  up.
</content>
</entry>
<entry>
<title>Add ability to translate into 200 languages</title>
<updated>2023-05-26T05:00:56+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-26T04:45:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=84f09e1fdf15644d1ea5f955889581932e4f6a8e'/>
<id>urn:sha1:84f09e1fdf15644d1ea5f955889581932e4f6a8e</id>
<content type='text'>
Use Meta's No Language Left Behind (NLLB) algorithm to provide
translation capabilities into 200 languages. Obviously most are very
untested.

This requires either 4.1 or 7.1 GB of RAM and significiantly increases
transcription latency.
</content>
</entry>
<entry>
<title>Add more text filters</title>
<updated>2023-05-25T06:07:07+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-25T06:07:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=eed2e8915d83796679c0b7a3ea9121d329ceddab'/>
<id>urn:sha1:eed2e8915d83796679c0b7a3ea9121d329ceddab</id>
<content type='text'>
Add 3 filters:
* Remove trailing period
* Convert to uppercase
* Convert to lowercase

All may be composed. Upper/lower just overwrite each other so just use
one.
</content>
</entry>
<entry>
<title>All transcription panel fields now persist across app restart</title>
<updated>2023-05-25T05:44:34+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-25T05:44:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=3dd5e839449f5056ca9493c0eab6a3e02fe1e86e'/>
<id>urn:sha1:3dd5e839449f5056ca9493c0eab6a3e02fe1e86e</id>
<content type='text'>
I forgor to put them into ApplyConfigToInputFields.

The reason this is necessary: we need to create the text field where we
log things before we can deserialize the config. To keep the code
structure "clean" I just wrote another function to apply the config
(ApplyConfigToInputFields). However I have to remember to update it when
I add new fields.
</content>
</entry>
<entry>
<title>Add UI toggle for uwu filter</title>
<updated>2023-05-25T05:34:55+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-25T05:34:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=ebab21e22dea7931a8a7db05ff26d60cec4f5b5b'/>
<id>urn:sha1:ebab21e22dea7931a8a7db05ff26d60cec4f5b5b</id>
<content type='text'>
UI now has a checkbox for the uwu filter. Does not materially affect
resource usage or latency when enabled.
</content>
</entry>
<entry>
<title>Begin work on uwu filter</title>
<updated>2023-05-25T01:39:27+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-25T01:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=156a592f35ced01008516e559b62db8829baa787'/>
<id>urn:sha1:156a592f35ced01008516e559b62db8829baa787</id>
<content type='text'>
Use UwwwuPP to translate your boring old speech into uwu-ified version.

Still need to add a UI toggle for this.
</content>
</entry>
<entry>
<title>Add ability to type using STT</title>
<updated>2023-05-23T22:15:39+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-23T22:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=78de7f02bc364606b0939d66903f02b2f91c141b'/>
<id>urn:sha1:78de7f02bc364606b0939d66903f02b2f91c141b</id>
<content type='text'>
To use it, do a medium hold + long hold. Keep the long hold depressed
until you're done speaking. The transcription will be typed into the
currently selected input field.

* Add more audio feedback
* Make audio feedback play asynchronously so it doesn't slow down the
  controller input state machine as much.
</content>
</entry>
<entry>
<title>Automatically set up virtual env</title>
<updated>2023-05-23T19:28:01+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-23T19:28:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=0f08da58a59a126f5307395e822fd140f15f8b36'/>
<id>urn:sha1:0f08da58a59a126f5307395e822fd140f15f8b36</id>
<content type='text'>
Remove the button. This is a big source of confusion for new users. Now
it happens automatically upon starting any task that needs it.

* Begin removing CPP implementation of Whisper. faster-whisper is a much
  easier/better solution.
* Flip default of `clear OSC configs` from false to true.
</content>
</entry>
<entry>
<title>Add ability to update textbox in place</title>
<updated>2023-05-22T22:50:12+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-22T22:35:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=2d302f73b94a6aa3b2127443c1ba7ddfc9c82052'/>
<id>urn:sha1:2d302f73b94a6aa3b2127443c1ba7ddfc9c82052</id>
<content type='text'>
By holding the button while talking for at least 1.5 seconds, you can
update the contents of the textbox without unlocking it from worldspace.
So now you can carefully position your textbox once, then continually
speak into it without having to reposition it every time.
</content>
</entry>
<entry>
<title>Shader improvements</title>
<updated>2023-05-22T22:02:38+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-05-22T22:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=34d369b57780ed7ed5fb8d4f4b254e99c5fcb12d'/>
<id>urn:sha1:34d369b57780ed7ed5fb8d4f4b254e99c5fcb12d</id>
<content type='text'>
* Fix thin outline in transparent region of rounded corners
* Remove anti-aliasing. Now that VRC supports it natively, this is no
  longer necessary.
* Use more efficient noise function for dithering.
</content>
</entry>
</feed>
