Speech Core

音声エージェント向けのオープンソース C++17 音声エンジン — 音声区間検出、バッチおよびリアルタイムストリーミング音声認識、話者ダイアライゼーション、音声合成のすべてが Linux・Windows・Android 上でオンデバイスで動作します。Apache 2.0。

Speech Core とは

Speech Core は小さなオーケストレーションコア — ステートマシン、ターン検出、割り込み処理、音声ユーティリティを ML 依存ゼロで提供 — に、音声モデル向けの抽象インターフェース群を加えたものです。推論はローカルの CPU 上で実行され、音声がマシンの外に出ることはなく、推論時に Python は不要です。モデル推論は、個別に有効化できる 2 つの交換可能なバックエンドを通じたオプトイン方式です。インターフェースの独自実装を持ち込むこともできます。

プラットフォームとバックエンド

バックエンドプラットフォームハードウェアアクセラレーション
ONNX Runtime (SPEECH_CORE_WITH_ONNX)Linux、macOS、Windows、AndroidAndroid では NNAPI、Qualcomm Linux では QNN、オプションで NVIDIA CUDA / TensorRT(-DSPEECH_CORE_WITH_CUDA=ON
LiteRT (SPEECH_CORE_WITH_LITERT)Linux x86_64、Windows x86_64、Android、macOS arm64現在は CPU

バックエンドはどちらか一方でも、両方でも、なしでも構いません — オーケストレーションコアは ML ランタイムなしでビルドできます。

対応モデル

モデルタスクONNXLiteRT
Silero VAD v5音声区間検出
Parakeet TDT v3 (0.6B)音声認識(114 言語)
Nemotron Speech Streaming (0.6B)ストリーミング音声認識(英語)
Nemotron-3.5 ASR Streaming Multilingual (0.6B)ストリーミング音声認識(多言語、プロンプト条件付け)
Omnilingual ASR CTC (300M)音声認識(多言語)
Pyannote Segmentation 3.0ダイアライゼーション(セグメンテーション)
WeSpeaker ResNet34-LM話者embedding
VoxCPM2 (2B)音声合成(48 kHz、音声クローン)
Kokoro 82M音声合成
DeepFilterNet3音声強調
PersonaPlex 7Bフルデュプレックス音声間変換(CUDA)

クイックスタート

コアと LiteRT バックエンドをビルドします(ランタイムライブラリは ai-edge-litert wheel から抽出されます — TensorFlow のビルドは不要):

git clone https://github.com/soniqo/speech-core && cd speech-core
scripts/fetch_litert.sh build/litert
cmake -B build -DCMAKE_BUILD_TYPE=Release \
    -DSPEECH_CORE_WITH_LITERT=ON -DLITERT_DIR=$PWD/build/litert
cmake --build build

次に、必要なターゲットをリンクします:

target_link_libraries(my_app PRIVATE speech_core)                            # orchestration only
target_link_libraries(my_app PRIVATE speech_core speech_core_models)         # + ONNX models
target_link_libraries(my_app PRIVATE speech_core speech_core_models_litert)  # + LiteRT models

音声バッファの文字起こしは数行で書けます:

#include <speech_core/models/litert_parakeet_stt.h>

speech_core::LiteRTParakeetStt stt(
    "parakeet-encoder.tflite", "parakeet-decoder-joint.tflite", "vocab.json");

auto r = stt.transcribe(audio, n_samples, 16000);   // r.text / r.language / r.confidence
組み込みおよび車載 Linux

リファレンス Linux ビルド — 小さな C ABI を持つ libspeech.so、ALSA デモ CLI、transcribe/synthesize/phonemize ツール — は examples/linux にあります。組み込み ARM64(Yocto、Qualcomm SA8295P / SA8255P)と任意の Linux 開発マシンを対象としています。セットアップ手順は Linux のはじめにガイドを参照してください。

Android や Apple 向けの開発ですか?

Android では speech-android を使用してください — Speech Core を JNI ブリッジの背後にパッケージした Kotlin SDK です(implementation("audio.soniqo:speech:0.0.9"))。macOS と iOS では、CoreML、MLX、Apple Neural Engine 上でモデルを実行する speech-swift を使用してください。

ドキュメント

フィードバック

github.com/soniqo/speech-core/issues で issue を開くか、Discord に参加してください。