Repolode
nyosegawa

nyosegawa/speech.cpp

基于 ggml 的 C++ 语音工具,支持语音合成、语音识别和语音活动检测,可在 Metal、Vulkan 或 CPU 上运行。

可替代:OpenAI Whisper API

Star
368
Fork
23
未关闭 Issue
12
最近提交
6天前

这是什么?

speech.cpp 提供一个 `speech` 命令和一个共享库 `libspeech`,通过统一的 C API 实现语音合成、语音识别、语音活动检测和说话人分离。它基于 ggml,可在 CPU、Metal 和 Vulkan 上运行。每个模型以单个 GGUF 文件的形式按名称下载,文件内包含对应的音频编解码器,无需安装 Python 或 CUDA。

合成模型包括 Qwen3-TTS、Irodori-TTS 和 Drama 3;识别模型包括 Qwen3-ASR、ReazonSpeech、parakeet、Haas 和 Nemotron;另有 Silero VAD 用于检测语音片段,Nemotron diarization 用于区分说话人。`speech serve` 通过本地 HTTP 提供 OpenAI 音频接口的语音合成与转写端点,以及 Realtime 转写;`speech asr --live` 可以边说边转写麦克风输入。

对于程序集成,`speech worker` 通过 stdin/stdout 的 JSON Lines 协议提供已加载模型的服务,应用也可以直接链接库并调用 C API。安装脚本支持 Apple 芯片 macOS、Windows x64 和 x86-64 Linux。

核心功能

  • 01支持多个语音合成模型系列及具名音色。
  • 02语音识别支持语言检测、时间戳和说话人标注。
  • 03通过 `speech asr --live` 实现麦克风实时转写。
  • 04在本地提供兼容 OpenAI 的音频和 Realtime 转写接口。
  • 05可在 Metal、Vulkan 或 CPU 上运行,无需 Python 或 CUDA。

适用场景

  • 让已使用 OpenAI 音频接口的应用改用本地语音合成或转写。
  • 构建可实时转写麦克风输入的语音助手。
  • 在个人电脑上离线转写日语或多语言录音。
  • 通过 C API 或 JSON Lines worker 将语音模型嵌入其他程序。

快速上手

  1. 1

    使用 README 中的官方安装脚本安装 speech

  2. 2

    用 Qwen3-TTS 合成一句话(首次运行会自动下载模型)

    speech tts qwen3-tts-0.6b --voice ryan -o hello.wav "Hello. It will be sunny in Tokyo tomorrow."
  3. 3

    用 Qwen3-ASR 转写该 WAVE 文件

    speech asr qwen3-asr-0.6b hello.wav
  4. 4

    打开本地网页,选择模型、朗读并转写

    speech serve --open

使用前须知

  • 安装脚本仅支持 Apple silicon 的 macOS、x86-64 的 Linux 和 x64 的 Windows;Intel Mac 需要从源码构建。
  • 服务器只监听 127.0.0.1 且没有身份验证。
  • 部分模型体积很大,例如 drama-3 为 20.8 GB,nemotron-3.5-transcribe 为 19.0 GB。

收录于专题

标签

常见问题

speech.cpp 是什么?
基于 ggml 的 C++ 语音工具,支持语音合成、语音识别和语音活动检测,可在 Metal、Vulkan 或 CPU 上运行。 speech.cpp 提供一个 `speech` 命令和一个共享库 `libspeech`,通过统一的 C API 实现语音合成、语音识别、语音活动检测和说话人分离。它基于 ggml,可在 CPU、Metal 和 Vulkan 上运行。每个模型以单个 GGUF 文件的形式按名称下载,文件内包含对应的音频编解码器,无需安装 Python 或 CUDA。
speech.cpp 可以免费使用吗?用的什么许可证?
speech.cpp 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
speech.cpp 还在维护吗?
活跃维护中。speech.cpp 最近一次提交是在 2026年11月1日。
speech.cpp 适合用来做什么?
让已使用 OpenAI 音频接口的应用改用本地语音合成或转写。 构建可实时转写麦克风输入的语音助手。 在个人电脑上离线转写日语或多语言录音。 通过 C API 或 JSON Lines worker 将语音模型嵌入其他程序。
speech.cpp 怎么安装和运行?
使用 README 中的官方安装脚本安装 speech 用 Qwen3-TTS 合成一句话(首次运行会自动下载模型): speech tts qwen3-tts-0.6b --voice ryan -o hello.wav "Hello. It will be sunny in Tokyo tomorrow." 用 Qwen3-ASR 转写该 WAVE 文件: speech asr qwen3-asr-0.6b hello.wav 打开本地网页,选择模型、朗读并转写: speech serve --open
在哪里获取 speech.cpp?
源代码和安装说明在 GitHub 上:https://github.com/nyosegawa/speech.cpp

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目