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 モデルで各単語/トークンの正確なタイミング情報を提供。