本文介绍一种在 macOS 上检测 VB-Audio Virtual Cable 是否安装成功的方法。脚本完全使用系统自带命令,无需安装任何第三方依赖,并且会用中文语音播报检测结果,非常适合快速验证虚拟声卡状态。
一、背景
VB-Audio Virtual Cable(简称 VB-Cable)是一款常用的虚拟音频设备,可以把系统声音路由到虚拟线缆中,常用于录音、直播、音频转发等场景。在 Windows 上它非常流行,但在 macOS 上安装后,很多朋友会遇到以下问题:
- 不确定驱动是否真正加载成功;
- 系统声音设置里找不到
CABLE Input/CABLE Output; - 想验证声音是否真的进入了虚拟线缆,却不知道从哪下手。
网上大多数检测方法要么依赖 Python 库(如sounddevice),要么需要安装 Homebrew 工具。本文提供一个纯原生、零依赖的 Shell 脚本,只需 macOS 自带的system_profiler、say、afplay即可完成检测,并用中文语音告诉你结果。
二、检测思路
脚本主要做三件事:
| 步骤 | 使用命令 | 作用 |
|---|---|---|
| 1. 扫描音频设备 | system_profiler SPAudioDataType | 列出所有音频设备,查找VB-Cable/CABLE Input/CABLE Output |
| 2. 检查驱动文件 | test -e | 检查/Library/Audio/Plug-Ins/HAL/VBCable.driver是否存在 |
| 3. 播放测试声音 + 中文语音播报 | say -v Ting-Ting、afplay | 播放提示音,并用中文语音播报检测结果 |
其中say是 macOS 自带的文本转语音命令,支持指定中文语音(如Ting-Ting)。afplay用于播放系统内置音效。
三、完整脚本
将以下代码保存为check_vb_cable.sh:
#!/bin/bash# ============================================================# VB-Audio Virtual Cable 检测脚本 (macOS 原生,无依赖)# 特点:使用中文语音播报检测结果# ============================================================# ---------- 选择中文语音 ----------# 优先 Ting-Ting(zh-CN),其次 Mei-Jia(zh-TW),最后 Sin-Ji(zh-HK)CHINESE_VOICE=""forvin"Ting-Ting""Mei-Jia""Sin-Ji";doifsay-v"$v"""2>/dev/null;thenCHINESE_VOICE="$v"breakfidone# 若没有任何中文语音,回退到默认语音say_cn(){if[-n"$CHINESE_VOICE"];thensay-v"$CHINESE_VOICE""$1"elsesay"$1"fi}echo"==========================================="echo" VB-Audio Virtual Cable 检测脚本"echo" (macOS 原生,中文语音播报)"echo"==========================================="echo""[-n"$CHINESE_VOICE"]&&echo"使用中文语音:$CHINESE_VOICE"\||echo"⚠️ 未找到中文语音,将使用默认语音"echo""# ---------- 1. 扫描系统音频设备 ----------echo"▶ [1/3] 扫描系统音频设备..."audio_info=$(system_profiler SPAudioDataType2>/dev/null||true)ifecho"$audio_info"|grep-qiE"VB-Cable|VB-Audio|VBCable|CABLE Input|CABLE Output";thenDEVICE_FOUND=1echo" ✅ 检测到 VB-Cable 虚拟音频设备"echo" --- 匹配到的设备 ---"echo"$audio_info"\|grep-iE"VB-Cable|VB-Audio|VBCable|CABLE Input|CABLE Output"\|sed's/^/ /'elseDEVICE_FOUND=0echo" ❌ 未检测到 VB-Cable 虚拟音频设备"fiecho""# ---------- 2. 检查驱动文件 ----------echo"▶ [2/3] 检查驱动文件..."if[-e"/Library/Audio/Plug-Ins/HAL/VBCable.driver"];thenDRIVER_FOUND=1echo" ✅ 驱动已安装: /Library/Audio/Plug-Ins/HAL/VBCable.driver"elseDRIVER_FOUND=0echo" ⚠️ 未在标准路径找到驱动文件"fiecho""# ---------- 3. 播放测试声音 + 中文语音播报 ----------echo"▶ [3/3] 播放测试声音并播报检测结果..."# 匹配设备名(用于 say -a 直接送到 VB-Cable)VB_DEV_NAME=""if["$DEVICE_FOUND"-eq1];thenfordevin"CABLE Input""VB-Cable""VBCable""VB-Audio Cable";doifsay-a"$dev"""2>/dev/null;thenVB_DEV_NAME="$dev"breakfidonefi# 组装播报文本if["$DEVICE_FOUND"-eq1];thenif["$DRIVER_FOUND"-eq1];thenREPORT="检测完成,已检测到 VB Cable 虚拟音频设备,驱动安装正常。"elseREPORT="检测完成,已检测到 VB Cable 虚拟音频设备,但未找到驱动文件,请检查安装。"fiSOUND_DEV="$VB_DEV_NAME"elseREPORT="检测完成,未检测到 VB Cable 虚拟音频设备,请安装后重试。"SOUND_DEV=""fiecho""echo" 🗣 播报内容:$REPORT"echo""# 先播放一个提示音(成功用 Glass,失败用 Basso)if["$DEVICE_FOUND"-eq1];thenafplay /System/Library/Sounds/Glass.aiff2>/dev/nullelseafplay /System/Library/Sounds/Basso.aiff2>/dev/nullfi# 播放中文语音结果if[-n"$SOUND_DEV"];thenecho" → 通过 '$SOUND_DEV' 播放中文语音..."if[-n"$CHINESE_VOICE"];thensay-v"$CHINESE_VOICE"-a"$SOUND_DEV""$REPORT"2>/dev/null\||say-v"$CHINESE_VOICE""$REPORT"elsesay-a"$SOUND_DEV""$REPORT"2>/dev/null||say"$REPORT"fielseecho" → 通过系统默认输出播放中文语音..."say_cn"$REPORT"fiecho""echo"==========================================="echo" 检测结果"echo"==========================================="["$DEVICE_FOUND"-eq1]&&echo" 设备状态: ✅ 已检测到 VB-Cable"\||echo" 设备状态: ❌ 未检测到 VB-Cable"["$DRIVER_FOUND"-eq1]&&echo" 驱动状态: ✅ 已安装"\||echo" 驱动状态: ⚠️ 未找到驱动文件"[-n"$CHINESE_VOICE"]&&echo" 播报语音:$CHINESE_VOICE"\||echo" 播报语音: (默认)"echo"==========================================="exit0四、使用方法
打开「终端」,新建文件:
nanocheck_vb_cable.sh把上面的脚本粘贴进去,按
Control + O保存,Control + X退出。赋予执行权限:
chmod+x check_vb_cable.sh运行脚本:
./check_vb_cable.sh
五、效果说明
脚本运行后会依次输出:
- 扫描到的 VB-Cable 相关设备;
- 驱动文件是否存在;
- 播放系统提示音(成功为
Glass.aiff,失败为Basso.aiff); - 中文语音播报检测结果,例如:
- ✅ 正常:
检测完成,已检测到 VB Cable 虚拟音频设备,驱动安装正常。 - ⚠️ 有设备无驱动:
检测完成,已检测到 VB Cable 虚拟音频设备,但未找到驱动文件,请检查安装。 - ❌ 未安装:
检测完成,未检测到 VB Cable 虚拟音频设备,请安装后重试。
- ✅ 正常:
终端最后会显示汇总表格,一目了然。
六、进阶:真正验证系统声音路由
上面的脚本已经能检测设备是否存在,并播放语音。但如果你想确认系统声音真的进入了 VB-Cable,可以按以下步骤做一次端到端验证:
- 打开「音频 MIDI 设置」(位于
/Applications/Utilities/Audio MIDI Setup.app)。 - 点击左下角
+→创建多输出设备。 - 勾选
CABLE Input和你的真实扬声器(如 MacBook 扬声器)。 - 打开「系统设置 → 声音 → 输出」,选择刚创建的多输出设备。
- 重新运行脚本:中文语音会同时从扬声器播出,并灌入 VB-Cable。
- 用 QuickTime Player 新建「音频录制」,输入选择
CABLE Output,点录制。如果能录到刚才的语音,说明 VB-Cable 路由完全正常 ✅
七、常见问题
Q1:提示“未找到中文语音”怎么办?
到「系统设置 → 辅助功能 → 朗读内容 → 系统声音」中下载中文语音(如 Ting-Ting)。也可以把脚本里的Ting-Ting换成Mei-Jia或Sin-Ji。
Q2:say -a "CABLE Input"没有声音?
并非所有 macOS 版本都支持say -a指定输出设备。此时脚本会自动回退到系统默认输出,你仍然可以通过第六节的“多输出设备”方案完成验证。
Q3:运行脚本提示权限不足?system_profiler一般不需要特殊权限。如果无法获取音频信息,可在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中给「终端」授权。
Q4:驱动路径找不到,但设备能用?
不同版本的 VB-Cable 驱动路径可能略有差异。脚本只检查了标准路径,找不到驱动文件不代表设备不可用,以system_profiler扫描结果为准。
八、总结
本文提供了一个 macOS 下检测 VB-Audio Virtual Cable 的纯原生脚本,特点:
- 零依赖:只用系统自带的
system_profiler、say、afplay; - 中文语音播报:检测结果直接“说”给你听;
- 可扩展:配合多输出设备 + QuickTime 录音,可完成系统声音路由的端到端验证。
如果你经常在 macOS 上使用虚拟声卡,不妨把这个脚本收藏起来,安装完 VB-Cable 后跑一遍,几秒钟就能确认是否正常工作。
参考链接
- VB-Audio 官网:https://vb-audio.com/Cable/
- macOS
say命令手册:man say - macOS
system_profiler手册:man system_profiler