speech-swift

苹果芯片上跑本地语音AI,离线也能用

speech-swift 是一个专为 Apple Silicon 设备打造的 AI 语音工具包,基于 MLX 和 CoreML 框架,提供端侧语音识别(ASR)、文本转语音(TTS)、语音到语音转换、语音活动检测(VAD)以及说话人分离(diarization)等核心能力。它解决了在苹果生态中开发者难以高效集成高性能本地语音功能的问题,充分利用神经引擎和统一内存架构,实现低延迟、离线可用的语音处理。项目采用 Swift 语言编写,面向 iOS 和 macOS 平台,强调设备端推理,保护用户隐私。其核心能力包括:多语言语音识别、自然语音合成、实时语音交互、噪声环境下的语音检测,以及区分不同说话人的会话分析。适合构建语音助手、实时翻译、会议记录、无障碍辅助等应用,为苹果开发者提供了一套原生的、高性能的语音 AI 解决方案。

开源 unknown 音频音乐
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1190
维护状态 活跃
是否开源 是
定价模式 unknown

项目数据

分类音频音乐
开发团队soniqo
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议Apache-2.0
主要语言Swift
技术栈/模型apple-silicon,asr,coreml,ios,macos,mlx,neural-engine,on-device,speaker-diarization,speech-enhancement,speech-recognition,speech-to-speech,swift,text-to-speech,tts,voice-activity-detection
GitHub 星标★ 1190
30天Star增速
HF 下载量
上线时间2026-02-04 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 15 分钟 部署方式:库/依赖 6 步

环境要求

  • Apple Silicon 设备(Mac 或 iOS),项目专为 Apple Silicon 打造
  • Swift / Xcode 工具链,用于 Swift Package Manager 集成
  • 首次使用需要联网,从 HuggingFace 下载模型权重
  • (可选)国内网络环境需准备 HuggingFace 镜像地址

安装与启动步骤

  1. 1确认设备与工具链

    speech-swift 面向 Mac 和 iOS,且只在 Apple Silicon 上本地运行。请确认使用 Apple Silicon 设备并已安装 Xcode / Swift 工具链。

  2. 2添加 SPM 依赖

    在项目的 Package.swift 中把 speech-swift 以分支 main 的方式加进依赖列表。注意这里用 branch: "main"。

    .package(url: "https://github.com/soniqo/speech-swift", branch: "main")
  3. 3声明所需模块

    每个模型都是独立的 SPM library,按需引入即可,不用的模块不会增加体积。下面以流式 ASR 和可选 UI 为例。

    .product(name: "ParakeetStreamingASR", package: "speech-swift"),
    .product(name: "SpeechUI",             package: "speech-swift"),  // optional SwiftUI views
  4. 4三行代码转写音频

    导入模块后调用 fromPretrained() 加载模型,再用 transcribeAudio 把 16kHz 音频采样转成文本。

    import ParakeetStreamingASR
    
    let model = try await ParakeetStreamingASRModel.fromPretrained()
    let text = try model.transcribeAudio(audioSamples, sampleRate: 16000)
  5. 5接入实时流式识别

    调用 transcribeStream 逐段获取识别结果,partial.isFinal 为 true 表示该句已最终确定,否则是临时结果。

    for await partial in model.transcribeStream(audio: samples, sampleRate: 16000) {
        print(partial.isFinal ? "FINAL: (partial.text)" : "... (partial.text)")
    }
  6. 6配置国内镜像

    如果 huggingface.co 访问慢或被墙,设置 HF_ENDPOINT 环境变量改用镜像站点下载模型权重。

    export HF_ENDPOINT=https://hf-mirror.com

关键配置

配置项必填说明示例
HF_ENDPOINT否指定 HuggingFace 镜像地址,加快权重下载https://hf-mirror.com
QWEN3_CACHE_DIR否覆盖 CLI 默认的模型权重缓存目录/your/path/qwen3-cache
cacheDir:否Swift API 中覆盖权重缓存目录的参数cacheDir: /your/path/qwen3-cache
offlineMode否权重已缓存时跳过联网,所有 fromPretrained() 入口都支持offlineMode: true

