FluidAudio

在苹果设备上本地运行前沿音频 AI,实现离线语音交互。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 音频音乐 🍴 复刻 504 🐛 待处理 6 👀 关注 42
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 3281
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,完全免费,可自行部署使用。

项目预览

FluidAudio 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类音频音乐
开发团队FluidInference
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0 许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Swift
技术栈/模型ane,asr,audio,automatic-speech-recognition,avfoundation,coreml,ios,macos,nvidia,parakeet,real-time,speaker-diarization,speaker-embedding,speaker-identification,speaker-recognition,speech-to-text,swift,vad,voice-activity-detection
GitHub 星标★ 3281
上线时间2025-06-21 00:00:00
代码更新2026-11-08
仓库体积291.4 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-10
浏览次数7

项目介绍

FluidAudio 是一个面向 iOS/macOS 开发者的 Swift 框架,旨在将前沿的 CoreML 音频模型无缝集成到原生应用中。它解决了开发者难以在 Apple 平台上高效部署复杂音频 AI 模型(如语音识别、语音合成)的痛点,通过封装 SOTA 开源模型(如 Parakeet、Whisper 等),提供开箱即用的 API。其核心能力包括文本转语音(TTS)、语音转文本(ASR)、实时语音活动检测(VAD)和说话人分离(Speaker Diarization),并针对 Apple Neural Engine(ANE)和 CoreML 进行了深度优化,实现低延迟、高性能的本地推理,无需云端依赖,保障用户隐私。项目采用 Swift 编写,支持 iOS/macOS,并提供了与 NVIDIA 工具链的兼容路径,方便模型转换与部署。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-10 · 当前星标 ★ 3281

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:入门 约 10 分钟 部署方式:库/依赖 8 步

环境要求

  • macOS 系统并安装 Xcode(README 以 Xcode 方式添加包)
  • 项目使用 Swift Package Manager 管理依赖,或使用 CocoaPods(推荐搭配 cocoapods-spm)
  • 命令行示例需本机可执行 swift run(Swift 工具链)
  • 目标平台为 iOS/macOS 等 Apple 设备,推理运行在 ANE/CoreML

安装与启动步骤

  1. 1准备开发环境

    在 macOS 上打开 Xcode 新建或打开一个 iOS/macOS 工程,FluidAudio 以 Swift Package 形式接入。

  2. 2添加 SPM 依赖

    在 Package.swift 的 dependencies 中加入 FluidAudio 包,版本从 0.12.4 起。

    dependencies: [
        .package(url: "https://github.com/FluidInference/FluidAudio.git", from: "0.12.4"),
    ]
  3. 3Xcode 添加包

    把 FluidAudio 包加入项目,在 Add Package 对话框中选择 FluidAudio,并加入你的 app target。

  4. 4引入产品

    在 target 依赖里声明 FluidAudio 产品,之后代码中即可 import FluidAudio。

    .product(name: "FluidAudio", package: "FluidAudio")
  5. 5可选:CocoaPods

    CocoaPods 用户建议搭配 cocoapods-spm;必要时可直接使用官方 podspec。

    pod 'FluidAudio', '~> 0.12.4'
  6. 6跑通 ASR 转写

    下载并加载 ASR 模型后转写音频样本,打印识别出的文本。

    import FluidAudio
    
    Task {
        let models = try await AsrModels.downloadAndLoad(version: .v3)
        let asrManager = AsrManager(config: .default)
        try await asrManager.loadModels(models)
        let result = try await asrManager.transcribe(samples)
        print("Transcription: \(result.text)")
    }
  7. 7命令行转写

    在 FluidAudio 包目录下用 CLI 转写音频文件,纯英文场景可用 v2 提升召回。

    swift run fluidaudiocli transcribe audio.wav --model-version v2
  8. 8跑说话人分离基准

    离线模式自动下载模型,对 AMI 单文件做基准并输出 DER/JER/RTFx 结果。

    swift run fluidaudiocli diarization-benchmark --mode offline --auto-download --single-file ES2004a --threshold 0.6 --output offline_results.json

关键配置

