* 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>
* 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>
* 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
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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