yazinsai/tilawa
Offline Quran verse recognition — identify surah and ayah from audio. (Formerly offline-tarteel; renamed to Tilawa.)
해결하는 문제
Tilawa는 디바이스 내에서 완전히 실시간으로 코란 낭독을 인식할 수 있는 방법을 제공합니다. 추론 시 네트워크 연결이 필요 없으며, 개발자는 특정 수라와 아야(성구)에 음성 입력을 매핑할 수 있는 음성 인식 기능을 통합할 수 있습니다.
작동 방식
이 프로젝트는 ONNX Runtime을 사용하여 웹, 모바일(React Native), Node.js에서 머신러닝 모델을 로컬에서 실행합니다. 주로 두 가지 엔진을 제공합니다:
- Zipformer: 기본 스트리밍 엔진으로, 타지위드-포네임 어휘를 사용하여 지속적인 인식을 제공합니다.
- FastConformer: 단일 스트립트 전사 또는 원시 아랍어 텍스트 출력에 사용되는 대안 엔진입니다.
두 엔진 모두 16 kHz 모노 오디오를 처리하며, verse_match (성구가 확신 있게 식별된 경우) 및 word_progress (단어 수준의 정렬)와 같은 이벤트를 발생시킵니다.
대상 사용자
오프라인, 저지연 음성 인식, 성구 추적, 낭독 보정 기능을 필요로 하는 코란 앱을 개발하는 개발자들입니다.
주요 특징
- 완전히 디바이스 내부: 추론 시 네트워크 연결이 필요 없습니다.
- 네이티브 종속성 없음: 핵심 라이브러리는 순수 TypeScript로 작성되었으며, 타겟 플랫폼의 ONNX 런타임만 필요합니다.
- 실시간 스트리밍:
feed()메서드를 통해 스트리밍 오디오 입력을 지원합니다. - 낭독 보정: 구조적 규칙에 따라 건너뛴 아야나 대체된 단어를 탐지할 수 있는 "보정 모드"를 포함합니다.
- 크로스 플랫폼: 브라우저, Node.js, React Native와 호환됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트