daanzu/kaldi-active-grammar
Python Kaldi speech recognition with grammars that can be set active/inactive dynamically at decode-time
kaldi‑active‑grammar – Python용 동적 문법 음성 인식
무엇인가요
- Kaldi ASR 엔진을 래핑하고 활성 문법 지원을 추가하는 Python 패키지입니다. 문법(명령어 문장 모음)은 각 발화마다 켜거나 끌 수 있어, 하류 시스템인 Dragonfly 또는 Caster가 현재 문맥에서 의미 있는 명령어만 듣도록 할 수 있습니다.
왜 중요한가요
- 표준 Kaldi 디코딩 그래프는 정적이며 사전에 오프라인으로 컴파일해야 하므로, 문맥 기반 명령어 제어가 번거롭습니다. 이 라이브러리는 여러 작은 문법을 한 번만 컴파일한 후, 디코딩 시점에 조합하여 관련된 것만 활성화할 수 있게 해줍니다. 활성화된 규칙이 적을수록 혼란이 줄어들고, 인식 정확도가 높아집니다.
주요 기능 (README에 기재된 대로)
- 바이너리 포함 – Windows, Linux, macOS용 플랫폼별 웨일이 필요한 Kaldi 네이티브 라이브러리를 포함하므로, Kaldi를 직접 빌드할 필요가 없습니다.
- 사전 학습된 영어 모델 – 약 3000시간의 오픈소스 오디오로 학습 완료, 즉시 사용 가능; 모델 파일은 릴리스와 함께 배포됩니다.
- 일반 문장 입력 모드 – 제공된
HCLG.fst또는 번들된 모델을 사용해 자유형 음성 인식(문장 입력)으로 백업할 수 있습니다. - Dragonfly / Caster 백엔드 – 인기 있는 Dragonfly 명령 프레임워크(드래곤플라이 v0.15.0에서 업스트림 병합됨)용 Kaldi 엔진 구현 및 Caster 음성 제어 시스템(v0.6.0 이상) 지원.
- 동적 활성화 API – 다음 발화에 활성화할 규칙 ID 목록을 제공하는 저수준 Python API; 빈 목록은 모든 규칙 비활성화,
None은 이전 발화 상태를 유지합니다. - 발음 처리 – 오프라인 단어 생성용 옵션 G2P(
g2p_en) 또는requests를 통한 온라인 조회 가능. - 자체 포함 Windows 번들 – Python, 라이브러리, 모델을 포함한 zip 파일(
kaldi‑dragonfly‑winpython*)로, "압축 해제 후 바로 실행" 경험 제공.
일반 워크플로우
- 웨일 설치:
pip install kaldi-active-grammar(또는pip install "dragonfly2[kaldi]"로 Dragonfly 백엔드 포함 설치). - GitHub 릴리스 페이지에서 사전 학습된 모델을 다운로드하고, 라이브러리가 해당 디렉터리를 가리키도록 설정.
Compiler/KaldiRule클래스를 사용하거나, 더 편리한 Dragonfly의 규칙 구문을 통해 문법(규칙)을 정의.- 각 발화마다 활성화된 규칙 ID 목록을 디코더에 전달하고, 인식된 규칙 텍스트를 수신.
빠르게 시작하기 (Windows)
kaldi‑dragonfly‑winpythonzip 번들을 하나 다운로드하여 압축 해제하고, 제공된 데모 스크립트를 실행하세요. 별도의 Python 또는 Kaldi 설치가 필요 없습니다.
설치 참고 사항
- 64비트 Python 3.6 이상 필요.
- Windows에서는 VC 2017+ 리디스트리뷰터(
VCRUNTIME140.dll)가 필요할 수 있습니다. - 소스 배포판은 제공되지 않으며, 바이너리 웨일을 사용하거나 문서에 기재된 포크를 통해 Kaldi를 직접 빌드해야 합니다.
문서 및 리소스
- 아키텍처 –
docs/kaldi-fork-architecture.md - 소스에서 빌드하기 –
BUILDING.md - 테스트 –
TESTING.md - 예제 –
examples/(일반 문장 입력, 실시간 마이크, 혼합 명령/문장 입력) - Dragonfly 통합 가이드 – README 및 Dragonfly 문서에서 링크됨.
누구를 위한가요
- 문맥에 따라 명령어 세트가 필요한 음성 제어 데스크톱 애플리케이션을 개발하는 개발자.
- 저지연 ASR에서 동적 문법 선택을 실험하는 연구자.
- Windows, Linux, macOS에서 즉시 실행 가능한 Kaldi 기반 음성 인식기 원하는 애호가.
라이선스
- AGPL‑3.0 (상용 사용 시 라이선스 준수 또는 저자와 별도 협의 필요).
위 모든 세부 정보는 리포지토리의 README에서 직접 인용; 추가 기능은 추측하지 않음.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트