Aplikasi Linux Desktop dan Sailfish OS untuk mencatat, membaca, dan menerjemahkan dengan ucapan offline ke teks, teks untuk bicara dan terjemahan mesin
Catatan ucapan memungkinkan Anda mengambil, membaca, dan menerjemahkan catatan dalam berbagai bahasa. Ini menggunakan ucapan untuk teks, teks untuk bicara dan terjemahan mesin untuk melakukannya. Teks dan pemrosesan suara berlangsung sepenuhnya offline, secara lokal di komputer Anda, tanpa menggunakan koneksi jaringan. Privasi Anda selalu dihormati. Tidak ada data yang dikirim ke Internet.
Catatan wicara menggunakan banyak mesin pemrosesan yang berbeda untuk melakukan tugasnya. Saat ini ini digunakan:
Bahasa berikut didukung:
| ID Lang | Nama | 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| af | Afrikanas | ● | ● | ● | |||||||||
| pagi | Amharik | ● (e) | ● | ● | ● | ||||||||
| ar | Arab | ● | ● | ● | ● | ● | ● | ● | |||||
| bg | Bulgaria | ● | ● | ● | |||||||||
| bn | Benggala | ● | ● | ● | ● | ||||||||
| BS | Bosnia | ● | ● | ● | |||||||||
| ca | Catalan | ● | ● | ● | ● | ● | ● | ● | |||||
| CS | Ceko | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| cy | Welsh | ● | |||||||||||
| da | Denmark | ● | ● | ● | ● | ● | |||||||
| de | Jerman | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| EL | Orang yunani | ● (e) | ● | ● | ● | ● | ● | ● | |||||
| en | Bahasa inggris | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| eo | Esperanto | ● | ● | ● | |||||||||
| es | Spanyol | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| et | Estonia | ● (e) | ● | ● | ● | ● | ● | ||||||
| UE | Basque | ● (e) | ● | ● | ● | ||||||||
| fa | Persia | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| fi | Finlandia | ● | ● | ● | ● | ● | ● | ● | |||||
| fr | Perancis | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| ga | Irlandia | ● | ● | ||||||||||
| gu | Gujarati | ● | ● | ● | |||||||||
| Ha | Hausa | ● | ● | ||||||||||
| Dia | Ibrani | ● | ● | ||||||||||
| Hai | Hindi | ● | ● | ● | |||||||||
| jam | Kroasia | ● | ● | ● | ● | ● | |||||||
| hu | Hongaria | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| pengenal | Indonesia | ● (e) | ● | ● | ● | ● | |||||||
| adalah | Islandia | ● | ● | ● | ● | ● | |||||||
| dia | Italia | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| ja | Jepang | ● | ● | ● | ● | ||||||||
| JV | Jawa | ● | ● | ||||||||||
| ka | Georgia | ● | ● | ● | ● | ||||||||
| kk | Kazakh | ● | ● | ● | ● | ● | |||||||
| ko | Korea | ● | ● | ● | ● | ||||||||
| KY | Kyrgyz | ● | ● | ||||||||||
| la | Latin | ● | ● | ||||||||||
| lb | Luksemburg | ● | |||||||||||
| LT | Lithuania | ● | ● | ● | ● | ● | |||||||
| lv | Latvia | ● | ● | ● | ● | ● | |||||||
| mk | Makedonia | ● | ● | ● | |||||||||
| M N | Mongolia | ● (e) | ● | ● | |||||||||
| Tn. | Marathi | ● | ● | ||||||||||
| MS | Melayu | ● | ● | ● | ● | ||||||||
| Mt | Malta | ● | ● | ● | |||||||||
| ne | Nepal | ● | ● | ● | ● | ||||||||
| nl | Belanda | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| TIDAK | Norwegia | ● | ● | ● | ● | ||||||||
| pl | Polandia | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| pt | Portugis | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| ro | Rumania | ● (e) | ● | ● | ● | ● | ● | ||||||
| ru | Rusia | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| SK | Slovakia | ● | ● | ● | ● | ● | |||||||
| sl | Slovenia | ● (e) | ● | ● | ● | ● | ● | ||||||
| sq | bahasa Albania | ● | ● | ● | ● | ||||||||
| sr | Serbia | ● | ● | ● | ● | ● | |||||||
| sv | Swedia | ● | ● | ● | ● | ● | ● | ● | |||||
| sw | Swahili | ● | ● | ● | ● | ● | |||||||
| te | Telugu | ● | ● | ● | |||||||||
| th | Thai | ● (e) | ● | ● | ● | ||||||||
| tl | Tagalog | ● | ● | ● | |||||||||
| tn | Tswana | ● | ● | ● | |||||||||
| tr | Turki | ● (e) | ● | ● | ● | ● | ● | ● | ● | ||||
| tt | Tatar | ● | ● | ● | ● | ||||||||
| Inggris | Ukraina | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| Uz | Uzbek | ● | ● | ● | ● | ||||||||
| vi | Vietnam | ● | ● | ● | ● | ● | ● | ||||||
| yo | Yoruba | ● (e) | ● | ● | ● | ||||||||
| ZH | Cina | ● | ● | ● | ● | ● | ● |
(e) Eksperimental, kemungkinan besar tidak bekerja dengan baik
Model bisikan, coqui tts dan mimic3 yang lebih cepat hanya tersedia di x86-64.
Model bahasa dapat diunduh langsung dari aplikasi.
Rincian model yang saat ini dikonfigurasi untuk diunduh dijelaskan dalam model.json (github) atau model.json (gitlab).
Mulai dari v4.4.0, aplikasi yang didistribusikan melalui Flatpak (diterbitkan di Flathub) terdiri dari paket -paket berikut:
Paket dasar mencakup semua dependensi yang diperlukan untuk menjalankan setiap fitur aplikasi. Add-on Tambahkan kemampuan akselerasi GPU, yang mempercepat beberapa operasi dalam aplikasi.
Paket dasar dan add-on berisi banyak perpustakaan "berat" seperti CUDA, ROCM, TORCH dan PERPUSTAKAAN PYTHON. Karena ini, ukuran paket dan ruang yang dibutuhkan setelah pemasangan signifikan. Jika Anda tidak memerlukan semua fungsi, Anda dapat menggunakan paket "mungil" yang jauh lebih kecil (tersedia di halaman rilis), yang hanya menyediakan fitur dasar. Jika perlu, Anda juga dapat menggunakan paket "Tiny" bersama dengan add-on akselerasi GPU.
Perbandingan antara Paket Basis, Tiny dan Add-On Flatpak:
| Ukuran | Basis | Kecil | AMD Add-on | Add-on nvidia |
|---|---|---|---|---|
| Ukuran unduh | 0,9 Gib | 70 MIB | +2.1 Gib | +3.8 gib |
| Ukuran yang tidak dibongkar | 2.9 Gib | 170 MIB | +11.5 gib | +6.9 gib |
| Fitur | Basis | Kecil | AMD Add-on | Add-on nvidia |
|---|---|---|---|---|
| Coqui/deepspeech stt | + | + | ||
| Vosk Stt | + | + | ||
| Whisper (Whisper.cpp) Stt | + | + | ||
| Whisper (Whisper.cpp) STT AMD GPU | - | - | + | |
| Whisper (Whisper.cpp) Stt Nvidia GPU | - | - | + | |
| Whisper Stt lebih cepat | + | - | ||
| Whisper lebih cepat stt nvidia gpu | - | - | + | |
| April-Asr Stt | + | + | ||
| Espeak TTS | + | + | ||
| MBROLA TTS | + | + | ||
| Piper Tts | + | + | ||
| Rhvoice tts | + | + | ||
| Coqui tts | + | - | ||
| Coqui tts dan gpu | - | - | + | |
| Coqui tts nvidia gpu | - | - | + | |
| Mimic3 tts | + | - | ||
| Whisperspeech tts | + | - | ||
| Whisperspeech TTS AMD GPU | - | - | + | |
| Whisperspeech tts nvidia gpu | - | - | + | |
| Restorasi tanda baca | + | - | ||
| Penterjemah | + | + |
Selain versi stabil di repositori Flathub, Anda dapat mencoba menguji versi "beta" dari rilis yang akan datang. Versi ini dapat digunakan, tetapi mungkin berisi lebih banyak bug.
Versi beta tersedia di repositori "Flathub-Beta". Ikuti instruksi ini untuk mengaktifkan flathub-beta di komputer Anda.
Dimungkinkan juga untuk membangun dan menginstal versi pengembangan terbaru (GIT) atau stabil terbaru (rilis) dari repositori menggunakan file pkgbuild yang disediakan (harap dicatat bahwa komentar yang sama tentang membangun di 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
Catatan wicara memiliki banyak dependensi waktu build dan run-time. Ini termasuk perpustakaan bersama dan statis, executables pihak ke-3, skrip Python dan Perl. Karena kompleksitas ini, cara yang disarankan untuk membangun adalah dengan menggunakan rantai pahat Flatpak (file flatpak manifes dan flatpak-builder). Jika Anda ingin membuat bangunan langsung (yaitu tanpa Flatpak), itu juga mungkin tetapi lebih rumit.
git clone <git repository url>
cd dsnote
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON
make
Untuk membuat build tanpa dukungan untuk komponen Python, tambahkan -DWITH_PY=OFF dalam langkah CMake.
Untuk melihat opsi build lainnya, cari option(BUILD_XXX) di file CMakeList.txt .
Semua model yang tersedia untuk diunduh ditentukan dalam file konfigurasi (config/model.json). Untuk mengaktifkan model khusus yang kompatibel dengan mesin yang saat ini didukung, cukup edit file ini dan restart aplikasi.
Saat Anda pertama kali menjalankan aplikasi, file konfigurasi model dibuat di:
~/.local/share/net.mkiol/dsnote/models.json , atau~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json (flatpak), atau~/.local/share/org.mkiol/dsnote/models.json (Sailfish OS)Anda dapat dengan bebas mengedit model yang diaktifkan saat ini atau menambahkan yang baru.
Definisi model terlihat seperti ini:
{
"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>"
}
Jenis mesin yang diizinkan: stt_ds , stt_vosk , stt_april , stt_whisper , stt_fasterwhisper , tts_piper , tts_rhvoice , tts_espeak , tts_coqui , tts_mimic3 , mnt_bergamot
Jenis kompresi yang diizinkan: none , gz , xz , tarxz , targz , zip , zipall , dir , dirgz
Jenis URL yang diizinkan: http , https , file
Checksum dihitung untuk semua file setelah membongkar. Jika Anda menambahkan model baru, Anda dapat menggunakan opsi baris perintah --gen-checksums untuk menemukan checksum yang tepat. Untuk melakukan ini, letakkan string kosong di checksum dan checksum_quick , simpan file dan jalankan wicara dengan opsi yang disebutkan.
Misalnya:
{
"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
Kontribusi apa pun sangat disambut!
Proyek diselenggarakan baik di GitHub dan Gitlab. Jangan ragu untuk membuat PR/MR, laporkan masalah atau reqest untuk fitur baru pada platform yang paling Anda sukai.
File terjemahan dalam format QT ada di direktori translations .
Cara yang disukai untuk berkontribusi terjemahan adalah melalui layanan Transifex, tetapi jika Anda ingin membuat PR/MR langsung, silakan lakukan.
Jika Anda menemukan catatan bicara bermanfaat dan ingin mendukung proyek ini, silakan pertimbangkan untuk melakukan satu atau dua dari yang berikut:
Catatan wicara bergantung pada proyek sumber terbuka berikut:
Catatan pidato adalah proyek open source. Kode Sumber dirilis di bawah Lisensi Publik Mozilla versi 2.0.
Perpustakaan Pihak ke -3:
File -file dalam direktori nonbreaking_prefixes disalin dari proyek MosesDecoder dan didistribusikan di bawah GNU Lesser General Public License v2.1.