Introducing Myna: Speech to Text for Ubuntu Desktop

Speech To Text is an important accessibility feature, but it’s also a useful productivity tool for anyone who finds it easier to speak than to type.

Today I’m excited to introduce Project Myna, a new initiative to bring speech to text dictation to Ubuntu Desktop. Named after the myna bird, known for its ability to mimic human speech, the project aims to deliver a dictation experience that feels like a natural part of the desktop while respecting user privacy and running entirely on local hardware.

Speech recognition has become a common feature on modern platforms, and we think it should be a first-class experience on Ubuntu Desktop as well.

What to Expect in Ubuntu 26.10

For Ubuntu 26.10, we’re deliberately focusing on the basics: a reliable desktop dictation.

The initial experience will be simple: Press a keyboard shortcut, speak naturally, and see the resulting text appear in the application you’re using. Myna is designed to provide speech recognition with clear visual feedback while dictation is active.

Under the hood, Myna uses speech recognition models running locally on your machine. The initial release targets Ubuntu Desktop on Wayland, with GNOME as the primary validated environment, while keeping the architecture open enough to support additional desktop environments in the future.

We’re intentionally keeping the scope narrow for this first release. Features such as voice assistants, voice commands, desktop control, translation and automatic language detection are outside the scope of the initial project. Before we tackle more advanced scenarios, we want to get the fundamentals right.

Privacy by Design

Privacy has been a design principle from the beginning of the project.

For the initial implementation:

  • While it is not restricted to local models, the initial implementation prioritizes speech recognition running locally on your machine.
  • No internet connection is required once the necessary models are installed.
  • The microphone is only accessed when you explicitly activate dictation.
  • Audio is processed in memory and discarded after use.
  • No audio recordings are uploaded to external services.

Architecture Overview

Myna is designed as a modular platform that can evolve over time. Speech recognition runs locally, while separate components handle user interaction, dictation management and text injection. This architecture allows us to improve individual parts of the system over time without changing the overall user experience.

At a high level, Myna works like this:

Looking Ahead

Beyond Ubuntu 26.10, we expect to continue improving integration with the desktop and exploring ways to make dictation more natural and accurate. The exact priorities will depend on community feedback and what we learn from early adopters.

Get Involved

Myna is still in the early stages of development, which is why we’re sharing it now. We’d like feedback before too many design decisions become fixed. In particular, we’re interested in hearing from users who rely on dictation or assistive technologies, people already using speech recognition on Linux, developers, testers, documentation writers and anyone interested in improving the desktop experience. You don’t need machine learning expertise to contribute.

You can find specifications and architecture documents on the project repository.

We look forward to hearing your feedback.

46 Likes

You guys definitely picked a great name. I don’t really use these kinds of tools on a computer, but sometimes I do on my phone. Best of luck, and don’t forget about those of us who speak other languages.

5 Likes

I can’t wait to try it - I’ve been trying to find a good privacy-respecting desktop speech-to-text app to help me write drafts, and I have been quite disappointed both by how slow they are, and also how complicated it is to pick between the various models. I’d be happy to both help test and document it :slight_smile:

7 Likes

This is a fantastic project. This has been a major gap for linux for some time. I don’t type well, so voice input would be a huge help even if you never get to the other features mentioned (but I hope you do)!

5 Likes

Excited by this project. The only concern I have is that it might get limited to a few european languages. It would be great if there was a path to enable it for other languages especially Indian languages like Hindi, Kannada, Bengali, Tamil, Telegu, Marathi etc was considered

4 Likes

The only concern I have is that it might get limited to a few european languages.

We considered this during the design. Language coverage is driven entirely by the underlying model rather than the integration, so non-European support is limited only by what good models exist. We’ve looked at Whisper, Nemotron, and Qwen3-ASR so far, several offer multilingual variants, though performance varies a lot by language. Definitely keen to hear the community’s recommendations for model families to consider for these use cases.

10 Likes

I am quite delighted to hear that you considered multi-languages during the design. Thank you. Ubuntu really is Linux for (all) Human Beings under the covers. <3

5 Likes

Very interested in this and the privacy-first focus is awesome. Looking forward to playing with this!

2 Likes

Any chance y’all can comment on how this relates to the great work mkiol is doing on dsnote? That has speech to text, text to speech, machine translation, loads of languages, tons of models, and (IMO) is only missing streaming functionality (whereby the STT model starts decoding the input as soon as it comes in, instead of waiting for the input to end before starting); this is available in the models but just needs to be coded in.

