Głos w trybie offline w całym systemie na polecenia lub tekst, system podłączany¶
Usługa SL5 Aura — funkcje i kompatybilność z systemem operacyjnym¶
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 offline, zbudowany na platformie Vosk i LanguageTool, zaprojektowany z myślą o maksymalnej personalizacji poprzez podłączany system reguł i dynamiczny silnik skryptowy. XSPACEbreakX 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!
( https://skipvids.com/?v=tEijy8WRFCI )
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.
Stan kompilacji¶
Przeczytaj to w innych językach:
🇬🇧 English | 🇸🇦 العربية | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇷 Français | 🇮🇳 हिन्दी | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇵🇱 Polski | 🇵🇹 Português | 🇧🇷 Português Brasil | 🇨🇳 简体中文
Instalacja¶
Konfiguracja jest procesem dwuetapowym:
Sklonuj to repozytorium na swój komputer.
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 systemu Linux, macOS i Windows¶
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 „Uruchom z PowerShell”.
Zainstaluj narzędzie do odczytu i uruchamiania, np. CopyQ lub AutoHotkey v2. Jest to wymagane dla obserwatora wpisując tekst.
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_1
W systemie Windows¶
Uruchomienie usługi jest dwuetapowym procesem ręcznym:
Uruchom usługę główną: Uruchom
start_dictation_v2.0.bat. lub rozpocznij usługę od.venvza 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_2
Polecenie dla Windows przy użyciu CopyQ: KOD_BLOKU_3
Polecenie dla Windows przy użyciu AutoHotkey: KOD_BLOKU_4
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.
Przejdź do katalogu
config/.Utwórz kopię pliku
settings_local.py_Example.txti zmień jej nazwę nasettings_local.py.Edytuj plik
settings_local.py, aby zastąpić dowolne ustawienie z głównego plikuconfig/settings.py.
Ten plik 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:
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
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¶
dictation_service.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
├─ dictation_service.py (główna usługa Pythona zarządzająca Aurą) 🐧 🍏 🪟XSPACEbreakX
├┬ Przeładuj na żywo (konfiguracja i mapy) 🐧 🍏 🪟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 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
││ * Wykonanie kaskadowe: Reguły są przetwarzane sekwencyjnie, a ich efekty są kumulatywne. Późniejsze reguły mają zastosowanie do tekstu zmodyfikowanego wcześniejszymi regułami.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. Inteligentna korekta końcowa (FuzzyMap)** – Udoskonalenie po LT** 🐧 🍏 🪟XSPACEbreakX
││ * 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
**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 wtyczek 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>
KOD_BLOKU_5
trochę graficznie, żeby zobaczyć, co jest za nimi:¶

XSPACEbreakX
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 |
|---|---|---|---|---|
1,8G |
5,69 (czysty test librispeech) |
Dokładny ogólny model w języku angielskim w USA |
Apache 2.0 |
|
1,9G |
9,83 (test Tuda-de) |
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.
Modele Vosk: Vosk-Model List
**Narzędzie językowe:**XSPACEbreakX (6.6) https://languagetool.org/download/
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ń.
