community
dragonfly
community | dragonfly | |
---|---|---|
12 | 17 | |
575 | 373 | |
1.4% | 1.6% | |
8.8 | 7.5 | |
3 days ago | 8 days ago | |
Python | Python | |
MIT License | GNU Lesser General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
community
-
Firefox 121 defaults to Wayland on Linux
Talon is what I would describe as accessibility for programmers (my definition, not the developer's!). You effectively write software that replaces keyboard and mouse usage, generically, flexibly and programmatically.
So when you write commands you bind them in different way: app specific[1], feature specific[2][3], OS-specific, hecking __programming language specific__[4] etc, and the in talon mixes and matches all of that stuff together.
So let's say I have VSCode focused on a javascript file . Talon knows this, and so I have "panel switch" which is a vscode specific command, and "op strict equal" to insert ` === `, but I also have generic text editing commands (because it's an editor), and multi cursor commands (because vscode has been tagged as multi cursor supporting), and tab commands (because vscode is a tab-based editor), and so on and so on.
If I then switched to the browser I would keep the generic text editing commands, and the tab commands, as it supports both of those things, but I would no longer have multi cursor support (or JS commands), because my browser doesn't support that.
This also means you can by and large use the same talon config (and so the same voice commands) on windows, mac and x11.
So for me switching to windows is actually less of a pain because most of the ways I interact with my computer don't actually change, as talon abstracts that away quite a bit.
[1] https://github.com/talonhub/community/blob/main/apps/vscode/... / https://github.com/talonhub/community/blob/main/apps/vscode/...
-
Nearly 40% of software engineers will only work remotely
Yep. So I've been working for about fifteen years, had it from the start, but it just keep on getting worse. So now have migrated to a no keyboard solution, and am working on a no mouse solution.
My setup, software:
- talon (https://talonvoice.com/), basing my configuration on the standard repo (https://github.com/knausj85/knausj_talon/), with some minor modifications. This is how I navigate my whole computer, and runs the voice recognition and eye tracking. This is how I'm typing this right now. There are also a bunch of other little system changes that you need to make (eg, on macOS, disable double space to type a period), which is documented by the community with varying levels of success.
- cursorless (https://www.cursorless.org/), and then vscode. Before this I used Sublime Text for years and years, but cursorless is too good for coding. I know there are some projects on going to port it to different editors, but I haven't massively looked into it.
- vimium extension for web browsing (works in both chrome and firefox). This makes things like clicking links easier with your voice, without having too use an eye tracker all the time.
And then hardware:
- DPA 4488 microphone -> DAD6001 microdot-XLR converter -> Shure X2U USB XLR interface. ~£800. It's a very expensive microphone, but it's what the developer of talon uses (same brand anyway), and since I'm using this for work I want to remove every obstacle to having my voice recognised correctly and quickly
- Tobii Eye Tracker 5. ~£250. This is basically the only game in town. It works well enough but needs a lot of light. It also needs to be physically mounted to a monitor. In theory this means I don't need to use a mouse, but because I have a 34" ultrawide it doesn't work well on the edges, so I have a specific window size and location configured (say "layout mouse") which I could move apps into if I need to.
- At some point soon I want to replace the X2U with something higher quality and more permanent on my desk. Soon!
-
How many of you use a mechanical keyboard
I don't have a disability but do game and play guitar to a degree that has damaged my body when combined with my day job, and use https://talonvoice.com/ with this configuration to do a lot of my typing in vim. https://github.com/knausj85/knausj_talon
-
Cursorless: Don't let the cursor slow you down
The whole ecosystem around Talon is fantastic. You'll probably want to start with [0] if it's your first time, it's a community-maintained talon config which is a good starting point for customization.
The speech recognition engine built for it is great and the whole thing is free of charge, though I do recommend donating on Patreon [1].
Cursorless is a nice rethinking-from-the-ground kind of project. However, you can just as well keep using your current tools.
I've used Talon on and off with Jetbrains IDEs when I had some wrist pain and the overall experience was great, with my coding speed being fast enough without much practice. When voice typing, autocomplete is also very useful, so the introduction of Copilot was an additional huge improvemet.
But overall, the design of Talon, its config files, and the way this leads to very easy customizability, is really great. A bit like making your whole OS easily automatable and programmable (even if your OS isn't emacs /s).
[0]: https://github.com/knausj85/knausj_talon
[1]: https://www.patreon.com/lunixbochs
-
warpd - A modal keyboard-driven mouse
In fact, the most common (effectively the default) configuration for Talon includes a mouse grid https://github.com/knausj85/knausj_talon
-
Programmer’s Nightmare: Cubital Tunnel Syndrome
Wow, Talon Voice looks like a great solution, and it seems like it has a pretty healthy open source community behind it!
-
Making a programming language accessible
I mainly use cursorless to accomplish this, along with knausj grammar files, all running on Talon. My setup could be a lot better but I have done projects since I lost much of the use of my hands.
-
PLEASE READ: If you are software engineer
Publish your talon commands on Github for others to use like https://github.com/knausj85/knausj_talon.
-
Google reports soaring attrition among Black women
> I can find literally nothing online, or even internally, about using Visual Studio with Dragon NaturallySpeaking
My Talon project can do this (it can either use Dragon as a speech engine, or my own engine).
- https://talonvoice.com
- https://github.com/knausj85/knausj_talon/tree/master/apps/vs...
Here are a couple of public GitHub issues about dictation support in VSCode:
- https://github.com/microsoft/vscode/issues/40976
- https://github.com/microsoft/vscode/issues/117980#issuecomme...
-
Programming by Voice for Visual Studio Code
I just had a quick try of Talon on Windows, using wav2letter (I don't have Dragon) and the recommended scripts[0]. It... doesn't work well for me at all.
I was able to get a couple of simple commands to work in Chrome, sometimes, such as "reload" and "show history". In Visual Studio code, it just spouted a bunch of errors in the console [1], and in JetBrains Rider all it would do it type gobbledygook, like a cat had walked on the keyboard or something. Pretty dissapointing :(
The logs also fill up with "WARNING actions: skipped because they have no matching declaration: (user.select_next_token)".
It was a bit confusing to use too (apart from not really working, I mean!), as it wasn't clear if I had to use some kind of command to enable voice commands, or if it was litening all the time. Eventually I figured out that it seems to be the latter, but still, it's not clear what commands it has heard and understood - I found myself speaking and nothing was happening, and I had no idea what it had understood. Similarly, I'd say something like "close tab", and it would type some nonsense like "aa&" into the current file - again, no idea what command it was actually trying to use.
[0] https://github.com/knausj85/knausj_talon
dragonfly
- Ways to make gaming less painful?
-
Seamless: Meta's New Speech Models
https://github.com/dictation-toolbox/dragonfly
-
Ask HN: How do you get started with adding voice commands to a computer system?
https://github.com/dictation-toolbox/dragonfly
https://github.com/daanzu/kaldi-active-grammar
-
If you're interested in eye-tracking, I'm interested in funding you
As someone who suffered some severe mobility impairment a few years ago and relied extensively on eye tracking for just over a year, https://precisiongazemouse.org/ (Windows) and https://talonvoice.com/ (multiplatform) are great. In my experience the hardware is already surprisingly good, in that you get accuracy to within an inch or half an inch depending on your training. Rather, it's all about the UX wrapped around it, as a few other comments have raised.
IMO Talon wins* for that by supporting voice recognition and mouth noises (think lip popping), which are less fatiguing than one-eye blinks for common actions like clicking. The creator is active here sometimes.
(* An alternative is to roll your own sort of thing with https://github.com/dictation-toolbox/dragonfly and other tools as I did, but it's a lot more effort)
-
Ask HN: Would you recommend OpenAI Whisper for Speech to text?
I've experimented with whisper. I don't know of a way to do commands without parsing dictation. Bottom line, the model has to pass 30 seconds of audio to my knowledge. So say if you're utterance is 5 seconds, you'll need 25 seconds of silence.
Depending on the platform you're targeting.
https://github.com/dictation-toolbox/dragonfly
- Software I’m Thankful For
- Whisper – open source speech recognition by OpenAI
-
Found out I have an enchondroma tumour in my hand & it's impacting my typing abilities
What you don't have years of experience typing one handed? Oh well you'll become an expert now. Ive seen this tool used to program python with dragon naturally speaking, maybe give it a go... https://github.com/dictation-toolbox/dragonfly
-
Ask HN: Anyone voice code? I had a stroke and can't use my left side
I have been coding entirely by voice for approximately 10 years now (by hand long before that). Most of that time I have been using the Dragonfly (https://github.com/dictation-toolbox/dragonfly) library to construct my own customized voice coding system. The library is highly flexible and open source, allowing you to easily customize everything to suit what you need to be productive. It is perhaps the power user analogue to Dragon Naturally Speaking. With it, you can certainly be highly productive coding by voice. In fact, I develop kaldi-active-grammar (https://github.com/daanzu/kaldi-active-grammar), a free and open source speech recognition backend usable by Dragonfly, itself entirely by voice. There's also a community of voice coders using Dragonfly and other tools that build on top of it, such as Caster (https://github.com/dictation-toolbox/Caster).
- Ask HN: Who Wants to Collaborate?
What are some alternatives?
cursorless-talon - The cursor never loved you anyway [Moved to: https://github.com/cursorless-dev/cursorless-talon]
kaldi-active-grammar - Python Kaldi speech recognition with grammars that can be set active/inactive dynamically at decode-time
voice-assistant - Voice assistant for Visual Studio Code.
Caster - Dragonfly-Based Voice Programming and Accessibility Toolkit
voicemacs - 🗣️ Utilities for controlling Emacs with your voice. Not production-ready, but you can use it as a reference.
Diverse-Stardew-Valley
talon - Issue Tracker for the main Talon app
crkbd - Corne keyboard, a split keyboard with 3x6 column staggered keys and 3 thumb keys.
aenea - Client-server library for using voice macros from Dragon NaturallySpeaking and Dragonfly on remote/non-windows hosts.
openai-whisper-realtime - A quick experiment to achieve almost realtime transcription using Whisper.
vim-espeaker - A vim plugin for blind
helix - A compact split ortholinear keyboard.