BlackHole macOS 音频回环驱动技术分析

一、新闻概述

1. 标题

BlackHole:现代化的 macOS 虚拟音频回环驱动程序

2. 发布时间

2025 年 2 月 8 日(v0.6.1 最新版本)

3. 来源

GitHub 开源项目 ExistentialAudio/BlackHole

二、核心内容

1. 事件摘要

A. 主要内容

BlackHole 是一个开源的 macOS 虚拟音频回环驱动程序,允许应用程序之间以零额外延迟传递音频。

B. 核心亮点

  • 零额外延迟的音频传输
  • 支持多种声道配置(2、16、64、128、256 声道)
  • 支持 8kHz 到 768kHz 的广泛采样率
  • 完全开源,GPL-3.0 许可证
  • 无需内核扩展或系统安全修改

2. 关键信息

A. 版本号

v0.6.1(2025 年 2 月 8 日发布)

B. 重要数据

  • GitHub Stars:18,200+
  • Fork:756
  • 贡献者:20 人
  • 代码语言:C(96%)、Shell(3%)、HTML(1%)

C. 涉及产品

  • macOS 10.10 Yosemite 及更新版本
  • Intel 和 Apple Silicon 架构

3. 背景介绍

A. 项目定位

BlackHole 是一个虚拟音频设备驱动,工作在 macOS Core Audio 层,实现应用程序间的音频路由功能。

B. 相关上下文

类似功能商业软件包括 Loopback(Rogue Amoeba,售价 $100+),BlackHole 提供免费开源替代方案。

三、详细报道

1. 主要内容

A. 功能特性

  • 多声道版本:支持 2、16、64、128、256 声道版本
  • 可定制性:支持自定义声道数量、延迟、隐藏设备
  • 镜像设备:支持创建镜像设备以实现隐藏输入或输出
  • 广泛采样率支持:8kHz、16kHz、44.1kHz、48kHz、88.2kHz、96kHz、176.4kHz、192kHz、352.8kHz、384kHz、705.6kHz、768kHz

B. 技术优势

  • 零延迟:无额外驱动延迟
  • 兼容性强:兼容 macOS 10.10+,支持 Intel 和 Apple Silicon
  • 安全设计:无需内核扩展或系统安全修改
  • 32 位浮点深度:使用 macOS Core Audio 原生格式

C. 安装方式

  • 官方安装包:从 existential.audio 下载
  • Homebrew:支持 blackhole-2ch、blackhole-16ch、blackhole-64ch

2. 技术细节

A. 系统架构

graph TB
    subgraph "应用程序层"
        A1[音频源应用]
        A2[音频接收应用]
    end

    subgraph "Core Audio 框架"
        B[HAL Audio Plug-Ins]
    end

    subgraph "BlackHole 驱动"
        C[BlackHoleXch.driver]
        C1[虚拟输入设备]
        C2[虚拟输出设备]
    end

    subgraph "系统音频服务"
        D[CoreAudio 守护进程]
    end

    A1 -->|输出| C2
    C2 -->|内部路由| C1
    C1 -->|输入| A2
    C1 <-->|HAL API| B
    D <-->|管理| C

BlackHole 系统架构

B. 工作原理

sequenceDiagram
    participant App1 as 音频源应用
    participant BH as BlackHole 驱动
    participant CoreAudio as Core Audio 系统
    participant App2 as 音频接收应用

    App1->>CoreAudio: 设置输出设备为 BlackHole
    App2->>CoreAudio: 设置输入设备为 BlackHole

    App1->>BH: 写入音频数据
    Note over BH: 零延迟内部路由
    BH->>App2: 读取音频数据

    loop 持续音频流
        App1->>BH: 音频帧
        BH->>App2: 音频帧
    end

BlackHole 工作流程

C. 技术实现特点

  1. 驱动结构

    • 驱动位置:/Library/Audio/Plug-Ins/HAL/
    • 驱动格式:.driver bundle
    • 加载方式:CoreAudio 守护进程自动识别
  2. 音频格式

    • 位深度:32 位浮点
    • 采样率:8kHz - 768kHz 可配置
    • 声道数:2 - 256 可配置
  3. 延迟控制

    • kLatency_Frame_Size 参数控制
    • 最大延迟:65536 帧
    • 零额外延迟设计

3. 应用场景

A. 音频录制

  • 录制系统音频输出
  • 应用间音频捕获
  • 播客制作

B. 音频路由

  • Logic Pro X/GarageBand 到视频会议
  • 音乐软件流式传输
  • 音频处理链路搭建

C. 专业应用

  • DAW 软件集成
  • 音频制作工作流
  • 实时音频处理

4. 开发者集成

A. 构建定制版本

支持通过预编译常量定制:

  • kDriver_Name:驱动名称
  • kPlugIn_BundleID:Bundle ID
  • kDevice_Name:设备名称
  • kNumber_Of_Channels:声道数
  • kSampleRates:采样率列表

B. 许可要求

  • GPLv3 项目:免费使用
  • 商业项目:需要联系获取许可证

四、影响分析

1. 行业影响

A. 竞争格局

  • 提供了 Loopback 等商业软件的免费替代
  • 推动虚拟音频驱动技术普及

B. 技术趋势

  • 零延迟音频处理成为可能
  • 开源音频工具生态日益完善

2. 用户影响

A. 音频专业人员

  • 降低音频制作成本
  • 提供灵活的音频路由方案

B. 普通用户

  • 简化系统音频录制
  • 免费获取专业级功能

C. 开发者

  • 可集成到自定义音频应用
  • 学习音频驱动开发

3. 技术趋势

A. macOS 音频生态

  • Core Audio API 的重要性
  • 虚拟音频设备需求增长

B. 开源替代

  • 商业软件面临开源竞争
  • 社区驱动开发模式的成功

五、各方反应

1. 官方信息

  • 项目由 Existential Audio 维护
  • 主要贡献者:devinroth、orchetect、HEnquist 等

2. 用户反馈

A. 优点

  • 完全免费开源
  • 性能稳定,零延迟
  • 安装使用简单

B. 常见问题

  • Multi-Output 设备兼容性
  • 某些应用不支持多输出设备
  • 需要 CoreAudio 重启才能生效

3. 社区资源

  • Wiki 文档完善
  • 多个应用集成指南
  • 活跃的 GitHub Discussions

六、相关链接

1. 官方资源

2. 相关工具

  • MultiSoundChanger:聚合设备音量控制工具
  • BackgroundMusic:macOS 音频实用工具

3. 技术文档


参考资料

  1. ExistentialAudio/BlackHole GitHub Repository
  2. BlackHole Official Website
  3. macOS Core Audio Documentation
最后修改:2026 年 01 月 25 日
如果觉得我的文章对你有用,请随意赞赏