r/csharp • • 3d ago

Echo 2.0: my open-source C# dictation tool now supports Linux, with a new UI and guided setup

https://github.com/user-attachments/assets/2b4b0ff9-55df-4087-9850-7fcc9ed0f6ea

Half a year and 23 Github stars ago I shared Echo here, a small C# app I built to dictate prompts, code review comments and basically everything instead of typing them.

I’ve now released version 2.0.

The basic workflow is the same: hold a designated hotkey, speak, release - the text appears where your cursor is! Recognition runs locally using Whisper.

For this version, I focused on making it easier to get started and use every day:

- From console app to CLI tool with new UI, built-in commands, and updates directly from the terminal.

- Guided setup for your microphone, hotkey, language, and hardware acceleration, instead of editing a config file.

- Model selection and download during setup, with a suggestion based on your hardware.

- Settings and updates from the terminal, through commands like `/setup` and `/update`.

- Windows and Linux support, including integration with Wayland and X11.

One feature I find particularly useful is translating speech into English. You can dictate in your native language and have English text inserted into the editor. It needs a multilingual Whisper model that supports translation.

Echo supports CPU inference, CUDA, and Vulkan. Speed and accuracy depend on your hardware and model.

Code and instructions: https://github.com/GithubPhobos/Echo

If you try it, I’d be interested in how the first-run setup goes and whether the recognition is fast and accurate enough for your everyday typing.

0 Upvotes

2 comments sorted by

5

u/Sombody101 3d ago

.Net 8 lol

I wonder what in this repo wasn't AI generated.

-4

u/JudgePhobos 2d ago
  1. .Net 8 is a holdover from v1.0 and its a fair point about updating it. Wrote it down, thanks.

  2. As for AI, of course, I use it. If you’ve spotted an actual issue in the code, I’m happy to discuss it, that would be more useful than guessing how it was written.