配置项必填说明示例
version否ASR 模型版本,默认 .v3,纯英文可切 .v2.v3
AsrManager config否ASR 管理器配置,示例使用默认配置.default
defaultThreshold否VadConfig 中的语音判定阈值0.75
minSpeechDuration否VAD 分段最短语音时长(秒)0.25
minSilenceDuration否VAD 分段最短静音时长(秒)0.4
--auto-download否基准测试时自动下载所需模型资产--auto-download

如何确认成功

控制台打印 Transcription: 文本;benchmark 会生成 offline_results.json。

常见问题

Q:模型需要手动下载吗?

A:不需要。AsrModels.downloadAndLoad 会自动下载并加载模型;跑 diarization-benchmark 时加 --auto-download 也会自动下载。

Q:该用 v2 还是 v3 模型?

A:默认用 .v3;README 说明纯英文场景可切到 .v2 以获得更高召回。

Q:推理会用 GPU 吗?

A:不会。模型推理跑在 Apple Neural Engine 上,尽量降低 CPU 占用且不使用 GPU/MPS。

Q:能用在 Android 或服务器上吗?

A:README 只说明这是面向 iOS/macOS 的 Swift SDK,依赖 CoreML/ANE,未提及其它平台支持。

注意事项

  • SPM 依赖版本写作 from "0.12.4",CocoaPods 使用 ~> 0.12.4,请勿低于该版本。
  • 录音或音频文件在转写前需重采样,README 示例用 AudioConverter().resampleAudioFile 处理文件。
  • 包内模型均为 MIT/Apache 2.0 开源许可,适合本地端侧部署。
  • 建议在 Apple Silicon 设备上运行,以充分利用 ANE 的低延迟特性。

核心亮点

  • 深度集成 CoreML/ANE,推理速度快,功耗低
  • 覆盖 TTS、ASR、VAD、说话人分离等完整音频 AI 能力
  • 基于 SOTA 开源模型(如 Parakeet),准确率高

不足之处

  • 仅支持 Apple 平台,无法跨平台使用
  • 文档/社区待观察

适用场景

  • 在 iOS 应用中实现离线语音助手
  • 为播客或会议应用提供实时转写与说话人标记
  • 构建隐私优先的语音交互界面

替代项目

whisper.cpp、Vosk、Speech Framework (Apple)

上一篇:NeuroRVQ

下一篇:voicebox

同类项目推荐

Cross-Speaker-Emotion-Transfer 开源

让任意声音说出带指定情感的语音,跨说话人情感迁移。

PyTorch Implementation of ByteDance's Cross-speaker Emotion Transfer Based on Speake···

★ 193 2026-08-09
AndroidMaryTTS 开源

在 Android 上离线生成语音,保护隐私且支持自定义声音。

Android MARY TTS - an open-source, offline HMM-Based text-to-speech synthesis system···

★ 200 2026-08-09
speaker_adapted_tts 开源

1分钟语音样本,10分钟训练出你的专属TTS模型

Making a TTS model with 1 minute of speech samples within 10 minutes

★ 184 2026-08-09
PolyLangVITS 开源

一个模型搞定中英日韩语音合成,开箱即用

Multi-speaker Speech Synthesis Using VITS(KO, JA, EN, ZH)

★ 75 2026-08-09
Dia-TTS-Server 开源

自托管对话式语音合成,一键部署,支持声音克隆和 OpenAI API。

Self-host the powerful Dia TTS model. This server offers a user-friendly Web UI, fle···

★ 356 2026-08-09
StyleTTS2 开源

一句话集成人类级 TTS 与声音克隆,快速生成自然语音。

Pip installable package for StyleTTS 2 human-level text-to-speech and voice cloning

★ 158 2026-08-09
CapCut-TTS 开源

免费把剪映 TTS 变成 API,快速接入你的应用

CapCut TTS Wrapper API - CapCut API free tts

★ 114 2026-08-09
TTS-Voice-Wizard 开源

让 VRChat 虚拟形象实时显示说话文字并语音回复

Speech to Text to Speech. Song now playing. Sends text as OSC messages to VRChat to ···

★ 813 2026-08-09
RHVoice 开源

用开源引擎,把俄语等文字流畅念出来

a free and open source speech synthesizer for Russian and other languages

★ 1856 2026-08-09