Application Linux Desktop et Sailfish OS pour la prise de notes, la lecture et la traduction avec une parole hors ligne en texte, du texte en parole et de la traduction machine
Remarque de la parole, laissez-vous prendre, lire et traduire des notes en plusieurs langues. Il utilise la parole pour le texte, le texte à la parole et la traduction machine pour le faire. Le traitement du texte et de la voix se déroule entièrement hors ligne, localement sur votre ordinateur, sans utiliser de connexion réseau. Votre vie privée est toujours respectée. Aucune donnée n'est envoyée sur Internet.
Speech Note utilise de nombreux moteurs de traitement différents pour faire son travail. Actuellement, ceux-ci sont utilisés:
Les langues suivantes sont prises en charge:
| Lang ID | Nom | DeepSpeech (STT) | Whisper (STT) | VOSK (STT) | Avril-ASR (STT) | Piper (TTS) | Rhvoice (tts) | Espeak (TTS) | Mbrola (TTS) | Coqui (TTS) | Mimic3 (TTS) | Whisperspeech (TTS) | Bergamote (MT) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AF | afrikaans | ● | ● | ● | |||||||||
| suis | Amharique | ● (E) | ● | ● | ● | ||||||||
| ardente | arabe | ● | ● | ● | ● | ● | ● | ● | |||||
| bg | bulgare | ● | ● | ● | |||||||||
| BN | bengali | ● | ● | ● | ● | ||||||||
| bs | Bosnie | ● | ● | ● | |||||||||
| Californie | catalan | ● | ● | ● | ● | ● | ● | ● | |||||
| CS | tchèque | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| cycle | gallois | ● | |||||||||||
| da | danois | ● | ● | ● | ● | ● | |||||||
| de | Allemand | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| El | grec | ● (E) | ● | ● | ● | ● | ● | ● | |||||
| en | Anglais | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| eo | espéranto | ● | ● | ● | |||||||||
| es | Espagnol | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| ET | estonien | ● (E) | ● | ● | ● | ● | ● | ||||||
| UE | Basque | ● (E) | ● | ● | ● | ||||||||
| fa | persan | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| FI | finlandais | ● | ● | ● | ● | ● | ● | ● | |||||
| frousser | Français | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| Géorgie | irlandais | ● | ● | ||||||||||
| GU | Gujarati | ● | ● | ● | |||||||||
| Ha | Haoussa | ● | ● | ||||||||||
| il | hébreu | ● | ● | ||||||||||
| Salut | hindi | ● | ● | ● | |||||||||
| heure | croate | ● | ● | ● | ● | ● | |||||||
| hu | hongrois | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| identifiant | indonésien | ● (E) | ● | ● | ● | ● | |||||||
| est | islandais | ● | ● | ● | ● | ● | |||||||
| il | italien | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| ja | japonais | ● | ● | ● | ● | ||||||||
| JV | javanais | ● | ● | ||||||||||
| ka | géorgien | ● | ● | ● | ● | ||||||||
| kk | Kazakh | ● | ● | ● | ● | ● | |||||||
| ko | coréen | ● | ● | ● | ● | ||||||||
| ky | Kirghiz | ● | ● | ||||||||||
| la | latin | ● | ● | ||||||||||
| kg | Luxembourgish | ● | |||||||||||
| LT | lituanien | ● | ● | ● | ● | ● | |||||||
| LV | letton | ● | ● | ● | ● | ● | |||||||
| mk | Macédonien | ● | ● | ● | |||||||||
| MN | mongol | ● (E) | ● | ● | |||||||||
| M. | Marathi | ● | ● | ||||||||||
| MS | malais | ● | ● | ● | ● | ||||||||
| MT | maltais | ● | ● | ● | |||||||||
| ne | Népalais | ● | ● | ● | ● | ||||||||
| nl | Néerlandais | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| Non | norvégien | ● | ● | ● | ● | ||||||||
| PL | polonais | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| pt | portugais | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| ro | roumain | ● (E) | ● | ● | ● | ● | ● | ||||||
| ru | russe | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| skin | slovaque | ● | ● | ● | ● | ● | |||||||
| sl | slovène | ● (E) | ● | ● | ● | ● | ● | ||||||
| sq | albanais | ● | ● | ● | ● | ||||||||
| SR | serbe | ● | ● | ● | ● | ● | |||||||
| SV | suédois | ● | ● | ● | ● | ● | ● | ● | |||||
| swin | Swahili | ● | ● | ● | ● | ● | |||||||
| te | Telugu | ● | ● | ● | |||||||||
| ème | thaïlandais | ● (E) | ● | ● | ● | ||||||||
| tl | Tagalog | ● | ● | ● | |||||||||
| TN | Tswana | ● | ● | ● | |||||||||
| tr | turc | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| tt | tatar | ● | ● | ● | ● | ||||||||
| Royaume-Uni | ukrainien | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| uz | Ouzbek | ● | ● | ● | ● | ||||||||
| vi | vietnamien | ● | ● | ● | ● | ● | ● | ||||||
| toi | Yoruba | ● (E) | ● | ● | ● | ||||||||
| zh | Chinois | ● | ● | ● | ● | ● | ● |
(e) Expérimental, ne fonctionne probablement pas bien
Les modèles Whisper, Coqui TTS et Mimic3 plus rapides sont disponibles uniquement sur x86-64.
Les modèles linguistiques peuvent être téléchargés directement à partir de l'application.
Les détails des modèles qui sont actuellement configurés pour le téléchargement sont décrits dans Models.json (github) ou modèles.json (gitlab).
À partir de la V4.4.0, l'application distribuée via Flatpak (publiée sur Flathub) se compose des packages suivants:
Le package de base comprend toutes les dépendances nécessaires pour exécuter chaque fonctionnalité de l'application. Les modules complémentaires ajoutent la capacité de l'accélération du GPU, ce qui accélère certaines opérations dans l'application.
Le package de base et les modules complémentaires contiennent de nombreuses bibliothèques "lourdes" comme les bibliothèques CUDA, ROCM, Torch et Python. Pour cette raison, la taille des packages et l'espace requis après l'installation sont significatifs. Si vous n'avez pas besoin de toutes les fonctionnalités, vous pouvez utiliser un package "minuscule" beaucoup plus petit (disponible sur la page des versions), qui fournit uniquement les fonctionnalités de base. Si vous en avez besoin, vous pouvez également utiliser des packages "minuscules" avec un module complémentaire d'accélération GPU.
Comparaison entre les forfaits de base, minuscules et complémentaires Flatpak:
| Tailles | Base | Minuscule | Complément AMD | Complément de nvidia |
|---|---|---|---|---|
| Taille de téléchargement | 0,9 Gib | 70 MIB | +2.1 Gib | +3,8 Gib |
| Taille déballée | 2,9 Gib | 170 MIB | +11,5 gib | +6,9 Gib |
| Caractéristiques | Base | Minuscule | Complément AMD | Complément de nvidia |
|---|---|---|---|---|
| Coqui / DeepSpeech STT | + | + | ||
| VOSK STT | + | + | ||
| Whisper (Whisper.cpp) STT | + | + | ||
| Whisper (Whisper.cpp) GPU STT AMD | - | - | + | |
| Whisper (Whisper.cpp) GPU STT NVIDIA | - | - | + | |
| Chuchoter plus rapide STT | + | - | ||
| GPU à chuchotement plus rapide STT nvidia | - | - | + | |
| Avril-ASR STT | + | + | ||
| Espeak TTS | + | + | ||
| Mbrola TTS | + | + | ||
| Piper TTS | + | + | ||
| Rhvoice tts | + | + | ||
| Coqui tts | + | - | ||
| Coqui tts AMD GPU | - | - | + | |
| Coqui tts nvidia gpu | - | - | + | |
| Mimic3 tts | + | - | ||
| Whisperspeech tts | + | - | ||
| GPU Whisperspeech TTS AMD | - | - | + | |
| Whisperspeech tts nvidia gpu | - | - | + | |
| Restauration de ponctuation | + | - | ||
| Traducteur | + | + |
En plus de la version stable du référentiel Flathub, vous pouvez essayer de tester la version "bêta" de la prochaine version. Cette version est utilisable, mais peut contenir plus de bogues.
La version bêta est disponible dans le référentiel "Flathub-beta". Suivez ces instructions pour activer Flathub-Beta sur votre ordinateur.
Il est également possible de créer et d'installer les derniers versions (GIT) ou la dernière version stable (version) du référentiel à l'aide du fichier pkgbuild fourni (veuillez noter que les mêmes remarques sur la construction sur Linux Apply):
git clone <git repository url>
cd dsnote/arch/git # build latest git version
# or
cd dsnote/arch/release # build latest release version
makepkg -si
git clone <git repository url>
cd dsnote/flatpak
flatpak-builder --user --install-deps-from=flathub --repo="/path/to/local/flatpak/repo" "/path/to/output/dir" net.mkiol.SpeechNote.yaml
git clone <git repository url>
cd dsnote
mkdir build
cd build
sfdk config --session specfile=../sfos/harbour-dsnote.spec
sfdk config --session target=SailfishOS-4.4.0.58-aarch64
sfdk cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_SFOS=ON -DWITH_PY=OFF
sfdk package
Speech Note a de nombreuses dépendances de construction et d'exécution. Cela inclut les bibliothèques partagées et statiques, les exécutables tiers, les scripts Python et Perl. En raison de cette complexité, la façon recommandée de construire est d'utiliser la chaîne d'outils Flatpak (FlatPak Manifest Fichier et FlatPak-Builder). Si vous voulez faire une construction directe (c'est-à-dire sans Flatpak), c'est également possible mais plus compliqué.
git clone <git repository url>
cd dsnote
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON
make
Pour faire de la construction sans prise en charge des composants Python, ajoutez -DWITH_PY=OFF dans l'étape CMake.
Pour voir d'autres options de construction, recherchez l' option(BUILD_XXX) dans le fichier CMakeList.txt .
Tous les modèles disponibles en téléchargement sont spécifiés dans le fichier de configuration (config / modèles.json). Pour activer un modèle personnalisé compatible avec les moteurs actuellement pris en charge, modifiez simplement ce fichier et redémarrez l'application.
Lorsque vous exécutez l'application pour la première fois, le fichier de configuration des modèles est créé dans:
~/.local/share/net.mkiol/dsnote/models.json , ou~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json (flatpak), ou~/.local/share/org.mkiol/dsnote/models.json (Sailfish OS)Vous pouvez éditer librement des modèles actuellement activés ou en ajouter de nouveaux.
La définition du modèle ressemble à ceci:
{
"name": "<model name>",
"model_id": "<model unique id>",
"engine": "<engine type>",
"lang_id": "<lang id>",
"checksum": "<md5 checksum>",
"checksum_quick": "<partial md5 checksum>",
"comp": "<compression type",
"urls": [
<model URLs>
],
"size": "<download size of all files>"
}
Types tts_rhvoice moteurs autorisés tts_coqui stt_ds , stt_vosk , stt_april mnt_bergamot stt_whisper , stt_fasterwhisper tts_espeak tts_piper , tts_mimic3
Types de compression autorisés: none , gz , xz , tarxz , targz , zip , zipall , dir , dirgz
Types d'URL autorisés: http , https , file
Les sommes de contrôle sont calculées pour tous les fichiers après le déballage. Si vous ajoutez un nouveau modèle, vous pouvez utiliser l'option de ligne de commande --gen-checksums pour trouver les bonnes sommes de contrôle. Pour ce faire, mettez les chaînes vides dans checksum et checksum_quick , enregistrez le fichier et exécutez la note de discours avec l'option mentionnée.
Par exemple:
{
"name": "New Piper Voice",
"model_id": "en_piper_new",
"engine": "tts_piper",
"lang_id": "en",
"checksum": "",
"checksum_quick": "",
"size": ""
"comp": "dir",
"urls": [
"file:///home/me/models/new-model-medium.onnx",
"file:///home/me/models/new-model-medium.onnx.json"
]
}
flatpak run net.mkiol.SpeechNote --verbose --gen-checksums
Toute contribution est la bienvenue!
Le projet est hébergé à la fois sur GitHub et GitLab. N'hésitez pas à faire un PR / MR, signalez un problème ou un rejet pour une nouvelle fonctionnalité sur la plate-forme que vous préférez le plus.
Les fichiers de traduction au format QT sont dans le répertoire translations .
La façon préférée de contribuer la traduction est via le service Transifex, mais si vous souhaitez faire un PR / MR direct, faites-le.
Si vous trouvez la note de discours utile et que vous souhaitez soutenir ce projet, veuillez envisager de faire un ou deux des éléments suivants:
La note de discours repose sur les projets open source suivants:
La note de discours est un projet open source. Le code source est publié sous la version 2.0 de la licence publique de Mozilla.
Bibliothèques du Tirand Parti:
Les fichiers dans le répertoire nonbreaking_prefixes ont été copiés à partir du projet Mosesdecoder et distribués sous la licence publique générale GNU Leser V2.1.