{"id":13517332,"url":"https://github.com/mkiol/dsnote","last_synced_at":"2025-05-15T04:07:49.603Z","repository":{"id":38356370,"uuid":"414686117","full_name":"mkiol/dsnote","owner":"mkiol","description":"Speech Note Linux app. Note taking, reading and translating with offline Speech to Text, Text to Speech and Machine translation.","archived":false,"fork":false,"pushed_at":"2025-05-10T19:00:47.000Z","size":78835,"stargazers_count":875,"open_issues_count":87,"forks_count":37,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-10T20:18:12.135Z","etag":null,"topics":["asr","flatpak-applications","linux-desktop","machine-translation","nmt","offline","sailfishos","speech-recognition","speech-synthesis","speech-to-text","stt","text-to-speech","translation","translator","tts"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkiol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-10-07T16:54:26.000Z","updated_at":"2025-05-10T19:00:50.000Z","dependencies_parsed_at":"2023-12-30T15:31:00.200Z","dependency_job_id":"6bd0e1da-9d57-4b07-94a4-656774d01d1a","html_url":"https://github.com/mkiol/dsnote","commit_stats":{"total_commits":1265,"total_committers":12,"mean_commits":"105.41666666666667","dds":"0.058498023715415015","last_synced_commit":"392e378f1335fad456818fb9718ba630075ae04e"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkiol%2Fdsnote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkiol%2Fdsnote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkiol%2Fdsnote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkiol%2Fdsnote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkiol","download_url":"https://codeload.github.com/mkiol/dsnote/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270656,"owners_count":22042860,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asr","flatpak-applications","linux-desktop","machine-translation","nmt","offline","sailfishos","speech-recognition","speech-synthesis","speech-to-text","stt","text-to-speech","translation","translator","tts"],"created_at":"2024-08-01T05:01:32.670Z","updated_at":"2025-05-15T04:07:44.591Z","avatar_url":"https://github.com/mkiol.png","language":"C++","funding_links":["https://ko-fi.com/mkiol","https://liberapay.com/mkiol/donate"],"categories":[":headphones: Audio Production","C++","Apps"],"sub_categories":["ARM"],"readme":"# Speech Note\n\nLinux desktop and Sailfish OS app for note taking, reading and translating with offline Speech to Text, Text to Speech and Machine Translation\n\n\u003ca href='https://flathub.org/apps/net.mkiol.SpeechNote'\u003e\u003cimg width='240' alt='Download on Flathub' src='https://dl.flathub.org/assets/badges/flathub-badge-en.png'/\u003e\u003c/a\u003e\n\n## Contents of this README\n\n- [Description](#description)\n- [Languages and Models](#languages-and-models)\n- [How to install](#how-to-install)\n- [Flatpak packages](#flatpak-packages)\n- [Beta version](#beta-version)\n- [Building from sources](#building-from-sources)\n- [How to enable a custom model](#how-to-enable-a-custom-model)\n- [Contributing to Speech Note](#contributing-to-speech-note)\n- [How to support](#how-to-support)\n- [Reviews and demos](#reviews-and-demos)\n- [License](#license)\n\n## Description\n\n**Speech Note** let you take, read and translate notes in multiple languages.\nIt uses Speech to Text, Text to Speech and Machine Translation to do so.\nText and voice processing take place entirely offline, locally on your\ncomputer, without using a network connection. Your privacy is always\nrespected. No data is sent to the Internet.\n\n**Speech Note** uses many different processing engines to do its job.\nCurrently these are used:\n\n- Speech to Text (STT)\n    - [Coqui STT (a fork of Mozilla DeepSpeech)](https://github.com/coqui-ai/STT)\n    - [Vosk](https://alphacephei.com/vosk)\n    - [whisper.cpp](https://github.com/ggerganov/whisper.cpp)\n    - [Faster Whisper](https://github.com/guillaumekln/faster-whisper)\n    - [april-asr](https://github.com/abb128/april-asr)\n- Text to Speech (TTS)\n    - [espeak-ng](https://github.com/espeak-ng/espeak-ng)\n    - [MBROLA](https://github.com/numediart/MBROLA)\n    - [Piper](https://github.com/rhasspy/piper)\n    - [RHVoice](https://github.com/RHVoice/RHVoice)\n    - [Coqui TTS](https://github.com/coqui-ai/TTS)\n    - [Mimic 3](https://mycroft.ai/mimic-3)\n    - [WhisperSpeech](https://collabora.github.io/WhisperSpeech/)\n- Machine Translation (MT)\n    - [Bergamot Translator](https://github.com/browsermt/bergamot-translator)\n\n## Languages and Models\n\nSpeech Note installation package does not include checkpoint files for supported models, but instead they can be easily downloaded using the graphical model browser built into the application.\n\nFollowing languages and models are supported and enable for download:\n\n| **Lang ID** | **Name**      | **DeepSpeech (STT)** | **Whisper (STT)** | **Vosk (STT)** | **April-ASR (STT)** | **Piper (TTS)** | **RHVoice (TTS)** | **espeak (TTS)** | **MBROLA (TTS)** | **Coqui (TTS)** | **Mimic3 (TTS)** | **WhisperSpeech (TTS)** | **Bergamot (MT)** |\n| ----------- | ------------- | -------------------- | ----------------- | -------------- | ------------------- | --------------- | ----------------- | ---------------- | ---------------- | --------------- | ---------------- | ----------------------- | ----------------- |\n| af          | Afrikaans     |                      | ●                 |                |                     |                 |                   | ●                |                  |                 | ●                |                         |                   |\n| am          | Amharic       | ● (e)                | ●                 |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| ar          | Arabic        |                      | ●                 | ●              |                     | ●               |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| bg          | Bulgarian     |                      | ●                 |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| bn          | Bengali       |                      | ●                 |                |                     |                 |                   | ●                |                  | ●               | ●                |                         |                   |\n| bs          | Bosnian       |                      | ●                 |                |                     |                 |                   | ●                |                  |                 |                  |                         | ●                 |\n| ca          | Catalan       | ●                    | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| cs          | Czech         | ●                    | ●                 | ●              |                     | ●               | ●                 | ●                | ●                | ●               |                  |                         | ●                 |\n| cy          | Welsh         |                      |                   |                |                     | ●               |                   |                  |                  |                 |                  |                         |                   |\n| da          | Danish        |                      | ●                 |                |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| de          | German        | ●                    | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               | ●                | ●                       | ●                 |\n| el          | Greek         | ● (e)                | ●                 |                |                     | ●               |                   | ●                |                  | ●               | ●                |                         | ●                 |\n| en          | English       | ●                    | ●                 | ●              | ●                   | ●               | ●                 | ●                |                  | ●               | ●                | ●                       | ●                 |\n| eo          | Esperanto     |                      |                   | ●              |                     |                 | ●                 | ●                |                  |                 |                  |                         |                   |\n| es          | Spanish       | ●                    | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               | ●                | ●                       | ●                 |\n| et          | Estonian      | ● (e)                | ●                 |                |                     |                 |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| eu          | Basque        | ● (e)                | ●                 |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| fa          | Persian       | ●                    | ●                 | ●              |                     | ●               |                   | ●                | ●                | ●               | ●                |                         | ●                 |\n| fi          | Finnish       | ●                    | ●                 |                |                     | ●               |                   | ●                |                  | ●               | ●                |                         | ●                 |\n| fr          | French        | ●                    | ●                 | ●              | ●                   | ●               |                   | ●                |                  | ●               | ●                | ●                       | ●                 |\n| ga          | Irish         |                      |                   |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| gu          | Gujarati      |                      | ●                 |                |                     |                 |                   | ●                |                  |                 | ●                |                         |                   |\n| ha          | Hausa         |                      | ●                 |                |                     |                 |                   |                  |                  |                 | ●                |                         |                   |\n| he          | Hebrew        |                      | ●                 |                |                     |                 |                   |                  |                  | ●               |                  |                         |                   |\n| hi          | Hindi         |                      | ●                 | ●              |                     |                 |                   | ●                |                  |                 |                  |                         |                   |\n| hr          | Croatian      |                      | ●                 |                |                     |                 | ●                 | ●                | ●                | ●               |                  |                         |                   |\n| hu          | Hungarian     | ● (e)                | ●                 |                |                     | ●               |                   | ●                | ●                | ●               | ●                |                         | ●                 |\n| id          | Indonesian    | ● (e)                | ●                 |                |                     |                 |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| is          | Icelandic     |                      | ●                 |                |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| it          | Italian       | ●                    | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               | ●                | ●                       | ●                 |\n| ja          | Japanese      |                      | ●                 | ●              |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| jv          | Javanese      |                      | ●                 |                |                     |                 |                   |                  |                  |                 | ●                |                         |                   |\n| ka          | Georgian      |                      | ●                 |                |                     | ●               | ●                 | ●                |                  |                 |                  |                         |                   |\n| kk          | Kazakh        |                      | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               |                  |                         |                   |\n| ko          | Korean        |                      | ●                 | ●              |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| ky          | Kyrgyz        |                      |                   |                |                     |                 | ●                 | ●                |                  |                 |                  |                         |                   |\n| la          | Latin         |                      |                   |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| lb          | Luxembourgish |                      |                   |                |                     | ●               |                   |                  |                  |                 |                  |                         |                   |\n| lt          | Lithuanian    |                      | ●                 |                |                     |                 |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| lv          | Latvian       | ●                    | ●                 |                |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| mk          | Macedonian    |                      | ●                 |                |                     |                 | ●                 | ●                |                  |                 |                  |                         |                   |\n| mn          | Mongolian     | ● (e)                | ●                 |                |                     |                 |                   |                  |                  | ●               |                  |                         |                   |\n| mr          | Marathi       |                      | ●                 |                |                     |                 |                   |                  |                  | ●               |                  |                         |                   |\n| ms          | Malay         |                      | ●                 |                |                     |                 |                   | ●                | ●                | ●               |                  |                         |                   |\n| mt          | Maltese       |                      | ●                 |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| ne          | Nepali        |                      | ●                 |                |                     | ●               |                   | ●                |                  |                 | ●                |                         |                   |\n| nl          | Dutch         | ● (e)                | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               | ●                | ●                       | ●                 |\n| no          | Norwegian     |                      | ●                 |                |                     | ●               |                   | ●                |                  |                 |                  |                         | ●                 |\n| pl          | Polish        | ●                    | ●                 | ●              | ●                   | ●               | ●                 | ●                | ●                | ●               | ●                | ●                       | ●                 |\n| pt          | Portuguese    | ● (e)                | ●                 | ●              |                     | ●               |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| ro          | Romanian      | ● (e)                | ●                 |                |                     | ●               |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| ru          | Russian       | ●                    | ●                 | ●              |                     | ●               | ●                 | ●                |                  |                 | ●                |                         | ●                 |\n| sk          | Slovak        |                      | ●                 |                |                     | ●               | ●                 | ●                |                  | ●               |                  |                         | ●                 |\n| sl          | Slovenian     | ● (e)                | ●                 |                |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| sq          | Albanian      |                      | ●                 |                |                     |                 | ●                 | ●                |                  | ●               |                  |                         |                   |\n| sr          | Serbian       |                      | ●                 |                |                     | ●               | ●                 | ●                |                  |                 |                  |                         | ●                 |\n| sv          | Swedish       |                      | ●                 | ●              |                     | ●               |                   | ●                | ●                | ●               | ●                |                         | ●                 |\n| sw          | Swahili       | ●                    | ●                 |                |                     | ●               |                   | ●                |                  | ●               |                  |                         |                   |\n| te          | Telugu        |                      | ●                 |                |                     |                 |                   | ●                |                  |                 | ●                |                         |                   |\n| th          | Thai          | ● (e)                | ●                 |                |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| tl          | Tagalog       |                      | ●                 | ●              |                     |                 |                   |                  |                  | ●               |                  |                         |                   |\n| tn          | Tswana        |                      | ●                 |                |                     |                 |                   | ●                |                  |                 | ●                |                         |                   |\n| tr          | Turkish       | ● (e)                | ●                 | ●              |                     | ●               |                   | ●                | ●                | ●               |                  |                         | ●                 |\n| tt          | Tatar         |                      | ●                 |                |                     |                 | ●                 | ●                |                  | ●               |                  |                         |                   |\n| uk          | Ukrainian     | ●                    | ●                 | ●              |                     | ●               | ●                 | ●                |                  | ●               | ●                |                         | ●                 |\n| uz          | Uzbek         |                      | ●                 | ●              |                     |                 |                   | ●                |                  | ●               |                  |                         |                   |\n| vi          | Vietnamese    |                      | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n| yo          | Yoruba        | ● (e)                | ●                 |                |                     |                 |                   |                  |                  | ●               | ●                |                         |                   |\n| zh          | Chinese       | ●                    | ●                 | ●              |                     | ●               |                   | ●                |                  | ●               |                  |                         | ●                 |\n\n\u003csup\u003e(e) experimental, most likely doesn't work well\u003c/sup\u003e\n\u003cbr/\u003e\n\nFaster Whisper, Coqui TTS and Mimic3 models are only available on x86-64.\n\nLanguage models can be downloaded directly from the app.\n\nDetails of models which are currently configured for download are described in\n[models.json (GitHub)](https://github.com/mkiol/dsnote/blob/main/config/models.json) or\n[models.json (GitLab)](https://gitlab.com/mkiol/dsnote/-/blob/main/config/models.json).\n\n## How to install\n\n- Linux Desktop: [Flatpak](https://flathub.org/apps/net.mkiol.SpeechNote)\n\n```sh\n# Flatpak base package\nflatpak install net.mkiol.SpeechNote\n\n# Optional NVIDIA add-on package\nflatpak install net.mkiol.SpeechNote.Addon.nvidia\n\n# Optional AMD add-on package (not recommended)\nflatpak install net.mkiol.SpeechNote.Addon.amd\n```\n\n- Arch Linux (AUR):\n\n  - [dsnote](https://aur.archlinux.org/packages/dsnote)\n  - [dsnote-git](https://aur.archlinux.org/packages/dsnote-git)\n\n- openSUSE ([Packman repository](https://en.opensuse.org/Additional_package_repositories#Packman))\n\n```sh\n# Base package\nzypper in speechnote\n\n# Optional support for Python-based features in Speech Note\nzypper in speechnote-python-modules\n```\n\n- Sailfish OS: [OpenRepos](https://openrepos.net/content/mkiol/speech-note)\n\n### Flatpak packages\n\nThe app distributed via Flatpak (published on Flathub) consists of the following packages:\n\n - Base package \"Speech Note\" (net.mkiol.SpeechNote)\n - Optional add-on for NVIDIA graphics card \"Speech Note NVIDIA\" (net.mkiol.SpeechNote.Addon.nvidia)\n - Optional (and not recommended) add-on for AMD graphics card \"Speech Note AMD\" (net.mkiol.SpeechNote.Addon.amd)\n\nBase package includes all the dependencies needed to run every feature of the application.\nAdd-ons add the capability of GPU acceleration, which speeds up some operations in the application.\n\nBase package and add-ons contain many \"heavy\" libraries like CUDA, ROCm, Torch and Python libraries.\nDue to this, the size of the packages and the space required after installation are significant.\nIf you don't need all the functionalities, you can use much smaller \"Tiny\" package\n(available on [Releases](https://github.com/mkiol/dsnote/releases) page),\nwhich provides only the basic features. If you need, you can also use \"Tiny\" packages together with GPU acceleration add-on.\n\nIt is not recommended to install the AMD add-on. It is very large in size and does not provide many benefits.\nIn addition, ROCm 6.x included in the add-on may cause problems on some GPUs.\n\nComparison between Base, Tiny and Add-ons Flatpak packages:\n\n| **Sizes**     | **Base** | **Tiny** | **AMD add-on** | **NVIDIA add-on** |\n| ------------- | ---------| ---------| -------------- | ----------------- |\n| Download size | 0.9 GiB  |  70 MiB  |  +7.1 GiB      | +3.7 GiB          |\n| Unpacked size | 3.2 GiB  | 170 MiB  | +25.6 GiB      | +6.4 GiB          |\n\n| **Features**                            | **Base** | **Tiny** | **AMD add-on** | **NVIDIA add-on** |\n| --------------------------------------- | ---------| ---------| -------------- | ----------------- |\n| Coqui/DeepSpeech STT                    | +        | +        |                |                   |\n| Vosk STT                                | +        | +        |                |                   |\n| Whisper (whisper.cpp) STT               | +        | +        |                |                   |\n| Whisper (whisper.cpp) STT OpenCL ROCm   | -        | -        | +              |                   |\n| Whisper (whisper.cpp) STT OpenCL NVIDIA | +        | +        |                |                   |\n| Whisper (whisper.cpp) STT ROCm          | -        | -        | +              |                   |\n| Whisper (whisper.cpp) STT CUDA          | -        | -        |                | +                 |\n| Whisper (whisper.cpp) STT OpenVINO      | +        | -        |                |                   |\n| Whisper (whisper.cpp) STT Vulkan        | +        | +        |                |                   |\n| Faster Whisper STT                      | +        | -        |                |                   |\n| Faster Whisper STT CUDA                 | -        | -        |                | +                 |\n| April-ASR STT                           | +        | +        |                |                   |\n| eSpeak TTS                              | +        | +        |                |                   |\n| MBROLA TTS                              | +        | +        |                |                   |\n| Piper TTS                               | +        | +        |                |                   |\n| RHVoice TTS                             | +        | +        |                |                   |\n| Coqui TTS                               | +        | -        |                |                   |\n| Coqui TTS ROCm                          | -        | -        | +              |                   |\n| Coqui TTS CUDA                          | -        | -        |                | +                 |\n| Mimic3 TTS                              | +        | -        |                |                   |\n| WhisperSpeech TTS                       | +        | -        |                |                   |\n| WhisperSpeech TTS ROCm                  | -        | -        | +              |                   |\n| WhisperSpeech TTS CUDA                  | -        | -        |                | +                 |\n| Punctuation restoration                 | +        | -        |                |                   |\n| Translator                              | +        | +        |                |                   |\n\n### Beta version\n\nIn addition to the stable version in the Flathub repository, you can try to test the \"Beta\" version of the upcoming release. This version is usable, but may contain more bugs.\n\nBeta version is available in \"flathub-beta\" repository. Follow [these instructions](https://discourse.flathub.org/t/how-to-use-flathub-beta/2111) to enable flathub-beta on your computer.\n\n## Building from sources\n\n### Arch Linux\n\nIt is also possible to build and install the latest development (git) or latest stable (release) version from the repository using the provided PKGBUILD file (please note that the same remarks about building on Linux apply):\n\n```sh\ngit clone \u003cgit repository url\u003e\n\ncd dsnote/arch/git      # build latest git version\n# or\ncd dsnote/arch/release  # build latest release version\n\nmakepkg -si\n```\n\n### RHEL/Fedora/Rocky Linux\n\nIt is also possible to build and install the latest development version from the repository using the provided SPEC file and helper `make_rpm.sh` script:\n\n```sh\ngit clone \u003cgit repository url\u003e\n\ncd dsnote/fedora\n\n# optionally install build dependencies\ndnf install rpmdevtools autoconf automake boost-devel cmake git kf5-kdbusaddons-devel libarchive-devel libxdo-devel libXinerama-devel libxkbcommon-x11-devel libXtst-devel libtool meson openblas-devel patchelf pybind11-devel python3-devel python3-pybind11 qt5-linguist qt5-qtmultimedia-devel qt5-qtquickcontrols2-devel qt5-qtx11extras-devel rubberband-devel taglib-devel vulkan-headers\n\n./make_rpm.sh\n```\n\n### Flatpak\n\n```sh\ngit clone \u003cgit repository url\u003e\n\ncd dsnote/flatpak\n\n# build a base package\nflatpak-builder --force-clean --user --install-deps-from=flathub --repo=\"\u003cname or /path/to/local/flatpak/repo\u003e\" \"/path/to/output/dir\" net.mkiol.SpeechNote.yaml\n\n# build an optional NVIDIA add-on package\nflatpak-builder --force-clean --user --install-deps-from=flathub --repo=\"\u003cname or /path/to/local/flatpak/repo\u003e\" \"/path/to/output/dir\" net.mkiol.SpeechNote.Addon.nvidia.yaml\n```\n\n### Sailfish OS\n\n```sh\ngit clone \u003cgit repository url\u003e\n\ncd dsnote\nmkdir build\ncd build\n\nsfdk config --session specfile=../sfos/harbour-dsnote.spec\nsfdk config --session target=SailfishOS-4.4.0.58-aarch64\nsfdk cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_SFOS=ON -DWITH_PY=OFF\nsfdk package\n```\n\n### Linux (direct build)\n\nSpeech Note has many build-time and run-time dependencies. This includes shared and static libraries,\n3rd-party executables, Python and Perl scripts. Because of these complexity, the recommended way to build\nis to use Flatpak tool-chain (Flatpak manifest file and [flatpak-builder](https://docs.flatpak.org/en/latest/flatpak-builder.html)).\nIf you want to make a direct build (i.e. without flatpak) it is also possible but more complicated.\n\n```sh\ngit clone \u003cgit repository url\u003e\n\ncd dsnote\nmkdir build\ncd build\n\ncmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON\nmake\n```\n\nTo make build without support for Python components, add `-DWITH_PY=OFF` in cmake step.\n\nTo see other build options search for `option(BUILD_XXX)` in `CMakeList.txt` file.\n\n## How to enable a custom model\n\nAll models available for download are specified in the configuration file (config/models.json).\nTo enable a custom model that is compatible with currently supported engines, simply edit this file and restart the application.\n\nWhen you first run the application, the models configuration file is created in:\n\n- `~/.local/share/net.mkiol/dsnote/models.json`, or\n- `~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json` (Flatpak), or\n- `~/.local/share/org.mkiol/dsnote/models.json` (Sailfish OS)\n\nYou can freely edit currently enabled models or add new ones.\n\nModel definition looks like this:\n\n```\n{\n    \"name\": \"\u003cmodel name\u003e\",\n    \"model_id\": \"\u003cmodel unique id\u003e\",\n    \"engine\": \"\u003cengine type\u003e\",\n    \"lang_id\": \"\u003clang id\u003e\",\n    \"checksum\": \"\u003cmd5 checksum\u003e\",\n    \"checksum_quick\": \"\u003cpartial md5 checksum\u003e\",\n    \"comp\": \"\u003ccompression type\",\n    \"urls\": [\n        \u003cmodel URLs\u003e\n    ],\n    \"size\": \"\u003cdownload size of all files\u003e\"\n}\n```\n\nAllowed engine types: `stt_ds`, `stt_vosk`, `stt_april`, `stt_whisper`, `stt_fasterwhisper`, `tts_piper`, `tts_rhvoice`, `tts_espeak`, `tts_coqui`, `tts_mimic3`, `mnt_bergamot`\n\nAllowed compression types: `none`, `gz`, `xz`, `tarxz`, `targz`, `zip`, `zipall`, `dir`, `dirgz`\n\nAllowed URL types: `http`, `https`, `file`\n\nChecksums are calculated for all files after unpacking. If you are adding a new model, you can use the `--gen-checksums` command line option to find the right checksums. To do this, put empty strings in both `checksum` and `checksum_quick`, save the file and run Speech Note with the mentioned option.\n\nFor example:\n\n```\n{\n    \"name\": \"New Piper Voice\",\n    \"model_id\": \"en_piper_new\",\n    \"engine\": \"tts_piper\",\n    \"lang_id\": \"en\",\n    \"checksum\": \"\",\n    \"checksum_quick\": \"\",\n    \"size\": \"\"\n    \"comp\": \"dir\",\n    \"urls\": [\n        \"file:///home/me/models/new-model-medium.onnx\",\n        \"file:///home/me/models/new-model-medium.onnx.json\"\n    ]\n}\n```\n\n```sh\nflatpak run net.mkiol.SpeechNote --verbose --gen-checksums\n```\n\n## Contributing to Speech Note\n\nAny contribution is very welcome!\n\nProject is hosted both on [GitHub](https://github.com/mkiol/dsnote) and [GitLab](https://gitlab.com/mkiol/dsnote).\nFeel free to make a PR/MR, report an issue or reqest for new feature on the platform you prefer the most.\n\n### Translation\n\nTranslation files in Qt format are in `translations` directory.\n\nPreferred way to contribute translation is via [Transifex service](https://explore.transifex.com/mkiol/dsnote/),\nbut if you would like to make a direct PR/MR, please do it.\n\n## How to support\n\nIf you find **Speech Note** useful and would like to support this project,\nplease consider doing one or two of the following:\n\n- Give a \u0026#11088; on [GitHub](https://github.com/mkiol/dsnote) or/and [GitLab](https://gitlab.com/mkiol/dsnote).\n- Write a review in your applications manager app (Discover, Software or any other).\n- Tell others about this app by mentioning it on social media.\n- If you have spare money, make a small donation via [ko-fi (one time)](https://ko-fi.com/mkiol) or [Liberapay (recurring)](https://liberapay.com/mkiol/donate).\n\n## Libraries\n\n**Speech Note** relies on following open source projects:\n\n- [Qt](https://www.qt.io/)\n- [Coqui STT](https://github.com/coqui-ai/STT)\n- [Coqui TTS](https://github.com/coqui-ai/TTS)\n- [Vosk](https://alphacephei.com/vosk)\n- [whisper.cpp](https://github.com/ggerganov/whisper.cpp)\n- [WebRTC VAD](https://webrtc.org/)\n- [libarchive](https://libarchive.org/)\n- [RNNoise-nu](https://github.com/GregorR/rnnoise-nu)\n- [{fmt}](https://fmt.dev)\n- [Hugging Face Transformers](https://github.com/huggingface/transformers)\n- [Piper](https://github.com/rhasspy/piper)\n- [RHVoice](https://github.com/RHVoice/RHVoice)\n- [ssplit-cpp](https://github.com/ugermann/ssplit-cpp)\n- [espeak-ng](https://github.com/espeak-ng/espeak-ng)\n- [bergamot-translator](https://github.com/browsermt/bergamot-translator)\n- [Rubber Band Library](https://breakfastquay.com/rubberband)\n- [simdjson](https://simdjson.org/)\n- [Nlohmann JSON](https://json.nlohmann.me/)\n- [uroman](https://github.com/isi-nlp/uroman)\n- [astrunc](https://github.com/Joke-Shi/astrunc)\n- [FFmpeg](https://ffmpeg.org/)\n- [LAME](https://lame.sourceforge.io/)\n- [Vorbis](https://xiph.org/vorbis/)\n- [TagLib](https://taglib.org/)\n- [libnumbertext](https://github.com/Numbertext/libnumbertext)\n- [KDBusAddons](https://invent.kde.org/frameworks/kdbusaddons)\n- [QHotkey](https://github.com/Skycoder42/QHotkey)\n- [faster-whisper](https://github.com/guillaumekln/faster-whisper)\n- [Mimic 3](https://mycroft.ai/mimic-3)\n- [Unikud](https://github.com/morrisalp/unikud)\n- [april-asr](https://github.com/abb128/april-asr)\n- [Opus](https://opus-codec.org/)\n- [html2md](https://tim-gromeyer.github.io/html2md/)\n- [maddy](https://github.com/progsource/maddy)\n- [WhisperSpeech](https://collabora.github.io/WhisperSpeech/)\n- [libxdo](https://github.com/jordansissel/xdotool)\n\n## Reviews and demos\n\n- [Speech Note 4.7 changes video](https://www.youtube.com/watch?v=cEht4Fts6Bo) (Speech Note 4.7)\n- [Speech Note 4.6 changes video](https://www.youtube.com/watch?v=AVW5OY63wjg) (Speech Note 4.6)\n- [Speech Note 4.5 changes video](https://youtu.be/S9MJ7y8-bcw) (Speech Note 4.5)\n- [Screenshots](https://gitlab.com/mkiol/dsnote/-/tree/main/desktop/screenshots) (Speech Note 4.5)\n\n- [lwn.net](https://lwn.net/Articles/987315/) (Speech Note 4.6)\n- [Softpedia](https://linux.softpedia.com/get/Utilities/Speech-Note-104828.shtml) (Speech Note 4.6)\n- [OSTechNix](https://ostechnix.com/speech-note-speech-recognition-text-to-speech-translation-app-for-linux/) (Speech Note 4.6)\n- [Best FREE Speech-to-Text For Linux Mint video](https://www.youtube.com/watch?v=VDMbWUfHsbk) (Speech Note 4.6)\n- [Marco's Box](https://www.marcosbox.org/2024/02/speech-note-trascrivi-e-traduci-offline-.html) (Speech Note 4.4, Italian)\n- [Marco's Box video](https://www.youtube.com/watch?v=6fNgZlh-O-w) (Speech Note 4.4, Italian)\n- [alternativalinux](https://www.alternativalinux.it/riconoscimento-sintesi-vocale-e-traduttore-per-linux/) (Speech Note 4.4, Italian)\n- [alternativalinux video](https://www.youtube.com/watch?v=6Peoss66fMg) (Speech Note 4.4, Italian)\n- [ZDNET](https://www.zdnet.com/article/how-to-enable-speech-to-text-in-linux-with-this-simple-app/) (Speech Note 4.2)\n- [Translator feature video demo on Sailfish OS](https://www.youtube.com/watch?v=88cdPpvBmmI) (Speech Note 4.0)\n- [Translator feature video demo on PinePhone](https://www.youtube.com/watch?v=kTsM3kUxE2Q) (Speech Note 4.0)\n- [DebugPoint.com](https://www.debugpoint.com/speech-note-text-to-speech/) (Speech Note 4.0)\n- [DebugPoint.com video](https://youtu.be/dYIPyS3F_eU) (Speech Note 4.0)\n- [OMG! Linux](https://www.omglinux.com/speech-note-transcribe-voice-to-text-on-linux/) (Speech Note 4.0)\n- [LinuxLinks](https://www.linuxlinks.com/machine-learning-linux-speech-note/) (Speech Note 4.0)\n- [The Linux Cast video](https://www.youtube.com/watch?v=zlLVgTB42Bo) (Speech Note 4.0)\n- [CONNECTwww.com](https://connectwww.com/speech-note-offline-speech-to-text-text-to-speech-and-translation-app/) (Speech Note 4.0)\n\n## License\n\n**Speech Note** is an open source project. Source code is released under the\n[Mozilla Public License Version 2.0](https://www.mozilla.org/MPL/2.0/).\n\n3rd party libraries:\n\n- **Coqui STT**, released under the\n[Mozilla Public License Version 2.0](https://raw.githubusercontent.com/coqui-ai/STT/main/LICENSE)\n- **Coqui TTS**, released under the\n[Mozilla Public License Version 2.0](https://raw.githubusercontent.com/coqui-ai/TTS/dev/LICENSE.txt)\n- **Vosk API**, released uder the [Apache License 2.0](https://raw.githubusercontent.com/alphacep/vosk-api/master/COPYING)\n- **whisper.cpp**, released under the [MIT License](https://raw.githubusercontent.com/ggerganov/whisper.cpp/master/LICENSE)\n- **WebRTC**, released under [this license](https://webrtc.googlesource.com/src/+/refs/heads/main/LICENSE)\n- **libarchive**, released under the [BSD License](https://raw.githubusercontent.com/libarchive/libarchive/master/COPYING)\n- **RNNoise-nu**, released under the [BSD 3-Clause License](https://raw.githubusercontent.com/GregorR/rnnoise-nu/master/COPYING)\n- **{fmt}**, released uder [this license](https://raw.githubusercontent.com/fmtlib/fmt/master/LICENSE.rst)\n- **Hugging Face Transformers**, released under the [Apache License 2.0](https://raw.githubusercontent.com/huggingface/transformers/main/LICENSE)\n- **Piper**, released under the [MIT License](https://raw.githubusercontent.com/rhasspy/piper/master/LICENSE.md)\n- **RHVoice**, released under the [GNU General Public License v2.0](https://raw.githubusercontent.com/RHVoice/RHVoice/master/LICENSE.md)\n- **ssplit-cpp**, released under the [Apache License 2.0](https://github.com/ugermann/ssplit-cpp/raw/master/LICENSE.md)\n- **espeak-ng**, released under the [GNU General Public License v3.0](https://raw.githubusercontent.com/espeak-ng/espeak-ng/master/COPYING)\n- **bergamot-translator**, released under the [Mozilla Public License 2.0](https://raw.githubusercontent.com/browsermt/bergamot-translator/main/LICENSE)\n- **Rubber Band Library**, released under the [GNU General Public License (version 2 or later)](https://breakfastquay.com/rubberband/license.html)\n- **simdjson**, released under the [Apache License 2.0](https://github.com/simdjson/simdjson/raw/master/LICENSE)\n- **Nlohmann JSON**, released under the [MIT License](https://json.nlohmann.me/home/license/)\n- **uroman**, released under [this license](https://github.com/isi-nlp/uroman/raw/master/LICENSE.txt)\n- **astrunc**, released under the [MIT License](https://raw.githubusercontent.com/Joke-Shi/astrunc/master/LICENSE)\n- **FFmpeg**, released under the [GNU Lesser General Public License version 2.1 or later](https://git.ffmpeg.org/gitweb/ffmpeg.git/blob_plain/HEAD:/LICENSE.md)\n- **LAME**, released under the LGPL\n- **Vorbis**, released under [this license](https://gitlab.xiph.org/xiph/vorbis/-/raw/master/COPYING?ref_type=heads)\n- **TagLib**, released under the [GNU Lesser General Public License (LGPL)](https://raw.githubusercontent.com/taglib/taglib/master/COPYING.LGPL)\n              and [Mozilla Public License (MPL)](https://raw.githubusercontent.com/taglib/taglib/master/COPYING.MPL)\n- **libnumbertext**, released under the [BSD License](https://raw.githubusercontent.com/Numbertext/libnumbertext/master/COPYING)\n- **KDBusAddons**, released under the [LGPL licenses](https://invent.kde.org/frameworks/kdbusaddons/-/tree/master/LICENSES?ref_type=heads)\n- **QHotkey**, released under the [BSD-3-Clause License](https://raw.githubusercontent.com/Skycoder42/QHotkey/master/LICENSE)\n- **faster-whisper**, released under the [MIT License](https://github.com/guillaumekln/faster-whisper/raw/master/LICENSE)\n- **Mimic 3**, released under the [AGPL-3.0 license](https://github.com/MycroftAI/mimic3/raw/master/LICENSE)\n- **Unikud**, released under the [MIT License](https://github.com/morrisalp/unikud/raw/main/LICENSE)\n- **april-asr**, released under the [GNU General Public License v3.0](https://github.com/abb128/april-asr/raw/main/COPYING)\n- **libopus**, released under [this license](https://gitlab.xiph.org/xiph/opus/-/raw/master/COPYING)\n- **html2md**, released under the [MIT License](https://opensource.org/licenses/MIT)\n- **maddy**, released under the [MIT License](https://raw.githubusercontent.com/progsource/maddy/master/LICENSE)\n- **WhisperSpeech**, released under the [MIT License](https://raw.githubusercontent.com/collabora/WhisperSpeech/main/LICENSE)\n\nThe files in the directory `nonbreaking_prefixes` were copied from\n[mosesdecoder](https://github.com/moses-smt/mosesdecoder) project and distributed under the\n[GNU Lesser General Public License v2.1](https://github.com/moses-smt/mosesdecoder/raw/master/COPYING).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkiol%2Fdsnote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkiol%2Fdsnote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkiol%2Fdsnote/lists"}