<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git/GUI/Libraries, branch v0.18.0</title>
<subtitle>Free self-hosted STT for VRChat.</subtitle>
<id>https://git.yummers.dev/TaSTT.git/atom?h=v0.18.0</id>
<link rel='self' href='https://git.yummers.dev/TaSTT.git/atom?h=v0.18.0'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/'/>
<updated>2023-06-27T00:21:59+00:00</updated>
<entry>
<title>Scrub out old C++-based Whisper code</title>
<updated>2023-06-27T00:21:59+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-06-27T00:21:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=694756a96a6109cd79a77221dd4e40638ff55b82'/>
<id>urn:sha1:694756a96a6109cd79a77221dd4e40638ff55b82</id>
<content type='text'>
No longer used.
</content>
</entry>
<entry>
<title>Improve behavior around VAD segmentation events</title>
<updated>2023-02-27T04:12:36+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-27T04:12:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=d96851f716b9e18d827ba7795a343dbf3cf529c4'/>
<id>urn:sha1:d96851f716b9e18d827ba7795a343dbf3cf529c4</id>
<content type='text'>
Use forked Whisper implementation which has tweaks to reduce dropped
words around the beginning VAD segments.

* Retain audio after VAD segmentation events
</content>
</entry>
<entry>
<title>Drop ryml</title>
<updated>2023-02-26T04:19:31+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-26T03:49:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=97dcd16492b4ce85138988461a85f6694fd7b264'/>
<id>urn:sha1:97dcd16492b4ce85138988461a85f6694fd7b264</id>
<content type='text'>
Rapidyaml started refusing to parse config files so I dropped it.

* Add ConfigMarshal clas to support very simple config marshalling
  * No versioning, no type indicators, nothing.
  * Supports int, bool, and string.
  * Bool are serialized as int.
* Log no longer segfaults if given nullptr wxTextCtrl*.
* Fix how whisper CPP GUI fields restore from config
</content>
</entry>
<entry>
<title>Begin work on custom webserver</title>
<updated>2023-02-25T20:09:53+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-25T20:09:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=fa59ca6064ce9400adb1765deeb960bfe51c2f6f'/>
<id>urn:sha1:fa59ca6064ce9400adb1765deeb960bfe51c2f6f</id>
<content type='text'>
oatpp was a crashy mess. Begin making a simple web server from scratch.

* Add Designs/ folder to document nontrivial things like the webserver
  design
</content>
</entry>
<entry>
<title>Add hack to prevent browser source crash on shutdown</title>
<updated>2023-02-24T20:52:48+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-24T20:52:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=c1c8d552d2d6643aa34f3fde8816c3a9101ac157'/>
<id>urn:sha1:c1c8d552d2d6643aa34f3fde8816c3a9101ac157</id>
<content type='text'>
Documented in BrowserSource::Run().

* Parameterize Release/Debug in build scripts
</content>
</entry>
<entry>
<title>Begin sketching out browser source</title>
<updated>2023-02-23T06:41:11+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-23T06:41:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=abb47b420739f25bd48f5a7ce2cb4b2d4b063d45'/>
<id>urn:sha1:abb47b420739f25bd48f5a7ce2cb4b2d4b063d45</id>
<content type='text'>
* Fix oatpp fetch and build
</content>
</entry>
<entry>
<title>Checkpoint: begin work reimplementing processes</title>
<updated>2023-02-23T05:54:27+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-23T02:40:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=4840ab9beb831ec68887a5199fbb50ae6932f498'/>
<id>urn:sha1:4840ab9beb831ec68887a5199fbb50ae6932f498</id>
<content type='text'>
It appears that you cannot spawn a wxProcess from an independent thread
of execution. I imagine they're supposed to be spawned from the main
thread.

Fuck that, I'm going to try to use the raw WIN32 API to spawn helper
processes, and do it from arbitrary thread context.

* Log() now delegates to a queue which the main thread periodically
  drains.
* Log() now writes to a file.
* WhisperCPP thread is now done with std::async.
* Default chars per sync is now 8
* oatpp: Promising web framework.
</content>
</entry>
<entry>
<title>Begin work on C++ implementation</title>
<updated>2023-02-23T05:49:29+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-02-21T21:19:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=9a97fbc3c583ccd518d838faaaa36ed9aa5558e1'/>
<id>urn:sha1:9a97fbc3c583ccd518d838faaaa36ed9aa5558e1</id>
<content type='text'>
Use Const-me/Whisper to perform transcription. This implementation is
vastly more efficient: CPU usage, memory usage, and VRAM usage are all
dramatically reduced. It's slightly less accurate when comparing the
same model (due to the lack of beam search decoding), but since you can
use larger models, the impact is largely a wash.
</content>
</entry>
<entry>
<title>GUI: Persist transcription app config</title>
<updated>2023-01-06T20:31:13+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-01-06T20:31:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=461714cc87549f3c0c3411bfe95f3936aca60f74'/>
<id>urn:sha1:461714cc87549f3c0c3411bfe95f3936aca60f74</id>
<content type='text'>
The configuration of the transcription app, such as the number of rows
and columns in the text box, now persists across app restarts. I found
that I would have to change from the defaults to my preferred config
every time I started up in VR, which was annoying. Now we just start
with the config that was set last time.

* Add dependency on rapidyaml (MIT)
* Serialize transcription config to file under Resources/
* Add Config class to wrap serializing/deserializing
* Update build instructions
* Simplify StartApp() API, taking Config struct instead of a ton of
  arguments
</content>
</entry>
<entry>
<title>Now it's possible to build the app from Powershell</title>
<updated>2022-12-19T04:36:42+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2022-12-19T04:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=0111a26a5526fe5f01c0dc3b4d4391af4234c2a7'/>
<id>urn:sha1:0111a26a5526fe5f01c0dc3b4d4391af4234c2a7</id>
<content type='text'>
No more WSL dependencies!
</content>
</entry>
</feed>
