Linux Desktop e Sailfish OS App para anotações, leitura e tradução com fala offline para texto, texto para tradução para a fala e a máquina
NOTA DO DISCURSO permita que você faça, leia e traduza notas em vários idiomas. Ele usa fala para texto, texto para tradução para fala e máquina para fazê -lo. O processamento de texto e voz ocorre totalmente offline, localmente no seu computador, sem usar uma conexão de rede. Sua privacidade é sempre respeitada. Nenhum dado é enviado para a Internet.
A nota de fala usa muitos mecanismos de processamento diferentes para fazer seu trabalho. Atualmente, eles são usados:
Os seguintes idiomas são suportados:
| Lang ID | Nome | 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 | afrikaans | ● | ● | ● | |||||||||
| sou | Amárico | ● (e) | ● | ● | ● | ||||||||
| ar | árabe | ● | ● | ● | ● | ● | ● | ● | |||||
| bg | búlgaro | ● | ● | ● | |||||||||
| Bn | bengali | ● | ● | ● | ● | ||||||||
| bs | Bósnia | ● | ● | ● | |||||||||
| ca | catalão | ● | ● | ● | ● | ● | ● | ● | |||||
| cs | Tcheco | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| cy | galês | ● | |||||||||||
| da | dinamarquês | ● | ● | ● | ● | ● | |||||||
| de | Alemão | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| el | grego | ● (e) | ● | ● | ● | ● | ● | ● | |||||
| en | Inglês | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| EO | esperanto | ● | ● | ● | |||||||||
| es | Espanhol | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| et | estoniano | ● (e) | ● | ● | ● | ● | ● | ||||||
| UE | Basco | ● (e) | ● | ● | ● | ||||||||
| fa | persa | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| fi | finlandês | ● | ● | ● | ● | ● | ● | ● | |||||
| fr | Francês | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| ga | irlandês | ● | ● | ||||||||||
| Gu | Gujarati | ● | ● | ● | |||||||||
| ha | Hausa | ● | ● | ||||||||||
| ele | hebraico | ● | ● | ||||||||||
| oi | hindi | ● | ● | ● | |||||||||
| hr | croata | ● | ● | ● | ● | ● | |||||||
| Hu | húngaro | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| eu ia | indonésio | ● (e) | ● | ● | ● | ● | |||||||
| é | islandês | ● | ● | ● | ● | ● | |||||||
| isto | italiano | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| JA | japonês | ● | ● | ● | ● | ||||||||
| JV | Javanês | ● | ● | ||||||||||
| Ka | Georgiano | ● | ● | ● | ● | ||||||||
| KK | Cazaque | ● | ● | ● | ● | ● | |||||||
| Ko | coreano | ● | ● | ● | ● | ||||||||
| KY | Kyrgyz | ● | ● | ||||||||||
| la | Latim | ● | ● | ||||||||||
| Libra | Luxemburgo | ● | |||||||||||
| lt | lituano | ● | ● | ● | ● | ● | |||||||
| lv | letão | ● | ● | ● | ● | ● | |||||||
| Mk | Macedônio | ● | ● | ● | |||||||||
| mn | mongol | ● (e) | ● | ● | |||||||||
| senhor | Marathi | ● | ● | ||||||||||
| EM | malaio | ● | ● | ● | ● | ||||||||
| mt | maltês | ● | ● | ● | |||||||||
| ne | Nepalês | ● | ● | ● | ● | ||||||||
| nl | Holandês | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| não | norueguês | ● | ● | ● | ● | ||||||||
| pl | polonês | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| pt | Português | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| ro | romeno | ● (e) | ● | ● | ● | ● | ● | ||||||
| ru | russo | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| sk | Eslovaco | ● | ● | ● | ● | ● | |||||||
| sl | esloveno | ● (e) | ● | ● | ● | ● | ● | ||||||
| sq | albanês | ● | ● | ● | ● | ||||||||
| sr | sérvio | ● | ● | ● | ● | ● | |||||||
| Sv | sueco | ● | ● | ● | ● | ● | ● | ● | |||||
| SW | Suaíli | ● | ● | ● | ● | ● | |||||||
| te | Telugu | ● | ● | ● | |||||||||
| th | Tailandês | ● (e) | ● | ● | ● | ||||||||
| tl | Tagalog | ● | ● | ● | |||||||||
| tn | Tswana | ● | ● | ● | |||||||||
| tr | turco | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| tt | Tatar | ● | ● | ● | ● | ||||||||
| Reino Unido | ucraniano | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| uz | Uzbek | ● | ● | ● | ● | ||||||||
| vi | vietnamita | ● | ● | ● | ● | ● | ● | ||||||
| yo | Ioruba | ● (e) | ● | ● | ● | ||||||||
| Zh | chinês | ● | ● | ● | ● | ● | ● |
(e) experimental, provavelmente não funciona bem
Os modelos mais rápidos, os modelos Coqui TTS e MIMIC3 estão disponíveis apenas em x86-64.
Os modelos de idiomas podem ser baixados diretamente do aplicativo.
Os detalhes dos modelos atualmente configurados para download são descritos em modelos.json (github) ou models.json (gitlab).
A partir da v4.4.0, o aplicativo distribuído via Flatpak (publicado no Flathub) consiste nos seguintes pacotes:
O pacote básico inclui todas as dependências necessárias para executar todos os recursos do aplicativo. Os complementos adicionam a capacidade da aceleração da GPU, que acelera algumas operações no aplicativo.
O pacote básico e os complementos contêm muitas bibliotecas "pesadas", como bibliotecas CUDA, ROCM, Torch e Python. Devido a isso, o tamanho dos pacotes e o espaço necessário após a instalação são significativos. Se você não precisar de todas as funcionalidades, poderá usar o pacote "Tiny" muito menor (disponível na página de lançamentos), que fornece apenas os recursos básicos. Se necessário, você também pode usar pacotes "minúsculos" juntamente com o complemento de aceleração da GPU.
Comparação entre pacotes de base, minúsculos e complementos FLATPAK:
| Tamanhos | Base | Pequeno | AMD add-on | Add-on nvidia |
|---|---|---|---|---|
| Download Tamanho | 0,9 Gib | 70 MIB | +2.1 Gib | +3.8 Gib |
| Tamanho não embalado | 2.9 Gib | 170 MIB | +11,5 Gib | +6,9 Gib |
| Características | Base | Pequeno | AMD add-on | Add-on nvidia |
|---|---|---|---|---|
| Coqui/DeepSpeech STT | + | + | ||
| Vosk stt | + | + | ||
| Sussurro (sussurro.cpp) stt | + | + | ||
| Sussurro (sussurro.cpp) stt amd gpu | - | - | + | |
| Sussurro (sussurro.cpp) stt nvidia gpu | - | - | + | |
| Whisper mais rápido Stt | + | - | ||
| GPU mais rápido do Whisper STT NVIDIA | - | - | + | |
| April-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 | - | - | + | |
| Restauração de pontuação | + | - | ||
| Tradutor | + | + |
Além da versão estável no repositório Flathub, você pode tentar testar a versão "beta" do próximo lançamento. Esta versão é utilizável, mas pode conter mais bugs.
A versão beta está disponível no repositório "Flathub-beta". Siga estas instruções para ativar o Flathub-beta no seu computador.
Também é possível construir e instalar a versão mais recente (GIT) ou mais recente estável (liberação) do repositório usando o arquivo PKGBuild fornecido (observe que as mesmas observações sobre a construção do 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
A nota de fala tem muitas dependências de tempo de construção e tempo de execução. Isso inclui bibliotecas compartilhadas e estáticas, executáveis de terceiros, scripts Python e Perl. Devido a essa complexidade, a maneira recomendada de construir é usar a cadeia de ferramentas FLATPAK (arquivo de manifesto de Flatpak e Blatpak-Builder). Se você deseja fazer uma compilação direta (ou seja, sem Flatpak), também é possível, mas mais complicado.
git clone <git repository url>
cd dsnote
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON
make
Para fazer a construção sem suporte para componentes python, adicione -DWITH_PY=OFF na etapa cmake.
Para ver outras opções de construção, pesquise option(BUILD_XXX) no arquivo CMakeList.txt .
Todos os modelos disponíveis para download são especificados no arquivo de configuração (config/models.json). Para ativar um modelo personalizado compatível com os mecanismos suportados atualmente, basta editar este arquivo e reiniciar o aplicativo.
Quando você executa o aplicativo pela primeira vez, o arquivo de configuração dos modelos é criado em:
~/.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 (velafish os)Você pode editar livremente modelos atualmente ativados ou adicionar novos.
Definição do modelo é assim:
{
"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 compressão permitidos: none , gz , xz , tarxz , targz , zip , zipall , dir , dirgz
Tipos de URL permitidos: http , https , file
As somas de verificação são calculadas para todos os arquivos após a descompactação. Se você estiver adicionando um novo modelo, poderá usar a opção de linha de comando --gen-checksums para encontrar as somas de verificação certas. Para fazer isso, coloque strings vazios na soma checksum e checksum_quick , salve o arquivo e execute a nota de fala com a opção mencionada.
Por exemplo:
{
"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
Qualquer contribuição é muito bem -vinda!
O Project está hospedado no Github e Gitlab. Sinta -se à vontade para criar um PR/MR, relatar um problema ou reqest para um novo recurso na plataforma que você mais prefere.
Os arquivos de tradução no formato QT estão no diretório translations .
A maneira preferida de contribuir com a tradução é via serviço Transifex, mas se você deseja fazer um PR/MR direto, faça -o.
Se você achar útil a nota de fala e gostaria de apoiar este projeto, considere fazer um ou dois dos seguintes:
A nota de fala depende dos seguintes projetos de código aberto:
A nota de fala é um projeto de código aberto. O código -fonte é lançado sob a licença pública Mozilla versão 2.0.
Bibliotecas de terceiros:
Os arquivos no diretório nonbreaking_prefixes foram copiados do projeto de MosesDecoder e distribuídos sob a licença pública geral da GNU v2.1.