🎙️ Myna: Offline Voice Dictation for Ubuntu

Canonical's new speech-to-text tool: what it is, what it installs, and what I could and could not test

Last tested: 2026-10-13 on Ubuntu 24.04.5 (a server virtual machine, so no GNOME desktop). Versions: myna-config 0.2.2, myna snap 0.2.3, myna-whisper snap 0.2.2. Status: tech preview.

sudo add-apt-repository ppa:canonical-desktop-team/myna
sudo apt install myna-config

Myna is dictation for the Ubuntu desktop. You press a key, speak, and the text is typed into
whatever app has focus. The speech recognition runs on your own computer, not in the cloud.
⚠️ Preview software: Canonical says Myna is in heavy development and that protocols may change before a stable release. At the time of testing, every Myna snap was only published in the edge channel, with nothing in stable. It is expected to ship with Ubuntu 26.10.

What it is

Myna is a dictation tool, not a voice assistant. You press a keyboard shortcut, speak, and the transcript is typed into the focused application through IBus, the Linux input system. It does not run commands by voice. Canonical says nothing leaves the machine: audio is processed in memory, is not saved, and the speech models run locally in confined snaps.

The source is on GitHub at github.com/canonical/myna. It is designed for the default GNOME desktop on Wayland. A small helper for Xfce is also included.

What gets installed

Myna has three parts, which matters if you want to know what is on your system:

The microphone is only given to the client snap. The model snaps have no microphone access: the client sends them the audio over a local Unix socket.

Install

The set-up app is meant to do this for you. I did it by hand to see each step:

sudo add-apt-repository ppa:canonical-desktop-team/myna
sudo apt install myna-config

# the snaps are only in the edge channel right now
sudo snap set system experimental.user-daemons=true
sudo snap install myna --edge
sudo snap install myna-whisper --edge

Without the user-daemons setting, the myna snap refused to install and printed "experimental feature disabled". The settings app checks for it during onboarding ("UserDaemons found"). I set it myself, so I do not know whether the app turns it on for you.

The first snap install also hit a store timeout (HTTP 408) while fetching a shared GNOME runtime called gnome-46-2404. The myna snap still installed, but that component was left unconnected. That is probably my VM's network and did not affect the dictation test below, but it is the kind of thing to watch on a first install.

Myna Settings General tab
The General tab of myna-config: shortcut, when to transcribe, indicator style and sounds. (Started in an X session on a non-GNOME desktop, so it says it cannot set up the shortcut.)
Myna Settings Model tab
The Model tab. The settings app shows the active Whisper "base" model running on the CPU.

Dictation test

Myna's source includes a test tool, myna-testbed, that sends a WAV file to the model snap the same way the client would. I made two spoken sentences with espeak-ng, a robotic text-to-speech voice, and ran them through Whisper "base" on the CPU of the 4-core VM:

espeak-ng -v en-us -s 150 -w s1.wav "Open the terminal and run sudo apt update, then install the package called htop."
espeak-ng -v en-us -s 150 -w s2.wav "The quick brown fox jumps over the lazy dog near the river bank."

/snap/myna/current/bin/myna-testbed \
  --socket /var/snap/myna-whisper/common/share/provider/myna.sock \
  --clip s1.wav --clip s2.wav --language en
✓ Open the terminal and run sudo app top date, and install the package call page top.
✓ The quick brown fox dumps over the lazy dog near the riverbank.

Result: both clips were transcribed in about 4 seconds in total, including loading the model. The ordinary sentence came out nearly right ("jumps" became "dumps"). The command-line sentence was wrong where it mattered: "apt update" became "app top date" and "htop" became "page top". That is a very small test with a synthetic voice, so it says little about a real person speaking. It does suggest you should read what Myna types before you press Enter in a terminal. Larger models should do better, and I did not try them.

Myna Settings Diagnostics tab
The Diagnostics tab. It says no audio, transcript or file path is ever included in the report.

Privacy and network traffic

Check the interfaces yourself with snap connections myna and snap connections myna-whisper.

What I did not test

If you try it on a desktop, I would like to hear how it goes. Use the contact page.

Remove

sudo snap remove myna myna-whisper
sudo apt remove myna-config
sudo add-apt-repository -r ppa:canonical-desktop-team/myna
sudo snap set system experimental.user-daemons=false   # if you do not use other user daemon snaps

Verdict

The design is sound: local speech models, a client that holds the microphone, model snaps that cannot reach it, and no open network ports. In my short test the model snaps ran and produced text with no network traffic. It is still a preview. The snaps are only on edge, the install needed a manual setting, and the part that people will actually use (hotkey, typing into apps) is the part I could not test here. If you want to dictate emails or notes on Ubuntu without sending your voice to a cloud service, it is worth trying on a spare machine or a test user account. I would not rely on it for terminal commands yet.

Sources