Głos w trybie offline w całym systemie na polecenia lub tekst, system podłączany

⚠️ Wymagania systemowe i kompatybilność

  • Windows: ✅ W pełni obsługiwane (używa AutoHotkey/PowerShell).

  • macOS: ✅ W pełni obsługiwany (używa AppleScript).

  • Linux (X11/Xorg): ✅ W pełni obsługiwane. Zalecane dla najlepszych wrażeń.

  • Linux (Wayland): ⚠️ Ograniczony / eksperymentalny.

  • Globalne skróty klawiszowe i automatyczne wpisywanie zazwyczaj nie działają w Wayland ze względu na ograniczenia bezpieczeństwa.

  • Proszę przejść na sesję X11 podczas logowania (np. „Plasma (X11)” lub „Ubuntu na Xorg”), aby móc korzystać ze wszystkich funkcji.

Witamy w serwisie SL5 Aura! Ten dokument zawiera krótki przegląd naszych kluczowych funkcji i ich kompatybilności z systemem operacyjnym.

Aura to nie tylko osoba dokonująca transkrypcji; to potężny silnik przetwarzania offline, który przekształca Twój głos w precyzyjne działania i tekst.

Jest to kompletny asystent głosowy offline zbudowany na bazie Vosk (do zamiany mowy na tekst) i LanguageTool (do gramatyki/stylu), teraz wyposażony w opcjonalną funkcję Local LLM (Ollama) Fallback do kreatywnych odpowiedzi i zaawansowanego dopasowywania rozmytego. Został zaprojektowany z myślą o maksymalnej personalizacji poprzez podłączany system reguł i dynamiczny silnik skryptowy.

XSPACEbreakX Tłumaczenia: Ten dokument istnieje również w other languages.

Uwaga: Wiele tekstów to wygenerowane maszynowo tłumaczenia oryginalnej dokumentacji w języku angielskim i mają one wyłącznie charakter ogólny. W przypadku rozbieżności lub niejasności, zawsze obowiązuje wersja angielska. Czekamy na pomoc społeczności w ulepszaniu tego tłumaczenia!


