Aplicación de escritorio de Linux y Sailfish OS para tomar notas, leer y traducir con discurso fuera de línea a texto, texto al habla y traducción automática
Nota del habla le permite tomar, leer y traducir notas en varios idiomas. Utiliza discurso a texto, texto a voz y traducción automática para hacerlo. El procesamiento de texto y voz se lleva a cabo completamente fuera de línea, localmente en su computadora, sin usar una conexión de red. Su privacidad siempre es respetada. No se envían datos a Internet.
Speech Note utiliza muchos motores de procesamiento diferentes para hacer su trabajo. Actualmente se usan:
Se admiten los siguientes idiomas:
| ID de Lang | Nombre | Deepspeech (STT) | Whisper (STT) | Vosk (STT) | Abril-asr (STT) | Piper (TTS) | Rhvoice (TTS) | Espeak (TTS) | MBROLA (TTS) | Coqui (TTS) | MIMIC3 (TTS) | WhispersPeech (TTS) | Bergamot (MT) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AF | africaans | ● | ● | ● | |||||||||
| soy | Amárico | ● (E) | ● | ● | ● | ||||||||
| Arkansas | árabe | ● | ● | ● | ● | ● | ● | ● | |||||
| BG | búlgaro | ● | ● | ● | |||||||||
| bn | bengalí | ● | ● | ● | ● | ||||||||
| bs | bosnio | ● | ● | ● | |||||||||
| California | catalán | ● | ● | ● | ● | ● | ● | ● | |||||
| CS | checo | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| cy | galés | ● | |||||||||||
| cañón | danés | ● | ● | ● | ● | ● | |||||||
| Delaware | Alemán | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| El | Griego | ● (E) | ● | ● | ● | ● | ● | ● | |||||
| interno | Inglés | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| EO | esperanto | ● | ● | ● | |||||||||
| cepalle | Español | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| en | Estonio | ● (E) | ● | ● | ● | ● | ● | ||||||
| UE | vasco | ● (E) | ● | ● | ● | ||||||||
| fa | persa | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| FI | finlandés | ● | ● | ● | ● | ● | ● | ● | |||||
| fría | Francés | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| Georgia | irlandés | ● | ● | ||||||||||
| Gu | Gujarati | ● | ● | ● | |||||||||
| Ja | Hausa | ● | ● | ||||||||||
| él | hebreo | ● | ● | ||||||||||
| Hola | hindi | ● | ● | ● | |||||||||
| hora | croata | ● | ● | ● | ● | ● | |||||||
| Hu | húngaro | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| identificación | indonesio | ● (E) | ● | ● | ● | ● | |||||||
| es | islandés | ● | ● | ● | ● | ● | |||||||
| él | italiano | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| ja | japonés | ● | ● | ● | ● | ||||||||
| JV | javanés | ● | ● | ||||||||||
| ka | georgiano | ● | ● | ● | ● | ||||||||
| kk | Kazáceo | ● | ● | ● | ● | ● | |||||||
| KO | coreano | ● | ● | ● | ● | ||||||||
| Kentucky | Kirguistán | ● | ● | ||||||||||
| la | latín | ● | ● | ||||||||||
| lb | Luxemburgo | ● | |||||||||||
| teniente | lituano | ● | ● | ● | ● | ● | |||||||
| lv | letón | ● | ● | ● | ● | ● | |||||||
| mk | macedónio | ● | ● | ● | |||||||||
| Minnesota | mongol | ● (E) | ● | ● | |||||||||
| señor | Marathi | ● | ● | ||||||||||
| EM | malayo | ● | ● | ● | ● | ||||||||
| monte | maltés | ● | ● | ● | |||||||||
| nordeste | Nepalí | ● | ● | ● | ● | ||||||||
| nl | Holandés | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| No | noruego | ● | ● | ● | ● | ||||||||
| por favor | Polaco | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| PT | portugués | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| RO | rumano | ● (E) | ● | ● | ● | ● | ● | ||||||
| freno | ruso | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| sk | eslovaco | ● | ● | ● | ● | ● | |||||||
| SLE | esloveno | ● (E) | ● | ● | ● | ● | ● | ||||||
| sq | albanés | ● | ● | ● | ● | ||||||||
| sr | serbio | ● | ● | ● | ● | ● | |||||||
| SV | sueco | ● | ● | ● | ● | ● | ● | ● | |||||
| sudoeste | swahili | ● | ● | ● | ● | ● | |||||||
| TE | Telugu | ● | ● | ● | |||||||||
| th | tailandés | ● (E) | ● | ● | ● | ||||||||
| TL | Tagalo | ● | ● | ● | |||||||||
| Tennesse | Tswana | ● | ● | ● | |||||||||
| TR | turco | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| TT | Tártaro | ● | ● | ● | ● | ||||||||
| Reino Unido | ucranio | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| Uz | Uzbek | ● | ● | ● | ● | ||||||||
| VI | vietnamita | ● | ● | ● | ● | ● | ● | ||||||
| yo | Yoruba | ● (E) | ● | ● | ● | ||||||||
| zh | Chino | ● | ● | ● | ● | ● | ● |
(e) experimental, lo más probable es que no funcione bien
Los modelos más rápidos de Whisper, Coqui TTS y MIMIC3 solo están disponibles en X86-64.
Los modelos de idiomas se pueden descargar directamente de la aplicación.
Los detalles de los modelos que se configuran actualmente para la descarga se describen en Models.json (GitHub) o Models.json (GitLab).
A partir de V4.4.0, la aplicación distribuida a través de Flatpak (publicada en Flathub) consiste en los siguientes paquetes:
El paquete base incluye todas las dependencias necesarias para ejecutar cada característica de la aplicación. Complementos agregan la capacidad de la aceleración de la GPU, lo que acelera algunas operaciones en la aplicación.
El paquete base y los complementos contienen muchas bibliotecas "pesadas" como las bibliotecas Cuda, Rocm, Torch y Python. Debido a esto, el tamaño de los paquetes y el espacio requerido después de la instalación son significativos. Si no necesita todas las funcionalidades, puede usar un paquete "pequeño" mucho más pequeño (disponible en la página de lanzamientos), que proporciona solo las características básicas. Si lo necesita, también puede usar paquetes "pequeños" junto con el complemento de aceleración de GPU.
Comparación entre los paquetes de Base, Tiny y Add-Uns Flatpak:
| Tallas | Base | Diminuto | Complemento AMD | Complemento nvidia |
|---|---|---|---|---|
| Tamaño de descarga | 0.9 GIB | 70 MIB | +2.1 GIB | +3.8 gib |
| Tamaño desempaquetado | 2.9 GIB | 170 MIB | +11.5 gib | +6.9 gib |
| Características | Base | Diminuto | Complemento AMD | Complemento nvidia |
|---|---|---|---|---|
| Coqui/DeepSpeech STT | + + | + + | ||
| Vosk STT | + + | + + | ||
| Whisper (whisper.cpp) stt | + + | + + | ||
| Whisper (whisper.cpp) stt amd gpu | - | - | + + | |
| Whisper (whisper.cpp) stt nvidia gpu | - | - | + + | |
| Más rápido susurro stt | + + | - | ||
| Whisper más rápido Stt Nvidia GPU | - | - | + + | |
| Abril-asr stt | + + | + + | ||
| espeak tts | + + | + + | ||
| MBROLA TTS | + + | + + | ||
| Piper TTS | + + | + + | ||
| Rhvoice TTS | + + | + + | ||
| Coqui TTS | + + | - | ||
| Coqui tts amd gpu | - | - | + + | |
| Coqui tts nvidia gpu | - | - | + + | |
| MIMIC3 TTS | + + | - | ||
| Whisperspeech TTS | + + | - | ||
| Whisperspeech tts amd gpu | - | - | + + | |
| Whisperspeech tts nvidia gpu | - | - | + + | |
| Restauración de puntuación | + + | - | ||
| Traductor | + + | + + |
Además de la versión estable en el repositorio de Flathub, puede intentar probar la versión "beta" del próximo lanzamiento. Esta versión se puede utilizar, pero puede contener más errores.
La versión beta está disponible en el repositorio "flathub-beta". Siga estas instrucciones para habilitar Flathub-Beta en su computadora.
También es posible construir e instalar la última versión de desarrollo (GIT) o la última versión estable (versión) desde el repositorio utilizando el archivo PKGBuild proporcionado (tenga en cuenta que las mismas observaciones sobre la construcción en Linux se aplican):
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
La nota de discurso tiene muchas dependencias de tiempo de construcción y tiempo de ejecución. Esto incluye bibliotecas compartidas y estáticas, ejecutables de terceros, scripts de Python y Perl. Debido a estas complejidad, la forma recomendada de construir es utilizar la cadena de herramientas FlatPak (archivo manifiesto plano y plano-constructor). Si desea hacer una construcción directa (es decir, sin plano), también es posible pero más complicado.
git clone <git repository url>
cd dsnote
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON
make
Para hacer compilación sin soporte para los componentes de Python, agregue -DWITH_PY=OFF en el paso cmake.
Para ver otras opciones de compilación, busque option(BUILD_XXX) en el archivo CMakeList.txt .
Todos los modelos disponibles para descargar se especifican en el archivo de configuración (config/models.json). Para habilitar un modelo personalizado que sea compatible con los motores compatibles actualmente, simplemente edite este archivo y reinicie la aplicación.
Cuando ejecuta la aplicación por primera vez, el archivo de configuración de los modelos se crea en:
~/.local/share/net.mkiol/dsnote/models.json , o~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json (platpak), o~/.local/share/org.mkiol/dsnote/models.json (sailfish os)Puede editar libremente modelos actualmente habilitados o agregar nuevos.
La definición del modelo se ve así:
{
"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>"
}
Tipos de motor permitidos: stt_ds , stt_vosk , stt_april , stt_whisper , stt_fasterwhisper , tts_piper , tts_rhvoice , tts_espeak , tts_coqui , tts_mimic3 , mnt_bergamot
Tipos de compresión permitidos: none , gz , xz , tarxz , targz , zip , zipall , dir , dirgz
Tipos de URL permitidos: http , https , file
Las suma de verificación se calculan para todos los archivos después de desempacar. Si está agregando un nuevo modelo, puede usar la opción de línea de comandos --gen-checksums para encontrar las sumas de verificación correctas. Para hacer esto, coloque las cuerdas vacías tanto en checksum como checksum_quick , guarde el archivo y ejecute la nota del habla con la opción mencionada.
Por ejemplo:
{
"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
¡Cualquier contribución es muy bienvenida!
Project está alojado tanto en GitHub como en Gitlab. Siéntase libre de hacer un PR/MR, informar un problema o requerir para una nueva función en la plataforma que más prefiere.
Los archivos de traducción en formato QT están en directorio translations .
La forma preferida de contribuir con la traducción es a través del servicio Transifex, pero si desea hacer un PR/MR directo, hágalo.
Si encuentra útil la nota de habla y desea apoyar este proyecto, considere hacer uno o dos de los siguientes:
La nota del discurso se basa en seguir proyectos de código abierto:
La nota de discurso es un proyecto de código abierto. El código fuente se publica bajo la versión de Licencia Pública de Mozilla 2.0.
Bibliotecas de terceros:
Los archivos en el directorio nonbreaking_prefixes se copiaron del proyecto Mosesdecoder y se distribuyeron bajo la Licencia Pública General Menor GNU V2.1.