概要
transcribe.cppは、ggmlベースの高速・高精度な音声認識ライブラリ。 16ファミリー60種以上の最新ASRモデルに対応し、Vulkan/Metal/CUDA等によるGPUアクセラレーションを実現。 各モデルは数値検証・WERテスト済みで信頼性が高い。 Python・JavaScript・Rust・ObjC/Swift向け公式バインディングを用意。 ローカル音声認識の普及と開発者体験の向上を目指すプロジェクト。
transcribe.cppの紹介
- transcribe.cpp は ggml ベースの最新音声認識(ASR)ライブラリ
- Handy アプリの開発・配布経験から生まれたクロスプラットフォーム対応
- v0.1.0 リリース段階のため、バグ報告・改善要望歓迎
- Handy-computer HF orgで公開されたすべてのモデルを数値検証・WERテスト済み
- GPUアクセラレーション (Vulkan/Metal/CUDA/TinyBLAS)対応
- Mac/Windows/Linuxで動作
- Python/JavaScript/TypeScript/Rust/ObjC/Swift 向け公式バインディング提供
- whisper.cpp のバイナリ互換性を維持し、置き換え可能
開発の動機
- 現行ASR推論スタック(whisper.cpp/ONNX)のクロスプラットフォーム配布の難しさ
- Apple向けにはMLXもあるが、複数エンジン・モデル変換が必要
- ONNXはCPUのみでパフォーマンス不足
- 他のライブラリは信頼性や将来性が不明
- 信頼できる推論エンジン と 簡単な組み込み を重視
- ggml は活発なコミュニティと優れた配布ストーリーを持つため採用
特徴とサポート範囲
- 16ファミリー・60以上のASRモデル 対応、今後も追加予定
- Vulkan/Metal/CUDA/TinyBLAS による高速化
- ストリーミング・バッチ推論 両対応
- whisper.cpp 互換性を維持しつつ、同等のパフォーマンス
- 数値検証 ・ WERテスト による信頼性確保
- バインディング はRustを含む4言語で公式サポート
- Handy の人気・ニーズを背景に今後もメンテナンス継続予定
モデル検証とベンチマーク
- すべてのモデルを リファレンス実装 と比較し 数値検証
- WERスイープ で出力の正確性を確認
- ベンチマーク結果は transcribe.cppリポジトリ と Hugging Face に公開
- Ryzen 4750U(CPU+Vulkan)やMac M4 Maxで実測
ローカル音声認識の普及
- ローカル推論 で高精度な音声認識を実現
- クラウド送信不要、低スペックCPUでもリアルタイム以上の速度
- 消費電力も少なく、将来的なローカル推論普及を見据えた設計
- 配布の容易さ と 組み込みやすさ を重視
感謝と支援
- Mozilla AI (BiRプログラム、Davide氏)による支援
- ggml コミュニティと貢献者への感謝
- Modal からのWERテスト・CUDA検証用クレジット提供
- Blacksmith によるCI/CD支援
- Hugging Face のストレージ・コミュニティ支援
AIの活用
- ggmlベースの大規模エンジン開発に AI支援 を活用
- 本記事の執筆は AI未使用、すべて自身の言葉で記述
今後の展望とコントリビューション呼びかけ
- ローカルASRのさらなる普及・発展
- 未対応ケースや要望については コントリビューション歓迎
- オープンソースの維持・エコシステム貢献への継続的な意欲