speech-core icon

speech-core

speech-coreは、VAD、ストリーミング/バッチSTT、話者分離、TTS、音声エージェント処理を備えたオンデバイス向けC++17ライブラリ。ローカル動作で、推論はONNX RuntimeまたはLiteRTに対応。

speech-core

C++17で実現するオンデバイス音声オーケストレーション

speech-coreは、オンデバイスの音声システムと音声エージェントパイプラインを構築するためのC++17ライブラリです。音声認識、音声合成、音声アクティビティ検出、話者分離、強調、エコーキャンセル、任意の言語モデルフック向けの抽象インターフェースと、オーケストレーションロジックを組み合わせています。

このプロジェクトはCPU上でローカルに動作するよう設計されており、モデル推論は任意のONNX RuntimeまたはLiteRTバックエンドを通じて追加されます。ドキュメントでは、Linux、Windows、Android向けの移植性の高いコアとして位置づけられており、Appleのサポートは別のSwift姉妹ライブラリで提供されます。

コア機能

音声エージェントのオーケストレーション

このライブラリは、オンデバイスの音声処理向けにC++17で音声エージェント処理パイプラインを提供し、ターン検出、割り込み処理、音声ユーティリティ、会話トラッキングを含みます。

1つのコアで複数の音声タスク

同じコアパッケージから、オンデバイスの音声アクティビティ検出、バッチ文字起こし、リアルタイムのストリーミング文字起こし、話者分離、音声合成をサポートします。

柔軟なバックエンド

モデル推論はONNX RuntimeまたはLiteRT経由で任意に有効化でき、ドキュメントには各バックエンドで利用可能な特定のモデルが一覧されています。

インターフェース駆動の設計

オーケストレーション層は抽象インターフェースのみに依存するため、呼び出し側はCPU、GPU、CoreML/MLX、リモートAPIなどの独自実装を差し込めます。

クロスプラットフォーム展開

リポジトリにはLinux、Windows、Android、macOS向けのプラットフォームおよびバックエンドのガイダンスに加え、CUDA、TensorRT、NNAPI、QNNのようなハードウェアアクセラレーション経路の注記も含まれています。

ドキュメント化された統合パターン

ドキュメントのサンプルコードでは、文字起こし、ストリーミングの部分結果、話者分離、TTS合成にC++インターフェースを直接使う方法が示されています。

適用シーン

  • 音声エージェントアプリケーション

    音声を検出し、文字起こしをストリーミングし、イベントをLLMに渡し、音声をクラウドサービスに送らずに応答を生成するローカルアシスタントのパイプラインを構築します。

  • ストリーミング音声認識

    音声がまだ入力中でも部分結果を含む、低遅延の文字起こしをデスクトップアプリやモバイルアプリに追加します。

  • 話者分離ワークフロー

    会議メモ、インタビュー分析、話者分離を意識した後処理のために、音声を話者ごとに区切ります。

  • オンデバイス音声体験

    ローカル音声対話が必要な製品、たとえばオフラインアシスタントや組み込み音声機能にVADとTTSを直接組み込みます。

  • カスタムバックエンド統合

    オーケストレーション層だけを統合し、参照モデルをカスタムのCPU、GPU、CoreML、MLX、またはリモート実装に置き換えます。

Pros and Cons

Pros

  • 音声をクラウドサービスに送らずにローカルで動作するため、オフラインやプライバシー重視のワークフローに適しています。
  • 純粋なC++インターフェースを通じて、オーケストレーションとモデル実装を分離しています。
  • VAD、ストリーミングSTT、話者分離、TTS、音声強調など、複数の音声タスクをサポートします。
  • 2つの差し替え可能なモデルバックエンドを提供しており、対象プラットフォームに合った展開方法を選びやすくなっています。

Cons

  • モデルバックエンドは任意のため、エンドツーエンドの音声機能を使うには、利用者がバックエンドを選んで接続するか、独自実装を用意する必要があります。
  • LiteRTのサポートは現時点でCPUのみとされており、HexagonとGPUのデリゲートはまだC API経由で公開されていないと記載されています。

FAQ

speech-coreは何をするためのものですか?

speech-coreは、ローカルの音声エージェントワークフロー向けに設計されたC++17の音声コアで、モデル実装には任意でONNX RuntimeとLiteRTのバックエンドを利用できます。

どのプラットフォームに対応していますか?

リポジトリではLinux、Windows、Androidの対応が案内されており、AppleのサポートはSwiftの姉妹ライブラリ経由で利用できることも記載されています。

組み込みのモデルバックエンドを使う必要がありますか?

はい。コアのオーケストレーション層はモデルバックエンドなしでも動作し、利用者は独自実装を用意しながら、ONNX、LiteRT、両方、またはどちらも使わない構成を選べます。

どのようなワークフローをカバーしていますか?

ドキュメントでは、バッチ文字起こし、途中結果付きのストリーミング文字起こし、音声アクティビティ検出、話者分離、音声合成、これらを組み合わせた音声エージェント処理が示されています。

Quick Facts

カテゴリ
開発者ツール
言語
C++17
ソース
GitHub: soniqo/speech-core
対応プラットフォーム
Linux, Windows, Android, macOS
バックエンド
ONNX Runtime, LiteRT
デプロイ
オンデバイス / ローカル推論

speech-coreの代替品

QuickQuill icon

QuickQuill

QuickQuillは、macOSで使えるローカル動作の音声入力・文字起こしアプリです。会議の録音、書き起こし、要約、ノート書き出しをクラウドなしで行えます。

Speech to Text Converter icon

Speech to Text Converter

Speech to Text Converter は、ブラウザで使える文字起こしツールです。ライブ音声入力や音声・動画ファイルのアップロードに対応し、短い作業向けの無料プランと、無制限の文字起こし、AI要約、翻訳、話者識別、詳細な書き出し機能を備えたProプランがあります。

Sanota icon

Sanota

Sanotaは、話した思い出や振り返り、インタビューを分かりやすい文章の物語に変えるアプリ。家族史や共有の記憶づくりを、ガイド付きプロンプトと月額・年額プランで支援します。

Carbon Voice icon

Carbon Voice

Carbon Voiceは、チームと個人向けの非同期音声メッセージアプリ。文字起こし、AI要約、端末間アクセスで、通話なしのコミュニケーションを実現します。

Talkpal icon

Talkpal

Talkpalは、130以上の言語でスピーキング、リスニング、ライティング、発音を練習できるAI搭載の語学学習Web・モバイルアプリ。ガイド付きコースやロールプレイ、通話形式の会話練習に対応。

Realtime and audio icon

Realtime and audio

Realtime and audio は、ライブ音声の翻訳、文字起こし、音声生成、音声対応チャットに最適な speech architecture を選ぶための OpenAI API ガイドです。各用途に合う session type、endpoint、接続方法を案内します。