summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* Delete unused filesv1.0.0-beta00yum2025-07-23
|
* Import FastTextPager repoyum2025-07-23
|\
| * Set target loudness to -16, and enable segment metadata logging by defaultyum2025-07-23
| |
| * Update avg_logprob cutoff, fix sounds, fix electron buildyum2025-07-23
| |
| * add segment metadata logging featureyum2025-07-23
| | | | | | | | | | | | | | | | | | | | | | Segment metadata can now be logged to a json as the app runs. The goal is to identify the params that heavily correlate with hallucinations. Also: * use 7zip for compression in build, speeding things up * log dll download progress every few seconds * shrink package
| * bugfixesyum2025-07-23
| | | | | | | | | | | | * fix model acquisition * fix local beepsnd * fix volume control
| * More stuffyum2025-05-30
| | | | | | | | | | | | | | | | | | | | - add desktop and vr input threads - add audio feedback for input - add volume control for audio feedback - add UI for custom chatbox/built in chatbox - add ability to dismiss built in chatbox (sync empty messages) - limit lines in python console - limit length of each transcript
| * More stuffyum2025-05-30
| | | | | | | | | | | | | | | | - fix unicode output from python terminal - fix cpu inference - add filters - add beam search params to UI - DRY up config definition in UI
| * More polishyum2025-05-30
| | | | | | | | | | | | | | | | | | | | - Filters actually get applied now, huge accuracy boost - Use silero-vad python library instead of rolling our own - Expose prompt parameter - Auto setup venv on launch - Clean up python output - Auto acquire all dependencies on launch - Add icon
| * More UI workyum2025-05-29
| | | | | | | | | | | | | | | | | | | | 1. main STT app works in new project structure 2. UI dumps mics on startup to populate mic list 3. add missing deps (hf-xet, wave) 4. normalize audio volume when transcribing. Probably still wrong tbqh. 5. add checkbox to save audio segments & improve logic so only segments with speech get saved. 6. add default config settings
| * Begin roughing out STT UIyum2025-05-29
| | | | | | | | HEAVILY VIBE CODED!
| * Add basic electron+tailwind hello worldyum2025-05-29
| |
| * Move core app logic into folderyum2025-05-29
| |
| * Add STT codeyum2025-05-17
| |
| * code bombyum2025-05-11
|
* App sends text to built-in chatbox by defaultv0.21.0yum2024-11-16
| | | | This is overwhelmingly more common than custom chatbox.
* Remove flash_attention toggleyum2024-11-16
| | | | | Deprecated in the Python release of CTranslate2 as of 4.4.0: https://github.com/OpenNMT/CTranslate2/blob/master/CHANGELOG.md#v440-2024-09-09
* Add support for whisper large v3 turboyum2024-11-16
| | | | | | | Also: * Double # of audio device slots * Fetch CuDNN from NVIDIA at runtime instead of vendoring
* Support as few as 1 char per sync in custom chatboxyum2024-07-30
|
* Update READMEyum2024-07-30
|
* Replace hardcoded localhost with js magicv0.20.0yum2024-07-12
| | | | | | 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.
* Another edge case: first commit should not get a leading spaceyum2024-07-12
|
* Edge case: initial preview should not have a space added in front of ityum2024-07-12
| | | | God this code is a fucking nightmare
* Fix spacing in browser sourceyum2024-07-12
|
* Translation shows original language by defaultyum2024-07-12
| | | | | | | * Add checkbox to disable this feature if so desired. * Delete old optimization code; can get it back from git if needed. * Enforce that there's at least one space character ' ' between committed segments.
* Fix translation pluginyum2024-07-12
| | | | | | | | | | | Translation needs torch to convert the nllb model, but the latest version (2.3.1) has an embedded OMP dll which clashes with ctranslate2's dll. Using the last minor version instead (2.2.2) doesn't clash. Also propagate the device, quantization, and flash attention settings to the translator. If you're using GPU, this is a HUUUUGE performance uplift. Translation is basically instant. The bigger models are now feasible to use.
* `use_flash_attention` checkbox now persists across sessionsyum2024-07-12
|
* Upgrade vendored CUDA to 12.5v0.19.2yum2024-06-09
|
* Bump CUDNN to v8.9.7v0.19.1yum2024-06-09
| | | | Also disable flash-attention when CPU mode is selected
* Add checkbox for flash-attentionyum2024-06-09
| | | | Pre-3000 series GPUs don't support it. Oops!
* Update defaults to work with modular prefabv0.19.0yum2024-06-06
| | | | | There's a modular avatar prefab for the custom chatbox on my gumroad. Update the default settings to work with that prefab.
* Upgrade faster-whisper with flash-attention2yum2024-06-05
| | | | | | | | This should be significantly more efficient than prior versions. * add large-v3 & distilled variant * simplify model acquisition code now that distilled models are part of faster-whisper.
* Fix distilled modelsyum2024-03-14
| | | | | | | These were broken due to some logic errors in the codepath which acquires models from huggingface. Distilled large-v2 seems promising as a new default model.
* Add "simple" text-to-text demo for the modular avatar chatboxyum2024-03-08
| | | | | | | To use it: $ python3 -m pip install python-osc pillow $ cd Scripts $ python3 ./text_to_text_demo.py
* Finish fixing build breakyum2024-03-04
| | | | | CUDNN now pulls from dropbox instead of google drive. This has the added benefit of being about 10-20x faster (assuming you have fast internet).
* Begin fixing build on new hostsyum2024-03-04
| | | | | Google drive intentionally broke CLI downloads ("don't be evil") and UwwwuPP went away. Begin work rehosting both files.
* Update LICENSE yearyum2024-03-02
|
* Finish plumbing GPU compute typev0.18.1yum2024-02-09
|
* Add dropdown for GPU compute typev0.18.0yum2024-02-09
| | | | Should enable compatibility with older GPUs.
* Add another threshold to filter out common hallucinationsyum2024-02-05
| | | | | | | | | | | | | | | | | | | | | The paper recommends filtering out segments with no_speech_prob > 0.6 and avg_logprob < -1. This is too loose of a bound for short-form audio which is not guaranteed to contain speech. I already have a tighter bound: no_speech > 0.6 and avg_logprob < -0.5 While listening to instrumental music I find that a lot of hallucinations sneak past that bound. So I added a second bound: no_speech > 0.15 and avg_logprob < -0.7 Basically we filter out things that look like speech but have a worse avg_logprob. Seems to not have false negatives. Requires testing. Also: dial back the default max segment length from 15 seconds to 10 seconds. This is done based on performance observations in desktop.
* Verify that audio is clean after VAD segmentationyum2024-02-05
| | | | | | | | Indeed it is. Bumped up the default max segment length to decrease error. Also add mic presets for beyond (the vr headset) and motu (my mic interface).
* Revert "Begin experimenting with flash-attention"yum2024-01-08
| | | | This reverts commit 921b92a69f36502dc5eefd14ba3487c1bb49bb9d.
* Fix font rendering ddx/ddy logicyum2024-01-08
|
* Begin experimenting with flash-attentionyum2023-12-13
| | | | | | | | | | | Seems much faster than faster-whisper. There are two issues: * Requires NVIDIA 3000 series or higher. * Incompatible with faster-whisper dependencies. So it seems like we'll either need to toggle between two sets of dependencies at runtime or have two environments.
* Decrease OSC sync rate from 5 Hz to 3 Hzv0.17.0yum2023-12-08
| | | | Paging is now slower but more reliable.
* Add distilled whisper large-v2 modelyum2023-12-08
|
* Add distilled whisper-medium modelyum2023-11-07
| | | | | | I converted distil-whisper-medium.en to CTranslate2 format and uploaded it to huggingface. This model is exceptionally fast and light compared to the non-distilled version, at the cost of some accuracy.
* Transcripts preceding long pauses now dropv0.16.0yum2023-10-05
| | | | | | | | | | | | | | | | | | When hot-miking into the built-in chatbox, there are sometimes long pauses in conversation. After these pauses, it's undesirable to show the transcript generate before the pause. This feature makes it so that those transcripts can be dropped. Also: * Limit number of segments sent to browser source to 10. Allow this to grow up to 10 segments before dropping the first 5 segments. * Silence warnings generated by `install_in_venv`, used by e.g. translation codepath. * Enable audio normalization to improve accuracy when speaking softly, at the cost of some accuracy when speaking normally. Credit: user endo0269 on Discord suggested this feature.
* Reimplement BrowserSource as a StreamingPluginyum2023-09-18
| | | | | | | | | BrowserSource now fades text out continuously over time. TODO * Delete C++ webserver, browsersource, transcript code * Add UI for text age fading
* Add UI for process priorityyum2023-09-17
| | | | Default is normal prio.