Open-source project
mkiol/dsnote avatar
mkiol/dsnote

Speech Note: offline speech to text, text to speech and translation on Linux and Sailfish OS

Speech Note Linux app. Note taking, reading and translating with offline Speech to Text, Text to Speech and Machine translation.

1,635 stars72 forksC++MPL-2.0

At a glance

What is it?
Speech Note is a C++ desktop and Sailfish OS application that runs speech recognition, speech synthesis and machine translation locally, with models downloaded through an in-app browser rather than bundled. It is aimed at users who want dictation and translation without sending audio to a server.
Who is it for?
Speech Note fits users who want dictation, read-aloud and translation to stay on the machine, and who accept that model downloads and engine choice are part of the workflow. It is the wrong tool if you need a single accurate model across many languages with no tuning, or if you cannot install Flatpak.
Can I use it commercially?
Yes, with conditions. MPL-2.0 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Speech Note is for, and who it is not for

Speech Note is a Linux desktop and Sailfish OS application for taking, reading and translating notes using speech. The README states that text and voice processing take place entirely offline, locally on the computer, without a network connection, and that no data is sent to the Internet. That single design decision defines the audience: people who want dictation and playback on a machine they control, and who are willing to trade some accuracy and convenience for that.

The application is not a single speech engine. The README lists five speech to text engines (Coqui STT, Vosk, whisper.cpp with Parakeet, Faster Whisper, april-asr), eleven text to speech engines (espeak-ng, MBROLA, Piper, RHVoice, Coqui TTS, Mimic 3, WhisperSpeech, Kokoro, Parler-TTS, F5-TTS, S.A.M.) and one machine translation engine, Bergamot Translator. That breadth is the product's main argument. It is also its main cost, because engine selection, model download and language coverage become the user's problem rather than something the application hides.

How the engines, models and languages fit together

Speech Note does not ship model checkpoints. The README says the installation package does not include checkpoint files for supported models, and that they can be downloaded using the graphical model browser built into the application. So the data flow is: install the application, open the model browser, download the checkpoints for the languages you need, then run STT, TTS or MT against those local files. Nothing in that loop requires a network connection after the download step.

The README's language table is the real specification of what works. It maps each language ID to the engines that support it, and the coverage is uneven. Czech, for example, is marked for DeepSpeech, Whisper, Vosk, Piper, RHVoice, espeak, MBROLA, Coqui and Bergamot. Welsh appears only under Piper in the visible portion of the table. Afrikaans has Whisper, espeak and Mimic3 but no Bergamot translation entry. Anyone evaluating Speech Note should read that table as the compatibility matrix, not as a marketing list: a language can have speech recognition without synthesis, or synthesis without translation.

Installing Speech Note and running a first transcription

The README points to Flathub as the distribution channel, with a download badge for net.mkiol.SpeechNote. If your system has Flatpak configured, the install is a single command. The README does not document a command-line first run, so the first real use is through the application window.

bash
flatpak install flathub net.mkiol.SpeechNote

After installation, launch the application and open the model browser. The README describes it as graphical and built in, and it is where the checkpoint files come from, since the package does not include them. Pick the language and the engine you want, download the model, then create a note and use the speech to text action to dictate into it. Expect the first run to involve a download of noticeable size, because the checkpoints are the models.

The repository also carries packaging directories for other distributions: arch/, deb/, fedora/ and sfos/ appear at the top level, and the README has a section on building from sources. Those are not documented in the README excerpt as one-line installs, so treat them as build targets rather than supported install paths unless you read the corresponding files.

What the offline-only design costs you

The strongest limitation is also the headline feature. Because processing is local, accuracy and speed depend on the model you downloaded and the hardware you run it on, and the README makes no performance claims for any engine. A large Whisper checkpoint and a small Vosk model are different products in the same application, and the README does not rank them for you.

Language coverage is the second constraint. The table shows gaps that matter in practice. If you need a language pair that has STT but no TTS, you can dictate but not listen. If it has neither Bergamot nor another translation entry, the translation feature does not apply to it at all. The README does not document fallback behaviour when a model is missing, so the safe assumption is that the feature is unavailable rather than degraded.

Finally, the release history shows the project's centre of gravity. The most recent release listed, b4.9.1-1, is a Flatpak add-on with pre-compiled binaries, and v4.9.0 is marked in the release name as Sailfish OS only. The desktop path is the Flatpak one. If your distribution's native packaging lags, you are waiting on the Flatpak build.

Speech Note compared with a cloud dictation service

The obvious alternative is a cloud speech API from a large provider. The difference is not accuracy alone; it is where the audio goes and what you have to install. A cloud service typically needs an account, a network connection and an SDK, and it processes your audio on someone else's hardware. Speech Note inverts all three: no account, no network after model download, and a local application with a graphical model browser.

The trade is that you manage the models. A cloud API gives you one endpoint and one accuracy figure that the vendor maintains. Speech Note gives you a menu of engines with different strengths and a README table telling you which languages each covers. For a user recording meeting notes in a language with strong Whisper coverage, the local route is straightforward. For a user who needs reliable recognition across a long tail of languages and does not want to compare engines, the cloud route removes a decision that Speech Note deliberately hands back to you.

Maintenance, licensing and what to verify before adopting

The repository is not archived and the last push was on 2026-09-13, so the project is being worked on. That says nothing about the stability of any individual engine binding, and the README does not publish a support window or a deprecation policy for the engines it lists.

Speech Note itself is licensed under MPL-2.0, which is a file-level copyleft licence. That covers the application code. It does not automatically cover the models you download through the model browser, which come from separate upstream projects with their own licences, and the README does not summarise those terms. If you plan to redistribute a build or ship it inside a product, check the licence of each engine and checkpoint you enable rather than assuming the MPL-2.0 header is the whole story. This is a description of the repository's licence field, not legal advice.

Upgrade cost is mostly model management. Because checkpoints are downloaded rather than packaged, an application upgrade and a model upgrade are separate events, and the README does not describe a migration or cleanup path for old checkpoints.

Editorial conclusion

Speech Note fits users who want dictation, read-aloud and translation to stay on the machine, and who accept that model downloads and engine choice are part of the workflow. It is the wrong tool if you need a single accurate model across many languages with no tuning, or if you cannot install Flatpak. Before adopting it, check that the language pair you need has both an STT and a TTS model in the README table, and confirm the model browser can download them in your environment.

Frequently asked questions

What is Speech Note?

It is a Linux desktop and Sailfish OS application for note taking, reading and translating using offline speech to text, text to speech and machine translation. The README states that processing happens locally and no data is sent to the Internet.

What is an alternative to Speech Note?

A cloud speech API is the main alternative, and the difference is where the audio is processed: Speech Note keeps it local and needs no account, while a cloud service handles recognition on remote hardware. The trade is that with Speech Note you download and choose the models yourself.

Does Speech Note include the speech models?

No. The README says the installation package does not include checkpoint files for the supported models, and that they are downloaded through the graphical model browser built into the application.

How do I install Speech Note on Linux?

The README points to Flathub, with the application ID net.mkiol.SpeechNote, so the install is done with Flatpak. The repository also contains packaging directories for arch, deb, fedora and sfos, and a section on building from sources.

Which languages does Speech Note support?

The README publishes a table mapping each language ID to the engines that support it, and coverage varies by language and by task. Some languages have speech recognition but no synthesis, and some have no translation entry at all.

Official sources

  1. Issues
  2. License: MPL-2.0
  3. mkiol/dsnote on GitHub
  4. README
  5. Releases
Community notes

Community notes