44 comments

[ 2.4 ms ] story [ 61.0 ms ] thread
It downloads the model at first execution and also checks versions in github.

That is ok for what is brings. Nice program. Very "handy".

If you prefer a more stripped down version: the original releases (0.1.0 and 0.1.1) shipped with Whisper tiny included and no auto-update feature
That's great, nice to see more and more projects of Machine learning being written in rust
It’s not really a machine learning project. It’s an application that calls existing models.
Anyone know of the opposite? A really easy-to-use text-to-speech program that is cross-platform?
Been having fun with this one

https://addons.mozilla.org/en-CA/firefox/addon/read-aloud/

Read Aloud allows you to select from a variety of text-to-speech voices, including those provided natively by the browser, as well as by text-to-speech cloud service providers such as Google Wavenet, Amazon Polly, IBM Watson, and Microsoft. Some of the cloud-based voices may require additional in-app purchase to enable.

...

the shortcut keys ALT-P, ALT-O, ALT-Comma, and ALT-Period can be used to Play/Pause, Stop, Rewind, and Forward, respectively.

Curious your use case, I now have quite a lot of experience with releasing desktop apps, and I have done some accessibility work as well, and may be curious to put together a TTS toolkit as well into a desktop app (or even Handy)
piper's amy voice is pleasant enough to me for reading articles, and it's instantaneous and trivial to use, just download the binary and model file.
How good will this local model be compared to, say, your iphone builtin STT?
It’s way better. iPhone’s is awful. On macOS, interestingly, the built in dictation seems a bit better than on iOS, but still not as good as Whisper and Parakeet. Worth noting I have never used Whisper Small, only large and turbo. Another comment says Parakeet is the default now, though, despite what the site says.
this is a great landing page. I downloaded.

great onboarding too, using it now.

Very handy, thanks!

Landing page is indeed very refreshing
Why does the title specify the language used when it's not even mentioned on the home page?
Marketing. Honestly, might not be good here since it is not library and not completely written in Rust.
If it's Rust or Go it means I won't have to fuss with a runtime like Python or JS, nor a C++ build system
how’s it differ from macos dictation?
Just compare them side by side. On one side, the dictation tech baked into you OS, the other side transformer models like Whisper Large or Parakeet. Mumble from across the room from the mic. The difference is staggering.
Awesome . I was looking to build this on my own. Will look at the code and consider contributing cheers.
(comment deleted)
Cool, you just might've saved me some carpal tunnel in the long run xD.

I guess there's no way for the AppImage to use GPU compute, right? Not that it matters much because parakeet is fast enough on CPU anyway.

Shameless plug: A brutally minimalist Linux only, whisper.cpp only app: https://github.com/daaku/whispy

I wanted speech-to-text in arbitrary applications on my Linux laptop, and I realized that loading the model was one of the slowest parts. So a daemon process, which triggers recording on/off using SIGUSR2, records using `pw-record` and passes the data to a loaded whisper model, which finally types the text using `ydotool` turned out to be a relatively simple application to build. ~200 lines in Go, or ~150 in Rust (check history for Rust version).

+1, happy user and a humble contributor.
built something similar for terminal lovers. It's a CLI tool built in Python called hns [1] and uses faster-whisper for completely local speech-to-text. It automatically copies the transcription to the clipboard as well as writes to stdout so you seamlessly paste the transcription in any other application or pipe/redirect it to other programs/files.

[1]: https://github.com/primaprashant/hns

This is local, but I've found that external inference is fast enough, as long as you're okay with the possible lack of privacy. My PC isn't beefy enough to really run whisper locally without impacting my workflow, so I use Groq via a shell script. It records until I tell it to stop, then it either copies it to the clipboard or writes it into the last position the cursor was in.
(comment deleted)
How handy is this for coding? ;)
Amazing! I have been desperately wanting this. Livecaptions doesn't seem to be maintained super well.
Is it able to isolate the speaker from background noises / voices?
Even being in Tauri this application just by doing these things takes around 120MB on my M3 Max. It's truly astonishing how modern desktop apps are essentially doing nothing and yet consume so much resources.

- it sets icon on the menubar - it display a window where I can choose which model to use

That's it. 120MB FOR doing nothing.

It's a matter of trade-offs.

In theory, Handy could be developed by hand-rolling assembly. Maybe even binary machine code.

- It would probably be much faster, smaller and use less memory. But...

- It would probably not be cross-platform (Handy works on Linux, MacOS, and Windows)

- It would probably take years or decades to develop (Handy was developed by a single dev in single digit months for the initial version)

- It would probably be more difficult to maintain. Instead of re-using general purpose libraries and frameworks, it would all be custom code with the single purpose of supporting Handy.

- Also, Handy uses an LLM for transcription. LLM's are known to require a lot of RAM to perform well. So most of the RAM is probably being used by the transcription model. An LLM is basically a large auto-complete, so you need a lot of RAM to store all the mappings to inputs and outputs. So the hand-rolled assembly version could still use a lot of RAM...