SL5 Aura (v0.16.1): HowTo crash SL5 Aura? -  seeh Hierarchical and Recursive Rule Engine ( https://www.youtube.com/watch?v=BZCHonTqwUw lub https://skipvids.com/?v=BZCHonTqwUw )

Kluczowe funkcje

  • Offline i prywatnie: 100% lokalnie. Żadne dane nigdy nie opuszczają Twojej maszyny.

  • Dynamiczny silnik skryptowy: Wyjdź poza zastępowanie tekstu. Reguły mogą uruchamiać niestandardowe skrypty Pythona (on_match_exec) w celu wykonywania zaawansowanych działań, takich jak wywoływanie interfejsów API (np. przeszukiwanie Wikipedii), interakcja z plikami (np. zarządzanie listą zadań do wykonania) lub generowanie zawartości dynamicznej (np. kontekstowe powitanie e-mail).

  • Silnik transformacji o wysokim poziomie kontroli: implementuje oparty na konfiguracji, wysoce konfigurowalny potok przetwarzania. Priorytet reguł, wykrywanie poleceń i transformacje tekstu są określane wyłącznie na podstawie kolejności reguł w Fuzzy Maps, co wymaga konfiguracji, a nie kodowania.

  • Oszczędne wykorzystanie pamięci RAM: Inteligentnie zarządza pamięcią, wstępnie ładując modele tylko wtedy, gdy dostępna jest wystarczająca ilość wolnej pamięci RAM, zapewniając, że inne aplikacje (takie jak gry komputerowe) zawsze mają priorytet.

  • Wiele platform: działa na systemach Linux, macOS i Windows.

  • W pełni zautomatyzowany: Zarządza własnym serwerem LanguageTool (ale możesz także użyć zewnętrznego).

  • Niezwykła szybkość: Inteligentne buforowanie zapewnia natychmiastowe powiadomienia „Słuchanie…” i szybkie przetwarzanie.

Dokumentacja

Aby uzyskać pełne informacje techniczne, w tym wszystkie moduły i skrypty, odwiedź naszą oficjalną stronę dokumentacji. Jest generowany automatycznie i zawsze aktualny.

Go to Documentation >>

Stan kompilacji

Linux Manjaro Linux Ubuntu Linux Suse macOS Windows 11

Documentation

Przeczytaj to w innych językach:

🇬🇧 English | 🇸🇦 العربية | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇷 Français | 🇮🇳 हिन्दी | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇵🇱 Polski | 🇵🇹 Português | 🇧🇷 Português Brasil | 🇨🇳 简体中文


Instalacja

Konfiguracja jest procesem dwuetapowym:

  1. Pobierz ostatnią wersję lub master (https://github.com/sl5net/Vosk-System-Listener/archive/master.zip) lub sklonuj to repozytorium na swój komputer.

  2. Uruchom jednorazowy skrypt instalacyjny dla swojego systemu operacyjnego.

Skrypty instalacyjne obsługują wszystko: zależności systemowe, środowisko Python i pobieranie niezbędnych modeli i narzędzi (~4 GB) bezpośrednio z naszych wydań GitHub w celu uzyskania maksymalnej szybkości.

Dla systemów Linux, macOS i Windows (z opcjonalnym wykluczeniem języka)

Aby zaoszczędzić miejsce na dysku i przepustowość, możesz podczas instalacji wykluczyć określone modele językowe („de”, „en”) lub wszystkie opcjonalne modele („all”). Podstawowe komponenty (LanguageTool, lid.176) są zawsze uwzględnione.

Otwórz terminal w katalogu głównym projektu i uruchom skrypt dla swojego systemu:

KOD_BLOKU_0

Dla systemu Windows

Uruchom skrypt instalacyjny z uprawnieniami administratora.

Zainstaluj narzędzie do odczytu i uruchamiania, np. CopyQ lub AutoHotkey v2. Jest to wymagane dla obserwatora wpisując tekst.

Instalacja jest w pełni zautomatyzowana i zajmuje około 8-10 minut w przypadku użycia 2 modeli w nowym systemie.

  1. Przejdź do folderu „setup”.

  2. Kliknij dwukrotnie windows11_setup_with_ahk_copyq.bat.

  • Skrypt automatycznie wyświetli monit o uprawnienia administratora.

  • Instaluje system podstawowy, modele językowe, AutoHotkey v2 i CopyQ.

  1. Po zakończeniu instalacji Aura Dictation uruchomi się automatycznie.

Uwaga: Nie musisz wcześniej instalować Pythona ani Gita; skrypt obsługuje wszystko.


Instalacja zaawansowana/niestandardowa

Jeśli nie chcesz instalować narzędzi klienckich (AHK/CopyQ) lub chcesz zaoszczędzić miejsce na dysku, wykluczając określone języki, możesz uruchomić podstawowy skrypt za pomocą wiersza poleceń:

KOD_BLOKU_1


Użycie

1. Uruchom usługi

W systemie Linux i macOS

Wszystko obsługuje jeden skrypt. Uruchamia główną usługę dyktowania i przeglądarkę plików automatycznie w tle. KOD_BLOKU_2

W systemie Windows

Uruchomienie usługi jest dwuetapowym procesem ręcznym:

  1. Uruchom usługę główną: Uruchom start_dictation_v2.0.bat. lub rozpocznij usługę od .venv za pomocą python3

2. Skonfiguruj swój skrót

Aby uruchomić dyktowanie, potrzebujesz globalnego skrótu, który tworzy określony plik. Gorąco polecamy narzędzie wieloplatformowe CopyQ.

Nasza rekomendacja: CopyQ

Utwórz nowe polecenie w CopyQ za pomocą globalnego skrótu.

Polecenie dla systemu Linux/macOS: KOD_BLOKU_3

Polecenie dla Windows przy użyciu CopyQ: KOD_BLOKU_4

Polecenie dla Windows przy użyciu AutoHotkey: KOD_BLOKU_5

3. Zacznij dyktować!

Kliknij dowolne pole tekstowe, naciśnij klawisz skrótu, a pojawi się powiadomienie „Słucham…”. Mów wyraźnie, a potem pauzuj. Poprawiony tekst zostanie wpisany za Ciebie.


Zaawansowana konfiguracja (opcjonalnie)

Możesz dostosować zachowanie aplikacji, tworząc plik ustawień lokalnych.

  1. Przejdź do katalogu config/.

  2. Utwórz kopię pliku config/settings_local.py_Example.txt i zmień jej nazwę na config/settings_local.py.

  3. Edytuj plik config/settings_local.py (zastępuje to wszelkie ustawienia z głównego pliku config/settings.py).

Ten plik config/settings_local.py jest (być może) ignorowany przez Gita, więc Twoje osobiste zmiany (być może) nie zostaną nadpisane przez aktualizacje.

Struktura i logika wtyczek

Modułowość systemu pozwala na solidną rozbudowę poprzez katalog plugins/.

Silnik przetwarzający ściśle przestrzega hierarchicznego łańcucha priorytetów:

  1. Kolejność ładowania modułów (wysoki priorytet): Reguły załadowane z podstawowych pakietów językowych (de-DE, en-US) mają pierwszeństwo przed regułami załadowanymi z katalogu plugins/ (które ładują się jako ostatnie w kolejności alfabetycznej). XSPACEbreakX

  2. Kolejność w pliku (mikropriorytet): W dowolnym pliku mapy (FUZZY_MAP_pre.py) reguły są przetwarzane ściśle według numeru wiersza (od góry do dołu). XSPACEbreakX

Architektura ta zapewnia ochronę podstawowych reguł systemowych, podczas gdy reguły specyficzne dla projektu lub kontekstowe (takie jak te dla CodeIgniter lub kontroli gier) można łatwo dodać jako rozszerzenia o niskim priorytecie za pośrednictwem wtyczek.

Kluczowe skrypty dla użytkowników systemu Windows

Oto lista najważniejszych skryptów do konfigurowania, aktualizowania i uruchamiania aplikacji w systemie Windows.

Konfiguracja i aktualizacja

  • setup/setup.bat: Główny skrypt do wstępnej jednorazowej konfiguracji środowiska.

  • or Uruchom PowerShell -Polecenie "Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .\setup\windows11_setup.ps1"

  • update.bat: Uruchom je z folderu projektu pobierz najnowszy kod i zależności.

Uruchamianie aplikacji

  • start_dictation_v2.0.bat: Podstawowy skrypt służący do uruchamiania usługi dyktowania.

Skrypty podstawowe i pomocnicze

  • aura_engine.py: podstawowa usługa Pythona (zwykle uruchamiana przez jeden z powyższych skryptów).

  • get_suggestions.py: Skrypt pomocniczy dla określonych funkcjonalności.

🚀 Kluczowe funkcje i zgodność z systemem operacyjnym

Legenda dotycząca zgodności systemu operacyjnego:XSPACEbreakX

  • 🐧 Linux (np. Arch, Ubuntu)XSPACEbreakX

  • 🍏 macOSXSPACEbreakX

  • 🪟 WindowsXSPACEbreakX

  • 📱 Android (dla funkcji przeznaczonych dla urządzeń mobilnych)XSPACEbreakX


Podstawowy silnik zamiany mowy na tekst (Aura)

Nasz główny silnik do rozpoznawania mowy w trybie offline i przetwarzania dźwięku.

XSPACEbreakX Aura-Rdzeń/ 🐧 🍏 🪟XSPACEbreakX ├─ aura_engine.py (Główna usługa Pythona zarządzająca Aurą) 🐧 🍏 🪟XSPACEbreakX ├┬ Przeładuj na żywo (konfiguracja i mapy) 🐧 🍏 🪟XSPACEbreakX │├ Bezpieczne ładowanie prywatnej mapy (na pierwszym miejscu jest integralność) 🔒 🐧 🍏 🪟XSPACEbreakX ││ * Przebieg pracy: Ładuje archiwa ZIP chronione hasłem. XSPACEbreakX │├ Przetwarzanie i korekta tekstu/ Pogrupowane według języka (np. de-DE, en-US, … ) XSPACEbreakX │├ 1. normalize_punstanding.py (Standaryzuje interpunkcję po transkrypcji) 🐧 🍏 🪟XSPACEbreakX │├ 2. Inteligentna korekta wstępna (FuzzyMap Pre - The Primary Command Layer) 🐧 🍏 🪟XSPACEbreakX ││ * Dynamiczne wykonywanie skryptów: reguły mogą uruchamiać niestandardowe skrypty Pythona (on_match_exec) w celu wykonywania zaawansowanych działań, takich jak wywołania API, operacje we/wy plików lub generowanie odpowiedzi dynamicznych.XSPACEbreakX ││ * Wykonanie kaskadowe: Reguły są przetwarzane sekwencyjnie, a ich efekty są kumulatywne. Późniejsze reguły mają zastosowanie do tekstu zmodyfikowanego przez wcześniejsze reguły.XSPACEbreakX ││ * Kryterium zatrzymania o najwyższym priorytecie: Jeśli reguła osiągnie Pełne dopasowanie (^…$), cały potok przetwarzania dla tego tokena zostanie natychmiast zatrzymany. Mechanizm ten ma kluczowe znaczenie dla realizacji niezawodnych poleceń głosowych.XSPACEbreakX │├ 3. correct_text_by_languagetool.py (integruje narzędzie LanguageTool do poprawiania gramatyki/stylu) 🐧 🍏 🪟XSPACEbreakX │├ 4. Hierarchiczny silnik reguł RegEx z rezerwą Ollama AI 🐧 🍏 🪟XSPACEbreakX ││ * Kontrola deterministyczna: wykorzystuje silnik RegEx-Rule-Engine do precyzyjnego sterowania poleceniami i tekstem o wysokim priorytecie.XSPACEbreakX ││ * Awaryjny algorytm Ollama AI (lokalny LLM): służy jako opcjonalna kontrola o niskim priorytecie w przypadku kreatywnych odpowiedzi, pytań i odpowiedzi oraz zaawansowanego dopasowywania rozmytego, gdy nie jest spełniona żadna reguła deterministyczna.XSPACEbreakX ││ * Stan: Lokalna integracja LLM. │└ 5. Inteligentna korekcja końcowa (FuzzyMap)** – Udoskonalanie po LT** 🐧 🍏 🪟 ││ * Stosowane po LanguageTool w celu skorygowania wyników specyficznych dla LT. Działa zgodnie z tą samą ścisłą logiką priorytetów kaskadowych, co warstwa wstępnej korekty.XSPACEbreakX ││ * Dynamiczne wykonywanie skryptów: reguły mogą uruchamiać niestandardowe skrypty w języku Python (on_match_exec) w celu wykonywania zaawansowanych działań, takich jak wywołania API, operacje we/wy plików lub generowanie odpowiedzi dynamicznych.XSPACEbreakX ││ * Fuzzy Fallback: Rozmyta kontrola podobieństwa (kontrolowana przez próg, np. 85%) działa jako warstwa korekcji błędów o najniższym priorytecie. Jest wykonywana tylko wtedy, gdy w całym poprzedzającym uruchomieniu reguły deterministycznej/kaskadowej nie znaleziono dopasowania (bieżąca_rule_matched ma wartość False), optymalizując wydajność poprzez unikanie, jeśli to możliwe, powolnych kontroli rozmytych.XSPACEbreakX ├┬ Zarządzanie modelami/ XSPACEbreakX │├─ prioritize_model.py (optymalizuje ładowanie/rozładowywanie modelu w oparciu o wykorzystanie) 🐧 🍏 🪟XSPACEbreakX │└─ setup_initial_model.py (Konfiguruje pierwszą konfigurację modelu) 🐧 🍏 🪟XSPACEbreakX ├─ Adaptacyjny limit czasu VAD 🐧 🍏 🪟XSPACEbreakX ├─ Adaptacyjny klawisz skrótu (Start/Stop) 🐧 🍏 🪟XSPACEbreakX └─ Natychmiastowa zmiana języka (eksperymentalnie poprzez wstępne ładowanie modelu) 🐧 🍏 XSPACEbreakX

Narzędzia systemowe/ XSPACEbreakX ├┬ Zarządzanie serwerem LanguageTool/ XSPACEbreakX │├─ start_languagetool_server.py (Inicjuje lokalny serwer LanguageTool) 🐧 🍏 🪟XSPACEbreakX │└─ stop_languagetool_server.py (zamyka serwer LanguageTool) 🐧 🍏 ├─ monitor_mic.sh (np. do użytku z zestawem słuchawkowym bez użycia klawiatury i monitora) 🐧 🍏 🪟XSPACEbreakX

Zarządzanie modelami i pakietamiXSPACEbreakX

Narzędzia do niezawodnej obsługi dużych modeli językowych.XSPACEbreakX

Zarządzanie modelem/ 🐧 🍏 🪟XSPACEbreakX ├─ ** Solidny program do pobierania modeli ** (fragmenty wersji GitHub) 🐧 🍏 🪟XSPACEbreakX ├─ split_and_hash.py (Narzędzie dla właścicieli repozytoriów umożliwiające dzielenie dużych plików i generowanie sum kontrolnych) 🐧 🍏 🪟XSPACEbreakX └─ download_all_packages.py (Narzędzie dla użytkowników końcowych do pobierania, weryfikowania i ponownego składania plików wieloczęściowych) 🐧 🍏 🪟XSPACEbreakX

Pomocnicy w programowaniu i wdrażaniuXSPACEbreakX

Skrypty do konfiguracji środowiska, testowania i wykonywania usług.XSPACEbreakX

Wskazówka: glogg umożliwia używanie wyrażeń regularnych do wyszukiwania interesujących zdarzeń w plikach dziennika. XSPACEbreakX Podczas instalacji zaznacz pole wyboru, aby powiązać je z plikami dziennika. XSPACEbreakX https://translate.google.com/translate?hl=en&sl=en&tl=pl&u=https://glogg.bonnefon.org/
XSPACEbreakX Wskazówka: Po zdefiniowaniu wzorców wyrażeń regularnych uruchom python3 Tools/map_tagger.py, aby automatycznie wygenerować możliwe do przeszukiwania przykłady dla narzędzi CLI. Aby uzyskać szczegółowe informacje, zobacz Map Maintenance Tools.

Wtedy może kliknij dwukrotnie log/aura_engine.log XSPACEbreakX XSPACEbreakX **Pomocnicy deweloperów/**XSPACEbreakX ├┬ **Zarządzanie środowiskiem wirtualnym/**XSPACEbreakX │├ scripts/restart_venv_and_run-server.sh (Linux/macOS) 🐧 🍏XSPACEbreakX │└ scripts/restart_venv_and_run-server.ahk (Windows) 🪟
├┬ **Ogólnosystemowa integracja dyktowania/**XSPACEbreakX │├ Integracja Vosk-System-Słuchacz 🐧 🍏 🪟XSPACEbreakX │├ scripts/monitor_mic.sh (monitorowanie mikrofonu specyficzne dla Linuksa) 🐧
│└ scripts/type_watcher.ahk (AutoHotkey nasłuchuje rozpoznanego tekstu i wpisuje go w całym systemie) 🪟XSPACEbreakX └─ **Automatyka CI/CD/**XSPACEbreakX └─ Rozszerzone przepływy pracy GitHub (instalacja, testowanie, wdrażanie dokumentów) 🐧 🍏 🪟 *(Działa w akcjach GitHub)*XSPACEbreakX

Nadchodzące/eksperymentalne funkcjeXSPACEbreakX

Funkcje obecnie w fazie opracowywania lub w wersji roboczej.XSPACEbreakX

**Funkcje eksperymentalne/**XSPACEbreakX ├─ ENTER_AFTER_DICTATION_REGEX Przykładowa reguła aktywacji „(ExampleAplicationThatNotExist|Pi, Twoja osobista sztuczna inteligencja)” 🐧XSPACEbreakX ├┬WtyczkiXSPACEbreakX │╰┬ Lenno na żywo – przeładuj (*) 🐧 🍏 🪟XSPACEbreakX (Zmiany dotyczące aktywacji/dezaktywacji wtyczki i ich konfiguracji zostaną zastosowane przy następnym uruchomieniu przetwarzania bez ponownego uruchomienia usługi.)XSPACEbreakX │ ├ polecenia git (sterowanie głosowe przy wysyłaniu poleceń git) 🐧 🍏 🪟XSPACEbreakX │ ├ wannweil (Mapa lokalizacji Niemcy-Wannweil) 🐧 🍏 🪟XSPACEbreakX │ ├ Wtyczka pokerowa (wersja robocza) (Sterowanie głosowe w aplikacjach pokerowych) 🐧 🍏 🪟XSPACEbreakX │ └ Wtyczka 0 A.D. (wersja robocza) (Sterowanie głosowe dla gry 0 A.D.) 🐧 XSPACEbreakX ├─ Wyjście dźwięku podczas rozpoczynania lub kończenia sesji (opis w toku) 🐧 XSPACEbreakX ├─ Mowa dla osób niedowidzących (opis w oczekiwaniu na opis) 🐧 🍏 🪟XSPACEbreakX └─ Prototyp Androida SL5 Aura (jeszcze nie w pełni offline) 📱XSPACEbreakX


(Uwaga: określone dystrybucje Linuksa, takie jak Arch (ARL) lub Ubuntu (UBT) są oznaczone ogólnym symbolem Linuksa 🐧. Szczegółowe rozróżnienia mogą być omówione w przewodnikach instalacji.)

<szczegóły>

Kliknij, aby zobaczyć polecenie użyte do wygenerowania tej listy skryptów

KOD_BLOKU_6

trochę graficznie, żeby zobaczyć, co jest za nimi:

yappi_call_graph

XSPACEbreakX pydeps -v -o dependencies.svg scripts/py/func/main.py

Używane modele:

Zalecenie: użyj modeli z Mirror https://github.com/sl5net/SL5-aura-service/releases/tag/v0.2.0.1 (prawdopodobnie szybciej)

Te spakowane modele muszą być zapisane w folderze models/

mv vosk-model-*.zip models/

Modelka

Rozmiar

Poziom błędów/prędkość słów

Notatki

Licencja

vosk-model-en-us-0.22

1,8G

5,69 (czysty test librispeech)
6,05 (tedlium)
29,78 (callcenter)

Dokładny ogólny model w języku angielskim w USA

Apache 2.0

vosk-model-de-0.21

1,9G

9,83 (test Tuda-de)
24,00 (podcast)
12,82 (test CV)
12,42 (mls)
33,26 (mtedx)

Duży niemiecki model telefonii i serwerów

Apache 2.0

Ta tabela zawiera przegląd różnych modeli Vosk, w tym ich rozmiar, współczynnik błędów lub prędkość, uwagi i informacje licencyjne.

Licencja na LanguageTool: GNU Lesser General Public License (LGPL) v2.1 or later


Wesprzyj projekt

Jeśli uznasz to narzędzie za przydatne, rozważ zakup nam kawy! Twoje wsparcie pomaga w napędzaniu przyszłych ulepszeń.

ko-fi

Stripe-Buy Now

IgnorePkg = linux66-nvidia-575xx nvidia-575xx-utils lib32-nvidia-575xx-utils

ustawienia nvidia-575xx mhwd-nvidia-575xx