Commit graph

80 commits

Author SHA1 Message Date
Vlad Gerasimov
1b580d54e8
feat: add Moonshine Base speech recognition model (#556)
* feat: add Moonshine Base speech recognition model

Add support for the Moonshine Base ASR model, which offers:
- 5x faster transcription than Whisper
- Better accent recognition
- ~240MB model size (encoder + decoder + tokenizer)

Changes:
- Update transcribe-rs to v0.2 with moonshine feature
- Add EngineType::Moonshine variant
- Add Moonshine Base model definition (400MB, 80% accuracy, 90% speed)
- Add model loading and transcription logic
- Add i18n translation for Moonshine Base

Note: Model files must be hosted at blob.handy.computer/moonshine-base.tar.gz
Expected structure: encoder_model.onnx, decoder_model_merged.onnx, tokenizer.json

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update moonshine parameters.

* add translations

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: CJ Pais <cj@cjpais.com>
2026-01-10 11:22:49 +08:00
Viren Mohindra
e0b72f5f77
fix: unload model on cancel when immediate unload enabled (#498)
* fix: unload model on cancel when immediate unload enabled

adds model unload check to cancel_current_operation() to match
the behavior in transcribe(). previously, cancelling with escape
would leave the model loaded even with "unload immediately" enabled.

fixes #479

* also fix model not unloading if there is empty transcription

* refactor to util function

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-12-29 10:59:54 +07:00
CJ Pais
d2a11ed53b
Refactor History SQLite (#412)
* yolo rewrite history with claude - needs review

* Update history.rs

* format
2025-12-09 21:17:34 +07:00
CJ Pais
4734d56021
fix? (#388) 2025-11-28 09:23:26 +07:00
Jackson
381b8a8bfb
Add a cancel hotkey and configuration (#224)
* From scratch

* Cleanup

* Small fixes

* simplify

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-28 09:00:47 +07:00
CJ Pais
9521ab9332
WIP: Add tauri-specta for generating TS bindings (#322)
* initial specta commands

* refactor to use the bindings in the ui

* merge fixes

* remove unused commands

* add clamshell to lib

* Remove Invoke from everything.

* fix settings not being loaded properly

* fix settings being overwritten due to deserialization failure + remove
provider kind

* fix model loading text bug
2025-11-27 17:07:22 +07:00
CJ Pais
71d0eeed73 run format 2025-11-20 10:20:22 +07:00
figwood
ec3b06d5b2
feat: add conversion between Simplified and Traditional Chinese. (#356)
* feat: add conversion between Simplified and Traditional Chinese. If the selected language is Simplified or Traditional Chinese, it will convert the text to the selected variant(Simplified or Traditional) after been recognized, depends on opencc, if it is not installed, the conversion will skip.

* Adopting ferrous-opencc makes cross-platform packaging easier.
2025-11-19 20:31:44 +07:00
CJ Pais
18536aa81e
Add file based debug logging (#347)
* add basic logging to handy

* 100kb of logs

* add open button to the ui for logs

* use log everywhere

* some minor cleanup

* finish debug logging
2025-11-17 12:55:24 +07:00
CJ Pais
315c32eab4 format 2025-11-17 10:41:31 +07:00
Jorge
3b3ed5abc5
feat: add more options for deleting recordings automatically and added button to open the folder that holds the recordings (#330)
* feat: add more options for deleting recordings automatically and added button to open the folder that olds the recordings

- deleting automatically options: after certain time, never or preserving certain number of recordings
- new button "Open Recordings Folder" located on History page

* refactor: moved "Delete Recordings" selector to Debug settings

* refactor: simplify opening recordings folder logic by using tauri's opener plugin

* clean up ui and code a bit

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 10:41:05 +07:00
Jorge
45eec57226
feat: add fallback microphone for clamshell/desktop mode (#329)
* feat: add fallback microphone for clamshell/desktop mode

* refactor: moved "Closed Laptop Microphone" setting to Debug

* cleanup

* run format

* add check back

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 10:38:41 +07:00
Maicon Moreira
25f4a564fd
Fix unstable mute implementation on Windows/Linux (#341)
* Fix unstable mute implementation on Windows/Linux

* add some delay before the mute so the audio feedback plays

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-17 09:40:47 +07:00
Luis Eduardo
f7380fa69a
feat: LLM based post-processing (#222)
* Add LLM post-processing feature with settings management and UI integration

* Refactor LLM post-processing settings and prompt selection logic

* Rename CLAUDE.md to more standard AGENTS.md

* Replace Open Router with OpenAI Compatible endpoints for post-processing

* Fix post processing settings api styles

* refactor or something

* simplify

* cleanup a bit?

* remove useless code

* minor improvements

* fix laggy textarea

* Store post-processing results in db

* fix text color

* new default prompt

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-11-05 18:29:03 -08:00
Maicon Moreira
7c04ee85a7
feat: add “mute while recording” setting (#257)
* feat: mute while recording

* refactor: move MuteWhileRecording from AdvancedSettings to DebugSettings
2025-10-28 17:49:33 -07:00
CJ Pais
65c1e2dbcb
parakeet v2 support (#116)
* parakeet v2 support

* Update model.rs

* fix parakeet size

* new onboarding UI for parakeet v2 introduction

* tweak height
2025-10-28 16:32:26 -07:00
CJ Pais
a9a3e7bfd8
display download size + refactor (#221) 2025-10-17 16:57:51 -07:00
Jackson
93215dc097
A few optimizations on startup (#182)
* Use an optimal release profile... load managers & hotkeys first, add a
splash, simplify app handler

* removed splashscreen, hopefully app boots fast enough anyhow

* No need to load transcription model on start now that its loaded on
demand & cleanup

* Make an unloaded model status

* tiny modification to unloading

* update comment

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-17 16:05:43 -07:00
Jackson
83970b0f44
Load model in parallel (#181) 2025-10-08 16:44:55 -07:00
CJ Pais
18f32c7c8d simplify history slightly 2025-10-08 16:28:01 -07:00
becker
d0e6a17c17
Add history limit setting (#150)
* Add history limit setting

Dearest Reviewer,

I have added a history limit setting. The limit change is applied instantly.
If the limit is 0 then no recordings are saved.

Becker

* remove extra save

save happens on exit

* move to debug menu

* use the text color

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-08 13:01:09 -07:00
segudev
03289f84d7
fix: restore translate-to-english functionality (#173)
* fix: restore translate-to-english functionality

The translate option broke when migrating from whisper-rs to transcribe-rs.
This fix patches transcribe-rs to add translate parameter support and passes
the translate_to_english setting to the Whisper engine.

Additionally fixed AccessibilityPermissions API calls to match updated library.

Translation only works with Whisper multilingual models (not .en models).
Parakeet models don't support translation as they are transcription-only.

Fixes #152

* bump transcribe rs

---------

Co-authored-by: CJ Pais <cj@cjpais.com>
2025-10-08 11:57:47 -07:00
Han Pham
9185b3db08
feat: delete a single audio entry (#119)
* feat: delete a single audio entry

* fix(HistorySetting): remove unnecessary loading state
2025-09-19 12:30:50 -07:00
CJ Pais
338d15d2c4
tweak onboarding (#112) 2025-09-09 18:59:09 -07:00
CJ Pais
45a473dc9f
Parakeet V3 (#111)
* wip: model manager support for parakeet

* working parakeet??git status

* Update LanguageSelector.tsx

* Use the published version of the crate.

* move word correction into audio toolkit
2025-09-09 18:33:57 -07:00
CJ Pais
cdfe15c898
tweak sampling strat for whisper to hopefully decrease hallucination (#109) 2025-09-08 15:43:07 -07:00
CJ Pais
7638f6b827
basic working history (#104) 2025-09-05 16:25:38 -07:00
CJ Pais
ae5f640da5
Add VRAM Inactivity Timer (#101)
* init vram unload

* logging

* add immediate unloading

* thread fixes
2025-09-03 19:00:36 -07:00
CJ Pais
308e001661 downgrade whisper-rs to 0.13.2 to continue to support older versions of
macos
2025-08-19 16:12:13 -07:00
CJ Pais
8bbcfc65fe
Merge branch 'main' into upgrade-whisper 2025-08-18 15:58:06 -07:00
CJ Pais
934edaa9e1 Maybe slightly better, no speech detection. 2025-08-18 13:54:55 -07:00
CJ Pais
bf35d88c03 upgrade whisper-rs (broken on macos) 2025-08-15 19:53:07 -07:00
CJ Pais
04b006d5b8 new default correction threshold + debug menu 2025-08-15 11:55:15 -07:00
CJ Pais
c2b3815f56 'custom words' everywhere instead of 'correct words' 2025-08-11 15:19:48 -07:00
Vlad Gerasimov
6404ce7487 refactor(transcription): optimize word correction performance 2025-08-08 19:25:21 +04:00
Vlad Gerasimov
003bf23402 feat(transcription): add word correction with phonetic matching 2025-08-08 17:50:31 +04:00
CJ Pais
86a1205619 add partial/resumable download capability 2025-08-02 18:25:30 -07:00
CJ Pais
6ce848dc66
Merge pull request #59 from cjpais/recording-pill
Add Recording Overlay
2025-08-01 15:35:11 -07:00
CJ Pais
a7c5b199fb
Merge branch 'main' into cancel-actions-in-menu 2025-08-01 15:25:57 -07:00
CJ Pais
dd957a894d add setting to enable or disable showing the overlay 2025-08-01 14:29:02 -07:00
CJ Pais
ec2fefb9fe Audio visualizer generally working nicely. 2025-08-01 14:15:02 -07:00
CJ Pais
51105dde15 more wip but roughly is there 2025-08-01 14:15:02 -07:00
CJ Pais
d5f23cdfa5 Try not to focus it first. It doesn't quite work though. 2025-08-01 14:15:02 -07:00
CJ Pais
8731881837 wip 2025-08-01 14:15:02 -07:00
Václav Škorpil
b767eca6fb Add language select to settings 2025-07-28 19:52:37 +02:00
Vlad Gerasimov
6c26d6afb8 feat(tray): add cancel recording/transcribing actions 2025-07-27 22:46:59 +04:00
CJ Pais
21e96083df add ui toggle back 2025-07-11 18:19:26 -07:00
segudev
c3aa2d7c1b Add "Translate to English" setting: Introduced a new setting to enable automatic translation of speech to English. Updated relevant components, settings modules, and transcription logic to support this feature. Adjusted accessibility permission calls for consistency. 2025-07-11 18:19:15 -07:00
CJ Pais
dc90edadb1 Add hysteresis to VAD. 2025-07-11 15:40:47 -07:00
CJ Pais
c23befd98a big refactor of settings + switch audio devices 2025-07-10 21:10:46 -07:00