如何确认成功

首次调用 fromPretrained() 会下载权重并缓存,随后 transcribeAudio 能返回识别文本且控制台无报错,即表示接入成功。

常见问题

Q:模型权重下载到哪里?

A:首次使用时会从 HuggingFace 下载并缓存到 ~/Library/Caches/qwen3-speech/,可用 QWEN3_CACHE_DIR(CLI)或 cacheDir:(Swift API)覆盖。

Q:国内下载很慢或失败怎么办?

A:设置环境变量 HF_ENDPOINT 指向镜像,例如 export HF_ENDPOINT=https://hf-mirror.com 后再运行下载。

Q:可以完全离线使用吗?

A:可以。权重已经缓存后,给所有 fromPretrained() 入口传 offlineMode: true 即可跳过网络请求。

Q:怎么只引入需要的能力?

A:每个模型都是独立的 SPM library(如 Qwen3ASR、KokoroTTS、SpeechVAD 等),在 Package.swift 里只声明用到的 product 即可,不用的不会引入。

Q:有现成的命令行工具吗?

A:README 中 Installation 章节为空,未给出 CLI 安装命令;顶部徽章指向 Homebrew 公式 speech,具体安装方式请以官网文档为准。

注意事项

  • README 的 Installation 章节为空,本文步骤基于 Quick start 与缓存配置章节,完整说明请查阅官网 soniqo.audio 与 docs/inference/cache-and-offline.md。
  • 全部推理在设备端完成:无需云端、无需 API Key,音频数据不会离开设备。
  • 代码示例中的音频变量(audioSamples / samples)需由你通过 AVFoundation 等自行采集,采样率按示例传 16000。
  • iOS 沙盒容器中的缓存路径与 macOS 不同,详见 docs/inference/cache-and-offline.md。

核心亮点

  • 基于 MLX 和 CoreML,充分利用 Apple Silicon 神经引擎,推理速度快
  • 覆盖 ASR、TTS、VAD、说话人分离等完整语音链路,开箱即用
  • 纯 Swift 实现,与 iOS/macOS 生态深度集成,开发体验友好

不足之处

  • 仅支持 Apple Silicon 设备,无法在旧款 Intel Mac 或非苹果平台使用
  • 文档和示例相对较少,社区生态尚在成长中

适用场景

  • 开发离线语音助手或智能家居控制应用
  • 构建实时会议记录与说话人分离工具
  • 为无障碍应用提供本地语音识别与合成能力

替代项目

whisper.cpp、Vosk、Sherpa-ONNX

项目介绍

speech-swift 是语音识别领域的开源项目,由 soniqo 开发,是 2026 年新上线的项目。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,190)位列前 30%,在语音识别分类中处于中上游。

近 45 天,它的 GitHub 星标从 1,111 增加到 1,190,净增 79。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。从国内网络环境看,可直接访问。

它主要面向的使用场景是:开发离线语音助手或智能家居控制应用。同类可对比的替代方案包括 whisper.cpp、Vosk、Sherpa-ONNX。

上一篇:StreamSpeech

下一篇:botium-speech-processing

同类项目推荐

obs-localvocal 开源

直播录屏时,本地AI实时生成字幕,保护隐私零延迟

OBS plugin for local speech recognition and captioning using AI

★ 1616 2026-09-10
LiveCaptions-Translator 开源

实时捕获系统音频,一键翻译成你懂的语言

Lightweight and powerful real-time audio/speech translation tool based on Windows Li···

★ 3755 2026-08-10
speechbrain 开源

一站式 PyTorch 语音工具箱,快速搞定识别、说话人验证等任务

A PyTorch-based Speech Toolkit

★ 11834 2026-08-26
whisper-diarization 开源

给语音转写加上说话人标签,会议记录一目了然

Automatic Speech Recognition with Speaker Diarization based on OpenAI Whisper

★ 5657 2026-08-13