<feed xmlns='http://www.w3.org/2005/Atom'>
<title>TaSTT.git/BrowserSource, 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>Replace hardcoded localhost with js magic</title>
<updated>2024-07-12T23:20:40+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2024-07-12T23:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=6dc21f859e2443a80e7b46a5ed890a198af38ef9'/>
<id>urn:sha1:6dc21f859e2443a80e7b46a5ed890a198af38ef9</id>
<content type='text'>
Use some js magic to deduce the hostname instead of hardcoding
localhost. If you used the browser source under 127.0.0.1, then
you'd get XSS blocked from making the ajax calls. This fixes that.
</content>
</entry>
<entry>
<title>Fix spacing in browser source</title>
<updated>2024-07-12T22:53:19+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2024-07-12T22:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=861df4f98db7c8a87fd11f9081b0c8c6d6d40f29'/>
<id>urn:sha1:861df4f98db7c8a87fd11f9081b0c8c6d6d40f29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reimplement BrowserSource as a StreamingPlugin</title>
<updated>2023-09-19T04:23:14+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-19T04:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=c2bc70c18d2fd1c3601b32f2a93b3b4a704786a5'/>
<id>urn:sha1:c2bc70c18d2fd1c3601b32f2a93b3b4a704786a5</id>
<content type='text'>
BrowserSource now fades text out continuously over time.

TODO

* Delete C++ webserver, browsersource, transcript code
* Add UI for text age fading
</content>
</entry>
<entry>
<title>General cleanup</title>
<updated>2023-09-14T04:55:05+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-14T04:43:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=703e183e430f15aff6005d38aefcacf91e2314cd'/>
<id>urn:sha1:703e183e430f15aff6005d38aefcacf91e2314cd</id>
<content type='text'>
Remove unused proxy code, curl, and images.
</content>
</entry>
<entry>
<title>Browser source now shows preview text as slightly transparent</title>
<updated>2023-09-10T06:18:32+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-09-10T06:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=9924a141b0b1266671915be12e21df6c8f4c5366'/>
<id>urn:sha1:9924a141b0b1266671915be12e21df6c8f4c5366</id>
<content type='text'>
Improves viewer experience.
</content>
</entry>
<entry>
<title>Begin work on proxy server</title>
<updated>2023-07-04T02:36:13+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-04T01:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=76ae7c28ea6224b2c919122d5dc71bcc00a0ecaa'/>
<id>urn:sha1:76ae7c28ea6224b2c919122d5dc71bcc00a0ecaa</id>
<content type='text'>
Create a simple server with 3 endpoints:
* /create_session: Create a session and return its identifier.
* /set_transcript: Update a session's transcript.
* /get_transcript: Fetch a session's transcript.

Right now the session ID provides authentication *and* authorization.
There is no public/private ID so you have to trust whoever you share
your ID with.

IDs are long and generated by the server, so it should be somewhat
secure against low-effort hacking.

Other updates:
* Drop whisper_requirements.txt - no longer needed.
* Vendor curl to make it easier to interact with the server.

TODO:
* Fuzz test the server.
</content>
</entry>
<entry>
<title>Add visual commit indicator to OBS browser source</title>
<updated>2023-07-01T02:46:17+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-07-01T02:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=4f3131b4a36d8e1557edb31d3754a431717dab7b'/>
<id>urn:sha1:4f3131b4a36d8e1557edb31d3754a431717dab7b</id>
<content type='text'>
Circle goes red when speaking, grey when done. Ideally it would be in
the top right portion of the browser source, but this is a good start.

Also, hard-cap transcripts to 4096 chars. This prevents the STT from
lagging during long sessions.
</content>
</entry>
<entry>
<title>Add grey background to browser src</title>
<updated>2023-06-27T08:50:40+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-06-27T08:47:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=8ff761153b7de23a9556f2af179ab3bf4b9849a5'/>
<id>urn:sha1:8ff761153b7de23a9556f2af179ab3bf4b9849a5</id>
<content type='text'>
Should improve legibility.

* Update README
</content>
</entry>
<entry>
<title>Add browser source, hardcoded to port 8097</title>
<updated>2023-06-26T08:46:42+00:00</updated>
<author>
<name>yum</name>
<email>yum.food.vr@gmail.com</email>
</author>
<published>2023-06-26T07:58:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/TaSTT.git/commit/?id=0ed379f2c99ac5c126a6f101965ef1eaa58c017b'/>
<id>urn:sha1:0ed379f2c99ac5c126a6f101965ef1eaa58c017b</id>
<content type='text'>
Transcription output now streams to localhost:8097.

In OBS:
* Create a browser source.
* url: localhost:8097
* width: 2200
* height: 400

TODO:
* Put behind toggle.
* Create input field for port.

Misc cleanup:
* transcribe.py: Drop frames from audio capture thread instead of the
  transcription thread. Doing it the other way would result in
  occasional data loss.
</content>
</entry>
</feed>