1 Like

is it already installed on my 26.10? if not how do I install it? what is the package name?

1 Like

Please refer to the project page.

3 Likes

It’s very exciting the push Canonical is taking at such pivotal moment. Is this a second golden era for Ubuntu? Hopefully much of the improvement will reach the humble home user.

3 Likes

This is very exciting to see. Local, privacy-respecting speech-to-text is something Linux desktop has needed for a long time.

I’m also working on a related open-source project called YazSes — disclosure: I’m the author. It is a Linux-first hold-to-talk dictation tool using faster-whisper locally. The workflow is similar at a high level: press/hold a trigger, speak, release, and insert text into the focused app.

The scope is a bit different from Myna: YazSes is more of an installable user/developer tool available now, with experiments around explicit voice commands, macros, personal vocabulary, and X11/Wayland behavior. Myna looks like the right direction for deeper Ubuntu desktop integration.

I would be happy to test Myna, compare notes from YazSes, and share feedback on setup reliability, latency, correction workflow, and text injection behavior.

GitHub: MSKazemi/yazses

1 Like

i’m expecting accessibility functions like this for my deaf friends to provide same exprience to see lecture and youtube streaming.
I used similar tools on Flatpak and KDE Neon(based on Ubuntu LTS), but it only supports English, so it didn’t help the people using other languages.

2 Likes

Great work. Looking forward to testing the releases.

3 Likes

@jibel This is wonderful to see and I’m excited that Canonical is working on this. It’s an area I’ve been thinking about for a few years now (due to family members needing it).

I appreciate that you’re starting with a limited use case but I do feel that there’a bit of a contradiction in this comment:

We’re intentionally keeping the scope narrow for this first release. … Before we tackle more advanced scenarios, we want to get the fundamentals right.

Looking at the architecture documents in the repo I believe that if you expect to do voice commands and desktop control, which are key accessibility features that the Ubuntu desktop lacks (and also if you are hoping to do voice assistants in the future) then you need to think about these now rather than later. The plumbing for wake-word detection looks different from what you’ve drawn, and won’t interact well unless you plan for it now. It’s not just that the models you want to use for limited vocabulary, short clip command STT are different but you also need different activity detection and noise rejection. I think that these are the fundamentals that you need to get right.

Is there a dedicated mailing list or discussion board for the Myna work? The GitHub discussions are empty and the issue tracker seems to be the wrong place for this sort of architectural work. I’d love to get involved if I can.

1 Like

Thanks for referencing that project, that has lots of interesting details for us to consider, although its scope is larger than what we’re initially proposing here.

“This is available in the models but just needs to be coded in” is a little misleading. Some architectures are native streamers, e.g. transducer models (RNN-T/TDT, e.g. NVIDIA’s Parakeet) decode incrementally as audio arrives by design. AED models like Whisper aren’t. The decoder looks at the entire audio encoding at once for every prediction, so streaming means layering chunking and hypothesis-stabilization logic on top of an architecture that wasn’t built for partial output, which from my investigations has been quite expensive and tricky to get right.

We’re not sure how much of that provisional output we should actually surface live to the user versus only showing/committing text once it’s stabilized. We had some early feedback that live-streamed partial results can be confusing from a UX perspective. E.g. you’re mid-thought, a word gets mistranscribed on screen, and that visual noise breaks your flow versus a cleaner push-to-talk / commit-on-release experience. Not set in stone, very subjective, appreciate further thoughts!

Thanks for sharing YazSes. We’re very happy to have comments / discussion in our GitHub project area as work progresses.

It’s not immediately clear to me what fundamentals we’re missing for this, but please open an issue on the issue tracker with further details.

Hello everyone, I am a heavy duty user of speech recognition software on Windows owing to physical disability, and have always admired the open source software ethos of Linux. Having discovered this project I will now download Ubuntu to my spare laptop, in hopes of making a full transition once speech-to-text becomes available, in future. A couple of features that I would say our very important are:

  1. the ability to start and stop dictation using voice commands or “keywords” it is much less important whether they are hardcoded or adjustable by the user.

  2. the ability to dictate longform hands-free such that dictation is not (exclusively) dependent on pressing a button on the keyboard to start and stop or for the duration. This could be one way to start and stop, but it should not be the only way, and it absolutely should not be required for the duration. I hope this makes sense, and if not I will be happy to clarify. I also hope that I do not come across as demanding. Very best wishes!

2 Likes