명령 또는 텍스트에 대한 시스템 전체 오프라인 음성, 플러그형 시스템¶
SL5 Aura 서비스 - 기능 및 OS 호환성¶
SL5 Aura 서비스에 오신 것을 환영합니다! 이 문서에서는 주요 기능과 운영 체제 호환성에 대한 간략한 개요를 제공합니다.
Aura는 단순한 전사기가 아닙니다. 이는 음성을 정확한 동작과 텍스트로 변환하는 강력한 오프라인 처리 엔진입니다.
Vosk 및 LanguageTool을 기반으로 구축된 완전한 오프라인 어시스턴트이며 플러그형 규칙 시스템과 동적 스크립팅 엔진을 통해 궁극적인 사용자 정의를 위해 설계되었습니다. XSPACEbreakX XSPACEbreakX 번역: 이 문서는 other languages에도 존재합니다.
참고: 많은 텍스트는 원래 영어 문서를 기계로 생성한 번역이며 일반적인 지침으로만 사용됩니다. 불일치나 모호성이 있는 경우에는 항상 영어 버전이 우선합니다. 이 번역을 개선하기 위한 커뮤니티의 도움을 환영합니다!
( https://skipvids.com/?v=tEijy8WRFCI )
주요 기능¶
오프라인 및 비공개: 100% 로컬. 어떤 데이터도 귀하의 컴퓨터를 떠나지 않습니다.
동적 스크립팅 엔진: 텍스트 교체 이상의 기능을 제공합니다. 규칙은 사용자 정의 Python 스크립트(
on_match_exec)를 실행하여 API 호출(예: Wikipedia 검색), 파일 상호 작용(예: 할 일 목록 관리) 또는 동적 콘텐츠 생성(예: 상황 인식 이메일 인사말)과 같은 고급 작업을 수행할 수 있습니다.고도의 제어 변환 엔진: 구성 중심의 고도로 사용자 정의 가능한 처리 파이프라인을 구현합니다. 규칙 우선순위, 명령 감지 및 텍스트 변환은 순전히 퍼지 맵의 규칙 순서에 따라 결정되며 코딩이 아닌 구성이 필요합니다.
보수적인 RAM 사용: 메모리를 지능적으로 관리하고 여유 RAM이 충분한 경우에만 모델을 사전 로드하여 다른 애플리케이션(예: PC 게임)이 항상 우선순위를 갖도록 합니다.
크로스 플랫폼: Linux, macOS, Windows에서 작동합니다.
완전 자동화: 자체 LanguageTool 서버를 관리합니다(단, 외부 서버도 사용할 수 있음).
매우 빠른 속도: 지능형 캐싱은 즉각적인 “듣기…” 알림과 빠른 처리를 보장합니다.
문서¶
모든 모듈과 스크립트를 포함한 전체 기술 참조를 보려면 공식 문서 페이지를 방문하세요. 자동으로 생성되며 항상 최신 상태를 유지합니다.
빌드 상태¶
다른 언어로 읽어 보세요:
🇬🇧 English | 🇸🇦 العربية | 🇩🇪 Deutsch | 🇪🇸 Español | 🇫🇷 Français | 🇮🇳 हिन्दी | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇵🇱 Polski | 🇵🇹 Português | 🇧🇷 Português Brasil | 🇨🇳 简体中文
설치¶
설정은 2단계 프로세스로 이루어집니다.
이 저장소를 컴퓨터에 복제합니다.
운영 체제에 대한 일회성 설정 스크립트를 실행합니다.
설정 스크립트는 시스템 종속성, Python 환경, 최대 속도를 위해 GitHub 릴리스에서 직접 필요한 모델 및 도구(~4GB) 다운로드 등 모든 것을 처리합니다.
Linux, macOS, Windows용¶
프로젝트의 루트 디렉터리에서 터미널을 열고 시스템에 대한 스크립트를 실행합니다.
# For Ubuntu/Debian, Manjaro/Arch, macOs or other derivatives
bash setup/{your-os}_setup.sh
# For Windows in Admin-Powershell
setup/windows11_setup.ps1
윈도우의 경우¶
관리자 권한 **”PowerShell로 실행”**으로 설정 스크립트를 실행합니다.
읽기 및 실행을 위한 도구를 설치합니다. CopyQ 또는 AutoHotkey v2. 이는 텍스트 입력 감시자에게 필요합니다.
용법¶
1. 서비스 시작¶
Linux 및 macOS의 경우¶
단일 스크립트가 모든 것을 처리합니다. 기본 받아쓰기 서비스와 파일 감시자가 백그라운드에서 자동으로 시작됩니다.
# Run this from the project's root directory
./scripts/restart_venv_and_run-server.sh
윈도우즈의 경우¶
서비스 시작은 2단계 수동 프로세스로 이루어집니다.
메인 서비스 시작:
start_dictation_v2.0.bat를 실행합니다. 또는python3을 사용하여.venv에서 서비스를 시작합니다.
2. 단축키 구성¶
받아쓰기를 실행하려면 특정 파일을 생성하는 전역 단축키가 필요합니다. 크로스 플랫폼 도구 CopyQ를 적극 권장합니다.
우리의 추천: CopyQ¶
전역 단축키를 사용하여 CopyQ에서 새 명령을 만듭니다.
Linux/macOS용 명령:
touch /tmp/sl5_record.trigger
CopyQ 사용 시 Windows용 명령:
copyq:
var filePath = 'c:/tmp/sl5_record.trigger';
var f = File(filePath);
if (f.openAppend()) {
f.close();
} else {
popup(
'error',
'cant read or open:\n' + filePath
+ '\n' + f.errorString()
);
}
AutoHotkey 사용 시 Windows용 명령:
; trigger-hotkeys.ahk
; AutoHotkey v2 Skript
#SingleInstance Force ; Stellt sicher, dass nur eine Instanz des Skripts läuft
;===================================================================
; Hotkey zum Auslösen des Aura Triggers
; Drücke Strg + Alt + T, um die Trigger-Datei zu schreiben.
;===================================================================
f9::
f10::
f11::
{
local TriggerFile := "c:\tmp\sl5_record.trigger"
FileAppend("t", TriggerFile)
ToolTip("Aura Trigger ausgelöst!")
SetTimer(() => ToolTip(), -1500)
}
3. 받아쓰기를 시작하세요!¶
텍스트 필드를 클릭하고 단축키를 누르면 “듣기…” 알림이 나타납니다. 명확하게 말한 다음 잠시 멈추세요. 수정된 텍스트가 자동으로 입력됩니다.
고급 구성(선택 사항)¶
로컬 설정 파일을 생성하여 애플리케이션의 동작을 사용자 정의할 수 있습니다.
config/디렉토리로 이동합니다.settings_local.py_Example.txt의 복사본을 만들고 이름을settings_local.py로 바꿉니다.settings_local.py를 편집하여 기본config/settings.py파일의 설정을 재정의합니다.
이 settings_local.py 파일은 Git에서 (아마도) 무시되므로 업데이트로 인해 개인적인 변경 사항이 (아마도) 덮어쓰여지지 않을 것입니다.
플러그인 구조 및 로직¶
시스템의 모듈성은 플러그인/ 디렉토리를 통한 강력한 확장을 허용합니다.
처리 엔진은 계층적 우선순위 체인을 엄격하게 준수합니다.
모듈 로드 순서(높은 우선순위): 핵심 언어 팩(de-DE, en-US)에서 로드된 규칙은 플러그인/ 디렉터리에서 로드된 규칙(알파벳순으로 마지막으로 로드됨)보다 우선합니다. XSPACEbreakX
파일 내 순서(마이크로 우선순위): 지정된 맵 파일(FUZZY_MAP_pre.py) 내에서 규칙은 라인 번호(위에서 아래로)에 따라 엄격하게 처리됩니다. XSPACEbreakX
이 아키텍처는 핵심 시스템 규칙이 보호되는 동시에 프로젝트별 또는 상황 인식 규칙(예: CodeIgniter 또는 게임 컨트롤의 규칙)을 플러그인을 통해 우선순위가 낮은 확장으로 쉽게 추가할 수 있도록 보장합니다.
Windows 사용자를 위한 주요 스크립트¶
다음은 Windows 시스템에서 애플리케이션을 설정, 업데이트 및 실행하는 데 가장 중요한 스크립트 목록입니다.
설정 및 업데이트¶
setup/setup.bat: 환경의 초기 일회성 설정을 위한 기본 스크립트입니다.or
powershell 실행 -Command "Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force; .\setup\windows11_setup.ps1"update.bat: 프로젝트 폴더에서 이를 실행합니다. 최신 코드와 종속성을 가져옵니다.
애플리케이션 실행¶
start_dictation_v2.0.bat: 받아쓰기 서비스를 시작하는 기본 스크립트입니다.
핵심 및 도우미 스크립트¶
dictation_service.py: 핵심 Python 서비스(일반적으로 위 스크립트 중 하나에 의해 시작됨).get_suggestions.py: 특정 기능을 위한 도우미 스크립트입니다.
🚀 주요 기능 및 OS 호환성¶
OS 호환성 범례:XSPACEbreakX
🐧 Linux(예: Arch, Ubuntu)XSPACEbreakX
🍏 macOSXSPACEbreakX
🪟 윈도우XSPACEbreakX
📱 Android(모바일 전용 기능용)XSPACEbreakX
핵심 음성-텍스트(Aura) 엔진¶
오프라인 음성 인식 및 오디오 처리를 위한 기본 엔진입니다.
XSPACEbreakX
Aura-Core/ 🐧 🍏 🪟XSPACEbreakX
├─ dictation_service.py(Aura를 조정하는 주요 Python 서비스) 🐧 🍏 🪟
├┬ 라이브 핫 리로드(구성 및 맵) 🐧 🍏 🪟XSPACEbreakX
│├ 텍스트 처리 및 수정/ 언어별로 그룹화됨(예: de-DE, en-US, … ) XSPACEbreakX
│├ 1. normalize_punkation.py (구두점 표기 표준화) 🐧 🍏 🪟
│├ 2. 지능형 사전 수정 (FuzzyMap Pre - The Primary Command Layer) 🐧 🍏 🪟XSPACEbreakX
││ * 동적 스크립트 실행: 규칙은 사용자 정의 Python 스크립트(on_match_exec)를 트리거하여 API 호출, 파일 I/O와 같은 고급 작업을 수행하거나 동적 응답을 생성할 수 있습니다.
││ * 계단식 실행: 규칙은 순차적으로 처리되며 해당 효과는 누적됩니다. 이후 규칙은 이전 규칙에 의해 수정된 텍스트에 적용됩니다.
││ * 가장 높은 우선순위 중지 기준: 규칙이 완전 일치(^…$)를 달성하면 해당 토큰에 대한 전체 처리 파이프라인이 즉시 중지됩니다. 이 메커니즘은 안정적인 음성 명령을 구현하는 데 중요합니다.
│├ 3. corright_text_by_언어tool.py (문법/스타일 교정을 위한 LanguageTool 통합) 🐧 🍏 🪟
│└ 4. 지능형 사후 수정(FuzzyMap)– LT 이후 개선 🐧 🍏 🪟XSPACEbreakX
││ * LT 관련 출력을 수정하기 위해 LanguageTool 다음에 적용됩니다. 사전 수정 레이어와 동일한 엄격한 계단식 우선순위 논리를 따릅니다.
││ * 동적 스크립트 실행: 규칙은 사용자 정의 Python 스크립트(on_match_exec)를 트리거하여 API 호출, 파일 I/O와 같은 고급 작업을 수행하거나 동적 응답을 생성할 수 있습니다.
││ * 퍼지 폴백: 퍼지 유사성 검사(임계값(예: 85%)으로 제어됨)은 우선순위가 가장 낮은 오류 수정 레이어 역할을 합니다. 이전 결정적/계단식 규칙 실행 전체가 일치 항목을 찾지 못한 경우에만 실행되며(current_rule_matched는 False임) 가능할 때마다 느린 퍼지 검사를 피하여 성능을 최적화합니다.
├┬ 모델 관리/ XSPACEbreakX
│├─ prioritize_model.py (사용에 따라 모델 로드/언로드 최적화) 🐧 🍏 🪟
│└─ setup_initial_model.py (최초 모델 설정 구성) 🐧 🍏 🪟
├─ 적응형 VAD 시간 초과 🐧 🍏 🪟XSPACEbreakX
├─ 적응형 단축키(시작/중지) 🐧 🍏 🪟XSPACEbreakX
└─ 즉각적인 언어 전환 (모델 사전 로드를 통한 실험) 🐧 🍏 XSPACEbreakX
시스템 유틸리티/ XSPACEbreakX
├┬ LanguageTool 서버 관리/ XSPACEbreakX
│├─ start_언어tool_server.py(로컬 LanguageTool 서버 초기화) 🐧 🍏 🪟
│└─ stop_언어tool_server.py (LanguageTool 서버 종료) 🐧 🍏
├─ monitor_mic.sh (예: 키보드와 모니터를 사용하지 않고 헤드셋과 함께 사용) 🐧 🍏 🪟XSPACEbreakX
모델 및 패키지 관리XSPACEbreakX¶
대규모 언어 모델을 강력하게 처리하기 위한 도구입니다.
모델 관리/ 🐧 🍏 🪟XSPACEbreakX
├─ 강력한 모델 다운로더(GitHub 릴리스 청크) 🐧 🍏 🪟XSPACEbreakX
├─ split_and_hash.py(저장소 소유자가 대용량 파일을 분할하고 체크섬을 생성하는 유틸리티) 🐧 🍏 🪟
└─ download_all_packages.py(최종 사용자가 여러 부분으로 구성된 파일을 다운로드, 확인 및 재조립할 수 있는 도구) 🐧 🍏 🪟
개발 및 배포 도우미XSPACEbreakX¶
환경 설정, 테스트, 서비스 실행을 위한 스크립트입니다.
**DevHelpers/**XSPACEbreakX
├┬ **가상 환경 관리/**XSPACEbreakX
│├ scripts/restart_venv_and_run-server.sh(Linux/macOS) 🐧 🍏
│└ scripts/restart_venv_and_run-server.ahk (Windows) 🪟
├┬ 시스템 전체 받아쓰기 통합/
│├ Vosk-시스템-리스너 통합 🐧 🍏 🪟XSPACEbreakX
│├ scripts/monitor_mic.sh(Linux 전용 마이크 모니터링) 🐧
│└ scripts/type_watcher.ahk (AutoHotkey는 인식된 텍스트를 듣고 시스템 전체에 입력합니다) 🪟
└─ **CI/CD 자동화/**XSPACEbreakX
└─ 확장된 GitHub 워크플로(설치, 테스트, 문서 배포) 🐧 🍏 🪟 *(GitHub Actions에서 실행)*XSPACEbreakX
향후/실험적 기능XSPACEbreakX¶
현재 개발 중이거나 초안 상태인 기능입니다.
**실험적 기능/**XSPACEbreakX
├─ ENTER_AFTER_DICTATION_REGEX 활성화 규칙 예시 “(ExampleAplicationThatNotExist|Pi, 개인 AI)” 🐧
├┬플러그인XSPACEbreakX
│╰┬ 라이브 지연 새로고침 (*) 🐧 🍏 🪟XSPACEbreakX
(플러그인 활성화/비활성화에 대한 변경 사항 및 해당 구성은 서비스를 다시 시작하지 않고 다음 처리 실행 시 적용됩니다.)
│ ├ git 명령 (git 명령 보내기를 위한 음성 제어) 🐧 🍏 🪟
│ ├ wannweil (독일 Wannweil 위치 지도) 🐧 🍏 🪟XSPACEbreakX
│ ├ 포커 플러그인(초안) (포커 애플리케이션용 음성 제어) 🐧 🍏 🪟XSPACEbreakX
│ └ 0 A.D. 플러그인(초안) (0 A.D. 게임용 음성 제어) 🐧 XSPACEbreakX
├─ 세션 시작 또는 종료 시 소리 출력 (설명 보류) 🐧 XSPACEbreakX
├─ 시각 장애인을 위한 음성 출력 (설명 보류 중) 🐧 🍏 🪟XSPACEbreakX
└─ SL5 Aura Android 프로토타입 (아직 완전히 오프라인이 아님) 📱XSPACEbreakX
(참고: Arch(ARL) 또는 Ubuntu(UBT)와 같은 특정 Linux 배포판에는 일반 Linux 🐧 기호가 표시됩니다. 자세한 차이점은 설치 가이드에서 다룰 수 있습니다.)
<상세>
{ find . -maxdepth 1 -type f \( -name "dictation_service.py" -o -name "get_suggestions.py" \) ; find . -path "./.venv" -prune -o -path "./.env" -prune -o -path "./backup" -prune -o -path "./LanguageTool-6.6" -prune -o -type f \( -name "*.bat" -o -name "*.ahk" -o -name "*.ps1" \) -print | grep -vE "make.bat|notification_watcher.ahk"; }
</세부사항>
그래픽을 통해 뒤에 무엇이 있는지 확인하세요.¶

XSPACEbreakX
사용 모델:¶
권장 사항: Mirror https://github.com/sl5net/SL5-aura-service/releases/tag/v0.2.0.1의 모델을 사용하십시오(아마도 더 빠름).
이 압축된 모델은 ‘models/’ 폴더에 저장되어야 합니다.
mv vosk-model-*.zip 모델/
모델 |
사이즈 |
단어 오류율/속도 |
메모 |
라이센스 |
|---|---|---|---|---|
1.8G |
5.69(librispeech 테스트-클린) |
정확한 일반 미국 영어 모델 |
아파치 2.0 |
|
1.9G |
9.83(Tuda-de 테스트) |
전화 통신 및 서버 분야의 대형 독일 모델 |
아파치 2.0 |
이 표에는 크기, 단어 오류율 또는 속도, 참고 사항, 라이센스 정보를 포함하여 다양한 Vosk 모델에 대한 개요가 제공됩니다.
Vosk 모델: Vosk-Model List
**언어 도구:**XSPACEbreakX (6.6) https://languagetool.org/download/
LanguageTool 라이센스: GNU Lesser General Public License (LGPL) v2.1 or later
프로젝트 지원¶
이 도구가 유용하다고 생각하시면 커피 한 잔 구입해 보시기 바랍니다! 귀하의 지원은 향후 개선을 촉진하는 데 도움이 됩니다.
