Speech Core

面向语音代理的开源 C++17 语音引擎 — 语音活动检测、批量与实时流式语音转文字、说话人分离和文本转语音,全部在 Linux、Windows 和 Android 上端侧运行。Apache 2.0。

这是什么

Speech Core 是一个小巧的编排核心 — 状态机、轮次检测、打断处理、音频工具,零 ML 依赖 — 外加一组面向语音模型的抽象接口。推理在本地 CPU 上运行;音频从不离开设备,推理阶段也没有任何 Python。模型推理通过两个可互换的后端按需启用,二者可以独立开启,你也可以自行实现这些接口。

平台与后端

后端平台硬件加速
ONNX RuntimeSPEECH_CORE_WITH_ONNXLinux、macOS、Windows、AndroidAndroid 上的 NNAPI,Qualcomm Linux 上的 QNN,可选 NVIDIA CUDA / TensorRT(-DSPEECH_CORE_WITH_CUDA=ON
LiteRTSPEECH_CORE_WITH_LITERTLinux 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,以及转写/合成/音素化工具 — 位于 examples/linux。它面向嵌入式 ARM64(Yocto、Qualcomm SA8295P / SA8255P)以及任何 Linux 开发机。设置步骤见 Linux 快速开始指南

面向 Android 或 Apple 开发?

在 Android 上,请使用 speech-android — 一个通过 JNI 桥接层封装 Speech Core 的 Kotlin SDK(implementation("audio.soniqo:speech:0.0.9"))。在 macOS 和 iOS 上,请使用 speech-swift,它通过 CoreML、MLX 和 Apple Neural Engine 运行这些模型。

文档

反馈

github.com/soniqo/speech-core/issues 提交 issue,或加入 Discord