altunenes/parakeet-rs
very fast speech-to-text, diarization, streaming (even in CPU) with NVIDIA Parakeet in Rust
What it solves
parakeet-rs는 Rust 라이브러리로, NVIDIA Parakeet 모델과 Cohere Transcribe를 ONNX Runtime을 통해 활용한 빠르고 고성능의 음성 인식(ASR) 및 화자 분리 기능을 제공합니다. 복잡한 AI 모델 배포를 관리할 필요 없이 스트리밍, 다국어 지원, 다중 화자 식별 등 고급 음성‑텍스트 기능을 Rust 애플리케이션에 직접 통합할 수 있습니다.
How it works
이 라이브러리는 ONNX Runtime의 래퍼 역할을 하여 다양한 사전 학습 모델을 실행합니다. 지원되는 모델 아키텍처는 다음과 같습니다.
- CTC/TDT: 오프라인 전사, 토큰 수준 타임스탬프 제공.
- EOU (End-of-Utterance): 실시간 스트리밍 ASR, 화자가 말을 멈추는 시점을 감지.
- Nemotron: 캐시 인식 스트리밍 ASR, 구두점 및 대소문자 지원, 영어 전용 및 다국어 버전 제공.
- Multitalker: 스트리밍 다중 화자 ASR, 전사 결과를 특정 화자에 연결.
- Sortformer: 스트리밍 화자 분리(최대 4명의 화자 발화 시점을 식별).
- Cohere Transcribe: 오프라인 다국어 긴 형식 오디오 전사.
Who it’s for
소프트웨어에 음성 인식 또는 화자 분리를 구현하려는 Rust 개발자를 위한 것입니다. 특히 저지연 스트리밍 ASR이나 CPU, CUDA, TensorRT, WebGPU에서 고성능 로컬 실행을 원하는 경우에 적합합니다.
Highlights
- 다양한 모델 지원: NVIDIA Parakeet와 Cohere 모델을 통합하여 스트리밍 및 오프라인 등 다양한 사용 사례에 대응.
- 하드웨어 가속: CUDA, TensorRT, WebGPU, DirectML, CPU 등 여러 실행 제공자를 지원.
- 대소문자 및 구두점: Nemotron 모델은 적절한 대소문자와 구두점이 포함된 정제된 출력을 제공합니다.
- 화자 귀속: ASR과 Sortformer를 결합해 화자 분리 및 다중 화자 전사를 구현.
- 토큰 수준 타임스탬프: CTC와 TDT 모델에서 각 단어/토큰에 대한 정확한 타이밍 정보를 제공합니다.