Приложение Linux Desktop и Sailfish OS для получения записей, чтения и перевода с автономным речи в текст, текст на речь и машинный перевод
Речевая записка. Позвольте вам принимать, читать и перевести заметки на нескольких языках. Он использует речь для текста, передачи на речь и машинный перевод для этого. Обработка текста и голоса происходит полностью в автономном режиме, локально на вашем компьютере, без использования сетевого соединения. Ваша конфиденциальность всегда уважается. Данные не отправляются в Интернет.
Речевая заметка использует множество различных обработчивых двигателей для выполнения своей работы. В настоящее время они используются:
Поддерживаются следующие языки:
| Lang id | Имя | Deepspeech (Stt) | Шепот (STT) | Vosk (Stt) | Апрель-Аср (Stt) | Piper (TTS) | Rhvoice (TTS) | Espeak (TTS) | Mbrola (TTS) | Coqui (TTS) | Mimic3 (TTS) | Whisperspeech (TTS) | Бергамот (МТ) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| аффина | африкаанс | ● | ● | ● | |||||||||
| являюсь | Амхарский | ● (E) | ● | ● | ● | ||||||||
| АР | арабский | ● | ● | ● | ● | ● | ● | ● | |||||
| б. | болгарский | ● | ● | ● | |||||||||
| мгновенный | Бенгальский | ● | ● | ● | ● | ||||||||
| BS | Боснийский | ● | ● | ● | |||||||||
| калифорнийский | Каталонский | ● | ● | ● | ● | ● | ● | ● | |||||
| CS | чешский | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| сай | валлийский | ● | |||||||||||
| дат | Датский | ● | ● | ● | ● | ● | |||||||
| де | немецкий | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| эль | Греческий | ● (E) | ● | ● | ● | ● | ● | ● | |||||
| поступка | Английский | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| EO | эсперанто | ● | ● | ● | |||||||||
| эс | испанский | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| ET | эстонский | ● (E) | ● | ● | ● | ● | ● | ||||||
| Евросоюз | Баск | ● (E) | ● | ● | ● | ||||||||
| фанат | Персидский | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| фигура | Финский | ● | ● | ● | ● | ● | ● | ● | |||||
| фр | Французский | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| газету | Ирландский | ● | ● | ||||||||||
| гуля | Гуджарати | ● | ● | ● | |||||||||
| ха | Хауса | ● | ● | ||||||||||
| он | иврит | ● | ● | ||||||||||
| привет | хинди | ● | ● | ● | |||||||||
| кадровый | хорватский | ● | ● | ● | ● | ● | |||||||
| хю | венгерский | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| идентификатор | индонезийский | ● (E) | ● | ● | ● | ● | |||||||
| является | исландский | ● | ● | ● | ● | ● | |||||||
| это | Итальянский | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| JA | Японский | ● | ● | ● | ● | ||||||||
| СП | Яванский | ● | ● | ||||||||||
| категория | Грузинец | ● | ● | ● | ● | ||||||||
| кв | Казах | ● | ● | ● | ● | ● | |||||||
| носитель | корейский | ● | ● | ● | ● | ||||||||
| KY | Кыргиз | ● | ● | ||||||||||
| ла | латинский | ● | ● | ||||||||||
| фунт | Люксембургиш | ● | |||||||||||
| лейтенант | литовский | ● | ● | ● | ● | ● | |||||||
| дольдо | Латвиан | ● | ● | ● | ● | ● | |||||||
| мк | македонский | ● | ● | ● | |||||||||
| мнжен | Монгольский | ● (E) | ● | ● | |||||||||
| Мистер | Маратхи | ● | ● | ||||||||||
| РС | малайский | ● | ● | ● | ● | ||||||||
| гору | Мальтийский | ● | ● | ● | |||||||||
| северо -восточный | Непальский | ● | ● | ● | ● | ||||||||
| норм | Голландский | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| нет | норвежский | ● | ● | ● | ● | ||||||||
| пл | Лак | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| пт | португальский | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| рост | румынский | ● (E) | ● | ● | ● | ● | ● | ||||||
| Ру | Русский | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| скандал | словацкий | ● | ● | ● | ● | ● | |||||||
| сорта | словенский | ● (E) | ● | ● | ● | ● | ● | ||||||
| кв | албанский | ● | ● | ● | ● | ||||||||
| старший | сербский | ● | ● | ● | ● | ● | |||||||
| св | Шведский | ● | ● | ● | ● | ● | ● | ● | |||||
| дольдо | суахили | ● | ● | ● | ● | ● | |||||||
| театр | телугу | ● | ● | ● | |||||||||
| тур | Тайский | ● (E) | ● | ● | ● | ||||||||
| TL | Тагаль | ● | ● | ● | |||||||||
| Теннесение | Чвана | ● | ● | ● | |||||||||
| трэнд | турецкий | ● (E) | ● | ● | ● | ● | ● | ● | ● | ||||
| ТТ | Татар | ● | ● | ● | ● | ||||||||
| Великобритания | Украинский | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| УЗ | Узбек | ● | ● | ● | ● | ||||||||
| VI | вьетнамский | ● | ● | ● | ● | ● | ● | ||||||
| Йо | Йоруба | ● (E) | ● | ● | ● | ||||||||
| ZH | китайский | ● | ● | ● | ● | ● | ● |
(e) Экспериментальный, скорее всего, не работает хорошо
Более быстрые модели Whisper, Coqui и Mimic3 доступны только на X86-64.
Языковые модели могут быть загружены непосредственно из приложения.
Подробная информация о моделях, которые в настоящее время настроены для загрузки, описаны в моделях.json (github) или Models.json (gitlab).
Начиная с V4.4.0, приложение, распространяемое через FlatPak (опубликованное на Flathub), состоит из следующих пакетов:
Базовый пакет включает в себя все зависимости, необходимые для запуска каждой функции приложения. Дополнения добавляют возможность ускорения графического процессора, что ускоряет некоторые операции в приложении.
Базовый пакет и надстройки содержат много «тяжелых» библиотек, таких как библиотеки CUDA, ROCM, Torch и Python. Благодаря этому размер пакетов и пространство, необходимое после установки, являются значительными. Если вам не нужны все функциональные возможности, вы можете использовать гораздо меньший «крошечный» пакет (доступный на странице выпусков), который предоставляет только основные функции. Если вам нужно, вы также можете использовать «крошечные» пакеты вместе с дополнением к ускорению графического процессора.
Сравнение между базовыми, крошечными и надстройками.
| Размеры | База | Крошечный | AMD дополнение | Nvidia Add-On |
|---|---|---|---|---|
| Скачать размер | 0,9 Гиб | 70 миб | +2,1 Гиб | +3,8 Гиб |
| Распакованный размер | 2.9 Gib | 170 миб | +11,5 Гиб | +6,9 Гиб |
| Функции | База | Крошечный | AMD дополнение | Nvidia Add-On |
|---|---|---|---|---|
| Coqui/Deepspeech Stt | + | + | ||
| Vosk Stt | + | + | ||
| Whisper (Whisper.cpp) Stt | + | + | ||
| Whisper (Whisper.cpp) Stt AMD GPU | - | - | + | |
| Whisper (Whisper.cpp) Stt nvidia GPU | - | - | + | |
| Более быстрый шепот Stt | + | - | ||
| Более быстрый шепот stt nvidia gpu | - | - | + | |
| Апрель-аср Stt | + | + | ||
| Espeak TTS | + | + | ||
| Mbrola tts | + | + | ||
| Piper TTS | + | + | ||
| RHVOICE TTS | + | + | ||
| Coqui Tts | + | - | ||
| Coqui TTS AMD графический процессор | - | - | + | |
| Coqui TTS NVIDIA GPU | - | - | + | |
| MIMIC3 TTS | + | - | ||
| Whisperspeech TTS | + | - | ||
| Whisperspeech TTS AMD GPU | - | - | + | |
| Whisperspeech TTS NVIDIA GPU | - | - | + | |
| Восстановление пунктуации | + | - | ||
| Переводчик | + | + |
В дополнение к стабильной версии в репозитории Flathub, вы можете попытаться протестировать «бета» версию предстоящего релиза. Эта версия пригодна для использования, но может содержать больше ошибок.
Бета-версия доступна в репозитории "Flathub-beta". Следуйте этим инструкциям, чтобы включить Flathub-бета на вашем компьютере.
Также возможно создать и установить новейшую версию разработки (GIT) или последнюю стабильную (выпуск) версию из репозитория, используя предоставленный файл pkgbuild (обратите внимание, что те же замечания о построении на 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
Речевая нота имеет много зависимостей времени и времени на сборку. Это включает в себя общие и статические библиотеки, исполняемые файлы 3-й части, сценарии Python и Perl. Из-за этой сложности рекомендуемым способом построения является использование цепочки инструментов Flatpak (файл манифеста Flatpak и Flatpak-Builder). Если вы хотите сделать прямую сборку (т.е. без Flatpak), это также возможно, но сложнее.
git clone <git repository url>
cd dsnote
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_DESKTOP=ON
make
Чтобы сделать сборку без поддержки компонентов Python, добавьте -DWITH_PY=OFF на шаге Cmake.
Чтобы увидеть другие параметры сборки, поиск option(BUILD_XXX) в файле CMakeList.txt .
Все модели, доступные для загрузки, указаны в файле конфигурации (config/models.json). Чтобы включить пользовательскую модель, которая совместима с поддерживаемыми в настоящее время двигателями, просто отредактируйте этот файл и перезапустите приложение.
Когда вы впервые запускаете приложение, файл конфигурации моделей создается в:
~/.local/share/net.mkiol/dsnote/models.json , или~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json (flatpak) или~/.local/share/org.mkiol/dsnote/models.json (Sailfish OS)Вы можете свободно редактировать модели с включенными в настоящее время или добавить новые.
Определение модели выглядит следующим образом:
{
"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>"
}
Разрешенные типы двигателя: stt_ds , stt_vosk , stt_april , stt_whisper , stt_fasterwhisper , tts_piper , tts_rhvoice , tts_espeak , tts_coqui , tts_mimic3 , mnt_bergamot
Разрешенные типы сжатия: none , gz , xz , tarxz , targz , zip , zipall , dir , dirgz
Разрешенные типы URL -адресов: http , https , file
Контрольные суммы рассчитываются для всех файлов после распаковки. Если вы добавляете новую модель, вы можете использовать опцию командной строки --gen-checksums чтобы найти правильные контрольные суммы. Для этого поместите пустые строки как в checksum , так и checksum_quick , сохраните файл и запустите речевую ноту с упомянутой опцией.
Например:
{
"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
Любой вклад очень приветствуется!
Проект размещен как на GitHub, так и на Gitlab. Не стесняйтесь делать PR/MR, сообщить о проблеме или Reqest для новой функции на платформе, которую вы предпочитаете больше всего.
Файлы перевода в формате QT находятся в каталоге translations .
Предпочтительный способ внести свой вклад через службу Transifex, но если вы хотите сделать прямой PR/MR, сделайте это.
Если вы найдете речевую заметку полезной и хотите поддержать этот проект, пожалуйста, рассмотрите возможность выполнить один или два из следующих:
Речевая заметка полагается на следующие проекты с открытым исходным кодом:
Речевая заметка - это проект с открытым исходным кодом. Исходный код выпускается в соответствии с общедоступной лицензией Mozilla. Версия 2.0.
Сторонние библиотеки:
Файлы в каталоге nonbreaking_prefixes были скопированы из проекта Mosesdecoder и распределены в соответствии с GNU меньшей общей публичной лицензией V2.1.